RTSP - продолжить запись после проблемы с сетью

307
Tom

У меня проблема с захватом потока RTSP через TCP с IP-камеры.

Я пробовал много вариантов, таких как тайм-аут, stimeout, другие флаги, связанные с ключевым кадром и т. Д., Ничего не помогло. FFmpeg правильно захватывает поток, но когда что-то не так с источником, номер кадра (в файле статистики) зависает и размер видео не увеличивается. Я обнаружил, что это потому, что, возможно, был потерян кадр, и из-за TCP кадр должен быть повторно отправлен, и ffmpeg ожидает этот кадр. В этом случае единственный вариант - прервать текущий процесс ffmpeg и продолжить с начала. - это почти нормально, почти - из-за этого я не снимаю около 5-7 секунд видео.

Ниже приведена команда, которую я использую:

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 

Любая возможность сказать, ffmpegчтобы пропустить этот сломанный кадр и продолжить запись? Лучше иметь искажения в видео в течение 1-2 секунд, чем потерять 5-7 секунд для повторного подключения.

Как я знаю, это должно работать лучше с UDP, но, к сожалению, моя IP-камера не работает правильно с протоколом UDP.

0

0 ответов на вопрос

Похожие вопросы