4

Я записываю видео MJPEG с IP-камеры и сохраняю его в файл, но проблема в том, что продолжительность файла намного меньше, чем фактическое время записи. Его около 9 секунд видео на 2 минуты записи. Я попробовал следующие команды по порядку

ffmpeg -f mjpeg -r 8 -i http://c-cam.uchicago.edu/mjpg/video.mjpg -vcodec mpeg4 -b 1000000 -r 8 video_file.avi 

Затем я опустил большинство флагов и попробовал вот так

ffmpeg -f mjpeg -i http://c-cam.uchicago.edu/mjpg/video.mjpg video_file.avi

Но проблема в том, что продолжительность записанного файла составляет 9 секунд, тогда как фактическое время записи составляет около 2 минут. Я наконец попробовал фильтр setpts, который должен вставить метки времени. Команда выглядит следующим образом

ffmpeg -f mjpeg -i http://c-cam.uchicago.edu/mjpg/video.mjpg -vf "setpts=1*PTS" video_file.avi

Но результат остался прежним. Время записи было намного больше, чем продолжительность видео.

2 ответа2

6

Я знаю, что это старый вопрос, однако, это сработало для меня как вариант ffmpeg: -use_wallclock_as_timestamps 1

1

У меня была похожая проблема, и опция -re решила ее для меня. Это говорит ffmpeg будет действовать так же, как и граббер фреймов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .