Re: Aufnehmen vom Fernseher
Michael Ott schrieb:
Hallo Ihr!
Ich habe mir vor längeren mal einen USB-Teil gekauft, mit den man direkt
vom Fernseher aus Videos aufnehmen kann. Das Teil läuft super und M$ und
ich kann sogar damit was aufnehmen.
Debian erkennt das Ding auch, aber ich bräuchte nur noch eine Software,
mit der ich
1. was vom Fernseher aufnehmen kann
2. das dann einfach zusammen schneiden kann.
Habt ihr ein paar Tipps und vielleicht auch Howtos dazu. Ruhig auch in
Englisch. Natürlich alles mit Gui.
CU
Michael
ich mach das so:
(geschnitten wird danach mit dvbcut)
#!/bin/sh
#echo $#
sender=""
name=""
start=""
len=""
beginn="jetzt"
down="nein"
outfile=""
time="`date +%y%m%d%H%M%S`"
#default comprimierung
comp="-oac copy -ovc copy -of mpeg -idx"
fix="copy.mpg"
comp_name="copy"
len_name=""
sender_name=""
#scale="-vf scale= 720:405"
#scale="-vf scale=704:576"
scale=""
# Globale Variablen
SCRIPTNAME=$(basename $0)
# Funktionen
function usage {
echo "Usage: $SCRIPTNAME [-h] [-d] [-o OutputFile][-l Laenge] [-s
Scale] [-t Start] [-c Kompressor] Sender" >&2
echo "$SCRIPTNAME [-h] fuer mehr Hilfe"
[[ $# -eq 1 ]] && exit $1 || exit $EXIT_FAILURE
}
function usage_more {
echo -e "Usage:
Sofort-Start mit: record.sh Sender
mit Shutdown: record.sh -d Sender
Sofort-Start mit Scalierung: record.sh -s 720:405 Sender
Start jetzt, mit Laenge: record.sh -l Len Sender
mit Zeitangabe: record.sh -l Len -t Time Sender
mit Kompressor: record.sh -c Compressor Sender
als Konverter (-o): record.sh -c Compressor -o
OutputFile InputFile
zeigt alle moeglichen Sender: record.sh -k
zeigt diese Hilfe-Seite: record.sh -h
Sender: z.B.: \"arte\" fuer den Sender Arte
Laenge: z.B.: \"-l 01:30\" fuer 90 Minuten
Uhrzeit: z.B.: \"-t 16:10\" fuer 16:10 Uhr
Kompr.: z.B.: \"-c v4l\" fuer Video4Linux
Shutdown: \"-d\"
Sample record.sh -d -t 20:15 -l 02:00 -c DX50 arte
"
}
function usage_comp {
echo -e "Komprimierung:
copy(default): DVB-Transportstream
DX50: MPEG2
x264: MPEG4
v4l: Linux-Like
"
}
# Die Option -h für Hilfe sollte immer vorhanden sein, die Optionen
# -v und -o sind als Beispiele gedacht. -o hat ein Optionsargument;
# man beachte das auf "s" folgende ":".
# http://www.pro-linux.de/t_system/basescript.html
while getopts ':o:s:t:l:c:dhk' OPTION ; do
case $OPTION in
k) less ~/.mplayer/channels.conf | cut -d: -f1; exit 0 ;;
c) #echo $OPTARG
comp_name=$OPTARG
case $OPTARG in
"DX50") comp="-ovc lavc -ffourcc DX50 -oac mp3lame -idx
remove-logo=/home/lmateo/Desktop/Ich48x48.jpg"; fix="DX50.avi" ;;
"x264") comp="-oac copy -ovc x264 -x264encopts
threads=auto:bitrate=896:subq=3:me=hex:frameref=3:bframes=3 -idx";
fix="x264.mpg" ;;
"v4l")
comp="driver=v4l2:device=/dev/video0:input=0:outfmt=yv12:fps=25:alsa:amode=1:forcechan=2:chanlist=europe-west:channel=E5
-oac lavc -ovc lavc -lavcopts
vcodec=mpeg4:vbitrate=1800:acodec=mp2:abitrate=128 -idx"; fix="xv4l2.mpg" ;;
*) usage_comp; exit 1 ;;
esac ;;
o) outfile=$OPTARG ;;
s) scale="-vf scale=${OPTARG}" ;;
l) #echo $OPTARG
len_name=$OPTARG
len="-endpos $OPTARG:00" ;;
t) #echo $OPTARG
beginn=$OPTARG ;;
d) down="ja" ;;
h) usage_more; exit 0 ;;
\?) echo "Unbekannte Option \"-$OPTARG\"." >&2; usage; exit 1 ;;
:) echo "Option \"-$OPTARG\" benoetigt ein Argument." >&2; usage;
exit 1 ;;
*) echo "error" >&2; usage; exit 1 ;;
esac
done
# Verbrauchte Argumente überspringen
shift $(( OPTIND - 1 ))
# Eventuelle Tests auf min./max. Anzahl Argumente hier
if (( $# < 1 )) ; then
echo "Mindestens ein Argument beim Aufruf uebergeben." >&2;
usage; exit 1
fi
if (( $# > 1 )) ; then
echo "Zu viele Argumente uebergeben oder Leerzeichen maskieren!"
>&2; usage; exit 1
fi
# Leerzeichen entfernen
for tok in $1 ;
do
sender_name="$sender_name$tok"
done
sender=$1
#echo $sender_name
time="`date +%y%m%d%H%M%S`"
filename="${time}_${sender_name}_${fix}"
if [ "$outfile" = "" ] ;then
echo -e "
Sender $sender
Startzeit $beginn
Laenge $len_name
Kompressor $comp_name
Filename $filename
Shutdown $down
"
sender="dvb://${sender}"
else
echo "Der Film ${sender_name} wird mit $comp_name codiert."
filename="${outfile}${fix}"
fi
z=0
array=( "|" "/" "-" "\\" )
if [ "$beginn" != "jetzt" ] ;then
start="`echo $beginn | cut -b 1,2,4,5`"
# warteschleife:
while [ "$start" != "`date +%H%M`" ]
do
if [ $z -eq 4 ] ; then z=0; fi
echo -e " ${array[${z}]} Uhrzeit `date +%H:%M` = Startzeit
$beginn \r\c"
z=$(($z+1))
sleep 0.1
#clear
done
fi
echo "/usr/bin/mencoder ${sender} $comp $scale -quiet $len -o ${filename}"
/usr/bin/mencoder "${sender}" $comp $scale -quiet $len -o ${filename}
if [ "$down" = "ja" ] ;then
sudo shutdown -h +2 "Die Kiste wird in zwei Minuten abgeschalten!!!"
fi
exit 0
# gut fuer dvb-cut
name="${sender}-`date +%y%m%d%H%M%S`.copy.mpg"
/usr/bin/mencoder dvb://"$sender" -of mpeg -oac copy -ovc copy -quiet -o
"$name" $len
# gut fuer den desk
name="${sender}-`date +%y%m%d%H%M%S`.DX50.avi"
#/usr/bin/mencoder dvb://"$sender" -of avi -ovc lavc -ffourcc DX50 -oac
mp3lame -vf scale=720:576 -forceidx -quiet -o "$name" $len
name="${sender}-`date +%y%m%d%H%M%S`.x264.avi"
#/usr/bin/mencoder dvb://"$sender" -oac copy -ovc x264 -x264encopts
threads=auto:bitrate=896:subq=3:me=hex:frameref=3:bframes=3 -vf
scale=720:576 -forceidx -quiet -o "$name" $len
name="${sender}-`date +%y%m%d%H%M%S`.xv4l2.avi"
#/usr/bin/mencoder dvb://"$sender"
driver=v4l2:device=/dev/video0:input=0:outfmt=yv12:fps=25:alsa:amode=1:forcechan=2:chanlist=europe-west:channel=E5
-oac lavc -ovc lavc -lavcopts
vcodec=mpeg4:vbitrate=1800:acodec=mp2:abitrate=128 -vf scale=720:576
-forceidx -quiet -o "$name" $len
Reply to: