rendered paste body#!/bin/bashwhile read episodesdo num=`echo $episodes | cut -f 1 -d " "` title=`echo $episodes | cut -f 2 -d " "` dvd_title=`echo $episodes | cut -f 3 -d " "` chk_num=`echo -n $num | wc -m` if [ $chk_num == "1" ]; then num="0$num" fi echo -e "Processing episode num: $num\nTitle: $title\nOn dvd title num: $dvd_title\n" mkdir ./ep_$num && cd ./ep_$num echo -e "Fetching dvd title informations....\n" tmpfile=`mktemp`# mplayer dvd://$dvd_title -vo null -ao null -frames 0 -identify > $tmpfile tcprobe -i /dev/dvd -T $dvd_title 2> $tmpfile echo -e "Retrieve Chapters informations....\n" rm -f ep_${num}_chaps* &> /dev/null cat $tmpfile | grep Chap | sed 's/.*\] //;s/ .*$//' > ep_${num}_chaps.tmp a=0 for CHAP in `cat ep_${num}_chaps.tmp` do let "a = $a + 1" chk_num=`echo -n $a | wc -m` if [ $chk_num == "1" ]; then b="0$a" fi echo -e "CHAPTER${b}=${CHAP}\nCHAPTER${b}NAME=" >> ep_${num}_chaps done rm $tmpfile && rm ep_${num}_chaps.tmp echo -e "Extracting Video track...\n" mplayer dvd://$dvd_title -dumpvideo -dumpfile ep_${num}.m2v echo -e "Extracting English audio track...\n" mplayer dvd://$dvd_title -alang en -dumpaudio -dumpfile ep_${num}_en.ac3 echo -e "Extracting French audio track...\n" mplayer dvd://$dvd_title -alang fr -dumpaudio -dumpfile ep_${num}_fr.ac3 echo -e "Extracting English and French subtitles...\n" mencoder dvd://$dvd_title -vobsubout sub_en -vobsuboutindex 0 -vobsuboutid en -sid 0 -o /dev/null -nosound -ovc copy mencoder dvd://$dvd_title -vobsubout sub_fr -vobsuboutindex 0 -vobsuboutid fr -sid 2 -o /dev/null -nosound -ovc copy echo -e "Encoding video track...\n" for pass in `seq 1 2` do [ $pass == "1" ] && mencoder -nosound -ovc x264 -x264encopts pass=1:turbo=1:subq=6:frameref=3:8x8dct:me=umh:b_pyramid:weight_b:bitrate=2000:threads=2 -vf pp=fd -o /dev/null ep_${num}.m2v [ $pass == "2" ] && mencoder -nosound -ovc x264 -x264encopts pass=2:subq=6:frameref=3:8x8dct:me=umh:b_pyramid:weight_b:bitrate=2000:threads=2 -vf pp=fd -o ep_${num}.avi ep_${num}.m2v done echo -e "Merging stuff in mkv file...\n" mkvmerge --chapters ep_${num}_chaps ep_${num}.avi --language 0:eng -a 0 -y 0:2000 ep_${num}_en.ac3 --language 0:fre -a 0 -y 0:2000 ep_${num}_fr.ac3 sub_en.idx sub_fr.idx --compression 0:zlib --compression 0:zlib -o "${num}_${title}.mkv"# mkvmerge --chapters ep_${num}_chaps ep_${num}.avi --language 0:eng -a 0 ep_${num}_en.ac3 sub_en.idx sub_fr.idx --compression 0:zlib --compression 0:zlib -o "${num}_${title}.mkv" #get out of here :p cd ..done < ep_list