Skip to content

Instantly share code, notes, and snippets.

@illucent
Created March 17, 2014 12:56
Show Gist options
  • Select an option

  • Save illucent/9598702 to your computer and use it in GitHub Desktop.

Select an option

Save illucent/9598702 to your computer and use it in GitHub Desktop.
http://jimmac.musichall.cz/blog/2013-11-21-transcoding-with-gstreamer/
Transcoding image sequences (and cropping along the way)
#Sequence of JPEGs to h264:
gst-launch-1.0 qtmux name=mux ! filesink location=\"timelapse.mp4\" multifilesrc location=\"G%07d.JPG\" index=20376 caps=\"image/jpeg,framerate=\(fraction\)30/1\" ! jpegdec ! videoconvert ! videoscale ! video/x-raw,width=1920,height=1440 ! videocrop top=180 left=0 right=0 bottom=180 ! videorate ! x264enc bitrate=10000 ! mux.
#Sequence of PNGs to h264:
gst-launch-1.0 qtmux name=mux ! filesink location=\"timelapse.mp4\" file:///`pwd`/snd/foo.flac ! decodebin ! audioconvert ! avenc_aac ! mux. multifilesrc location=\"composite/%04d.png\" index=1 caps=\"image/png,framerate=\(fraction\)24/1\" ! pngdec ! videoconvert ! videoscale ! videorate ! x264enc threads=12 ! mux.
#PNG to Ogg Theora:
gst-launch-1.0 oggmux name=mux ! filesink location="timelapse.webm" file:///`pwd`/snd/foo.flac ! decodebin ! audioconvert ! vorbisenc ! mux. multifilesrc location="foo/%04d.png" index=1 caps="image/png,framerate=\(fraction\)25/1" ! pngdec ! videoconvert ! videorate ! theoraenc ! mux.
#PNG to WebM:
gst-launch-1.0 webmmux name=mux ! filesink location="timelapse.webm" file:///`pwd`/snd/foo.flac ! decodebin ! audioconvert ! vorbisenc ! mux. multifilesrc location="foo/%04d.png" index=1 caps="image/png,framerate=\(fraction\)25/1" ! pngdec ! videoconvert ! videoscale ! videorate ! vp8enc threads=4 ! mux.
Transcoding to image sequence
#webm to png:
gst-launch-1.0 filesrc location="input.webm" ! decodebin ! videoconvert ! pngenc ! multifilesink location="foo/%4d.png"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment