macOS 14.5,FFmpeg 7.0.1。要录制屏幕,如果我使用来自 Wiki 的代码,即
ffmpeg -f avfoundation -i 1 output.mp4
帧速率似乎太高了,当我按下q
停止录制时,以下消息一直存在,直到我的 MacBook Pro 开始通过冷却器发出噪音:“[q] 命令已接收。退出。”
-r
我当前的解决方案是在之后添加-i
:
ffmpeg -f avfoundation -i 1 -r 24 output.mp4
但我听说更正确的解决方案是替换-r
为-framerate
并将其放在之前而不是之后-i
:
ffmpeg -f avfoundation -framerate 24 -i 1 output.mp4
请注意,我将其
-framerate
用作输入选项而不是-r 24
输出选项,因此我告诉 avfoundation 以 24fps 录制而不是以默认 fps 录制,然后强制 FFmpeg 删除或复制帧以提供所需的 24。
这对我来说目前不起作用,并且看起来与我-r
根本不使用一样。
那么,在 macOS 上录制屏幕时,解决“帧率过高”问题的正确方法是什么?我们需要-r
还是-framerate
,以及把它放在哪里,在 之前还是之后-i
?
为了以防万一,这里是日志ffmpeg -f avfoundation -i 1 output.mp4 -v verbose
:
从日志中可以明显看出,ffmpeg 最初接收的帧数不足以检测输入帧速率。
没关系,您可以直接使用直通输入帧,无需进行任何调整。