#!/bin/bash for rep in $@ do dir_list=`find $rep -name '001.vdr' -print | sort` for dir_name in $dir_list do dir=`dirname $dir_name` echo "Processing directory: $dir" pes_size=0 ts_file=$dir/00001.ts if [ -f $ts_file ] then echo "Already in TS format!" continue; fi touch $ts_file pes_list=`find $dir -name '0??.vdr' -print | sort` for pes_file in $pes_list do echo "PES file: "`basename $pes_file` echo "Generated TS file: "`basename $ts_file` vlc >/dev/null --sout="#std{access=file{append},mux=ts,dst=$ts_file}" $pes_file vlc:quit pes_size=$((`ls -l $pes_file | awk '{print \$5}'`+$pes_size)) done ts_size=`ls -l $ts_file | awk '{print \$5}'` echo "PES size: $pes_size, TS size: $ts_size" if [ "$ts_size" -ge "$pes_size" ] then echo "Success, deleting old files, modifying directory" touch $dir/index.vdr $dir/resume.vdr rm $dir/???.vdr $dir/index.vdr $dir/resume.vdr if [ -f $dir/marks.vdr ] then mv $dir/marks.vdr $dir/marks fi if [ -f $dir/info.vdr ] then mv $dir/info.vdr $dir/info fi base=`basename $dir` path=`dirname $dir` newdir="`echo $base | sed s/:/./g | cut -d . -f 1-3`" newdir=$newdir".1-0.rec" mv $dir $path/$newdir touch /video/.update else echo "Failed, preserving old files.." rm $ts_file fi done done