Both sides previous revision Previous revision Next revision | Previous revisionLast revisionBoth sides next revision |
gstreamer [2010/06/19 19:54] – brot | gstreamer [2012/02/17 09:58] – FCWnKdHBcGvvPNq 109.230.216.60 |
---|
====== Videos umwandeln mit dem GStreamer Framework ====== | Dead Like Me Rocks! I am adctdied to my Netflix! I have not actually watched my TV in a while. Tonight its Toy Story 3, Last week was Sex and the City 2, Shrek (the latest one..)And I have NO kids so go ahead and make assumptions ha ha. |
| |
===== GStreamer? ===== | |
| |
GStreamer ist ein Video-Framework, das eigentlich Anwendungsentwicklern helfen soll, mit Multimediaformaten umzugehen. Mithilfe von gst-launch kann man aber das in viele Plugins zerlegte Framework auch so nutzen. Jedes Plugin hat eine/mehrere "source" und einen/meherere "sink". So kann man die ganzen Plugins in eine Kette hängen, angefangen vom lesen einer Datei, über das umwandeln des Videos und dem Muxen über das speichern in eine Datei | |
| |
==== Installation ==== | |
| |
Sollte auf den meisten Linux-Distributionen über die gst-plugins-[good,bad,ugly] (oder ähnlich) Pakete gehn. OS X hat bestimmt irgendnen Port. FIXME Windows? | |
| |
==== Informationen über Plugins ==== | |
| |
gst-inspect | |
| |
Alleine aufgerufen listet die installierten Plugins auf. Mag man z.B wissen was das "vorbisenc" denn alles verwursten kann, gibt man | |
| |
gst-inspect vorbisenc | |
| |
ein. | |
| |
===== Beispiele ===== | |
| |
| |
=== Umwandeln von nem haufen PNG-Bildern und ner FLAC-Tonspur in ein WebM Video === | |
| |
| |
gst-launch-0.10 webmmux name="mux" ! filesink location=test.ivf . multifilesrc location="/home/brot/sintel_trailer-720/sintel_trailer_2k_%04d.png" index="1" caps="image/png,framerate=24/1" ! pngdec ! ffmpegcolorspace ! video/x-raw-yuv,format=\(fourcc\)I420 ! vp8enc threads=2 quality=8 speed=0 max-latency=25 mode=vbr ! multiqueue ! mux. filesrc location="/home/brot/sintel_trailer-720/sintel_trailer-audio.flac" ! flacdec ! audioconvert ! vorbisenc quality=0.25 ! mux. | |
| |
Anmerkung: Am Anfang wird der filesink definiert, mit dem namen "mux". Danach kommt die Video- und die Ton-Pipeline, die beide mit "mux." aufhören, was den Stream durch den webmmuxer in den filesink leitet. | |
=== Umwandeln von einem y4m Video in WebM === | |
| |
gst-launch-0.10 webmmux name="mux" ! filesink location=test.ivf . filesrc location="sunflower.y4m" ! ffdemux_yuv4mpegpipe ! vp8enc threads=2 quality=8 speed=0 max-latency=25 mode=vbr ! multiqueue ! mux. | |
| |
=== DVD's Abspielen === | |
gst-launch-0.10 dvdreadsrc title=1 ! dvddemux name=demux demux.current_audio ! queue ! a52dec ! audioconvert ! pulsesink demux. ! mpeg2dec ! xvimagesink | |
| |
=== DVD's als WebM speichern === | |
| |
gst-launch-0.10 dvdreadsrc title=1 ! dvddemux name=demux demux.current_video ! queue ! mpeg2dec ! ffmpegcolorspace ! video/x-raw-yuv,format=\(fourcc\)I420 ! vp8enc threads=2 quality=7 speed=0 max-latency=25 mode=vbr ! queue ! webmmux name="mux" ! filesink location=oceans11.ivf demux.current_audio ! queue ! a52dec ! audioconvert ! vorbisenc quality=0.4 ! queue ! mux.audio_0 | |
| |
| |
| |
===== Ablage ;) ===== | |
| |
| |
gst-launch-0.10 filesrc location=/home/brot/fu.mkv ! matroskademux ! dtsdec ! audiorate ! audioconvert ! audio/x-raw-int,channels=6 ! flacenc ! filesink location=out.flac | |
| |
| |
gst-launch-0.10 multifilesrc location=big_buck_bunny_%05d.png index=1 caps=”image/png,framerate=24/1″ ! pngdec ! ffmpegcolorspace ! jpegenc quality=100 ! queue ! mux. filesrc location=../BigBuckBunny-stereo.flac ! flacdec ! audioconvert ! audioresample ! queue ! mux. avimux name=mux ! filesink location=input226_mjpeg.avi | |
| |
gst-launch-0.10 v4l2src device=/dev/video0 ! tee name=videoout ! queue ! video/x-raw-yuv,width=640,height=480 ! queue ! theoraenc quality=30 ! muxout. osssrc device=/dev/dsp ! tee name=audioout ! queue ! audio/x-raw-int,rate=44000 ! queue ! audioconvert ! vorbisenc ! muxout. oggmux name=muxout ! filesink location=media2.ogg videoout. ! queue ! ffmpegcolorspace ! xvimagesink audioout. ! queue ! osssink | |
| |
| |
http://diracvideo.org/wiki/index.php/Encode_Big_Buck_Bunny | |