我正在尝试在编码过程中暂停/恢复ffmpeg进程。操作系统是Windows。
我暂停ffmpeg.exe并在一段时间后恢复它。问题是,在回放已创建的电影期间,自暂停之时起,它似乎以“慢动作”方式播放了一段时间。片刻之后,重放速度赶上了实际的帧速率。
“慢动作时间”似乎类似于暂停时间,但不是1:1关系。
我使用Win32进程/ thead API暂停和恢复ffmpeg进程。但是,使用Windows资源监视器或键盘暂停键暂停/恢复时,其行为完全相同。
有趣的是,当您在ffmpeg输入中输入'c'键并等待一会而不是输入命令时,会发生相同的问题。看起来该进程在I / O功能处受阻,然后出现帧时间戳问题。
我既不是ffmpeg的专家,也不是多媒体专家,但是在我看来,这有点像时间戳和ffmpeg暂停与恢复之间的时间间隔问题。
也许有一些ffmpeg命令或过滤器可以解决该问题?还是在录制过程中暂停/恢复它的更好方法?
答案 0 :(得分:0)
@Gyan:准备响应您的评论的示例命令行,并将其简化为最简单的选项集,我发现了一个问题:
我将DirectShow设备用作输入,并将输入帧速率指定为“ -r”。这是不正确的,例如可以找到此处:https://trac.ffmpeg.org/wiki/DirectShow#Specifyinginputframerate。因此,我将-r替换为-framerate,现在可以了。暂停/恢复按预期工作。
感谢提示,并对在RTFM之前困扰人们感到抱歉