gpt4 book ai didi

usb - 通过软件捕获USB Type C视频

转载 作者:行者123 更新时间:2023-12-03 02:11:59 24 4
gpt4 key购买 nike

所以,我只是在想一件事:理论上是否可以将带有 USB-C 的 Switch 等设备连接到 PC,并通过软件执行类似于模拟采集卡的操作。我读了一些 C 型规范,但不确定这样的事情是否可能。我认为类似的事情也必须是相当低级的事情。

最佳答案

USB 协议(protocol)按设备类进行组织,即大容量存储设备类、通信设备类 (CDC) 以及 USB 视频设备类 (UVC) 几乎所有现代相机设备都实现此 UVC 类,并且您可以使用vlc

等软件捕获UVC设备的码流

https://en.wikipedia.org/wiki/USB_video_device_class

https://ubuntuforums.org/showthread.php?t=143732 - 如何:使用 VLC 将网络摄像头的视频捕获到文件

USB-C 标准是连接器的物理布局,它不会改变 USB 标准的基本组织结构,例如它在设备类别中的区分,因此存在带有 USB-C 连接器的 UVC 设备,在互联网上搜索“网络摄像头 USB-C”,但是 USB-C 通过备用模式扩展了端口的功能,因此也使用具有不同固件和内核模块的不同端口 Controller

Alt Mode is a functional extension of USB-C which enables the USB connection to carry non-USB signals.

来源:https://blog.startech.com/post/tech-talk-using-usb-c-and-displayport-over-alt-mode/

https://en.wikipedia.org/wiki/USB-C

我不完全理解的是,如果您想通过 USB-C HDMI 备用模式( https://en.wikipedia.org/wiki/HDMI#HDMI_Alternate_Mode_for_USB_Type-C )通过 USB-C 捕获 HDMI 流。这种情况下没有USB Video Device协议(protocol)(HDMI是不同的协议(protocol)),情况比较复杂,参见https://superuser.com/questions/1218848/hdmi-input-through-usb-chttps://superuser.com/questions/1192638/whats-up-with-hdmi-and-displayport-over-usb-c

有源 HDMI 转 USB 视频采集卡可将 HDMI 流转换为视频格式,然后通过 USB 视频类协议(protocol)传输或直接传输为原始像素数据。此原始像素数据也包含在 USB 视频类协议(protocol) ( https://devtalk.nvidia.com/default/topic/970330/how-to-handle-raw-from-usb-cameras/?offset=2 ) 中:

Other video capture solutions compress your video into a container like H.264 or Motion JPG so it’s small enough to fit across a USB 2.0 bus (a medium with a maximum data transfer rate of 60 MB/s). When it arrives on your computer, the CPU and/or GPU need to work to decompress this image, then re-encode it with your encoding settings. And with this type of pre-compressed video, it’s never possible to get back the full detail that was lost in compression.

By contrast, our AV.io family of HDMI capture cards send raw pixel data across to your computer over USB 3.0 (max transfer of 640 MB/s). When your software receives this stream, it doesn’t need to decode it, so there’s less heavy lifting.

来源:https://www.epiphan.com/blog/easiest-hdmi-to-usb-converter/

可以在 HDMI 交替模式下通过 USB-C 传输原始像素数据,这应该可以直接从 USB-C 捕获 HDMI 流,但有一个主要缺点:

问题在于,在 USB(-C) 协议(protocol)中,机器可以是 主机设备双重角色:

Devices may be hosts (DFP: Downstream-facing port) or peripherals (UFP: Upstream-facing port). Some, such as mobile phones, can take either role depending on what kind is detected on the other end. These types of ports are called Dual-Role-Data (DRD) ports, which was known as USB On-The-Go in previous specification.[12]

USB 树中只能是一个主机,并且在大多数情况下,计算机充当主机的角色。 USB-C 输入或显示器等外围设备处于设备或外围设备模式。如果您无法将计算机设置为设备或外围设备模式,则由于 USB 协议(protocol),您将无法通过 USB-C 捕获 HDMI 信号

关键是USB-C端口 Controller 的固件和内核模块/驱动程序

linux USB-C 内核模块位于 https://github.com/torvalds/linux/blob/master/drivers/usb/host/xhci.c https://cateee.net/lkddb/web-lkddb/TYPEC_TCPM.html 并且它被定义为USB-C主机仅面向下游端口,因此不可能将其用作HDMI接收器或面向上游端口因此不可能将其用作输入并从中捕获...<​​/p>

无法将 USB-C 端口设置为设备模式或上游端口模式是必须使用外部适配器的原因

作为 USB 外设或上游端口模式的 USB-C 设备的示例是 https://9to5mac.com/2016/06/04/lg-27ud88-w-usb-c-4k-monitor-macbook-review/因此,在该设备中运行通过 USB-C 连接器处理 HDMI 流的固件,但是在 USB 协议(protocol)中,它实现了一个面向上游的端口,而计算机或笔记本电脑由于其硬件限制而无法实现该端口实现 USB 主机或面向下游的端口 ..

关于usb - 通过软件捕获USB Type C视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49523944/

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