如何用ffplay同时流传输两台同名Microsoft LifeCam Studio摄像头视频?
如何用ffplay同时播放两台同名的Microsoft LifeCam Studio摄像头视频
遇到同名摄像头的问题时,直接用设备名称确实没法区分,但你可以利用ffmpeg输出里的**设备替代名称(Alternative name)**来精准定位每个摄像头——这是每个设备唯一的PNP路径标识,不会重复。
具体操作步骤:
从你提供的ffmpeg设备列表里,提取每个摄像头对应的唯一替代名称:
- 第一台摄像头的替代名称:
@device_pnp_\\?\usb#vid_045e&pid_0811&mi_00#8&6ae46e6&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global - 第二台摄像头的替代名称:
@device_pnp_\\?\usb#vid_045e&pid_0811&mi_00#8&e544916&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global
- 第一台摄像头的替代名称:
用这些替代名称分别启动ffplay播放每一路视频:
- 播放第一台摄像头:
ffplay -f dshow -i video="@device_pnp_\\?\usb#vid_045e&pid_0811&mi_00#8&6ae46e6&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global" - 播放第二台摄像头:
ffplay -f dshow -i video="@device_pnp_\\?\usb#vid_045e&pid_0811&mi_00#8&e544916&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"
- 播放第一台摄像头:
如果想在Windows环境下同时打开两个播放窗口,可以用
start命令在新进程中启动每个ffplay:start ffplay -f dshow -i video="@device_pnp_\\?\usb#vid_045e&pid_0811&mi_00#8&6ae46e6&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global" start ffplay -f dshow -i video="@device_pnp_\\?\usb#vid_045e&pid_0811&mi_00#8&e544916&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"
补充说明:
- 你之前尝试用pin名称失败是因为pin是设备内部的媒体流节点,不是用来指定设备本身的标识,而替代名称是系统给每个设备分配的唯一路径,能准确识别到对应的摄像头。
- 如果需要同时捕获对应的麦克风音频,也可以搭配音频设备的替代名称,格式为
video=视频替代名称:audio=音频替代名称。
内容的提问来源于stack exchange,提问作者junsang
相关产品推荐
相关产品推荐

