Skip to content

Instantly share code, notes, and snippets.

@joar
Last active August 29, 2015 14:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save joar/b11e452d6c53bcf7ba3e to your computer and use it in GitHub Desktop.
Save joar/b11e452d6c53bcf7ba3e to your computer and use it in GitHub Desktop.
GStreamer multiple output transcoding with deduplication of media streams.
#!/bin/bash
# Note: use x264enc tune=zerolatency or bigger queues
# NOT WORKING! stalled at prerolling
gst-launch-1.0 filesrc location=VfE.webm ! decodebin name=dmux \
dmux. ! videoconvert ! tee name=vo \
dmux. ! audioconvert ! tee name=au \
webmmux name=webm ! progressreport name=webmprogress ! filesink location=out.webm \
avimux name=avi ! progressreport name=aviprogress ! filesink location=out.avi \
vo. ! queue ! vp8enc ! webm. \
au. ! queue ! vorbisenc ! webm. \
vo. ! queue ! x264enc tune=zerolatency ! avi. \
au. ! queue ! lamemp3enc ! avi.
#!/bin/bash
gst-launch-1.0 filesrc location=VfE.webm ! decodebin name=dmux \
dmux. ! videoconvert ! tee name=vo \
dmux. ! audioconvert name=ac ! tee name=au \
webmmux name=webm ! progressreport name=webmprogress ! filesink location=out-dedup.webm \
oggmux name=ogg ! progressreport name=oggprogress ! filesink location=out-dedup.ogv \
vo. ! queue ! vp8enc ! webm. \
vo. ! queue ! theoraenc ! ogg. \
au. ! queue ! vorbisenc ! tee name=ve \
ve. ! queue ! ogg. \
ve. ! queue ! webm.
#!/bin/bash
gst-launch-1.0 filesrc location=VfE.webm \
! decodebin name=dmux \
dmux. ! videoconvert ! tee name=vo \
dmux. ! audioconvert ! tee name=au \
webmmux name=webm ! progressreport name=webmprogress ! filesink location=out.webm \
oggmux name=ogg ! progressreport name=oggprogress ! filesink location=out.ogv \
vo. ! queue ! vp8enc ! webm. \
au. ! queue ! vorbisenc ! webm. \
vo. ! queue ! theoraenc ! ogg. \
au. ! queue ! vorbisenc ! ogg.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment