[Matroska-devel] Using GStreamer with TCME

Jory jcsston at wiesneronline.net
Sun Feb 1 17:20:54 CET 2004


Hi all,

In GStreamer there is a feature to save the pipeline (graph in DShow) to
XML. As I read the source code, the XML file also has all the settings set
on the elements (filters in DShow) saved too. With this I think we could
build a script parser that would convert an AviSynth-like script into a XML
file that GStreamer could load. (Anyone want to rip out the script parser
from AviSynth?)

Here is how I see GStreamer working as an encoder. (video only, audio would
make the graph/pipeline more complex than ASCII allows)
AVIDemux -> Trimmer* -> Raw Splitter* -> IVTC* -> ...
                                                            \->Video1
Render*

... Noise Reduction* -> Crop* -> Resize*
... -> XviD Encoder* -> Raw Splitter* -> Matroska Muxer (I:\voyager.mkv)
                                                           \-> XviD
Decoder* -> Video2 Render*

In this the Video1 Render is the input preview, and Video2 is the
decompressed output preview.

The *'s filters will need to be written

Filters we may need:
Color Conversion (ASM code from AviSynth/XviD could be used)
Deinterlacing/IVTC (port Decomb?)
Noise Filters
Cropping
Resizing (Bilinear, Bicubic, Lanzcos)
XviD En/Decoder
VFW Wrapper En/Decoder (Win32 only)
AviSynth Filter Wrapper (Win32 only, may be too complex to be really useful)
Raw Splitter (sends copies of the input to each output pad)
Video Render (Win32 only, DirectDraw)
Audio Render (Win32 only, DirectSound)

So far, GStreamer looks the way to go. The only area I don't know about
GStreamer yet is how it handles seeking and what type of timestamps it uses.
But, I'm sure it can be adopted/expanded if those areas are not good enough
for us.

I have been thinking way too much recently ;)

Somebody stop me,
Jory




More information about the Matroska-devel mailing list