Add some helper scripts

This commit is contained in:
Steven Robertson 2012-06-02 10:09:38 -07:00
parent 92ccf9a579
commit b891728d18
4 changed files with 59 additions and 0 deletions

17
scripts/convert.sh Executable file
View File

@ -0,0 +1,17 @@
#!/bin/zsh
convert () {
dir=$1
[ -e $dir/NFRAMES ] || return
[ -e $dir/COMPLETE -a -e ref/$dir.ts ] && return
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 \
-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

15
scripts/downsample.sh Executable file
View File

@ -0,0 +1,15 @@
#!/bin/zsh
encode () {
[ ! -e "${dir}/ref.avi" ] && return
[ -e "downsampled/${dir}.ts" -a \
"downsampled/${dir}.ts" -nt "${dir}/ref.avi" ] && return
ffmpeg -y -i $dir/ref.avi -vcodec libx264 -q 20 -g 360 -x264opts \
crf=20: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 -vf scale=-1:540 /tmp/enc.avi && \
gst-launch-0.10 filesrc location=/tmp/enc.avi ! avidemux ! h264parse \
! mpegtsmux ! filesink location=downsampled/${dir}.ts && rm /tmp/enc.avi
}
for dir in `ls --sort time -r | grep -v '.sh'`; do encode $dir || break; done

19
scripts/encode.sh Executable file
View File

@ -0,0 +1,19 @@
#!/bin/zsh
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 && \
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
}
for dir in `ls --sort time -r | grep -v '.sh'`; do encode $dir || break; done

8
scripts/graph.py Normal file
View File

@ -0,0 +1,8 @@
import os, sys
print 'digraph {'
for i in os.listdir(sys.argv[1] if len(sys.argv) > 1 else '.'):
parts = i.rsplit('.', 1)[0].split('=')
print ' -> '.join(parts[:2])
# TODO: add label (optional section 3)
print '}'