gpt4 book ai didi

macos - 如何使用 ffmpeg 从 docker 容器访问内置网络摄像头?

转载 作者:行者123 更新时间:2023-12-04 23:12:34 26 4
gpt4 key购买 nike

我编写了我的代码,通过我的 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 orserial device? ,我需要使用--device标志通过我的
    设备的位置。然而,根据 this answer ,
    这是不可能的?
  • 除了我提到的
    上面,我一开始就无法获得网络摄像头的路径。 what isa correct path for macbook webcam

  • 我的问题是:如何访问我的 MAC 的内置摄像头以从 docker 容器中录制?

    最佳答案

    我不是 docker 专家,但我可以看到很多问题:

  • Mac 上的 Docker 运行运行 Linux 的虚拟机(hyperkit/xhyve),然后使用容器。这意味着容器不在裸机内核上运行,并且它们的内核无法直接访问硬件。当然,您也可以使用 Parallels 或 VMWare Fusion 或 VirtualBox 来运行 Linux 系统。
  • 这取决于 Mac 的特定型号,但许多较新的型号使用基于 PCIe 的摄像头,而不是 USB。

  • 因此,要使其发挥作用,您需要:
  • 卸载相机的 macOS 驱动程序。
  • 将原始 USB 设备传递给运行 Linux 的虚拟机(如果它确实是 USB 模型)。
  • 让 Linux 加载相机的驱动程序。
  • 将摄像头从主机 Linux 系统传递到容器。

  • PCIe 直通目前在 macOS 主机上根本不可能,因此根据您的硬件,它可能完全不可行。
    如果它在没有 Docker 的情况下工作,试图将其强制放入容器中似乎比必要的要复杂得多且容易出错。

    关于macos - 如何使用 ffmpeg 从 docker 容器访问内置网络摄像头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62556566/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com