#!/bin/bash
input="$1"
output="$2"


width=320
height=240
vorbisparam="quality=-0.1" # 0.0-1.0
theoraparam="quality=16 sharpness=2  "  # 0-63

#uncomment to scale image
scale="! videobox top=8 bottom=8 left=4 right=16 ! videoscale method=1 ! video/x-raw-yuv,width=$width,height=$height,pixel-aspect-ratio=(fraction)1/1"

#uncomment to change framerate
fps="25/2"
framerate="videorate ! video/x-raw-yuv,framerate=(fraction)$fps !" # progressreport !"
audioconv=" audio/x-raw-float,rate=22050,channels=1 !"

if [ "$2" == "" ]; then
 echo "usage: $0 inputfile output.ogg"
 exit 1 
fi

gst-launch-0.10 filesrc location="$input" ! ffdemux_dv name=decode decode. ! ffdec_dvvideo ! \
  queue max-size-buffers=100 max-size-time=0 max-size-bytes=0 !  ffmpegcolorspace ! ffdeinterlace ! \
  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 ! audio/x-raw-float ! audioresample ! $audioconv  vorbisenc $vorbisparam ! mux. 
