如何解决macOS上使用FFmpeg录屏时出现的“所选帧率不被设备支持”错误
如何解决macOS上使用FFmpeg录屏时出现的“所选帧率不被设备支持”错误
嗨,我之前也碰到过一模一样的问题,其实根源特别简单——FFmpeg默认选的29.97fps帧率不在你的设备支持范围内,哪怕数值看起来接近30,但你的设备只认15.0到30.0之间的整数帧率。
先帮你理清楚两个关键细节:
- 如果你是想录屏,刚才的命令里用的
0:0是FaceTime摄像头+麦克风,应该换成视频设备1(也就是Capture screen 0)搭配音频设备0,也就是1:0 - 不管是录屏还是用摄像头录制,都得手动指定设备支持的整数帧率
下面是具体的解决步骤:
1. 选对录制设备组合
- 录屏+麦克风:用
1:0(视频设备1是屏幕捕获,音频设备0是MacBook Pro麦克风) - 摄像头+麦克风:继续用你之前的
0:0
2. 指定设备兼容的帧率
从错误输出能看到设备支持15~30之间的整数帧率,我们用-r参数明确指定一个符合要求的帧率(比如30fps),就能避免FFmpeg自动选用不兼容的29.97fps。
录屏的正确命令:
ffmpeg -f avfoundation -r 30 -i 1:0 -fps_mode passthrough output.mp4
摄像头录制的正确命令:
ffmpeg -f avfoundation -r 30 -i 0:0 -fps_mode passthrough output.mp4
额外小技巧:查看设备完整支持格式
如果想确认所有支持的分辨率和帧率组合,可以用-list_formats all参数查询指定设备:
# 查询屏幕捕获设备(设备1)的支持格式 ffmpeg -f avfoundation -list_formats all -i 1
这样就能精准挑选最适合你的录制参数啦!
备注:内容来源于stack exchange,提问作者jsx97
相关产品推荐
相关产品推荐

