☰
Understanding UVC Topology: Input, Camera, and Output Terminals in Video Control Interface
2026/10/23 2:46:07 网站建设 项目流程

InUVC (USB Video Class),Input Terminal,Output Terminal, andCamera Terminalare entities in theVideoControl (VC) Interface. They describe the logical video data path inside a camera device.

Think of the UVC topology as a graph:

Camera Sensor │ ▼ Camera Terminal (Input Terminal) │ ▼ Processing Unit │ ▼ Output Terminal │ ▼ USB Host

1. Input Terminal (IT)

AnInput Terminalrepresents a source of video data entering the UVC function.

Examples:

  • Camera sensor

  • TV tuner

  • HDMI capture input

  • Composite video input

Descriptor type:

VC_INPUT_TERMINAL

Key fields:

bTerminalID wTerminalType

Common terminal types:

Terminal Type

Value

Meaning

Camera

0x0201

Camera sensor

Media Transport

0x0202

Digital video source

Vendor-specific

Various

Custom source

Example:

Input Terminal ID = 1 Type = Camera

means:

Video originates from a camera sensor.


2. Camera Terminal (CT)

ACamera Terminalis actually aspecialized Input Terminal.

In the descriptor:

wTerminalType = TT_CAMERA (0x0201)

When the terminal type is0x0201, the Input Terminal becomes aCamera Terminal.

Camera-specific controls

Camera Terminal provides camera-related controls:

  • Exposure Time

  • Focus

  • Zoom

  • Iris

  • Pan

  • Tilt

  • Roll

Example UVC controls:

CT_EXPOSURE_TIME_ABSOLUTE_CONTROL CT_FOCUS_ABSOLUTE_CONTROL CT_ZOOM_ABSOLUTE_CONTROL

Typical UVC webcam topology:

Camera Terminal │ ▼ Processing Unit │ ▼ Output Terminal

Descriptor example:

Camera Terminal ID = 1 Terminal Type = 0x0201

The host recognizes:

This device contains a controllable camera.

3. Output Terminal (OT)

AnOutput Terminalrepresents where the video stream leaves the internal UVC topology.

Descriptor type:

VC_OUTPUT_TERMINAL

For a USB webcam:

Output Terminal ↓ USB Streaming Interface ↓ Host PC

Typical type:

TT_STREAMING = 0x0101

Meaning:

Video is sent to a USB streaming endpoint.

Example:

Output Terminal ID = 3 Source ID = 2 Type = Streaming

where:

Camera Terminal(ID=1) │ ▼ Processing Unit(ID=2) │ ▼ Output Terminal(ID=3)

Typical Webcam Example

Most UVC cameras use:

Input Terminal (Camera) │ ▼ Processing Unit │ ▼ Output Terminal (USB Streaming)

Descriptor topology

Camera Terminal ID = 1 Processing Unit ID = 2 Source = 1 Output Terminal ID = 3 Source = 2

Graphically:

[Camera Terminal] │ ▼ [Processing Unit] │ ▼ [Output Terminal] │ ▼ USB Video Stream

UVC Capture Dongle Example

For an HDMI capture card:

HDMI Input │ ▼ Input Terminal │ ▼ Processing Unit │ ▼ Output Terminal │ ▼ USB Host

Here the Input Terminal isnota Camera Terminal.

Input Terminal Type != 0x0201

because the source is HDMI, not an image sensor.


How the Host Uses Them

When a PC enumerates a UVC device, it reads the VideoControl descriptors and builds a topology:

Entity 1 : Camera Terminal Entity 2 : Processing Unit Entity 3 : Output Terminal

The host then knows:

  1. Where video originates.

  2. What controls are available (exposure, focus, zoom, etc.).

  3. Where the video stream exits toward the streaming interface.

For example, on Linux:

v4l2-ctl --all

shows controls that come from:

  • Camera Terminal (focus, exposure, zoom)

  • Processing Unit (brightness, contrast, saturation)


Summary

Entity

Purpose

Typical Type

Entity

Purpose

Typical Type

Input Terminal

Video source entering the UVC graph

Camera, HDMI, TV tuner

Camera Terminal

Specialized Input Terminal for an image sensor

TT_CAMERA (0x0201)

Output Terminal

Video destination leaving the graph

TT_STREAMING (0x0101)

Processing Unit

Image processing block between them

Brightness, contrast, hue, etc.

The most common webcam topology is:

Camera Terminal ↓ Processing Unit ↓ Output Terminal ↓ USB Streaming Interface ↓ Host

where theCamera Terminaldescribes the sensor and camera controls, and theOutput Terminalconnects the processed video stream to the USB host.

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询