RTSP neu verbinden -> ffmpeg, RTP: PT = xx: fehlerhafter cseq, wenn schnell gestoppt / neu gestartet

826
Steven Kan

Meine BeeCam ist eine Raspberry Pi3 / Raspbian Stretch mit frisch kompilierter ffmpeg-Version N-89882-g4dbae00bac, die dies als Dienst ausführt:

#!/bin/bash cd /usr/local/bin/ while true do ./ffmpeg -re -thread_queue_size 512 -rtsp_transport tcp -i \ "rtsp://anonymous:password@192.168.1.11:554" -i WilliamTellOverture.mp3 \ -vcodec copy -acodec copy -t 00:11:51 -f flv \ "rtmp://a.rtmp.youtube.com/live2/my-youtube-streaming-key" sleep 10s done 

Dabei ist 192.168.1.11 mein neuer Reolink RLC-423S und -t 00:11:51 ist die Länge meines lizenzfreien MP3. Das funktioniert normalerweise ganz gut:

https://www.youtube.com/user/IAmTheWaterbug/live

und es läuft ununterbrochen. Der YT-Stream stört beim Neustart, aber der Stream wird mit nur etwa 15 Sekunden Videoverlust wieder aufgenommen. Es lief über Nacht ununterbrochen mindestens 8 Stunden lang (z. B. viele Schleifen), bevor ich anfing, damit herumzufummeln.

Ich habe den Schlaf auf 5s geändert und das scheint ihn nicht zu stören.

Aber gelegentlich habe ich ein sudo systemctl gestoppt, StreamToYouTube gefolgt von sudo systemctl und starte StreamToYouTube innerhalb von 1-2 Sekunden (z. B. so schnell, wie ich Up Up Up und Enter eingeben kann ). Manchmal schlägt der Stream jedoch fehl. und ffmpeg beginnt mit dem Dumping:

[rtsp @ 0x302c2f0] RTP: PT=60: bad cseq e680 expected=0b49 [rtsp @ 0x302c2f0] RTP: PT=60: bad cseq 93ab expected=0b49 [rtsp @ 0x302c2f0] RTP: PT=60: bad cseq 93ac expected=0b49 [rtsp @ 0x302c2f0] RTP: PT=60: bad cseq e682 expected=0b49 

endlos.

Ein Neustart des Pi kann das Problem nicht beheben (z. B. schlägt der YT-Stream immer noch fehl und der Sudo Systemctl-Status StreamToYouTube gibt den gleichen Stream mit "bad cseq" -Fehlern zurück), aber durch einen Neustart der Kamera wird das Problem behoben. Ich frage mich, was genau dieser Fehler bedeutet und wie ich dies Reolink melden kann.

Während des Status "ausgefallen" scheint die Kamera von anderen Clients aus ordnungsgemäß zu funktionieren. Ich kann z. B. die Reolink.app auf meinem Mac starten oder die Webseite der Kamera in einem beliebigen Browser anzeigen. Das Video sieht gut aus.

Aus irgendeinem Grund wird der RTSP-Stream auf eine Art und Weise funky, die ffmpeg nicht auflösen kann.

Es ist ziemlich wiederholbar, wenn ich den Dienst schnell stoppe / starte, aber ein Neustart mit einer Pause von 5 Sekunden in meinem Skript scheint ihn nicht zu stören.

Vielen Dank!

1
Scheint ein Fehler mit ffmpeg und Reolink-Kameras zu sein, da ich bei der Verwendung von Replay C1 Pro beim Verwenden von ffplay oder opencv mit dem ffmpeg-Backend die gleiche Fehlermeldung bekomme Crigges vor 5 Jahren 0

0 Antworten auf die Frage