Приостановка ffmpeg: «медленное движение» после возобновления - PullRequest
0 голосов
/ 15 февраля 2019

Я пытаюсь приостановить / возобновить процесс ffmpeg во время кодирования.Операционная система Windows.

Я приостанавливаю ffmpeg.exe и возобновляю его через некоторое время.Проблема в том, что при воспроизведении созданного фильма оно выглядит как «замедленное» в течение некоторого времени с момента паузы.Через некоторое время скорость воспроизведения догоняет фактическую частоту кадров.

«Время замедленного воспроизведения» похоже на время паузы, но это скорее не соотношение 1: 1.

Я используюWin32 process / thead API для приостановки и возобновления процесса ffmpeg.Но он ведет себя точно так же, когда он приостанавливается / возобновляется с помощью монитора ресурсов Windows или с помощью клавиши «Пауза».

Интересно, что такая же проблема возникает, когда вы вводите клавишу «c» при вводе ffmpeg и ждете некоторое время вместо ввода команды.Похоже, что процесс обрабатывает функцию ввода-вывода, а затем возникает проблема с метками времени кадра.

Я не ffmpeg и не эксперт по мультимедиа, но мне кажется, что это проблема с определенными временными метками иразрыв между моментом, когда ffmpeg приостановлен и возобновлен.

Возможно, есть какие-нибудь команды или фильтры ffmpeg, которые могут это исправить?Или лучший способ приостановить / возобновить его во время записи?

1 Ответ

0 голосов
/ 15 февраля 2019

@ Gyan: готовя образец командной строки в ответ на ваш комментарий и сводя ее к простейшему набору опций, я обнаружил проблему:

Я использую устройство DirectShow в качестве ввода и указал "-r"для входной частоты кадров.Это неверно, как можно найти, например, здесь: https://trac.ffmpeg.org/wiki/DirectShow#Specifyinginputframerate. Итак, я заменил -r на -framerate, и теперь все в порядке.Приостановить / возобновить работу должным образом.

Спасибо за подсказку и извините за беспокойство перед RTFM

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...