Warum unterbricht ffmpeg meinen RTSP-Stream, bevor die Segmentzeit erreicht ist?

493
Chris Evans

Ich verwende die CCTV-Anwendung Shinobi, um eine Reihe von IP-Kameras im Netzwerk aufzuzeichnen. Shinobi verwendet FFMPEG und übergibt ein Flag, um den RTSP-Stream in 15-Minuten-Aufzeichnungen zu segmentieren. Wenn ich mich mit FFMPEG mit dem Stream verbinde, in 15 Minuten segmentiere und in eine Datei auf der Festplatte kopiere, funktioniert das einwandfrei.

Shinobi übergibt eine etwas komplexere Gruppe von Flaggen und ich kann nur schwer verstehen, wo das Problem liegt. Ich habe hier einen Pastebin platziert: https://pastebin.com/Bh46JD9D mit den entsprechenden Zeilen um 257.

[segment @ 0x50bee40] stream:0 start_pts_time:0 pts:536040 pts_time:5.956 dts:536040 dts_time:5.956 -> pts:536040 pts_time:5.956 dts:536040 dts_time:5.956 2018-05-05T18-19-31.mp4 [segment @ 0x50bee40] segment:'/home/chris/2018-05-05T18-19-31.mp4' count:0 ended [AVIOContext @ 0x50249c0] Statistics: 2 seeks, 16 writeouts [segment @ 0x50bee40] Opening '/home/chris/2018-05-05T18-19-30.mp4' for writing [file @ 0x4ed3a80] Setting default whitelist 'file,crypto' [segment @ 0x50bee40] segment:'/home/chris/2018-05-05T18-19-30.mp4' starts with packet stream:0 pts:541980 pts_time:6.022 frame:125 

Die von Shinobi festgelegten Optionen:

ffmpeg -loglevel debug -analyzeduration 1000000 -probesize 1000000 \ -fflags +igndts -rtsp_transport tcp -i "rtsp://192.168.0.249:554/11" \ -an -vcodec copy -s 640x480 -f segment -segment_atclocktime 1 \ -reset_timestamps 1 -strftime 1 -segment_list pipe:2 -segment_time 900 \ "/home/chris/%Y-%m-%dT%H-%M-%S.mp4" -f mp4 -an -c:v copy \ -movflags +frag_keyframe+empty_moov+default_base_moof \ -metadata title="Poseidon Stream" -reset_timestamps 1 

Ich sehe keine Fehler oder Gründe dafür, dass das Stream-Segment vorzeitig geschnitten wird. Kann jemand beraten?

Vielen Dank.

0
Tritt das Problem weiterhin auf, wenn Sie `-segment_atclocktime 1` entfernen? Sie können auch alles loswerden, das mit `-f mp4` beginnt, da keine Ausgabedatei angegeben ist. Gyan vor 5 Jahren 0

0 Antworten auf die Frage