tvstreamrecord - Aufzeichnen von HTTP-Streams

wtown

Benutzer
Mitglied seit
27. Jul 2022
Beiträge
1
Punkte für Reaktionen
0
Punkte
1

utk771

Benutzer
Mitglied seit
08. Jul 2011
Beiträge
7
Punkte für Reaktionen
1
Punkte
3
Hi, ich habe seit neuestem das Problem, dass keine Datei im Aufnahmeordner abgelegt wird. Der Fortschrittsbalken zeigt jedoch eine laufende Aufname an.
Ich denke das "R.I.P" im Log bzw. "termination may have failed" scheint auf ein Problem hinzuweisen, jedoch auf welches.
Kann mir jemand helfen?

2023-10-06 11:41:51.664 FFMPEG (rtp) record 'kreuz und quer - Pflegende Kinder' called with:
2023-10-06 11:41:51.664 ['/volume1/TVStreamrecord/ffmpeg/ffmpeg', '-i', 'rtp://@239.2.24.2:8208', '-y', '-t', '1088', '-loglevel', 'fatal', '-map', '0', '-c', 'copy', '/volume1/record/2023 - 10 - 06 - ORF2 HD - kreuz_und_quer___Pflegende_Kinder.ts']
2023-10-06 12:00:30.006 FFMPEG record 'kreuz und quer - Pflegende Kinder' ended
2023-10-06 12:00:33.007 FFMPEG Record 'kreuz und quer - Pflegende Kinder' had to be killed. R.I.P.
2023-10-06 12:00:33.007 FFMPEG Record 'kreuz und quer - Pflegende Kinder': termination may have failed
 

Pavion

Benutzer
Mitglied seit
02. Feb 2013
Beiträge
566
Punkte für Reaktionen
14
Punkte
44
Hallo zurück!
Der Balken hat tatsächlich nur einen Placebo-Effekt ;) Mit dem kurzen Log-Ausschnitt kann ich leider nichts anfangen. Hast Du irgendetwas in letzter Zeit verändert oder auf eine neue Version gebracht? Hast Du vielleicht den Aufnahmepfad verändert? I.d.R. hätte ich erwartet, dass /volume1/TVStreamrecord/ und /volume1/record/ auf den gleichen Ordner verweisen, bei Dir ist es nicht der Fall. Ab DSM7 ist es zwingend erforderlich, dass der bei der Paketinstallation vorgegebene Pfad auch unverändert bleibt, sonst hat TSR keine Schreibrechte.
Gruß
Pav
 

utk771

Benutzer
Mitglied seit
08. Jul 2011
Beiträge
7
Punkte für Reaktionen
1
Punkte
3
Hallo Pavion, ich habe von einem DS218 auf ein DS224 NAS gewechselt mit identer TVstream Konfiguration. Am alten NAS hat es Jahrelang, auch mit DSM7, funktioniert. Auf dem neuen NAS hat es für zwei Aufnahmen funktioniert. Ohne etwas zu verändern hat es dann den Betrieb eingestellt. Ich habe auch schon den Aufnahmepfad auf /volume1/TVStreamrecord/ geändert. Ohne Erfolg. In /volume1/TVStreamrecord/ liegt auch ffmpeg. Anbei das Log ab Installation.
 

Anhänge

  • log.txt
    74,3 KB · Aufrufe: 8

Pavion

Benutzer
Mitglied seit
02. Feb 2013
Beiträge
566
Punkte für Reaktionen
14
Punkte
44
Wie ich sehe, hast Du schon diverse Sachen probiert und diverse Fehlermeldungen gehabt, die Du wahrscheinlich selbst gesehen hast.
Am 24./27.8 wird es wohl funktioniert haben? Und einen Monat später am 30.9. plötzlich nicht mehr? Wenn, sehe auch ich leider keine Anhaltspunkte. Wenn die Zeitspanne wirklich so groß war, kann ich nur irgendwelche externen Sachen vermuten: Firewall, Rechte usw. Auf Anhieb kann ich nur die allgemeinen Tipps geben:
- ffmpeg mit -loglevel debug Parameter aufrufen --> ggfs. mehr Info im Log;
- ffmpeg mit gleichem Befehl aus der Konsole probieren;
- TSR neu installieren (sowohl in den gleichen Ordner, um Einstellungen zu behalten, als versuchsweise in einen neuen)
 

utk771

Benutzer
Mitglied seit
08. Jul 2011
Beiträge
7
Punkte für Reaktionen
1
Punkte
3
Der Vollständigkeit halber möchte ich noch über die Lösung meines Problems berichten. Es war die Firewall. Nach freigeben des relevanten Ports funktioniert wieder alles. Danke für die Anregung.
 
  • Like
Reaktionen: Pavion

Jefaridas

Benutzer
Mitglied seit
15. Okt 2015
Beiträge
24
Punkte für Reaktionen
0
Punkte
1
Hallo zusammen, ich möchte hier noch mal mein Problem angreifen. Ich glaube durch das Update auf die 7er DSM funktionierte keine meiner Aufnahmen mehr. Ich glaube mich zu erinnern, das es da Probleme mit den Rechten gab. Die Aufnahme startet bei mir nicht, das LOG sieht so aus:
Das wiederholt sich dann bis Aufnahmezeit-Ende. Gab/Gibt es Schalter für das LOG, die tiefer blicken lassen? Woran könnte das liegen? VIELEN DANK IM VORAUS! Gruß Marcus

2023-11-14 17:06:08.218Record: Thread timer for 'RTL Bayern M' started for 51 seconds
2023-11-14 17:07:00.015FFMPEG (rtsp) record 'RTL Bayern M' called with:
2023-11-14 17:07:00.016['ffmpeg', '-i', 'rtsp://192.168.178.1:554/?avm=1&freq=426&bw=8&msys=dvbc&mtype=256qam&sr=6900&specinv=0&pids=0,16,17,18,20,1311,1312,49,107,108,111,112,1313,1314', '-y', '-t', '299', '-loglevel', 'fatal', '-map', '0', '-c', 'copy', '/volume1/${tsr_output_share}/20231114170700 - RTL_Bayern_MMP4']
2023-11-14 17:08:07.616FFMPEG record 'RTL Bayern M' ended
2023-11-14 17:08:07.617Something went wrong with 'RTL Bayern M', retry 1/99 in 10 seconds
 

Pavion

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

hier ist scheinbar bei der Installation/Update etwas schief gelaufen, ${tsr_output_share} darf nicht im Log auftauchen. Schaue bitte, ob Du den Pfad in den Einstellungen anpassen kannst, wahrscheinlich wirst Du aber das Paket neu installieren müssen. Beachte bitte dabei, dass der Pfad bei der Installation vorgegeben werden muss und nicht mehr angepasst werden kann. Wenn er existiert und bereits die settings.db aus einer Altinstallation enthält, sollen alte Einstellungen übernommen werden.

Gruß
Pav
 

FWin

Benutzer
Mitglied seit
17. Apr 2013
Beiträge
3
Punkte für Reaktionen
0
Punkte
1
Hallo Pavion, nachdem Deine fantastische Software lange Zeit sehr zuverlässig und geschmeidig auf meiner Synology-Diskstation lief (herzlichen Dank an dieser Stelle für Deine Arbeit!!!), habe ich seit wenigen Wochen sporadisch Probleme beim Erstellen neuer Timer-Einträge. Das äußert sich darin, dass Einträge von "TV-Browser" zwar in die Datenbank aufgenommen werden (sie werden in der Oberfläche von TVStreamrecord korrekt angezeigt), jedoch kommt es beim Starten des Thread-Timers offenbar gelegentlich zu Exceptions in diversen Python-Routinen, die auch im Log von TVStreamrecord auftauchen. Das passiert aber nicht immer, man kann es auch nur bemerken, wenn man im Log gezielt nachschaut (ein kommentierter Auszug mit Beispielen aus meinem Log ist beigefügt). Seltsam ist, dass manuelles Ändern des Eintrages in der Oberfläche von TVStreamrecord (z.B. Änderung des Namens oder Korrektur von Start- und/ oder Endzeit) meistens zunächst ebenfalls zu den genannten Exceptions führen, manchmal aber Stunden später plötzlich doch wieder ohne Fehler möglich sind. Fehler gibt es gelegentlich auch bei direkter Eingabe der Timer in TVStreamrecord (also ohne TV-Browser). Ich habe versucht, zu verstehen, was da vor sich gehen könnte, bin aber leider mit meinem Verständnis am Ende. Die typischen Logeinträge dieser Fehler sehen wie folgt aus (Zeitstempel hier weggelassen, vollständige Einträge siehe beigefügte kommentierte Logdatei):
(Beginn Logauszug)
POST request received from TV-Browser plugin
Name: The Glades, channel: VOXup, start: 2023-12-19 18:30:00, stop: 2023-12-19 19:20:00
Channel VOXup was found with CID 45, creating record
Exception in thread
The Glades
:
Traceback (most recent call last):
File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "tvstreamrecord.py", line 1075, in run
self.timer.start()
File "/usr/lib/python3.8/threading.py", line 852, in start
_start_new_thread(self._bootstrap, ())
RuntimeError
:
can't start new thread
(Ende Logauszug)

Zu meiner Konfiguration hier:
- Diskstation DS115 mit DSM 7.1.1-42962 Update 6 (letztes Update ca. Anfang November, die Probleme traten erstmalig am 11. November auf)
- Python 3.8 standardmäßig installiert (laut Abfrage über "python --version" nach SSL-Login), wird laut Log offenbar auch verwendet
- Python 2 ist ebenfalls installiert (Version 2.7.18-1004)
- TVStreamrecord Version 1.6.4
- ffmpeg Version (derzeit noch) 4.3.3-39, Aufnahmen erfolgen bislang aber über "Legacy"-Methode (never change a running system...)
- SAT-IP-Server: Telestar Digibit R1 (4 Kanäle), Ausgabe als http-Streams

Es sieht für mich so aus, dass das Starten der Timer-Threads für die Aufnahmen irgendwie nicht funktioniert, aber offenbar nur sporadisch. Eine Regel kann ich bislang nicht erkennen. "ffmpeg" mit seinen Einstellungen halte ich derzeit eher nicht für die Ursache, da zu diesem Zeitpunkt (Setzen der Timer-Einträge) noch gar nicht involviert, außerdem ist "Legacy-Aufzeichnungsmethode" aktiviert. Gibt es irgendetwas, was ich übersehen haben könnte? Irgendein (internes) Log, aus dem weitere Informationen gewonnen werden könnten? Ich bin leider mit meinem Latein am Ende.

Trotzdem einen schönen 1. Advent und viele Grüße
Winfried
 

Anhänge

  • Beispiel_Fehler_TVStreamrecord.txt
    11,3 KB · Aufrufe: 2

Pavion

Benutzer
Mitglied seit
02. Feb 2013
Beiträge
566
Punkte für Reaktionen
14
Punkte
44
Hi Winfried!
So etwas kenne ich auch noch nicht. So wie es aussieht, gibt es eine Begrenzung für die maximale Anzahl von Threads. Entweder ist sie bei Deinem NAS sehr niedrig gestellt oder es kommt nicht hinterher, bestehende Threads zu beenden. Wird sie überschritten, kann kein neuer Thread aufgebaut werden und es kommt zur Fehlermeldung. Ich weiß nicht, was ich auf Anhieb machen kann. Vielleicht versuchst Du es mit Python 2 zu starten? Hier sind auch ein paar Tipps, wie man diesen Limit eventuell prüfen / anheben kann:
https://stackoverflow.com/questions/1834919/error-cant-start-new-thread
Gruß
Pav
 

FWin

Benutzer
Mitglied seit
17. Apr 2013
Beiträge
3
Punkte für Reaktionen
0
Punkte
1
Hi Pavion, danke für die schnelle Antwort (woher nimmst Du nur immer die Zeit, uns DAUs so fix zu antworten)! Das klingt einigermaßen kompliziert, mit Python kenne ich mich (noch) nicht so gut aus, Grundkenntnisse in der Programmierung sind aber schon vorhanden. Neben Deinem Link, der mich zunächst noch nicht besonders weit gebracht hat (wahrscheinlich Verständnisproblem meinerseits) habe ich mir die Implementierung von Timern in Python angesehen und meine, das Grundprinzip verstanden zu haben. Also könnte es tatsächlich mit irgendwelchen Änderungen in Python bzw. der Systemumgebung zu tun haben, die eventuell mit dem DSM-Update Anfang November eingespielt wurden (vorher lief alles in der gleichen Konfiguration viele Monate lang problemlos). Über Python 2 habe ich auch schon nachgedacht, habe ich es richtig in Erinnerung, dass ich dafür eine Neuinstallation von TVStreamrecord vornehmen muss? Wenn ich die vorhandenen Einträge zur Aufnahme und die Einstellungen nicht verlieren will, muss ich die "settings.db" (so heißt sie bei mir gemäß Default-Einstellung) vorher sichern und wieder an den gleichen Ort zurückspielen, richtig? Sonst noch etwas zu beachten?
Gruß Winfried
 

Pavion

Benutzer
Mitglied seit
02. Feb 2013
Beiträge
566
Punkte für Reaktionen
14
Punkte
44
Ja, es sieht für mich so aus, als wäre irgendeine Systemumstellung daran beteiligt... hast Du denn viele Aufnahmen laufen? Hilft ein Neustart des Pakets / des DSM dagegen?
Bei einer Neuinstallation sichere die settings.db - sicherheitshalber; sie wird aber bei der Deinstallation nicht entfernt und bei der Installation im gleichen Ordner sollte sie jedoch automatisch wiederverwendet werden. Bei der Installation soll auch nach Python gefragt werden, wenn ich mich recht erinnere :rolleyes:
 

FWin

Benutzer
Mitglied seit
17. Apr 2013
Beiträge
3
Punkte für Reaktionen
0
Punkte
1
Ja, danke, werde ich alles mal systematisch probieren. Es sind etliche Aufnahmen programmiert, seit wir Dein Programm laufen haben, nutzen wir kaum noch lineares TV. Aber bislang (bis November) trat das Problem noch nie auf, also die Menge an laufenden Timern kann zumindest nicht alleinige Ursache sein. Nur mal interessehalber und zu meinem Verständnis: Wenn ich das Paket stoppe und dann neu starte, werden dann die laufenden Timer alle sauber beendet und nach Neustart wieder neu initialisiert (ich vermute mal, ja)? Dann sollte ja auch bei einer Neuinstallation des Pakets wieder alles richtig gesetzt werden. Ich werde dann also mal in den "Jugend-forscht-Modus" gehen (haha, bei Jahrgang '61) und dann von den Ergebnissen berichten. Danke für die Hinweise!
Gruß Winfried
 


 

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