Last active
December 21, 2015 08:59
-
-
Save 0mark/6282256 to your computer and use it in GitHub Desktop.
Recode video files, record from dvb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
if [ "$1" == "-h" ]; then | |
echo "recoder RESOLUTION QUALITY [crop] FILETYPE" | |
echo | |
echo "Resolutions:" | |
echo " llow: 170x* , mencoder" | |
echo " low: 320x* , mencoder" | |
echo " mid: 528x* , mencoder" | |
echo " high: 720x* , mencoder" | |
echo " 720: *x720 , mencoder" | |
echo " hd720: *x720 , ffmpeg" | |
echo " hd480: *x480 , ffmpeg" | |
echo " keep: *x* , mencoder" | |
echo " tv2wide: 1024x576, ffmpeg" | |
echo | |
echo "Qualities: (only with mencoder)" | |
echo " llq: 3.5" | |
echo " lq: 4.5" | |
echo " nq: 6.5" | |
echo " hq: 10, audio 8" | |
echo | |
echo "Crop uses mplayer to find and crop black borders. Only available with mencoder." | |
exit | |
fi | |
mkdir -p /home/mark/r | |
if [ "$3" == "crop" ]; then | |
cropcom="\`mplayer \\\"\"\$0\"\\\" -vo null -ao null -endpos 5 -vf cropdetect|cut -d '(' -f 2|cut -d ')' -f 1|grep crop|tail -1\`;crop=\\\"\$crop,\\\"" | |
SRC="$4" | |
if [ $# -lt 4 ]; then | |
echo "Falsch" | |
exit 1 | |
fi | |
else | |
cropcom="\\\"-vf \\\"" | |
SRC="$3" | |
if [ $# -lt 3 ]; then | |
echo "Falsch" | |
exit 1 | |
fi | |
fi | |
ENC="mplayer" | |
FMT="avi" | |
case "$1" in | |
llow) | |
MODE="-oac copy \${crop}denoise3d,pp=md,scale=170:-3 -ovc lavc -lavcopts vcodec=mpeg4:vhq" | |
;; | |
low) | |
MODE="-oac copy \${crop}denoise3d,pp=md,scale=320:-3 -ovc lavc -lavcopts vcodec=mpeg4:vhq" | |
;; | |
mid) | |
MODE="-oac copy \${crop}denoise3d,pp=md,scale=528:-3 -ovc lavc -lavcopts vcodec=mpeg4:vhq" | |
;; | |
high) | |
MODE="-oac copy \${crop}denoise3d,pp=md,scale=720:-3 -ovc lavc -lavcopts vcodec=mpeg4:vhq" | |
;; | |
720) | |
MODE="-oac copy \${crop}scale=-3:720 -ovc lavc -lavcopts vcodec=mpeg4:vhq" | |
;; | |
hd720) | |
ENC="ffmpeg" | |
FFMODE="-vtag DIVX -f avi -vcodec mpeg4 -vf \\\"scale=-1:720\\\" -b 1000000 -acodec libmp3lame -ab 160000 -ar 48000 -ac 2" | |
;; | |
sd480) | |
ENC="ffmpeg" | |
FFMODE="-vtag DIVX -f avi -vcodec mpeg4 -vf \\\"scale=-1:480\\\" -b 900000 -acodec libmp3lame -ab 120000 -ar 48000 -ac 2" | |
;; | |
sd320) | |
ENC="ffmpeg" | |
FFMODE="-vtag DIVX -f avi -vcodec mpeg4 -vf \\\"scale=-1:320\\\" -b 700000 -acodec libmp3lame -ab 120000 -ar 48000 -ac 2" | |
;; | |
keep) | |
MODE="-oac copy \${crop}denoise3d,pp=md -ovc lavc -lavcopts vcodec=mpeg4:vhq" | |
;; | |
tv2wide) | |
ENC="ffmpeg" | |
FFMODE="-vtag DIVX -f avi -vcodec mpeg4 -aspect 16:9 -s 1024x576 -b 1000000 -acodec libmp3lame -ab 160000 -ar 48000 -ac 2" | |
;; | |
palm) | |
ENC="ffmpeg" | |
FFMODE="-vtag DIVX -f avi -vcodec mpeg4 -vf "scale=320:-1" -vb 50000 -acodec libmp3lame -ab 50000 -ac 2" | |
;; | |
rockbox) | |
ENC="ffmpeg" | |
FMT="mpg" | |
FFMODE="-s 220x166 -vcodec mpeg2video -vb 200k -ab 128k -ar 44100 -acodec libmp3lame" | |
;; | |
esac | |
case "$2" in | |
hq) | |
MODE="$MODE:vqscale=3.5" | |
;; | |
nq) | |
MODE="$MODE:vqscale=4.5" | |
;; | |
lq) | |
MODE="$MODE:vqscale=6.5" | |
;; | |
llq) | |
MODE="$MODE:vqscale=10 -lameopts q=8:mode=3" | |
;; | |
esac | |
tmpf=/tmp/$USER-recoder-$$.sh | |
case "$ENC" in | |
mplayer) | |
ls *.$SRC | awk -F "[.]$SRC" "{print \"crop=$cropcom; nice mencoder $MODE \\\"\"\$1\".$SRC\\\" -o \\\"/home/mark/r/\"\$1\".$FMT\\\"\"}" > $tmpf | |
;; | |
ffmpeg) | |
ls *.$SRC | awk -F "[.]$SRC" "{print \"nice ffmpeg -i \\\"\"\$1\".$SRC\\\" $FFMODE \\\"/home/mark/r/\"\$1\".$FMT\\\"\"}" > $tmpf | |
;; | |
esac | |
sh $tmpf | |
rm $tmpf |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
help() { | |
echo "recoder RESOLUTION QUALITY CHANNEL" | |
echo | |
echo "Resolutions:" | |
echo " llow: 170x* , mencoder" | |
echo " low: 320x* , mencoder" | |
echo " mid: 528x* , mencoder" | |
echo " high: 720x* , mencoder" | |
echo | |
echo "Qualities:" | |
echo " llq: 3.5" | |
echo " lq: 4.5" | |
echo " nq: 6.5" | |
echo " hq: 10, audio 8" | |
echo | |
exit | |
} | |
error() { | |
echo "Bad parameter. Try recorder -h" | |
exit 1 | |
} | |
if [ "$1" == "-h" ]; then | |
help | |
fi | |
mkdir -p /home/mark/r | |
if [ $# -lt 3 ]; then | |
error | |
fi | |
ENC="mplayer" | |
FMT="avi" | |
case "$1" in | |
llow) | |
RES=160 | |
;; | |
low) | |
RES=320 | |
;; | |
mid) | |
RES=432 | |
;; | |
high) | |
RES=576 | |
;; | |
*) | |
error | |
;; | |
esac | |
case "$2" in | |
hq) | |
VBR=2000 | |
;; | |
nq) | |
VBR=1400 | |
;; | |
lq) | |
VBR=800 | |
;; | |
llq) | |
VBR=400 | |
;; | |
*) | |
error | |
;; | |
esac | |
mencoder -cache 4000 dvb://$3 -o "${3}_$(date +"%Y-%m-%d_%H%M")_$RES_$VBR.mp4" -oac mp3lame -lameopts br=112:cbr:mode=0 -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=$VBR -vf scale=-10:$RES |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment