通过软件捕获USB C型视频

通过软件捕获USB C型视频,usb,video-capture,Usb,Video Capture,所以,我在想一件事: 从理论上讲,是否有可能将诸如带USB-C的交换机之类的东西连接到PC,并通过软件进行类似于模拟捕获卡的操作。我读了一些C型的规范,我不确定这样的事情是否可行。我认为这样的事情也必须是相当低级的。USB协议是按设备类组织的,即大容量存储设备类、通信设备类(CDC)以及USB视频设备类(UVC)几乎所有现代相机设备都实现了这种UVC类,您可以使用vlc -如何:使用VLC将网络摄像头中的视频捕获到文件中 USB-C标准是连接器的物理布局,它不会改变USB标准的基本组织结构,就

所以,我在想一件事:
从理论上讲,是否有可能将诸如带USB-C的交换机之类的东西连接到PC,并通过软件进行类似于模拟捕获卡的操作。我读了一些C型的规范,我不确定这样的事情是否可行。我认为这样的事情也必须是相当低级的。

USB协议是按设备类组织的,即大容量存储设备类、通信设备类(CDC)以及USB视频设备类(UVC)几乎所有现代相机设备都实现了这种UVC类,您可以使用
vlc

-如何:使用VLC将网络摄像头中的视频捕获到文件中

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

Alt模式是USB-C的功能扩展,它使USB连接能够传输非USB信号

资料来源:

我不完全理解的是,您是否希望通过USB-C HDMI备用模式通过USB-C捕获HDMI流()。在这种情况下,没有USB视频设备协议(HDMI是另一种协议),情况更为复杂,请参阅和

有活动的HDMI至USB视频捕获卡,可将HDMI流转换为视频格式,然后通过USB视频类协议传输或直接转换为原始像素数据。此原始像素数据也包装在USB视频类协议()中:

其他视频捕获解决方案将视频压缩到容器中 与H.264或Motion JPG类似,它的体积足够小,可以跨USB 2.0使用 总线(最大数据传输速率为60 MB/s的介质)。当它 到达计算机时,CPU和/或GPU需要工作以 解压缩此图像,然后使用您的编码设置对其重新编码。 使用这种类型的预压缩视频,永远不可能获得 恢复压缩过程中丢失的全部细节

相比之下,我们的AV.io系列HDMI捕获卡发送原始像素 通过USB 3.0将数据传输到您的计算机(最大传输速度为640 MB/s)。 当您的软件接收到该流时,它不需要对其进行解码, 这样就不用那么费力了

资料来源:

原始像素数据可以在HDMI备用模式下通过USB-C传输,因此可以直接从USB-C捕获HDMI流,但存在一个主要缺点:

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

设备可以是主机(DFP:面向下游的端口)或外围设备 (UFP:面向上游的端口)。有些,比如手机,可以 任一角色取决于在另一端检测到的类型。这些 端口类型称为双角色数据(DRD)端口,这是已知的 在以前的规范中,作为移动中的USB。[12]

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

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

linux USB-C内核模块位于和中,它被定义为USB-C主机或仅面向下游的端口
,因此不可能将其用作HDMI接收器或面向上游的端口,也不可能将其用作输入并从中捕获

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


作为USB外围设备或面向上游端口模式的USB-C设备的一个示例是,在该设备中,固件通过USB-C连接器处理HDMI流,但在USB协议中,它实现了面向上游的端口,计算机或笔记本电脑无法实现的功能,是由于其硬件限制,实现了USB主机或面向下游的端口。

理论上,几乎可以做任何事情。回答不错,我不清楚,但如果你说:1)当前的软件无法做到,你需要一个新的内核usb-c驱动程序,或者2)pc硬件无法做到这一点。你能详细说明一下吗?