背景
window软件在适配linux uos 国产操作系统时。遇到一个问题,我们软件有个功能是使用ffmpeg打开摄像头。适配时遇到了问题,一直报错。如下图:
排查过程
wine容器
- USB权限 ?
- dshow相关库 ?
- dx相关库?
USB权限
我通过管理员运行程序和添加脚本放开USB权限,都试过不行。所以排除掉了USB权限问题。
原因如下:因为在放开后我使用容器内程序(wpf)都可以打开摄像头并且可以预览,所有排除了容器不能访问usb权限的问题
dshow相关库
在wine容器内安装了directshow
库也不行,另外我使用在容器内使用ffmpeg命令行:ffmpeg.exe -f dshow - list_devices true -i dummy
列出dshow支持的设备也是可以的,如下图:
另外我还尝试了,在容器内安装dshow调试工具GraphStudioNext
,查看dshow设备列表,都是能查看的。证明至少dshow环境是没问题的