J'utilise Live555 pour extraire des données d'une webcam IP sur une connexion à distance. De temps en temps, il y a de brèves interruptions du flux (ce qui peut être un problème de QOS réseau), cependant, live555 meurt chaque fois que cela se produit au lieu de redémarrer avec succès la connexion. La sortie de débogage ressemble à ceci:Arrêtez Live555 de la session de réutilisation
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
Il semblerait que la raison LIVE555 renfloue est parce que la caméra jette une erreur 500 lors d'une tentative de relancer le flux pour une session existante. Depuis le début d'une nouvelle session, est-il possible de dire à live555 de se débarrasser de la session existante et de recommencer au lieu de simplement abandonner? J'ai un travail cron qui détecte quand live555 s'est arrêté et redémarre, mais il y a des problèmes quand je fais cela, donc ce serait beaucoup plus propre si je pouvais persuader live555 de compenser le bug dans le firmware de la caméra.
Je suis heureux de patcher le code live555 et de le reconstruire si nécessaire!