Ich habe eine opencv-Anwendung in cpp.
Es erfasst den Videostream und speichert ihn mit den einfachen Konstrukten von opencv in Videodateien.
Es funktioniert perfekt mit meiner Webcam.
Aber es stürzt vielleicht nach etwa zehn Sekunden ab, während ich es starte, um den Stream von IP Camara aufzunehmen.
Mein Kompilierbefehl ist:
%Vor%Mein Stream von IP-Cam wird wie folgt aufgerufen:
%Vor%Es läuft perfekt, zeigt Video und speichert es, bis das angezeigte Video einfriert und die Anwendung abstürzt. Während die Fehlermeldung auf dem Terminal ist:
%Vor%Nach meinem Verständnis haben die ersten beiden Zeilen in der obigen Fehlermeldung möglicherweise etwas zu tun, stürzen die Anwendung jedoch nicht ab. Die letzten zwei Zeilen sind wahrscheinlich die Gründe oder die Ursache?
Irgendwelche Hilfe?
Bekomme die Lösung nach vielen Treffern und Versuchen. Habe gerade die Stream-Adresse geändert und es hat funktioniert.
Von:
%Vor%An:
%Vor%KEINE Idee, welche Änderung hat es gemacht?
ABER FUNKTIONIERT PERFEKT !!!
Sogar die allgegenwärtigen Warnungen der Form:
%Vor%sind weg.
Jedenfalls würde es begrüßen, wenn jemand es mit dem logischen Grund dahinter erklären könnte.
Es ist ein Fehler von ffmpeg. Wahrscheinlich ist Ihr ffmpeg eine alte Version und Sie möchten sie vielleicht aktualisieren. Es löste das Problem perfekt für meinen Fall, indem ich die neuesten opencv und ffmpeg wie folgt neu installiere:
Installieren Sie den neuesten ffmpeg
%Vor%
Installieren Sie das neueste opencv
%Vor%
Als Zitat zu der ursprünglichen Antwort , das Hinzufügen von ? tcp am Ende erzwingt das Die rtsp-Verbindung muss mit dem tcp-Protokoll anstelle des udp-Protokolls ausgeführt werden, was nützlich ist, wenn Sie nicht aktiv nach Verbindungsproblemen suchen und sich daher keinen Paketverlust leisten können.
Für eine stabile Ausführung können Sie in Ihrer Schleife nach einem NULL-Bild suchen. Wenn Sie ein NULL-Bild erhalten, können Sie die Kameraverbindung zurücksetzen:
%Vor%