RTSP - Aufzeichnung nach Netzwerkproblem fortsetzen

516
Tom

Ich habe ein Problem mit der Aufnahme eines RTSP-Streams über TCP von der IP-Kamera.

Ich habe viele Optionen ausprobiert, wie Timeout, Stimeout, andere Flaggen in Bezug auf Keyframe usw., nichts hat geholfen. FFmpeg zeichnet den Stream ordnungsgemäß auf, aber wenn etwas mit der Quelle nicht stimmt, friert die Bildnummer (in der Statistikdatei) ein und die Videogröße nimmt nicht zu. Ich habe festgestellt, dass dies daran liegt, dass wahrscheinlich ein Frame verloren ging und dass der Frame wegen TCP erneut gesendet werden muss und ffmpeg auf diesen Frame wartet. In diesem Fall besteht die einzige Möglichkeit darin, den aktuellen ffmpeg-Prozess abzubrechen und von Anfang an fortzufahren. - es ist fast in Ordnung, fast - deshalb mache ich keine 5-7 Sekunden des Videos.

Unten ist der Befehl, den ich verwende:

ffmpeg -rtsp_transport tcp -progress /media/stats.txt -i rtsp://192.168.1.107:554/VideoInput/1/h264/1 -r 25 -c:v copy -c:a copy -map 0 -f segment -strftime 1 -segment_time 1800 /media/cam_%d_%m_%Y_%H_%M_%S_ffmpeg.mkv 

Gibt es eine Möglichkeit, ffmpegdas gebrochene Bild zu überspringen und die Aufnahme fortzusetzen? Es ist besser, 1-2 Sekunden lang eine Beschädigung des Videos zu haben, als 5-7 Sekunden für die erneute Verbindung zu verlieren.

Wie ich weiß, sollte dies mit UDP besser funktionieren, aber leider funktioniert meine IP-Kamera nicht ordnungsgemäß mit dem UDP-Protokoll.

0

0 Antworten auf die Frage