ffmpeg увеличивает длину видеосегментов при использовании с -segment_time — как исправить?

ffmpeg увеличивает длину видеосегментов при использовании с -segment_time — как исправить?

Я пытаюсь записать rtmp-поток в файл, разделяя его каждые 10 секунд.

Моя команда ffmpeg:

ffmpeg -i rtmp://192.168.16.82:1935 -f segment -strftime 1 -segment_time 10 -segment_format avi E:\record\CAM1_%Y-%m-%d_%H-%M-%S.avi

Это работает, но созданные файлы каким-то образом повреждаются. Первый файл в порядке, длина 10 секунд; длина второго файла 20 секунд, и первые 10 секунд — это статичное изображение; третий файл 30 секунд, и первые 20 секунд — это ничего, кроме статичное изображение, и так далее.

Что я делаю не так?

решение1

AVI не работает с PTS, поэтому вам придется сбросить временные метки:

ffmpeg -i rtmp://192.168.16.82:1935 -f segment -strftime 1 -reset_timestamps 1 -segment_time 10 -segment_format avi E:\record\CAM1_%Y-%m-%d_%H-%M-%S.avi

Связанный контент