← Documents Documentation/userspace-api/media/intro.rst GitHub 원문 ↗

Linux 6.18.37 · Userspace API / Media / Overview

Linux Media userspace API 소개

Media streaming device 범위와 V4L2, Digital TV, RC, Media Controller, CEC API의 역할을 설명합니다.

Source pathDocumentation/userspace-api/media/intro.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약·해설

intro.rst:1-46

Media hardware는 capture와 control block이 bridge·system bus를 통해 CPU에 연결된 복합 구조입니다. Userspace API는 기능 영역별 다섯 부분으로 나뉘며 audio component는 ALSA API가 담당합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 .. SPDX-License-Identifier: GPL-2.0
2
3 ============
4 Introduction
5 ============
6
7 This document covers the Linux Kernel to Userspace API's used by video
8 and radio streaming devices, including video cameras, analog and digital
9 TV receiver cards, AM/FM receiver cards, Software Defined Radio (SDR),
10 streaming capture and output devices, codec devices and remote controllers.
11
12 A typical media device hardware is shown at :ref:`typical_media_device`.
13
14 .. _typical_media_device:
15
16 .. kernel-figure:: typical_media_device.svg
17 :alt: typical_media_device.svg
18 :align: center
19
20 Typical Media Device
21
22 The media infrastructure API was designed to control such devices. It is
23 divided into five parts.
24
25 1. The :ref:`first part <v4l2spec>` covers radio, video capture and output,
26 cameras, analog TV devices and codecs.
27
28 2. The :ref:`second part <dvbapi>` covers the API used for digital TV and
29 Internet reception via one of the several digital tv standards. While it is
30 called as DVB API, in fact it covers several different video standards
31 including DVB-T/T2, DVB-S/S2, DVB-C, ATSC, ISDB-T, ISDB-S, DTMB, etc. The
32 complete list of supported standards can be found at
33 :c:type:`fe_delivery_system`.
34
35 3. The :ref:`third part <remote_controllers>` covers the Remote Controller API.
36
37 4. The :ref:`fourth part <media_controller>` covers the Media Controller API.
38
39 5. The :ref:`fifth part <cec>` covers the CEC (Consumer Electronics Control) API.
40
41 It should also be noted that a media device may also have audio components, like
42 mixers, PCM capture, PCM playback, etc, which are controlled via ALSA API. For
43 additional information and for the latest development code, see:
44 `https://linuxtv.org <https://linuxtv.org>`__. For discussing improvements,
45 reporting troubles, sending new drivers, etc, please mail to: `Linux Media
46 Mailing List (LMML) <http://vger.kernel.org/vger-lists.html#linux-media>`__.
47

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

지원 장치와 전형적인 media device

1-23

이 문서는 video camera, analog/digital TV receiver card, AM/FM receiver card, Software Defined Radio(SDR), streaming capture/output device, codec device, remote controller를 포함하여 video와 radio streaming device가 사용하는 Linux Kernel-to-userspace API를 다룹니다.

전형적인 media device hardware는 `typical_media_device` 참조의 `typical_media_device.svg`에 제시됩니다. 원문 figure는 가운데 정렬되며 대체 text도 같은 file 이름입니다.

전형적인 Media Device의 구성
영역구성 요소와 흐름
Digital TV frontendFM/TV tuner, demodulator, satellite equipment control, conditional access module, demux, smartcard
Radio / Analog TVAudio decoder·encoder와 video decoder·encoder
WebcamSensor와 bridge/DMA, image processing block
Control pathI2C control bus, button/key/IR input logic, EEPROM
Host pathBridge/DMA에서 PCI·USB·SPI·I2C 등의 system bus를 거쳐 CPU로 연결

원문 그림의 주요 hardware block과 연결 관계를 읽기 쉬운 구조로 정리했습니다. 그림은 가능한 모든 block을 완전히 열거한 것이 아닙니다.

전형적인 capture 흐름
Tuner·sensor·decoder에서 media signal 입력Demod·demux·codec·processing block에서 변환Bridge와 DMA가 stream을 수집PCI·USB·SPI·I2C 등의 system bus로 전달CPU와 userspace가 Media API로 제어·소비

원문 그림의 공통 데이터 경로를 구조화한 도식입니다.

Media infrastructure API는 이러한 장치를 제어하도록 설계되었으며 다섯 부분으로 나뉩니다.

.. SPDX-License-Identifier: GPL-2.0

============
Introduction
============

This document covers the Linux Kernel to Userspace API's used by video
and radio streaming devices, including video cameras, analog and digital
TV receiver cards, AM/FM receiver cards, Software Defined Radio (SDR),
streaming capture and output devices, codec devices and remote controllers.

A typical media device hardware is shown at :ref:`typical_media_device`.

.. _typical_media_device:

.. kernel-figure:: typical_media_device.svg
    :alt:   typical_media_device.svg
    :align: center

    Typical Media Device

The media infrastructure API was designed to control such devices. It is
divided into five parts.

Media infrastructure API의 다섯 부분

24-40
Media API 다섯 부분
부분범위
1. V4L2`v4l2spec`: radio, video capture/output, camera, analog TV device, codec
2. Digital TV`dvbapi`: 여러 digital TV 규격을 통한 TV와 Internet 수신
3. Remote Controller`remote_controllers`: Remote Controller API
4. Media Controller`media_controller`: Media Controller API
5. CEC`cec`: Consumer Electronics Control API

각 부분이 담당하는 hardware와 원문 참조를 대응시킵니다.

두 번째 부분은 DVB API라고 부르지만 실제로는 DVB-T/T2, DVB-S/S2, DVB-C, ATSC, ISDB-T, ISDB-S, DTMB 등 여러 video standard를 포괄합니다. 지원하는 전체 delivery system 목록은 `fe_delivery_system` type에서 확인합니다.


1. The :ref:`first part <v4l2spec>` covers radio, video capture and output,
   cameras, analog TV devices and codecs.

2. The :ref:`second part <dvbapi>` covers the API used for digital TV and
   Internet reception via one of the several digital tv standards. While it is
   called as DVB API, in fact it covers several different video standards
   including DVB-T/T2, DVB-S/S2, DVB-C, ATSC, ISDB-T, ISDB-S, DTMB, etc. The
   complete list of supported standards can be found at
   :c:type:`fe_delivery_system`.

3. The :ref:`third part <remote_controllers>` covers the Remote Controller API.

4. The :ref:`fourth part <media_controller>` covers the Media Controller API.

5. The :ref:`fifth part <cec>` covers the CEC (Consumer Electronics Control) API.

ALSA 연동과 개발 커뮤니티

41-46

Media device에는 mixer, PCM capture, PCM playback 같은 audio component도 있을 수 있으며 이들은 ALSA API로 제어합니다.

추가 정보와 최신 개발 code는 `https://linuxtv.org`에서 확인합니다.

개선 논의, 문제 보고, 새 driver 제출 등은 `Linux Media Mailing List (LMML)`로 보냅니다. 원문 링크는 `http://vger.kernel.org/vger-lists.html#linux-media`입니다.

It should also be noted that a media device may also have audio components, like
mixers, PCM capture, PCM playback, etc, which are controlled via ALSA API.  For
additional information and for the latest development code, see:
`https://linuxtv.org <https://linuxtv.org>`__.  For discussing improvements,
reporting troubles, sending new drivers, etc, please mail to: `Linux Media
Mailing List (LMML) <http://vger.kernel.org/vger-lists.html#linux-media>`__.