tvstreamrecord - Aufzeichnen von HTTP-Streams

Pavion

Benutzer
Mitglied seit
02. Feb 2013
Beiträge
567
Punkte für Reaktionen
14
Punkte
44
Schön, dass Du die Lösung gefunden hast. Was die Firewalls angeht, so kann auch meine Fritzbox nur die Ports sperren oder freigeben und erlaubt keine Filterung nach Ländern. Wenn Du also einerseits über das Internet auf Deine DS zugreifen willst, musst du zwingend ihre Ports freigeben. Wenn Du diesen Zugriff jedoch auf spezifische IP-Bereiche eingrenzen willst, musst Du es wohl auch weiterhin mit DS machen. Dabei überschneiden sich die beiden Arten nicht, sondern ergänzen sich eher. Da ich jedoch kein Netzwerktechniker bin, ist es auch nur meine Vermutung.

Nun sagst Du zwar "gelöst", erwähnst aber beiläufig, dass die Aufzeichnung nicht fehlerfrei sei. Wo drückt denn noch der Schuh? :)

Gruß
Pav
 

meister0815

Benutzer
Mitglied seit
06. Jun 2014
Beiträge
32
Punkte für Reaktionen
1
Punkte
8
Die Aufzeichnungen haben kleine Aussetzer in Form von Fragmenten oder kurze Bildaussetzer, also einfach nicht perfekt flüssig, vielleicht nicht lösbar, weil meine Diskstation 414 dafür zu schwach ist???
Auf meinem Macbook dagegen, perfekt.

Habe VDSL 50 und erreiche den Speed auch fast (47-49 Mbit/s).
Habe folgende Formate beim Aufzeichnen mit der DS getestet:
ts
mpeg
mpg
mkv
mp4

überall der gleiche Effekt mit den Unregelmäßigkeiten in Sachen flüssiges störungsfreies Bild.

Danke
meister0815
 

Pavion

Benutzer
Mitglied seit
02. Feb 2013
Beiträge
567
Punkte für Reaktionen
14
Punkte
44
Hm. Wie ist denn die Auslastung Deiner DS in Sachen CPU und Festplatten beim Aufnehmen und beim Abspielen? Hast Du schon versucht, eine Aufnahme lokal zu kopieren und dann erst abzuspielen? Bei meiner alten 411 hatte ich oft Probleme beim Abspielen über Windows-Freigaben, weil (afaik) Synology RAID bei vielen gleichzeitigen Zugriffen auf die Festplatte sehr CPU-lastig reagierte. Generell kann ich aber auch hier leider nur sagen, dass man notfalls mit ffmpeg in der Konsole experimentieren muss, um die Perfektion zu erreichen. Die so ermittelten Parameter können dann in meinem Programm verwendet werden.
 

tomatensalat

Benutzer
Mitglied seit
12. Jan 2016
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

ich versuche mich gerade daran tvstreamrecord einzurichten, scheitere aber leider recht früh.

Mein Setup:
ds214se mit DSM 5.2, tvstreamrecord installiert (Version 1.2.1) und läuft (laut Paket-Zentrum), Python ebenfalls vorhanden (3.4.1-0032), läuft auch

Mein Problem:
Wenn ich tvstreamrecord anklicke, öffnet sich ein leeres Tab im Browser und es passiert ... nichts. Nach einer Weile erhalte ich dann die Meldung "Safari kann die Seite 192.168.1.68:8030/records nicht öffnen, da der Server, auf dem sich die Seite befindet, nicht antwortet".

Wäre für eine Lösung sehr dankbar!
Beste Grüße
tomatensalat
 

Pavion

Benutzer
Mitglied seit
02. Feb 2013
Beiträge
567
Punkte für Reaktionen
14
Punkte
44
Hallo Salat :)

Wenn mein Paket läuft, sollte im Paketzentrum in Paketeigenschaften der Eintrag "Log" zu sehen sein. Bitte dort schauen und ggf. ein Screenshot davon. Falls leer oder nicht vorhanden:
- aus welcher Quelle hast Du Python installiert?
- heißt Deine Freigabe /volume1 oder anders?
- hast Du schon einen Terminalzugriff auf Deiner DS eingerichtet?
- hast Du schon andere Browser probiert?

Danke für Dein Interesse!

Gruß
Pav
 

tomatensalat

Benutzer
Mitglied seit
12. Jan 2016
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
Hallo Pav,

danke für die superschnelle Antwort!

Hier kommt der Screenshot, sieht für mich erstmal unproblematisch aus:

Bildschirmfoto 2016-01-12 um 17.57.31.png

Zu deinen Fragen:
- Python stammt aus dem Standard-Repository
- volume1 ist korrekt, siehe screenshot
- Terminalzugriff via ssh funktioniert
- Firefox, Opera, Safari zeigen alle das selbe Ergebnis...

Vielen Dank!
tomatensalat
 

Pavion

Benutzer
Mitglied seit
02. Feb 2013
Beiträge
567
Punkte für Reaktionen
14
Punkte
44
Hm. Wie Du schon sagst, alles sieht richtig aus, das Paket läuft. Hast Du vielleicht irgendeine Art Firewall in Deinem Heimnetz und/oder auf Synology? Gegebenenfalls musst Du den Port 8030 freigeben.
 

meister0815

Benutzer
Mitglied seit
06. Jun 2014
Beiträge
32
Punkte für Reaktionen
1
Punkte
8
Hallo tomatensalat,


hast du auf deiner DS vielleicht die Firewall aktiv und die blockiert evtl. den Port 8030?
Ich vergesse die DS Firewall machnmal auch :confused::D

cu meister0815
 

hyxamp

Benutzer
Mitglied seit
31. Mrz 2014
Beiträge
52
Punkte für Reaktionen
0
Punkte
6
Hallo hyxamp,

ich würde versuchen die Erweiterung von avi in mpg, ts oder mkv zu ändern und zu testen. Wenn es nicht funktionieren sollte, muss man etwas tiefer schauen. Wie gesagt, ich gebe nur einen Befehl an ffmpeg weiter und dieser Befehl heißt auch nur "kopieren". Sollte da was schief gehen, kann es also nur daran liegen, dass ffmpeg den Stream falsch interpretiert. Notfalls müsste man direkt in der Konsole schauen, was los ist.

Gruß
Pav

Hi Pavion,
ich habe es jetzt zurück auf .ts gestellt und siehe da: das Synchronitätsproblem ist behoben! Dafür gibt es ein neues:

2016-01-10 19:00:00.064 FFMPEG (rtp) record 'NFL: Seattle Seahawks - Minnesota Vikings' called with:
2016-01-10 19:00:00.084 ['/volume1/@appstore/MediaServer/bin/ffmpeg', u'-i', 'rtp://@239.35.20.33:10000', u'-y', u'-t', u'16199', u'-loglevel', u'fatal', u'-acodec', u'copy', u'-vcodec', u'copy', u'/volume1/video/WebStreams/NFL__Seattle_Seahawks___Minnesota_Vikings.ts']
2016-01-10 22:18:43.507 FFMPEG record 'NFL: Seattle Seahawks - Minnesota Vikings' ended
2016-01-10 22:18:43.534 Something went wrong with 'NFL: Seattle Seahawks - Minnesota Vikings', retry 1/5 in 10 seconds
2016-01-10 22:18:53.607 FFMPEG (rtp) record 'NFL: Seattle Seahawks - Minnesota Vikings' called with:
2016-01-10 22:18:53.608 ['/volume1/@appstore/MediaServer/bin/ffmpeg', u'-i', 'rtp://@239.35.20.33:10000', u'-y', u'-t', u'4266', u'-loglevel', u'fatal', u'-acodec', u'copy', u'-vcodec', u'copy', u'/volume1/video/WebStreams/NFL__Seattle_Seahawks___Minnesota_Vikings_1.ts']
2016-01-10 23:29:59.832 FFMPEG record 'NFL: Seattle Seahawks - Minnesota Vikings' ended

Anscheinend gibt es aus irgendwelchen Gründen zwischendrin eine Unterbrechung. Hier war es dieses mal nur eine, bei anderen sind es teilweise auch 4 oder 5 (gleicher Sender, gleiche Aufnahmedauer). Das Video ist nicht beschädigt, ich erhalte nur eine neue Datei mit der entsprechenden Erweiterung (_1, _2 usw..). Meine Frage wäre jetzt, warum es zu diesen Unterbrechungen kommt? 4 Filmdateien für eine Aufnahme (manche sind nur 200mb, manche 4Gb) ist auch nicht gerade toll..

Viele Grüße!
 

tomatensalat

Benutzer
Mitglied seit
12. Jan 2016
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
Hallo meister0815 und Pav,

ihr habt beide recht, der Port war blockiert, jetzt ist er wieder frei. Danke für die Hilfe!

tomatensalat
 

meister0815

Benutzer
Mitglied seit
06. Jun 2014
Beiträge
32
Punkte für Reaktionen
1
Punkte
8
Hallo tomatensalat,

soweit ich mich erinnere müssen auch noch UDP Ports in der DS Firewall freigeschalten werden. Bei mir habe ich die Quellports UDP 47000-48000 auf gemacht, war mir zuviel gefummel jeden einzelnen port zu ermitteln, weil die immer mal wechseln, sich aber anscheinend innerhalb des angegeben Bereichs bewegen. Bei mir läuft damit jedenfalls bisher ganz gut.

meister0815
 

Pavion

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

leider kann ich Dir keine pauschale Lösung geben. Ich kann nur vermuten, dass Du entweder Probleme mit dem Stream selbst, mit dem Provider oder mit Deiner Verbindung hast. Die einzige Möglichkeit, der Sache näher auf die Spur zu kommen, ist eine lange bzw. unendliche Aufnahme direkt aus der DS-Konsole heraus zu starten - am besten mit dem Parameter -loglevel info und, sollte es dann irgendwann rausfliegen, die Ausgabe auszuwerten.

Gruß
Pav
 
Zuletzt bearbeitet:

tomatensalat

Benutzer
Mitglied seit
12. Jan 2016
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
Hallo meister0815,

jetzt bin ich schon relativ weit gekommen. m3u funktioniert, Sender werden angezeigt, sogar epg ist vorhanden. Einziges Problem noch: Wenn ich etwas aufnehmen möchte, bekomme ich eine Zugriffsverletzung:

Bildschirmfoto 2016-01-12 um 21.55.23.jpg

Ich habe den Ordner tvstreamrecord auf der DS erstellt, Schreibrechte für admin gegeben und dann per klick ausgewählt. Irgendwas vergessen? In andere Ordner schreibt er auch nicht, die Aufnahme wird aber prinzipiell unter "AUFNAHMEN" im Fortschrittsbalken angezeigt.
Ach ja, UDP-Ports habe ich freigeschaltet, macht bei mir aber bisher keinen Unterschied. Mein stream läuft aber auch über http/tcp (wenn ich das richtig verstehe).

Grüße
tomatensalat
 

Pavion

Benutzer
Mitglied seit
02. Feb 2013
Beiträge
567
Punkte für Reaktionen
14
Punkte
44
Es sieht mal wieder nach einem Firewall-Problem aus... Wo beziehst Du Deine Streams? Laufen denn diese auf anderen Geräten bzw. mit anderer Software? Zum Beispiel, mit VLC aufm PC o.Ä.
 

tomatensalat

Benutzer
Mitglied seit
12. Jan 2016
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
Ganz dummer Fehler: In der alten m3u steckte die falsche IP-Adresse (von früher noch...)!

Jetzt läuft es!
Vielen Dank für eure Hilfe!

tomatensalat
 

hyxamp

Benutzer
Mitglied seit
31. Mrz 2014
Beiträge
52
Punkte für Reaktionen
0
Punkte
6
Hallo hyxamp,

leider kann ich Dir keine pauschale Lösung geben. Ich kann nur vermuten, dass Du entweder Probleme mit dem Stream selbst, mit dem Provider oder mit Deiner Verbindung hast. Die einzige Möglichkeit, der Sache näher auf die Spur zu kommen, ist eine lange bzw. unendliche Aufnahme direkt aus der DS-Konsole heraus zu starten - am besten mit dem Parameter -loglevel info und, sollte es dann irgendwann rausfliegen, die Ausgabe auszuwerten.

Gruß
Pav

Okay.. Ich bekomme immer "protocol not found". Ich benutze einen rtp -stream. Hab die Parameter aus der Logfile direkt ins Terminal von NAS getippt und mit einem Video, welches auf dem NAS selber als Quelle angegeben ist, funktioniert es auch.. Wie kann ich denn ffmepg noch sagen das es sich bei der Quelle um ein rtp - Stream handelt? Hab jetzt online nichts gefunden, was mir weiterhelfen könnte.

Edit: auch mit und ohne @ im rtp Pfadt, anderer Klammersetzung usw... es kommt immer "protocol not found"
 
Zuletzt bearbeitet:

Pavion

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

kontrolliere bitte, dass Du in der Konsole die richtige Version von ffmpeg verwendest, die Du auch in meinem Paket eingetragen hattest. Das ist meist die Ursache für "protocol not found".
Code:
/volume1/@appstore/VideoStation/bin/ffmpeg
/volume1/@appstore/MediaServer/bin/ffmpeg
/volume1/@appstore/AudioStation/bin/ffmpeg

Gruß
Pav
 

hyxamp

Benutzer
Mitglied seit
31. Mrz 2014
Beiträge
52
Punkte für Reaktionen
0
Punkte
6
Hi pav,
hier ist nochmal das Startkommando aus der *.log:

['/volume1/@appstore/MediaServer/bin/ffmpeg', u'-i', 'rtp://@239.35.20.33:10000', u'-y', u'-t', u'16199', u'-loglevel', u'fatal', u'-acodec', u'copy', u'-vcodec', u'copy', u'/volume1/video/WebStreams/test.ts']

Ich habe mich jetzt über ssh mit den NAS verbunden, bin in das Verzeichniss:

/volume1/@appstore/MediaServer/bin/

gewechselt und wollte die Aufzeichnung mit:

ffmpeg -i rtp://@239.35.20.33:10000 -y -t 10000 -loglevel info -acodec copy -vcodec copy /volume1/video/WebStreams/test.ts

starten. Als Ausgabe erhalte ich: "protocol not found"..


Edit: Oh man, jetzt beim weiteren rumprobieren bin ich mal nicht in das "/volume1/@appstore/MediaServer/bin/" -Verzeichniss gewechselt und habe den Pfadt beim Ausführen der ffmpeg mit angegeben.. da funktioniert es plötzlich :) Na mal sehen wann er abbricht und warum! Ich melde mich bestimmt nochmal.

Danke!
 

hyxamp

Benutzer
Mitglied seit
31. Mrz 2014
Beiträge
52
Punkte für Reaktionen
0
Punkte
6
Ich habe die Aufzeichnung jetzt 2:45h laufen lassen und es gab keine Abbrüche.. Allerdings ab und zu ein paar Paketfehler:

RTP: missed 347 packets-1.0 size= 1320749kB time=01:08:25.72 bitrate=2635.2kbits/s
[rtp @ 0x5dcf0] PES packet size mismatch
RTP: missed 3 packets
[rtp @ 0x5dcf0] PES packet size mismatch
RTP: missed 70 packets=-1.0 size= 1370391kB time=01:11:01.40 bitrate=2634.4kbits/s
[rtp @ 0x5dcf0] PES packet size mismatch
RTP: missed 9 packetsq=-1.0 size= 1370872kB time=01:11:03.26 bitrate=2634.2kbits/s
RTP: missed 339 packets-1.0 size= 2396759kB time=02:04:11.30 bitrate=2635.0kbits/s
[rtp @ 0x5dcf0] PES packet size mismatch
frame=499815 fps= 50 q=-1.0 Lsize= 3216410kB time=02:46:40.02 bitrate=2634.9kbits/s
video:2686689kB audio:234290kB subtitle:0 global headers:0kB muxing overhead 10.114117%

Ich denke das ist aber nicht weiter wild. Nur wäre jetzt interessant ob dein Programm dann an dieser Stelle die Aufnahme beendet und die Aufzeichnung erneut (mit anderen Namen) beginnt?
 

Pavion

Benutzer
Mitglied seit
02. Feb 2013
Beiträge
567
Punkte für Reaktionen
14
Punkte
44
Hallo! Ich wollte Dir auch gerade schreiben, dass Du den gesamten Pfad verwenden oder, wenn Du im richtigen Ordner bist, einfach ./ vorschreiben musst. Schön, dass Du es schon rausgefunden hast.
Gelegentliche Paketfehler sind, denke ich, vollkommen normal, auch mein Programm würde sie nicht anders interpretieren. Wie schon oft hier geschrieben, gebe ich die Befehlszeile an ffmpeg einfach nur weiter. So kriege ich einen eventuellen Abbruch auch nur mit, wenn sich ffmpeg auch tatsächlich beendet und in die Konsole zurückkehrt.

Gruß
Pav
 


 

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