Created Monday 30 June 2008
Enregistrer image et son:
gst-launch-0.10 v4l2src ! video/x-raw-yuv,width=640,height=480 ! ffmpegcolorspace ! queue ! videorate ! video/x-raw-rgb,rate=15/1 ! ffmpegcolorspace ! theoraenc ! oggmux name=mux ! filesink location=foo.ogg alsasrc ! audio/x-raw-int,channels=1,rate=22025,depth=16 ! queue ! audioconvert ! vorbisenc ! mux.
This example uses several tricks to adjust the rates, and queue to improve performance (and hopefully not lose any data).
ffmpegcolorspace est nécessaire pour convertir le format iSight video/x-raw-yuv en video/x-raw-rgb
Pour avoir un feedback visuel:
gst-launch-0.10 v4l2src ! video/x-raw-yuv,width=640,height=480 ! tee name=img ! queue ! xvimagesink img. ! ffmpegcolorspace ! queue ! videorate ! video/x-raw-rgb,rate=15/1 ! ffmpegcolorspace ! theoraenc ! oggmux name=mux ! filesink location=foo.ogg alsasrc ! audio/x-raw-int,channels=1,rate=22025,depth=16 ! queue ! audioconvert ! vorbisenc ! mux.
Source: http://automatist.net/techdaze/GStreamer
MPEG2 with time overlay:
gst-launch-0.10 \ v4l2src ! video/x-raw-yuv,width=640,height=480 ! tee name=video \ video. ! ffmpegcolorspace ! queue ! cairotimeoverlay ! xvimagesink \ video. ! ffmpegcolorspace ! queue ! videorate ! video/x-raw-rgb,rate=15/1 ! ffmpegcolorspace ! ffenc_mpeg2video ! mux. \ alsasrc ! audio/x-raw-int,channels=1,depth=16 ! queue ! audioconvert ! lame bitrate=192 ! mux. \ ffmux_mpeg name=mux ! filesink location=foo.mpeg
MPEG2, time overlay, date:
gst-launch-0.10 \ v4l2src ! video/x-raw-yuv,width=640,height=480 ! ffmpegcolorspace ! cairotextoverlay text="`date`" ! tee name=video \ video. ! queue ! cairotimeoverlay ! xvimagesink \ video. ! queue ! ffmpegcolorspace ! videorate ! video/x-raw-rgb,rate=15/1 ! ffmpegcolorspace ! ffenc_mpeg2video ! mux. \ alsasrc ! audio/x-raw-int,channels=1,depth=16 ! queue ! audioconvert ! lame bitrate=192 ! mux. \ ffmux_mpeg name=mux ! filesink location=foo.mpeg
gst-launch-0.10 filesrc location="test.avi" ! decodebin name="decode" decode. ! queue ! ffmpegcolorspace ! theoraenc quality=32 ! oggmux name=mux ! filesink location="test.ogg" decode. ! queue ! audioconvert ! vorbisenc ! queue ! mux.
gst-launch-0.10 filesrc location=fulltime3.ogg ! oggdemux name=demux demux. ! video/x-theora ! queue ! theoradec ! ffmpegcolorspace ! xvimagesink demux. ! audio/x-vorbis ! queue ! vorbisdec ! audioconvert ! alsasink
gst-launch-0.10 filesrc location=fulltime3.ogg ! decodebin name=demux demux. ! ffmpegcolorspace ! ffenc_mpeg2video ! video/mpeg ! mux. demux. ! audioconvert ! lame ! audio/mpeg ! mux. ffmux_mpeg name=mux ! filesink location=fulltime3.mpeg
gst-launch-0.10 filesrc location=fulltime3.ogg ! decodebin name=demux demux. ! queue ! ffmpegcolorspace ! ffenc_mpeg2video ! video/mpeg ! queue ! mux. demux. ! queue ! audioconvert ! lame ! audio/mpeg ! queue ! mux. ffmux_mpeg name=mux ! filesink location=fulltime3.mpeg
gst-launch-0.10 filesrc location=fulltime3.ogg ! oggdemux name=demux demux. ! video/x-theora ! queue ! theoradec ! ffmpegcolorspace ! ffenc_mpeg2video ! video/mpeg ! mux. demux. ! audio/x-vorbis ! vorbisdec ! audioconvert ! lame ! audio/mpeg ! mux. ffmux_mpeg name=mux ! filesink location=fulltime3.mpeg