tvstreamrecord - Aufzeichnen von HTTP-Streams

Pavion

Benutzer
Mitglied seit
02. Feb 2013
Beiträge
566
Punkte für Reaktionen
14
Punkte
44
Hallo,

ich habe ein Paket entwickelt, um die HTTP-Streams (wie EyeTV Netstream) auf DS aufzunehmen. Die aktuellste Version befindet sich unter
http://code.google.com/p/tvstreamrecord/
Ich lade alle herzlich ein, dieses Programm zu testen und Feedback abzugeben.
Ich hoffe, Ihr werdet Spaß damit haben, so wie ich mit dem Programmieren.

Das Programm lässt sich mit dem Synology Paketzentrum installieren und benötigt Python 2.x (ebenfalls unter Paketzentrum erhältlich). Der Server läuft dann auf dem Port :8030, dieser lässt sich aber in Optionen umstellen.

MfG
Pav
 
Zuletzt bearbeitet von einem Moderator:

Schaebse

Benutzer
Mitglied seit
05. Jan 2013
Beiträge
67
Punkte für Reaktionen
0
Punkte
0
Hallo,
das wäre vielleicht interessant für mich.
Kann ich also EyeTV Programmierungen (ZDF usw) direkt auf die synnology packen ?
Da ich meist noch Zeit vor und nachgebe muss ich danach noch bearbeiten. Ist das ebenfalls möglich ?
Was hat das mit dem Server zu bedeuten ?
 

Pavion

Benutzer
Mitglied seit
02. Feb 2013
Beiträge
566
Punkte für Reaktionen
14
Punkte
44
Hallo Schaebse,

- ja, man soll damit Sendungen direkt auf Syno aufnehmen, ohne dabei anwesend zu sein oder den Rechner anhaben zu müssen.
- Gerade bei ZDF kann man sogar gezielte Sendungen mithilfe von EPG aufnehmen mit variablem Vor- und Nachsatz (Voreinstellung jew. 3 Minuten). Das daraus resultierende Video wird im gleichen Format abgelegt, wie es auch durch EyeTV gestreamt wird (MPEG Transport Stream) und kann entweder direkt angesehen (mit VLC, MPC, WMC oder sonstiger Software) oder bei Bedarf nachbearbeitet werden.
- Das Programm läuft auf Synology DS als Server und der Bediener verbindet sich mit dem Server über ganz normalen Webbrowser über die Adresse: http://syno_ds_ip:8030
Eine vorläufige Bedienungsanleitung findest Du ebenfalls unter:
http://code.google.com/p/tvstreamrecord/wiki/QuickGuide

MfG
Pav
 

xl4723

Benutzer
Mitglied seit
08. Dez 2011
Beiträge
272
Punkte für Reaktionen
0
Punkte
16
Hi Pav,

Klingt sehr interessant, was Du hier schreibst. Würde Dein kleines Programm auch den Stream einer Dreambox aufnehmen? Ich kann ja mit dem iPad und diversen Apps das TV Programm von meiner Dreambox aufs iPad streamen....könnte ich somit mit Deinem Programm diesen Livestream ebenfalls von der Dreambox abgreifen und auf der DS aufnehmen?

Gruß
Ronald
 

Pavion

Benutzer
Mitglied seit
02. Feb 2013
Beiträge
566
Punkte für Reaktionen
14
Punkte
44
Hallo Ronald,

leider habe ich keine Dreambox, um diese Funktion zu testen. Generell wenn Du den entsprechenden Link im Browser und VLC öffnen kannst, sollte es eigentlich auch funktionieren. Wenn ich also meine Stream URL in meinem Firefox eingebe, bekomme ich die Aufforderung die Datei zu speichern. So kam ich auch auf die Idee mit meinem Programm :). Ich mache also nichts anderes, als den Stream zu öffnen, zu puffern und in die Datei zu schreiben.
Die Aussichten sind also gut. Ich möchte Dich bitten es zu testen und Dein Ergebnis mitzuteilen.

Gruß
Pav
 

pit070166

Benutzer
Mitglied seit
16. Mrz 2009
Beiträge
59
Punkte für Reaktionen
0
Punkte
6
Hallo zusammen,

das hoert sich sehr interessant an. Da ich mich aber mit Videostreams und -formaten nicht auskenne, moechte ich gerne nochmal etwas nachfragen:

Ich habe im Haus 2 SAT-Anschluesse. An einem laeuft mein Technisat HD Recorder und der andere liegt ganz weit weg - aber an meiner Fritzbox.
Da ich am Technisat nur einen Anschluss liegen habe, kann ich manche Sender nicht parallel schauen und aufnehmen. Manchmal wuerde ich aber gerne mal 2 Programme gleichzeitig aufnehmen oder eines schauen und das andere aufnehmen.
Waere dies eine Loesung fuer mich?
Ich koennte also parallel zum Fernsehen ueber den Technisat ein weiteres Programm mit dem EyeTV auf die Syno aufnehmen, wie ich verstehe.
Wird diese Aufnahme dann auf der Synology so abgelegt, dass ich sie ueber das Netzwerk entweder mit dem Technisat oder der PS3 abspielen kann? Oder geht das nur mit einem bestimmten Player auf dem Rechner?
Oder habe ich hier ueberhaupt einen Denkfehler?

Viele Gruesse
Pit
 

Pavion

Benutzer
Mitglied seit
02. Feb 2013
Beiträge
566
Punkte für Reaktionen
14
Punkte
44
Hallo Pit,

Du hast keinen Denkfehler. Ohne die Werbung für Elgato machen zu wollen, kann mit EyeTV netstream auf jedem mobilen Gerät oder Rechner (auf Windows mit Media Center, auf Mac durch mitgelieferte Software) fern gesehen werden. Die genannte Software liefert sogar EPG Daten für fast alle Sender mit (was mein Programm leider nicht ganz drauf hat :)). Wenn Du also zwei Anschlüsse hast, kannst Du mit einem Anschluss fern sehen und mit dem Anderen etwas aufnehmen. So viel zu Theorie.

Mein Programm bezieht einen Stream von EyeTV und legt diesen als Datei (zumindest bei Elgato im Format "MPEG transport stream (*.ts)) irgendwo auf Deiner DS ab. Diese Datei kann zumindest auf dem PC mit allen Playern (VLC, MPC, WMC usw) geöffnet werden. Auf DS sollte man die Datei auch durch Video Station abspielen (kann ich aber erst heute Abend testen). Durch eigene Synology-Produkte (http://www.synology.de/dsm/home_home_applications_media_server.php?lang=deu) soll es ebenfalls möglich sein, dieses Video auf die PS3 zu streamen. Auch das kann ich heute Abend testen.

Ich nehme es mir also heute fest vor und teile Dir die Ergebnisse mit. Wenn Du weitere Fragen hast, melde Dich.

Gruß
Pav
 

sideshowbob

Benutzer
Mitglied seit
07. Okt 2012
Beiträge
32
Punkte für Reaktionen
0
Punkte
0
Hallo,
tolle Programmidee. Ich habe bei meinem Anbieter gratis IPTV, welches allerdings als rtmp stream und nicht als http stream geliefert wird. Ich kenne mich leider nicht mit den Unterschieden aus. Ich schätze rtmp ist ungleich schwieriger mitzuschneiden, als http. Falls du dich aber damit auskennen solltest und falls es dich in den Fingern juckt, dein Programm irgendwann mal zu erweitern, hättest du auf jeden Fall einen, ich schätze sogar mehrere, begeisterte Anwender.
Viele Grüße!
 

Pavion

Benutzer
Mitglied seit
02. Feb 2013
Beiträge
566
Punkte für Reaktionen
14
Punkte
44
Hallo!
Es ist eine sehr gute Frage :) Wie sieht denn Deine Streamadresse in etwa aus? Ich werde es schnellstmöglich zu testen versuchen.
 

sideshowbob

Benutzer
Mitglied seit
07. Okt 2012
Beiträge
32
Punkte für Reaktionen
0
Punkte
0
Hallo,
vielen Dank für dein Interesse. Die Adresse ist leider nur aus dem internen Netz meines Providers erreichbar. Sie hat die Form:
"rtmp://[IP-Adresse]:1935/live/[programmname].stream"
Ich wollte irgendein Beispiel posten, welches aus dem www erreichbar ist, dabei bin ich aber nur über dubiose Sachen gestolpert, die ich hier lieber nicht posten will... Aber vielleicht hilft es ja trotzdem. Ich werde am Wochenende auch mal dein Programm auf meiner DS installieren und dann mal gucken was passiert.
Viele Grüße
 

Pavion

Benutzer
Mitglied seit
02. Feb 2013
Beiträge
566
Punkte für Reaktionen
14
Punkte
44
@sideshowbob
Ich konnte bisher auch kein passendes Beispiel zum Testen von RTMP finden. Ich werde weiter suchen und schreiben, wenn ich was finde. In der Zwischenzeit bitte ich Dich, es einfach auszuprobieren und zu berichten ;)
Beim Suchen fand ich übrigens per Zufall raus, dass mein Programm auch Radio Streams im MP3 Format (z.B. MDR Jump) aufzeichnen kann :p

@Pit
Die Wiedergabe durch PS3 hat bei mir ohne Probleme funktioniert. Dazu muss der entsprechende Ordner indexiert werden (http://www.synology.de/dsm/home_home...r.php?lang=deu) und schon sind alle Aufnahmen auf PS3 sichtbar und abspielbar.
Die Wiedergabe durch Video Station im Browser (VLC Plugin) funktioniert ebenfalls.
 

Pavion

Benutzer
Mitglied seit
02. Feb 2013
Beiträge
566
Punkte für Reaktionen
14
Punkte
44
@sideshowbob
RTMP scheint nicht zu funktionieren, ich suche erstmal nach Möglichkeiten.
Gruß
 

xl4723

Benutzer
Mitglied seit
08. Dez 2011
Beiträge
272
Punkte für Reaktionen
0
Punkte
16
Hallo Pav,

ich werde es mal mit meiner Dreambox am Wochenende testen, wenn ich Zeit finde. Den Stream kann ich glaube auch normal über einen Browser aufrufen...also müsste es vielleicht sogar funktionieren :) Ich werde dann berichten.

Vielleicht ist einer, der auch eine Dreambox hat, etwas schneller als ich und testet das auch mal? ;-)

Gruß
Ronald
 

sideshowbob

Benutzer
Mitglied seit
07. Okt 2012
Beiträge
32
Punkte für Reaktionen
0
Punkte
0
Hallo,
vielen Dank das du es mit rtmp probiert hast. Ich habe es auch probiert und es funktioniert nicht. Ich habe aber mal ein bisschen geguckt wie es funktionieren könnte. Ich weiß leider nicht, wie dein Programm im Hintergrund funktioniert, aber mit ffmpeg ist es möglich rtmp streams aufzuzeichnen. Auf meiner Diskstation mit 4.2beta kann man einfach mit Hilfe des eingebauten ffmpeg von Synology rtmp aufzeichnen. Falls es möglich ist von deinem Programm aus ffmpeg zu benutzen, wäre es also möglich rtmp aufzuzeichnen. Das wäre echt praktisch für mich, falls es für dich einfach zu programmieren wäre. Ich habe es so gemacht:
Rich (BBCode):
ffmpeg -i rtmp://[IP-Adresse]:1935/live/[programmname].stream -t 30 -acodec copy -vcodec copy /volume1/video/Dateiname.flv
-t 30 gibt die Zeit an, die aufgezeichnet wird in diesem Fall 30 Sekunden.
Beste Grüße und vielen Dank für das schöne Programm!
sideshowbob
 

Pavion

Benutzer
Mitglied seit
02. Feb 2013
Beiträge
566
Punkte für Reaktionen
14
Punkte
44
Hallo sideshowbob,

eigentlich muss ich Dir danken für Deine Recherchen. Offensichtlich hat auch meine 4.1 Version ffmpeg installiert, jedoch scheint es nicht immer zu funktionieren. Mit Deinem Befehl kann ich meinen Beispielstream nicht kopieren:
Code:
ffmpeg -i rtmp://directv.fcod.llnwd.net/a517/d1/com/lp/testdrive/active_channel-hack.flv -t 20 -acodec copy -vcodec copy /volume1/common/Dateiname.flv
obwohl andere Programme das konnen. Schonmal ein Minus für die Bedienbarkeit und Systemabhängigkeit. Ich behalte es im Hinterkopf und suche auch weiterhin nach Lösungen. Eine Möglichkeit wäre z.B. RTMPdump (http://rtmpdump.mplayerhq.hu), womit ebenfalls solch ein Stream aufgenommen werden kann. Leider bin ich mir nicht sicher, ob meine Programmierkenntnisse dafür ausreichen, es einzubinden :)
Ich muss auch etwas aufpassen, dass es nicht so endet, wie mit dem anderen Author, der diese Bibliothek benutzt hat: https://jeremy.visser.name/2009/08/python-iview/ :-/
Ich bleibe jedenfalls dran, sofern mir meine "echte" Arbeit dafür Zeit bzw. Energie lässt :)

P.S. Offensichtlich hast Du ja Vollzugriff auf Deine DS. Könntest Du vielleicht testen, ob Dein Stream mit der angehängten Bibliothek funktioniert? Sie muss lediglich irgendwo entpackt werden, in dem Ordner muss gestartet werden:
Code:
python rtmpclient.py dein_stream_name ausgangsdatei
Im Idealfall soll die Datei dabei entstehen. Bei meinen wenigen Teststreams bekomme zwar keine Verbindung aber wenn es bei Dir funktioniert, ist das leicht einzubinden.

Gruß
Pav
 

Anhänge

  • rtmplite.zip
    389,1 KB · Aufrufe: 22
Zuletzt bearbeitet:

sideshowbob

Benutzer
Mitglied seit
07. Okt 2012
Beiträge
32
Punkte für Reaktionen
0
Punkte
0
Hallo,
vielen Dank für deine Mühen. Ich will wirklich keine Probleme mit irgendwelchen Anwälten verursachen... Im Zweifelsfall lass es lieber sein!
Dein Beispielstream funktioniert auch nicht mit ffmpeg aus der 4.2beta. Mein Stream funktioniert aber mit dem rtmpclient.py. Ich musste den Aufruf so gestalten, wie in der Hilfe dazu beschrieben. Ein korrekter Aufruf wäre also:
Rich (BBCode):
 python rtmpclient.py "rtmp://[IP-Adresse]:1935/live?id=[Programmname].stream" Dateiname.flv
Viele Grüße
sideshowbob
 

Pavion

Benutzer
Mitglied seit
02. Feb 2013
Beiträge
566
Punkte für Reaktionen
14
Punkte
44
Hallo sideshowbob,
es geht also doch?!?! Na in diesem Fall könnte ich ja mal doch tätig werden!!
 

Pavion

Benutzer
Mitglied seit
02. Feb 2013
Beiträge
566
Punkte für Reaktionen
14
Punkte
44
Hallo sideshowbob,
ich habe auch einen Stream zum Testen gefunden und die Funktion fast eingebaut. Nun ist mir aber plötzlich aufgefallen, dass nach 20 Sekunden die Verbindung immer unterbrochen wurde. Dasgleiche also auch mit der Bibliothek selbst:
Code:
python rtmpclient.py "rtmp://[IP-Adresse]:1935/live?id=[Programmname].stream" Dateiname.flv
bricht bei mir nach 20 Sekunden auch ab. War es vielleicht auch so, als Du es versucht hast, bzw. könntest Du bitte prüfen? Wenn es bei Dir doch klappt, gibt es morgen sicher eine neue Version :)
 

Pavion

Benutzer
Mitglied seit
02. Feb 2013
Beiträge
566
Punkte für Reaktionen
14
Punkte
44
Hallo sideshowbob,
bei den vielen Problemen mit fremden Bibliotheken habe ich mittlerweile das Gefühl das Rad neu erfinden zu wollen :eek:. Langsam glaube ich, dass Deine erste Idee mit der Implementierung von ffmpeg doch die Beste war. Ich habe bereits einen entsprechenden Code vorbereitet und werde ihn heute Nachmittag zuhause ausprobieren und mich melden.
Gruß
Pav
 

sideshowbob

Benutzer
Mitglied seit
07. Okt 2012
Beiträge
32
Punkte für Reaktionen
0
Punkte
0
Hallo,
zum ersten Sorry, dass ich so lange nicht reagiert habe und zum zweiten ist es echt nett von dir das du so viel Zeit investierst mir zu helfen!
Also der Stream bricht bei mir mit dem rtmpclient.py nicht nach 20 Sekunden ab. Ich habe jetzt mal ca. 10 Minuten laufen lassen, dass hat alles funktioniert.
Ich bin schon gespannt auf heute Nachmittag.
Viele Grüße
sideshowbob
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat