Ich benutze Live555, um Daten von einer IP-Webcam auf einer Remote-Verbindung zu ziehen. Von Zeit zu Zeit gibt es kurze Unterbrechungen des Streams (was ein Netzwerk-QOS-Problem sein könnte), Live55 stirbt jedoch jedes Mal, wenn dies geschieht, anstatt die Verbindung erfolgreich neu zu starten. Die Debug-Ausgabe sieht wie folgt aus:Stop Live555 von der Wiederverwendung der Sitzung
Closing session, because we stopped receiving packets.itrate=N/A speed=1.37x
Created new TCP socket 3 for connection
Connecting to 10.8.1.14, port 10111 on socket 3...
...remote connection opened
Sending request: PLAY rtsp://mycamera.test/live/ch0/ RTSP/1.0
CSeq: 6
User-Agent: /bin/openRTSP (LIVE555 Streaming Media v2017.07.18)
Session: 1487641045855494467
Range: npt=0.000-
Received 199 new bytes of response data.
Received a complete PLAY response:
RTSP/1.0 500 Internal Server Error
Server: DSS/6.0.3 (Build/526.3; Platform/Linux; Release/Darwin Streaming Server; State/Development;)
Cseq: 6
Session: 1487641045855494467
Connection: Close
Failed to start playing session: 500 Internal Server Error
Created new TCP socket 3 for connection
Connecting to 10.8.1.14, port 10111 on socket 3...
...remote connection opened
Sending request: TEARDOWN rtsp://mycamera.test/live/ch0/ RTSP/1.0
CSeq: 7
User-Agent: /bin/openRTSP (LIVE555 Streaming Media v2017.07.18)
Session: 1487641045855494467
Received 180 new bytes of response data.
Received a complete TEARDOWN response:
RTSP/1.0 200 OK
Server: DSS/6.0.3 (Build/526.3; Platform/Linux; Release/Darwin Streaming Server; State/Development;)
Cseq: 7
Session: 1487641045855494467
Connection: Close
Es scheint, dass der Grund LIVE555 bürgt heraus, weil die Kamera einen 500-Fehler führt, wenn versucht wird, den Strom für eine bestehende Sitzung neu zu starten. Seit dem Start einer neuen Sitzung gibt es eine Möglichkeit, live55 zu sagen, dass die bestehende Sitzung verworfen und neu gestartet werden soll, anstatt einfach aufzugeben. Ich habe einen Cron-Job, der erkennt, wenn Live555 gestoppt hat und neu startet, aber es gibt Probleme, wenn ich das mache, also wäre es viel sauberer, wenn ich live555 überreden könnte, den Fehler in der Kamera-Firmware zu kompensieren.
Ich bin froh, den Live555-Code zu patch und Wiederaufbau wenn nötig!