[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Realplayerstream aufnehmen



* Ralph Bergmann <ralph@dasralph.de> [26-07-05 23:40]:
> Jens Schüßler schrieb:
> 
> >das geht mit streamripper nicht, aber mplayer kann das.
> >$ mplayer -dumpstream -dumpfile stream.rm rtsp://bla.com/steam.rm
> 
> Das Funktioniert super, doch nun hätte ich auch 2 Fragen:
> 
> 1) Wie kann ich das jetzt noch Zeitlich steuern? Also Start der Ausnahme 
> 00:00Uhr Ende der Aufnahme 02:00Uhr.

Hallo Ralph

Bei einmaliger Ausfürung würde ich at nehmen. Die Aufnahme mittels at um
Mitternacht starten und einen zweiten at-Job um das Ganze um 2 zu
beenden. Wenn du eine Sendung regelmässig aufnehmen willst, würde sich
ein cron-Job anbieten.
> 
> 2) Mit einer Datei im *.rm Format kann ich nichts anfangen, die Option 
> -ao pcm erzeugt ein *.wav welches jedoch auch sehr groß wird. Gibt's da 
> nich irgend welche Möglichkeiten es gleich als MP3 zu speichern?

Ich bin auch kein mplayer-Guru und froh wenn ich einen Stream
gespeichert bekomme, habe aber jetzt beim googlen folgendes Skript
gefunden. Scheint (ungetestet von mir) deine Aufgabe zu erfüllen.
Das piped den Output von mplayer direkt zu lame, das mp3 auswirft.
Mit der -s Option kannst du sogar die Laufzeit der Aufnahme angeben,
was dann auch den zweiten at-Job überflüssig macht. 

----
#!/bin/sh 

# constants 
LAME="lame" 
MPLAYER="mplayer" 
PIPE="/tmp/pipe" 


# defaults 
output="default.mp3" 
sec="3600" # rip for 1 hour, unless otherwise specified 
bitrate="64" # probably overkill, but I've got the space 


usage() 
{ 
  echo "Usage: $0 [-s <seconds>] [-o <output-mp3file>] [-b <bitrate>] 
<stream>" 
  exit 1 
} 

while getopts "o:s:b:" opt; do 
  case "$opt" in 
    s) sec="$OPTARG" ;; 
    o) output="$OPTARG" ;; 
    b) bitrate="$OPTARG" ;; 
    ?) usage ;; 
  esac 
done 
shift `expr $OPTIND - 1` 

[ -z "$1" ] && usage 
input="$@" 

# Clean if, pipe it, shove the mplayer rtsp stream to lame through the 
fifo 
rm -f $PIPE 
mkfifo $PIPE 
$LAME -b $bitrate $PIPE $output & 
$MPLAYER -cache 32 -noframedrop -ao pcm:file=$PIPE $input & 
sleep $sec 

# wake up and kill mplayer 
killall $MPLAYER 
rm -f $PIPE
----
> 
> Zur Lösung beider Fragen hab ich eigentlich nur 1 Bedingung, es muss von 
> selbst laufen und dies noch auf der Konsole. Des weitern würde ich freie 
> Software (MPlayer) bevorzugen.

Diese Bedingungen sind wohl erfüllt. Berichte doch mal von deinen
Erfahrungen, würde mich auch interessieren.

HTH
Jens



Reply to: