【问题标题】:Webcam with FFmpeg on Mac: Selected framerate (29.970030) is not supported by the deviceMac 上带有 FFmpeg 的网络摄像头:设备不支持选定的帧率 (29.970030)
【发布时间】: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,它有效!我犯了多么可笑的错误!你能写下这个问题的答案吗?我会给你声望点。非常感谢!

标签: macos ffmpeg webcam


【解决方案1】:

您将-framerate 设置为输出选项而不是输入选项。 Option location matters,所以将它移到 -i 之前,它将应用于输入:

ffmpeg -f avfoundation -framerate 60 -i default output.mp4

您还需要使用您的设备支持的-framerate,因此可能不接受任意值。参考ffmpeg -f avfoundation -i <your device name>的输出。

另见:

【讨论】:

  • 按照您的建议进行操作后,无论我提供什么帧率,它都表示设备不支持帧率。
  • @AnuranBarman 我需要查看您使用的命令并提供日志链接。
  • 我使用的命令是 ffmpeg -framerate 1 -f avfoundation -i "0" -vcodec libx264 -preset veryfast -f rtsp rtsp://localhost:5554/live 日志是这样的:@ 987654325@
  • @AnuranBarman 该设备不支持您想要的帧速率。您必须使用它支持的帧速率。您提供的输出日志表明支持哪些帧速率。
  • 参数的顺序很重要,这对我有用:ffmpeg -f avfoundation -framerate 30 -i "default:none" output.mkv .. 首先注意它是-f,然后是-framerate
猜你喜欢
  • 1970-01-01
  • 2012-06-12
  • 2018-04-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-30
  • 1970-01-01
相关资源
最近更新 更多