From 91aa91a242bcaf1132cdc21f85cba03aead6be62 Mon Sep 17 00:00:00 2001 From: Steven Robertson Date: Sun, 10 Jun 2012 09:15:38 -0700 Subject: [PATCH] A few script updates --- scripts/convert.sh | 16 ++++++++++------ scripts/encode.sh | 23 +++++++++-------------- 2 files changed, 19 insertions(+), 20 deletions(-) diff --git a/scripts/convert.sh b/scripts/convert.sh index 0d96d59..c45a621 100755 --- a/scripts/convert.sh +++ b/scripts/convert.sh @@ -2,16 +2,20 @@ convert () { dir=$1 - [ -e $dir/NFRAMES ] || return - [ -e $dir/COMPLETE -a -e ref/$dir.ts ] && return + [ -e $dir/NFRAMES ] || return 0 + [ -e $dir/COMPLETE -a -e ref/$dir.ts ] && return 0 NFRAMES="$(cat $dir/NFRAMES)" for i in `seq 1 $NFRAMES` - [ -e $dir/$(printf '%05d' $i).jpg ] || return - mencoder -mf fps=23.976 "mf://$dir/*.jpg" -ovc x264 \ - -x264encopts profile=high:bluray-compat:aud:crf=15:ref=4:level=4.1:threads=0 \ + [ -e $dir/$(printf '%05d' $i).jpg ] || return 0 + flock /tmp/ref.lock \ + mencoder -mf fps=23.976 "mf://$dir/*.jpg" -ovc x264 \ + -x264encopts profile=high:bluray-compat:aud:crf=15:ref=4:level=4.1:threads=0:nocabac \ -o $dir/ref.avi && \ gst-launch-0.10 filesrc location=${dir}/ref.avi ! avidemux ! h264parse \ ! mpegtsmux ! filesink location=ref/${dir}.ts && rm ${dir}/ref.avi && \ touch $dir/COMPLETE } -for dir in `ls --sort time -r | grep -v '.sh'`; do echo $dir; convert $dir; sleep 0.1 || break; done +for dir in `ls --sort time -r | grep -v '.sh'`; do + echo $dir + convert $dir && sleep 0.1 || break +done diff --git a/scripts/encode.sh b/scripts/encode.sh index d4e42e8..e2266bb 100755 --- a/scripts/encode.sh +++ b/scripts/encode.sh @@ -1,19 +1,14 @@ #!/bin/zsh - +set -x encode () { - echo $dir unpackt/${dir}-00.idx - [ ! -e "${dir}/ref.avi" ] && return - [ -e "unpackt/${dir}-00.idx" -a \ - "unpackt/${dir}-00.idx" -nt "${dir}/ref.avi" ] && return - echo $dir unpackt/${dir}-00.idx - ffmpeg -y -i $dir/ref.avi -vcodec libx264 -q 20 -g 360 -x264opts \ -crf=21:bluray-compat:aud:ref=4:level=4.1:threads=0:scenecut=-1:\ -vbv_maxrate=40000:vbv_bufsize=30000:vbv_init=0.95:nr=100 \ - -preset slow -profile high /tmp/enc.avi && \ + f=$1 + [ -e "enc/$f" -a "enc/$f" -nt "ref/$f" ] && return + flock /tmp/enc.lock \ + ffmpeg -y -i ref/$f -vcodec libx264 -q 18 -g 360 -x264opts \ + crf=18:threads=0:nocabac -profile high /tmp/enc.avi && \ gst-launch-0.10 filesrc location=/tmp/enc.avi ! avidemux ! h264parse \ - ! mpegtsmux ! filesink location=unpackt/${dir}.ts && rm /tmp/enc.avi #&& \ - #ts_split /tmp/${dir}.ts unpackt/ && rm /tmp/${dir}.ts + ! mpegtsmux ! filesink location=enc/$f && rm /tmp/enc.avi #&& \ } -for dir in `ls --sort time -r | grep -v '.sh'`; do encode $dir || break; done - +mkdir -p enc +for f in `ls --sort time -r ref/`; do encode $f || break; done