#!/bin/sh input="$1" output="$2" width=320 height=240 vorbisparam="quality=0.11" # 0.0-1.0 theoraparam="quality=16 " # 0-63 #uncomment to scale image #scale="! videoscale ! video/x-raw-yuv,width=$width,height=$height" #uncomment to change framerate fps="5/1" #framerate="videorate ! video/x-raw-yuv,framerate=(fraction)$fps !" if [ "$2" == "" ]; then echo "usage: $0 inputfile output.ogg" exit 1 fi gst-launch-0.10 filesrc location="$input" ! decodebin name=decode decode. ! queue max-size-buffers=100 max-size-time=0 max-size-bytes=0 ! ffmpegcolorspace $scale ! $framerate theoraenc $theoraparam ! oggmux name=mux ! filesink location="$output" decode. ! queue max-size-buffers=100 max-size-bytes=0 max-size-time=0 ! audioconvert ! vorbisenc $vorbisparam ! mux.