kurdin
8/17/2015 - 2:19 AM

automated conversion of a file to all three html5 compatible video formats - h.264, ogg, and webm

automated conversion of a file to all three html5 compatible video formats - h.264, ogg, and webm

#!/bin/sh                        

#  Output file for HTML5 video
#  requirements: ffmpeg .6+
#  usage: ./html5video.sh infile.mp4 640x360

target_directory='converted'
file=`basename $1`
filename=${file%.*}
filepath=`dirname $1`
destination="$filepath/$target_directory"

if ! test -d "$destination"
then
  mkdir $destination
fi

# Ogg/Theora
ffmpeg -i $1 \
  -acodec libvorbis -ac 2 -ab 96k -ar 44100 \
  -b:v 345k -s $2 $destination/$filename.ogv
  
# WebM/vp8
ffmpeg -i $1 \
  -acodec libvorbis -ac 2 -ab 96k -ar 44100 \
  -b:v 345k -s $2 $destination/$filename.webm

# MP4/h264
ffmpeg -i $1 \
  -acodec libfaac -ab 96k \
  -vcodec libx264 \
  -level 21 -refs 2 -b:v 345k -bt 345k \
  -threads 0 -s $2 $destination/$filename.mp4