# UVC

DepthAI
UVC（[USB视频类](https://en.wikipedia.org/wiki/USB_video_device_class)）节点允许OAK设备作为标准网络摄像头工作。此功能特别适用于将OAK设备集成到需要视频输入的应用程序中，例如视频会议工具或自定义视频处理应用程序。

## 什么是UVC？

UVC指USB视频类标准，这是一个USB设备类别，用于描述能够流式传输视频的设备。该标准允许视频设备无需特定驱动程序即可与计算机和其他设备交互，从而使其与各种系统和软件立即兼容。

## UVC节点如何工作？

DepthAI中的UVC节点利用此标准从OAK设备流式传输视频。当UVC节点启用时，OAK设备被主机系统识别为标准网络摄像头。这允许该设备用于任何支持网络摄像头输入的应用程序，例如Zoom、Skype或自定义视频处理软件。

UVC节点通过USB连接流式传输视频数据。为此，务必使用USB3线缆，因为USB2可能无法提供稳定视频流所需的带宽。

> UVC节点当前可以处理来自OAK设备的NV12视频流。对于其他格式的流，需要转换为NV12，这可以通过
> [ImageManip](https://docs.luxonis.com/software/depthai-components/nodes/image_manip.md)
> 节点实现。需要注意的是，与NV12转换不兼容的流（如深度流）不受UVC节点支持。

## UVC节点使用示例

自定义Python脚本：可以编写自定义Python脚本来启用UVC节点并配置视频流参数。以下是一些预编写的示例：

 * [UVC与彩色相机](https://docs.luxonis.com/software/depthai/examples/uvc_rgb.md)
 * [UVC与单色相机](https://docs.luxonis.com/software/depthai/examples/uvc_mono.md)
 * [UVC与视差](https://docs.luxonis.com/software/depthai/examples/uvc_disparity.md)

OBS转发：对于无法直接使用UVC节点的应用程序，可以使用OBS Studio来转发UVC流。

## 参考

### depthai.node.UVC(depthai.Node)

Kind: Class

UVC (USB Video Class) node

#### setGpiosOnInit(self, list: collections.abc.Mapping [ typing.SupportsInt , typing.SupportsInt ])

Kind: Method

Set GPIO list <gpio_number, value> for GPIOs to set (on/off) at init

#### setGpiosOnStreamOff(self, list: collections.abc.Mapping [ typing.SupportsInt , typing.SupportsInt ])

Kind: Method

Set GPIO list <gpio_number, value> for GPIOs to set when streaming is disabled

#### setGpiosOnStreamOn(self, list: collections.abc.Mapping [ typing.SupportsInt , typing.SupportsInt ])

Kind: Method

Set GPIO list <gpio_number, value> for GPIOs to set when streaming is enabled

#### input

Kind: Property

Input for image frames to be streamed over UVC

Default queue is blocking with size 8

### 需要帮助？

请前往 [OAKChina 官网](https://www.oakchina.cn/) 获取技术支持或解答您的任何疑问。
