我已经设置了一个网络摄像头查看器,它可以使用规则检测何时插入 USB 网络摄像头udev
,然后启动一个systemd
服务来执行启动 FFmpeg/FFplay 网络摄像头流的脚本。我注意到在设置DISPLAY=:0
和XAUTHORITY=/home/pi/.Xauthority
启动 FFmpeg 之前的脚本中,FFmpeg 的流运行效果非常差(Pi Zero W < 1fps)。
在 Pi Zero WI 上,忽略了这一点,当插入网络摄像头时,它运行得很好,但在 Pi 4 4GB 上,除非设置了这些环境变量,否则网络摄像头查看器永远不会出现。日志说XDG_RUNTIME_DIR not set in the environment
。为什么在没有这些变量的情况下,流在 Zero W 上可以正常工作,而在 Pi 4 上根本无法工作?更好的是,为什么设置这些变量后 FFmpeg 运行得很糟糕?
在 Pi 4 上设置这些变量似乎不会影响 FPS。
答案1
更新到 Raspberry Pi OS Bullseye 后,此问题似乎已得到解决,很可能是因为它们在所有硬件上整合了视频驱动程序。不幸的是,Pi Zero W 上的性能在 Bullseye 上较差。那好吧。