A few script updates

This commit is contained in:
Steven Robertson 2012-06-10 09:15:38 -07:00
parent 54e2192dde
commit 91aa91a242
2 changed files with 19 additions and 20 deletions

View File

@ -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
[ -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 \
-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

View File

@ -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