RealPlayer/Mplayer: realmedia "mit streamtuner" abspielen und aufzeichnen (dapper/amd64)

Gerhard Gaußling ggrubbish at web.de
Fre Jul 14 17:04:16 BST 2006


Am Donnerstag, 13. Juli 2006 01:00 schrieb Gerhard Gaußling:
> Hallo,
>
> Ich habe ein Problem mit dem streanmtuner und realmedia streams.
>
> realplayer ist installiert, allerdings von real.com [1], und nicht
> aus dem repository.
> Er ist auf dapper amd64 installiert, und blieb zuerst stumm.
> Merkwürdigerweise geht er jetzt, allerdings ruckelt das Bild, und es
> gibt auch manchmal Aussetzer im audiostream, z.B.
> WDR 5
> "rtsp://a1836.l751839969.c7518.e.lr.akamaistream.net/live/D/1836/7518
>/v0001/reflector:39969"
>
> Es kommt außerdem diese Fehlermeldung:
> (realplay.bin:27232): Pango-WARNING **: error opening config
> file '/etc/pango32/pangorc': Key file contains line 'Pango]' which is
> not a key-value pair, group, or comment
>
> Das betrifft aber wohl nur das Textrendering, Layout und
> Internationalisierung. Mir ist nichts aufgefallen, außer, daß der
> Fehler im chroot nicht kommt.
>
> Das Ruckeln stört, dabei habe ich DSL 6000 und einen Atlon64 3500+,
> asus A8N-SLI-Deluxe und eine Maxtor 6Y200M0, dazu 1GiB RAM.
>
> $ lspci|grep VGA
> 0000:01:00.0 VGA compatible controller: nVidia Corporation NV43
> [GeForce 6600 GT] (rev a2)
> [...]
> Nun habe ich versucht unter streamtuner > Einstellungen > Anwendungen
 > "Einen Realaudio (R) Stream anhören" versucht mit
>
> /usr/bin/realplay %q
> oder
> dchroot -c i386_chroot -d /usr/local/bin/realplay %q
>
> den RealPlayer mit dem ausgewähltem Stream zu hören
> Streamtuner > Vorauswahl:
> Name: WDR 5
> Genre: Info, Weltmusik, Jazz
> Web: http://www.wdr.de/wdrlive/media/wdr5.smil
> URL:rtsp://a1836.l751839969.c7518.e.lr.akamaistream.net/live/D/1836/7
>518/v0001/reflector:39969
>
> Dabei wird aber immer der xmms gestartet, der mit rtsp nichts
> anfangen kann (?).
>
> Das brachte mich dazu den mplayer näher zu untersuchen.
> Mit dem gibt es einige Probleme: Er startet nicht, funktioniert aber
> als engine z.B. in KMplayer oder als plugin im mozilla (flash sound
> geht übrigens auch im chroot_32bit firefox).
>
> [....]
>
> Ah, ok gmplayer ging nicht, da er das default skin nicht findet (der
> Ordner ist tatsächlich leer)> [...]
>
>
> Womit zeichnet ihr realstreams auf? Macht das StreamRipper?
> Wie bekommt man das Ruckeln des realplayer in den Griff?
> Woher bekomme ich den default skin für gmplayer?
> Oder schmiert der aus anderen Gründen ab?
>

Hallo,

ich nochmal :-( (Halb "Fullquote", um meine ursprüngliche mail etwas 
lesbarer zu machen)

Ich habe, nach dieser Vorlage hier ( 
http://lists.gnu.org/archive/html/streamtuner-misc/2004-08/msg00004.html 
Jean-Yves Lefort ) einen wrapper geschrieben, der je nach Format 
unterschiedliche, für das jeweilige Format funktionierende, mediaplayer 
verwendet:

$ cat /home/gerhard/bin/streamplay
#!/bin/sh
#http://lists.gnu.org/archive/html/streamtuner-misc/2004-08/msg00004.html 
Jean-Yves Lefort

# Al RealMedia Files and streams are played by mplayer (that's because 
realplay stutters more often)
case "$1" in
    rtsp*|*.rm|*.ram|*.ra|*.smil)

#using realplay
#        realplay "$1" ;;

#using mplayer
#debug
#konsole --noclose -e gmplayer -ao alsa -vo null -skin clearplayer  "$1" 
& ;;
gmplayer -ao alsa -vo null -skin 
clearplayer  -really-quiet -audio-demuxer real "$1" & ;;

*)
        # Windows Media Files are played by vlc
        case "$1" in
        *.asf|*asx)
                vlc "$1" ;;

        *)
        # All other kinds of soundfiles are played by xmms
        xmms --enqueue "$1" ;;
esac
esac

Diesen habe ich in streamtuner unter Bearbeiten > Einstellungen > 
Anwendungen > Einen Stream anhören eingetragen, und ich bin damit super 
zufrieden!


Jetzt benötige ich so einen wrapper noch zum aufnehmen von Windows Media 
Formaten und RealAudio-Fornaten und -Streams!

Weiß jemand, wie man den rtsp://URL ersetzen kann? Das hier funktioniert 
ganz gut, aber ich muß die streamtuner variable %q anstelle  rtsp://URL 
setzen, und dann geht das nicht mehr (in streamtuner eingesetzt):

$ konsole --noclose -e mplayer -dumpstream 
rtsp://a1836.l751839969.c7518.e.lr.akamaistream.net/live/D/1836/7518/v0001/reflector:39969 -dumpfile 
`echo 
rtsp://a1836.l751839969.c7518.e.lr.akamaistream.net/live/D/1836/7518/v0001/reflector:39969|
cut -d: -f -2 --complement`.rm

(alles in einer Zeile)

Ich möchte eine rm Datei mit dem Namen des Reflektors erhalten: 
39969.rm .

Ich habe es mal so versucht :
$ 
Q="rtsp://a1836.l751839969.c7518.e.lr.akamaistream.net/live/D/1836/7518/v0001/reflector:39969"; 
FILE=`echo $Q | cut -d: -f -2 --complement`; echo $FILE.rm
39969.rm

gibt nämlich 39969.rm, so wie es sein sollte.

$ 
Q="rtsp://a1836.l751839969.c7518.e.lr.akamaistream.net/live/D/1836/7518/v0001/reflector:39969"; 
FILE=`echo $Q | cut -d: -f -2 --complement`  && mplayer -dumpstream 
$Q -dumpfile ./$FILE.rm

Funktioniert!


Folgendes in streamtuner aber geht nicht:
 konsole -noclose -e /bin/sh FILE=`echo $q | cut -d: -f -2 --complement`  
&& mplayer -dumpstream $q -dumpfile ./$FILE.rm

Fehler:
/bin/sh: FILE=`echo: No such file or directory


Folgendes in streamtuner eingesetzt:
 konsole -noclose -e FILE=`echo $q | cut -d: -f -2 --complement`  && 
mplayer -dumpstream $q -dumpfile ./$FILE.rm

Gibt diese Fehlermeldung:
"konsole is unable to open a PTY"


Das Problem: Ich habe nun ein rm file, das ich zwar mit mplayer 
abspielen kann, allerdings nicht in wav, ogg oder mp3 wandeln kann.

vsound ist so weit ich das sehe, das einzige Programm, das das kann.

Allerdings funktioniert das hier nicht (amd64 als auch chroot i386 
beides dapper):
$  sudo vsound -a 60 -t -d -f output.wav mplayer  39969.rm
About to start the application. The output will not be available
until the application exits.
MPlayer 2:0.99+1.0pre7try2+cvs20060117-0ubuntu8 (C) 2000-2006 MPlayer 
Team
CPU: Advanced Micro Devices Athlon 64 Newcastle,Winchester,San 
Diego,Venice; Sempron Palermo (Family: 15, Stepping: 0)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.


91 audio & 204 video codecs
[...]
Playing 39969.rm.
REAL file format detected.
Stream description: Audio Stream
Stream mimetype: audio/x-pn-multirate-realaudio-live
demux_real: invalid chunksize! (0)
|---------^^^^^^^^^^^^das ist auch noch so eine nervige Fehlermeldung, 
die normalerweise bei gmplayer aufpoppt, aber mit -really-quiet  
unterdrückt wird. -audio-demuxer real hilft nicht.
Clip info:
 name: WDR 5
|-----------^^^ schöner, als der reflektor "39969" für den Dateinamen 
wäre natürlich "WDR5" hieraus zu extrahieren, und mit `date` noch das 
Datum in den Dateinamen einzufügen, weiß jemand wie das gehen könnte?
 author: Westdeutscher Rundfunk
 copyright: (C) 2004 Westdeutscher Rundfunk
[...]
 44100Hz/2ch/s16le...
Video: no video
Starting playback...
A:  77.7 (01:17.6) of 81.8 (01:21.8)  1.4%
alsa-uninit: pcm closed

Exiting... (End of file)
Missing file ./vsound6753.au.
This means that the libvsound wrapper did not work correctlty.
Here are some the possible reasons :
 - You are trying to record a stream (RTSP or PNM protocol) from
   the internet. You will need to use the --timing option.
 - The program you are trying to run is setuid. You will need to
   run vsound as root.
 - Vsound was not properly installed and hence won't work at all.

Dabei habe ich die --timing (-t) option gesetzt, bin root, und ich habe 
das normale deb genommen, gegen das kein bug veröffentlicht wurde (auf 
ebian.org auch kaum bugs). Allerdings bin ich nicht allein, wenn ich 
auch keine Lösung mit google gefunden habe.

z.B.: 
http://www.linuxarkivet.se/mlists/mandrake-expert/0306/msg00486.html


Ich habe noch folgendes zum realaudio rippen gefunden:
http://linux.derkeiler.com/Newsgroups/alt.os.linux/2004-08/2229.html
<blockquote>
I do the following:

Get Oggenc to be able to encode to an Ogg vorbis file.

Then create the following script (e.g. enconde-net-audio)

#!/bin/bash

mkfifo audiodump.wav
mplayer $1 -ao pcm &
oggenc audiodump.wav -o recorded-stream.ogg

That's it. You'll end up with the file "recorded-steram.ogg" containing
an ogg stream of the audio. You can play with oggenc settings, like -q
to set the quality.

Or you can also change oggenc with something like lame and encode the
stream to mp3. 
</blockquote>

http://forum.ubuntuusers.de/topic/27270/
tobias.michelis
<blockquote>
Hi
Ich habe gerade folgendes skript dafuer geschrieben, da ich das gleiche 
Problem hatte.
Das Skript ist noch bei weitem nicht perfekt, aber fuer den Anfang 
reichts. Verbesserungsvorschlaege nehme ich gerne entgegen.


#!/bin/bash

## Script to rip a real audio stream
## Needed programms:
## 1. wget
## 2. realplay
## 3. lame
## 4. vsound

### Here are options the user should alter as appropriate ##
TEMP_DIR=/tmp/realsstream
BITRATE=192 #Bitrate for lame
############################################################

if [ $# -ne 3 ] ; then
echo "Usage: realripper <filename-to-save-to> <URL> </dir/to/store>"
exit 1
fi

FILENAME=$1
TEMP_URL=$2
DIR=$3

mkdir -p $TEMP_DIR
cd TEMP_DIR
wget --output-document=torip $TEMP_URL
URL=`cat torip`
vsound -f $FILENAME.wav realplay -q $URL
lame -h -b $BITRATE $FILENAME.wav $FILENAME.mp3
mv $FILENAME.mp3 $DIR
cd ~
rm -rf $TEMP_DIR

gruss
tobias

Nachtrag: Falls du gleichzeitig auch hoeren willst, musst du vsound 
mit -d aufrufen.
PPS: Habe das -q mit reingeschrieben (nur der vollstaendigkeit halber) 
</blockquote>

http://forum.ubuntuusers.de/topic/16415/
Ich bin zwar nicht der von dir aufgeforderte alle, aber hast du es schon 
so versucht?

mplayer -dumpstream -dumpfile /pfad/zum/Ziel.rm 
rtsp://a1836.l751839969.c7518.e.lr.akamaistream.net/live/D/1836/7518/v0001/reflector:39969
</blockquote>


Falls hier jemand helfen könnte, nachdem mir as streamplay schon 
gelungen ist, das Aufnahme wrapper skript "streamrec" zu erstellen, so 
würde ich mich freuen!

ciao

Gerhard