
Я пытаюсь записать 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