View Full Version : Gstreamer?
knutinh
22nd January 2010, 12:21
It seems that there are some interesting similarities between Gstreamer and Avisynth. One is for media back-end in applications, while the other is more used for offline scripting of specific video tasks.
As many of the plugins in avisynth could be useful in Gstreamer, are anyone intermixing them in any way? Does avisynth have an equivalent to the powerful capset negotiation in Gstreamer?
http://www.gstreamer.net/
GStreamer is a library for constructing graphs of media-handling components. The applications it supports range from simple Ogg/Vorbis playback, audio/video streaming to complex audio (mixing) and video (non-linear editing) processing.
Applications can take advantage of advances in codec and filter technology transparently. Developers can add new codecs and filters by writing a simple plugin with a clean, generic interface. Read more ... (http://www.gstreamer.net/features/index.html)
GStreamer is released under the LGPL. The 0.10 series is API and ABI stable.
-k
TheFluff
23rd January 2010, 15:46
gstreamer is the lunix equivalent of directshow, and while some applications of it can be used kinda like you can use some applications of avisynth, the two really have nothing in common
theoretically it could be interesting to have a gstreamer plugin that runs avisynth scripts, sorta like the ffdshow avisynth option, but in reality such a plugin will never be written. this is because avisynth itself can only be compiled with microsoft visual c++ and heavily depends on the vfw framework, so it can't be used on lunix except under wine. most avisynth filters were also written with the assumption that they would never be run on anything but windows or be compiled by anything but msvc, so most of them use a lot of microsoft-only functions or msvc inline assembly and stuff like that.
furthermore the plugin api's are extremely different and porting an avisynth filter to a gstreamer plugin would be a rather tedious task. most likely you'd be better off just stealing the underlying algorithm(s) and writing a new gstreamer plugin from scratch.
I hope I have discouraged you enough and that you will not embark on any foolish adventures promising vaporware to people.
Wilbert
23rd January 2010, 16:46
Have a look at:
http://forum.doom9.org/showthread.php?t=146518&highlight=gstreamer
tin3tin
24th January 2010, 00:00
Here (http://www.gstreamer-winbuild.ylatuya.es/) you will find a windows build of Gstreamer with plugins. I don't know that much about that stuff - but I guess it would be interesting if Avisynth somehow could benefit from Gstreamer and it's plugins. :)
TheFluff
24th January 2010, 22:41
Have a look at:
http://forum.doom9.org/showthread.php?t=146518&highlight=gstreamer
that is kinda what I talked about, the thing I said would never be written
except it isn't really because he still has to port every avisynth filter individually including porting all the inline asm most of the interesting ones come with so yeah in the end it still comes down to porting every single filter you want to use
also it hasn't been touched at all for half a year (basically since the SoC ended) so I wouldn't count on it ever going anywhere useful
josemaria.alkala
29th August 2011, 23:57
Sorry for undigging this thread. I have a couple of questions just out of curiosity that might help me to understand better avisynth.
I understand gstreamer (as DirectShow) is a multimedia framework. On the other hand, AviSynth is a frame server. By reading what frameserving (http://avisynth.org/mediawiki/FAQ_frameserving) is, would it be correct to assume that gstreamer is a superset of AviSynth? (it serves frames and perform additional tasks)
The other question is about what makes AviSynth so attractive for developpers to produce so many plugins for it. Is it just a matter of "years in the market"? Is gstreamer lacking something? What is so good about AviSynth?
It looks like gstreamer has the advantage of being multiplatform. Besides, the scripting could be done in python (rather than the avs files).
I am not a Software Engineer (I develop as a hobby), so probably I am having a very naive view of the problem. Which are your views for using AviSynth as a platform rather than gstreamer? Is it possible to implement complicated plugins (e.g. MVTools) for gstreamer?
Kind regards,
José M.
TheFluff
30th August 2011, 22:08
Sorry for undigging this thread. I have a couple of questions just out of curiosity that might help me to understand better avisynth.
I understand gstreamer (as DirectShow) is a multimedia framework. On the other hand, AviSynth is a frame server. By reading what frameserving (http://avisynth.org/mediawiki/FAQ_frameserving) is, would it be correct to assume that gstreamer is a superset of AviSynth? (it serves frames and perform additional tasks)
While it is probably technically true that it would be possible to do all that Avisynth does with GStreamer (with a few question marks; among other things I'm not sure how GStreamer reacts to timeline manipulations), doing so is not practical, for a multitude of reasons.
The other question is about what makes AviSynth so attractive for developpers to produce so many plugins for it. Is it just a matter of "years in the market"? Is gstreamer lacking something? What is so good about AviSynth?
Avisynth had a complete, working environment with full plugin support at a time (ca 2001-2003) when GStreamer still was very immature and it was still basically impossible to do any sort of multimedia-related work on a similar scale on Linux. There was no simple way to import a lot of common formats into GStreamer until the FFmpeg plugin was released in 2004, and the API/ABI was not entirely stable until 2005.
It is also a lot simpler to implement an Avisynth filter than it is to implement a GStreamer plugin.
It looks like gstreamer has the advantage of being multiplatform. Besides, the scripting could be done in python (rather than the avs files).
While GStreamer is theoretically multiplatform, it is not practically so. There are no official binaries for Windows and there are, to my knowledge, no Windows applications that support it as an input method.
I am not a Software Engineer (I develop as a hobby), so probably I am having a very naive view of the problem. Which are your views for using AviSynth as a platform rather than gstreamer? Is it possible to implement complicated plugins (e.g. MVTools) for gstreamer?
It is certainly possible to implement whatever you want in the way of video filtering as a GStreamer plugin, but again, it would not be practical to do so.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.