Moin,
nachdem ich eine Weile gebastelt habe, hier mal ein Posting wie ich die Aufnamen in x264 konvertiere.
noad wird nach jeder Aufnahme gestartet. Dann muß man über VDR-live den Film schneiden.
Geschnittene Aufnahmen werden automatisch konvertiert.
Mit dem syncmovies-Script werden sie mit rsync auf einen anderen Rechner kopiert.
Angucken der Filme geht mit VLC, XBMC, und Quicktime mit Perian plugin.
Vielleicht habt ihr ja noch ein paar Verbesserungsvorschläge?
Dave
/etc/vdr/vdr.default:
Code
# Change to 1 to enable vdr's init-script
ENABLED=1
# Change this to 1 if you want vdr to be able to shutdown the
# computer
ENABLE_SHUTDOWN=0
# Options that will be passed to vdr's commandline
# for example: OPTIONS="-w 15"
OPTIONS="-w 60 -r'/usr/local/bin/noad nice -b -O -C -a -j --statisticfile=/var/lib/noadstat'"
Alles anzeigen
/usr/local/bin/convertvdr
Bash
#!/bin/sh
CROP="766:574:1:1"
BITRATE=500
BITRATE=600
cd $1
pwd
# 720 x 576
BREIT=`cat info.vdr | grep "^X 1" | grep Breitwand | wc -l`
FOURXTHREE=`cat info.vdr | grep "^X 1" | grep "4:3" | wc -l`
if [ $BREIT -eq 1 ]
then
echo "we are processing an wideband recording"
CROP="704:560:4:8"
fi
if [ $FOURXTHREE -eq 1 ]
then
echo "we are processing an 4:3 recording"
#CROP="768:574" 720x576
CROP="704:560:8:8"
fi
TITLE=$(grep ^T info.vdr | sed s/"T "//g)
EPISODE=$(grep ^S info.vdr | sed s/"S "//g)
RDATETIME=`basename $1 | sed "s/.[0-9]*.[0-9]*.rec//"`
if [ "$EPISODE" != "" ]
then
OUTBASENAME=`echo $RDATETIME-$TITLE-$EPISODE | sed "s/\ /_/g" | sed "s/://g"`
else
OUTBASENAME=`echo $RDATETIME-$TITLE | sed "s/\ /_/g" | sed "s/://g"`
fi
OUTTITLE=$OUTBASENAME.avi
NTV=`head -1 info.vdr | grep n-tv | wc -l`
N24=`head -1 info.vdr | grep N24 | wc -l`
if [ -f $OUTTITLE ]
then
echo "Outfile $OUTTITLE already exists"
exit 0
fi
cat info.vdr > $OUTBASENAME.vdrinfo
if [ $NTV -eq 1 ] || [ $N24 -eq 1 ]
then
echo "we are processing an N-TV recording"
CROP="700:490:10:5"
fi
echo creating $OUTTITLE
trap 'rm -f input.vdrin; exit 0' 1 2 15
# VDR Files zusammenfuehren
VDRFILECOUNT=`ls [0-9][0-9][0-9].vdr |wc -l`
if [ $VDRFILECOUNT -eq 1 ]
then
INPUTFILE=001.vdr
else
cat [0-9][0-9][0-9].vdr >> input.vdrin
INPUTFILE=input.vdrin
fi
nice mencoder -vf crop=$CROP,pp=lb -ovc x264 -x264encopts bitrate=$BITRATE:threads=auto:subq=6:partitions=all:8x8dct:me=umh:frameref=5:bframes=3:b_pyramid:weight_b:keyint=125 -oac mp3lame -lameopts preset=standard -o $OUTTITLE $INPUTFILE
rm -f input.vdrin
Alles anzeigen
Crontab von root
Code
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOME=/var/log
# m h dom mon dow command
1 * * * * ntpdate -s de.pool.ntp.org
*/5 * * * * /usr/local/bin/convertallcut
/usr/local/bin/convertallcut
Bash
#!/bin/sh
# convertallcut
LOCKFILE=/tmp/convertallcut.lock
if [ -f $LOCKFILE ]
then
echo "convertallcut already running"
exit 0
fi
touch $LOCKFILE
trap 'rm -f $LOCKFILE; exit 0' 1 2 15
find /video -follow -type d -name '*.rec' -path '*/%*' -exec convertvdr $* '{}' ';' 2>&1 >> /var/log/vdrconvert
rm -f $LOCKFILE
Alles anzeigen
/usr/local/bin/syncmovies
Bash
#!/bin/sh
# backups all movies
mkdir -p /rsync
find /video -follow -name '*.avi' -path '*/%*' -mmin +5 -exec ln -s $* '{}' /rsync/ ';'
find /video -follow -name '*.vdrinfo' -path '*/%*' -mmin +5 -exec ln -s $* '{}' /rsync/ ';'
# directory to backup
cd /rsync
BDIR=.
BUSER=kino
# excludes file - this contains a wildcard pattern per line of files to exclude
EXCLUDES=/etc/excludes
# the name of the backup machine
BSERVER=10.1.0.12
# your password on the backup server
export RSYNC_PASSWORD=HAHA_GEHEIM
########################################################################
# --dry-run --delete-excluded
BACKUPDIR="kino"
OPTS="-v --force --ignore-errors --exclude-from=$EXCLUDES --copy-links -a"
export PATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/pkg/bin
# now the actual transfer
rsync $OPTS $BDIR $BUSER@$BSERVER::$BACKUPDIR
rm -rf /rsync
Alles anzeigen