【发布时间】:2020-06-24 13:44:00
【问题描述】:
我已经编写了代码,该代码通过我的 MAC 的内置网络摄像头使用 ffmpeg 捕获视频。
在本地机器上,代码运行良好。但是,我为我的代码构建了一个 docker 容器,并尝试运行它,但出现以下错误:
error: Command failed: ffmpeg -f avfoundation -framerate 30 -i "0" -target pal-vcd -vf scale=640x480 -flags +global_header -f segment -segment_time 10 -segment_list ../out.csv -segment_format_options movflags=+faststart -reset_timestamps 1 -strftime 1 %Y%m%d-%H%M%S.mp4
ffmpeg version git-2016-05-25-9591ca7 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
configuration: --extra-libs=-ldl --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-openssl
libavutil 55. 24.100 / 55. 24.100
libavcodec 57. 43.100 / 57. 43.100
libavformat 57. 37.100 / 57. 37.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 46.100 / 6. 46.100
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
Unknown input format: 'avfoundation'
- 据我从该日志中了解到,docker
容器无权访问本地设备。
据 这个讨论Docker - a way to give access to a host USB or serial device? ,我需要使用--device标志来传递我的 设备的位置。
但是,根据this answer, 这不可能吗? - 除了我提到的 上面,我一开始就无法获得网络摄像头的路径。 what is a correct path for macbook webcam
我的问题是:如何访问我的 MAC 的内置摄像头以从 docker 容器进行录制?
【问题讨论】:
-
这不使用 ffmpeg 但可能有用:medium.com/@jijupax/…
标签: macos docker ffmpeg usb avfoundation