【发布时间】:2016-07-21 08:12:24
【问题描述】:
当我尝试使用 FFmpeg 访问网络摄像头时,Mac 上出现了一个非常奇怪的问题。 例如:
ffmpeg -f avfoundation -i "1" -framerate 60 -vcodec libx264 -preset veryfast -f flv rtmp://localhost:1935/hls/test
无论我设置什么帧率,错误总是一样的。
[avfoundation @ 0x7ff831800000] Selected framerate (29.970030) is not supported by the device
[avfoundation @ 0x7ff831800000] Supported modes:
[avfoundation @ 0x7ff831800000] 320x240@[120.101366 120.101366]fps
[avfoundation @ 0x7ff831800000] 640x480@[120.101366 120.101366]fps
[avfoundation @ 0x7ff831800000] 800x600@[60.000240 60.000240]fps
[avfoundation @ 0x7ff831800000] 1024x768@[30.000030 30.000030]fps
[avfoundation @ 0x7ff831800000] 1280x720@[60.000240 60.000240]fps
[avfoundation @ 0x7ff831800000] 1280x1024@[30.000030 30.000030]fps
[avfoundation @ 0x7ff831800000] 1920x1080@[30.000030 30.000030]fps
[avfoundation @ 0x7ff831800000] 320x240@[30.000030 30.000030]fps
[avfoundation @ 0x7ff831800000] 640x480@[30.000030 30.000030]fps
[avfoundation @ 0x7ff831800000] 800x600@[20.000000 20.000000]fps
[avfoundation @ 0x7ff831800000] 1024x768@[6.000002 6.000002]fps
1: Input/output error
我已经搜索了这个问题很多天,但仍然找不到任何解决方案。我现在很困惑。
我希望使用 Mac 的人可以尝试类似的命令来访问网络摄像头,看看这是否是一个常见问题。
【问题讨论】:
-
您将
-framerate设置为输出选项。期权的位置很重要。尝试将其用作输入选项(在-i之前)。此外,您应该始终显示完整控制台输出,而不仅仅是摘录。 -
@LordNeckbeard 哇!我尝试了命令
ffmpeg -f avfoundation -video_size 1920x1080 -framerate 30 -i "0" -vcodec libx264 -preset veryfast -f flv rtmp://localhost:1935/hls/test,它有效!我犯了多么可笑的错误!你能写下这个问题的答案吗?我会给你声望点。非常感谢!