|
danjoh
Anmeldungsdatum: 28. Januar 2010
Beiträge: 14
|
Hab schon versucht die Ausgabe nach stdout und stderr in Textdateien ausgeben zu lassen. #!/bin/sh
RDUMP="$(~/MyApps/rtmpdump/rtmpdump_x86 -r rtmpe://... -s http://... -p http://... -y "..." -e -o "..." --resume)"
echo $RDUMP > rdump.txt
bzw.
#!/bin/sh
RDUMP="$(~/MyApps/rtmpdump/rtmpdump_x86 -r rtmpe://... -s http://... -p http://... -y "..." -e -o "..." --resume)"
echo $RDUMP 2> rdump.txt Es werden mir dort aber auch nur leere Textdateien erstellt und die Ausgabe erscheint weiterhin in der Konsole. Wenn ich -gt 0 dahinter setze, bekomme ich diese Ausgabe:
...
ERROR: ReadPacket, failed to read RTMP packet body. len: 67355
WARNING: Download may be incomplete (downloaded about 10.6%), try --resume!
Closing connection... done!
[: 29: -gt: unexpected operator
False
|
|
Funatiker
Anmeldungsdatum: 24. November 2007
Beiträge: 123
Wohnort: Pirmasens
|
Kannst du die Ausgabe überhaupt durchgreppen? Also hast du noch eine Ausgabe, wenn du einen rtmpdump-Befehl nach irgendeinem Nonsense durchgrepst?! Dass beide Textdateien leer sind, spricht dafür, dass die Meldungen auf stderr landen. RDUMP enthält wohl nur stdout von rtmpdump und ist daher wohl leer. Da der echo-Befehl selbst wohl kaum in stderr schreiben wird, kannst du stderr von echo auch nicht in eine Datei umleiten. | #!/bin/sh
if [ "$(~/MyApps/rtmpdump/rtmpdump_x86 -r rtmpe://... -s http://... -p http://... -y "..." -e -o "..." --resume 2>&1 | grep -c "Download may be incomplete")" -gt 0 ]
then
echo "True"
else
echo "False"
fi
|
Du kannst natürlich nur dann -gt dahinter setzen, wenn der vorherige Befehl eine Zahl zurück gibt. Das tut er nur, wenn du grep mit -c anweist, die Zahl der Fundstellen auszugeben.
|
|
nephilim1973
Anmeldungsdatum: 31. August 2007
Beiträge: 418
|
Könntet Ihr sowas auch für RTL-Now basteln ??? Z.B. für diesen Link ?? http://rtl-now.rtl.de/renemarik.php?film_id=21610&player=1&season=0&na=1 Greetz
Nephilim1973
|
|
Funatiker
Anmeldungsdatum: 24. November 2007
Beiträge: 123
Wohnort: Pirmasens
|
RTL NOW verwendet für die Streams das Protokoll „rtmpe“. Dies ist eine um Verschlüsselung erweiterte Variante des rtmp-Protokolls. Die Verschlüsselung dient laut Adobe dem Kopierschutz. Dies zum umgehen (oder durch Entwicklung oder Verbreitung von Programmen Beihilfe hierzu zu leisten) ist leider nach § 95a UrHG Abs. 1 untersagt. Außerdem ist mein persönliches Interesse an Beiträgen von RTL eher gering. Daher biete ich hier ein nur für persönliche Bildungszwecke interessantes Beispiel, das zeigt, wie manche benötigte Parameter von rtmpdump ermittelt werden können. Eine praktische Funktion (speichern des geschützten Streams) erfüllt das Beispiel nicht. | #!/bin/sh
id="$1"
xmlfile=$(curl "http://rtl-now.rtl.de/renemarik.php?film_id=$id&player=1" | grep data | tail -n1 | cut -d\" -f2 | sed 's/%3A/:/g;s/%2F/\//g;s/%3F/?/g;s/%3D/=/g;s/%26/\&/g')
stream=$(curl $xmlfile | grep filename | cut -d\> -f2 | cut -d\< -f1)
./rtmpdump_x86 -o blabla.f4v -r $stream -p http://rtl-now.rtl.de/renemarik.php?film_id=$id&player=1 -e -s http://rtl-now.rtl.de/includes/rtlnow_videoplayer09_2.swf?ts=$(date +%Y%m%d)
|
|
|
nephilim1973
Anmeldungsdatum: 31. August 2007
Beiträge: 418
|
Ich danke Dir, werde das mal ausprobieren...
😉
|
|
nephilim1973
Anmeldungsdatum: 31. August 2007
Beiträge: 418
|
Klappt leider so nicht... RTMPDump v1.9
(c) 2009 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
ERROR: You must specify a hostname (--host) or url (-r "rtmp://host[:port]/playpath") containing a hostname
./streamtest.sh: Zeile 8: -e: Kommando nicht gefunden. Wenn ich mir $stream ausgeben lasse, ist die Variable leer. curl liefert zudem "curl: (6) Couldn't resolve host 'saveuserdata'" Gruss Nephilim
|
|
Funatiker
Anmeldungsdatum: 24. November 2007
Beiträge: 123
Wohnort: Pirmasens
|
Du musst das Script aufrufen mit
./scriptname.sh ID
also in deinem Fall
./scriptname.sh 21610 Außerdem habe ich darauf hingewiesen, dass das Script zu Bildungszwecken ist und nicht tatsächlich Videos speichern wird.
|
|
nephilim1973
Anmeldungsdatum: 31. August 2007
Beiträge: 418
|
Ich probiere es ja auch nur zu Bildungszwecken aus... Aber auch dann dürfte es ja eigentlich keine Fehler melden... ./streamtest.sh 21610
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 196k 0 196k 0 0 426k 0 --:--:-- --:--:-- --:--:-- 450k
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
102 2867 102 2867 0 0 27892 0 --:--:-- --:--:-- --:--:-- 39819
STREAM: rtmpe://fms-fra14.rtl.de/rtlnow/1059/V_36113_A6JI_E81411_40653_16x9-lq-512x288-h264-c0_7101951eac92821c773d5ee0a0fa7e3f.f4v
RTMPDump v1.9
(c) 2009 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
Connecting ...
./streamtest.sh: Zeile 8: -e: Kommando nicht gefunden.
ERROR: rtmp server sent error
ERROR: rtmp server requested close
|
|
Funatiker
Anmeldungsdatum: 24. November 2007
Beiträge: 123
Wohnort: Pirmasens
|
Zeile 8?! So viel Zeilen hat das Script gar nicht. Es fehlten Anführungszeichen. Dürfte nun geklärt sein: | #!/bin/sh
id="$1"
xmlfile=$(curl "http://rtl-now.rtl.de/renemarik.php?film_id=$id&player=1" | grep data | tail -n1 | cut -d\" -f2 | sed 's/%3A/:/g;s/%2F/\//g;s/%3F/?/g;s/%3D/=/g;s/%26/\&/g')
stream=$(curl $xmlfile | grep filename | cut -d\> -f2 | cut -d\< -f1)
./rtmpdump_x86 -o blabla.f4v -r "$stream" -p "http://rtl-now.rtl.de/renemarik.php?film_id=$id&player=1" -e -s http://rtl-now.rtl.de/includes/rtlnow_videoplayer09_2.swf?ts=$(date +%Y%m%d)
|
|
|
nephilim1973
Anmeldungsdatum: 31. August 2007
Beiträge: 418
|
Ich hatte ein paar "echo $variable" eingefügt, um zu testen, wo der Fehler hängen könnte. Leider ist auch Deine neue Version nicht ganz lauffähig. ./streamtest.sh 21610
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 196k 0 196k 0 0 397k 0 --:--:-- --:--:-- --:--:-- 422k
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
101 2829 101 2829 0 0 25335 0 --:--:-- --:--:-- --:--:-- 35362
RTMPDump v1.9
(c) 2009 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
'''ERROR: Unexpected start of file, error in tag sizes, couldn't arrive at prevTagSize=0'''
EDIT:
Ich muss dazu sagen, dass ich seit 3 Tagen an dem Problem hänge und diese Fehlermeldung ebenfalls schon bekommen habe.
Mein Ansatz war aber eher "manueller Natur", also URL enkodieren usw. Schritt für Schritt...
|
|
Funatiker
Anmeldungsdatum: 24. November 2007
Beiträge: 123
Wohnort: Pirmasens
|
Das kann ich nicht reproduzieren. Wenn ich mit 21610 aufrufe, erhalte ich:
ERROR: FLV file contains neither video nor audio, aborting! Wie es sein sollte eigentlich.
|
|
nephilim1973
Anmeldungsdatum: 31. August 2007
Beiträge: 418
|
Hmmm... Benutzt Du Version 1.9 oder 1.6 ??
Vielleicht liegt hier der "Kasius Knacktus"...
|
|
Funatiker
Anmeldungsdatum: 24. November 2007
Beiträge: 123
Wohnort: Pirmasens
|
ah v1.6 entschuldige dies. Wenn du mir die Quellen deiner Version nennst, schau ich mir das mal an.
|
|
nephilim1973
Anmeldungsdatum: 31. August 2007
Beiträge: 418
|
|
|
Funatiker
Anmeldungsdatum: 24. November 2007
Beiträge: 123
Wohnort: Pirmasens
|
RTMPDump v1.9
(c) 2009 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
ERROR: FLV file contains neither video nor audio, aborting!
|