Ugrás a tartalomhoz

Video4Linux

Ellenőrzött
A Wikipédiából, a szabad enciklopédiából
Video4Linux
Programozási nyelvC
Operációs rendszerGNU/Linux
Kategóriaszabad szoftver
LicencGNU General Public License
A Video4Linux weboldala

A Video4Linux, röviden V4L, illetve annak továbbfejlesztett változata, a V4L2 (Video4Linux2) a Linux operációs rendszer videóeszköz-kezelő alrendszere és programozási felülete (API).[1] Feladata, hogy egységes módon biztosítsa a különféle videóeszközök — webkamerák, USB-s videó-digitalizálók, TV-tuner kártyák és egyéb képrögzítő eszközök — elérését a felhasználói alkalmazások számára. A Video4Linux a Linux kernel része, és széles körben használják a videófelvételre, streamelésre és képfeldolgozásra szolgáló szoftverek. A Video4Linux elnevezés a „Video for Windows” kifejezés mintájára született, azonban nem áll közvetlen műszaki kapcsolatban a Microsoft Windows videókezelő rendszereivel. A V4L2 és a V4L2 a Linux kernel licencét követi, azaz GNU General Public License v2 (GPL-2.0) licenc alatt lett közzétéve.

Története

[szerkesztés]

Eső változata a Linux 2.1.x fejlesztési ágában jelent meg. Az eredeti API idővel nehezen bővíthetőnek bizonyult, ezért létrejött a Video4Linux2 (V4L2), amely egységesebb eszközmodellt vezetett be, rugalmasabb formátumkezelést tett lehetőv és javította az eredeti V4L tervezési hiányosságait. A V4L2 fejlesztését 1999-ben kezdte el Bill Dirks. Az API-t 2002-ben ismét felülvizsgálták, mielőtt beépítették a Linux 2.5.x/2.6 kernelt. Napjainkban a Linux rendszerek szinte kizárólag a V4L2 interfészt használják, az eredeti V4L gyakorlatilag kifutottnak tekinthető. A Video4Linux és Video4Linux2 alrendszer fejlesztését és karbantartását a kezdetektől a LinuxTV közösség végzi.

Működési jellemzői

[szerkesztés]

A Video4Linux a Linux kernelben működik. Rendszerhívásokon (ioctl) keresztül működik, ezért zárt forrású programok is használhatják.

Az egyes videóeszközökhöz eszközfájlokat rendel, jellemzően az alábbi formában:

/dev/video0
/dev/video1
...
/dev/video*

A felhasználói programok ezeken az eszközfájlokon keresztül érhetik el a videóadatokat. A V4L2 szabványos módon kezeli többek között:

  • a képfelbontást,
  • a képkockasebességet (FPS),
  • a pixel- és tömörítési formátumokat,
  • a streaming és bufferelési mechanizmusokat.

A Video4Linux elsősorban az alábbi típusú eszközök kezelésére szolgál:

  • USB webkamerák (UVC-kompatibilis eszközök),
  • USB-s és PCI-os videódigitalizálók,
  • TV-tuner és capture kártyák,
  • egyes beágyazott rendszerek videóbemenetei.

A Video4Linux és Video4Linux2-t túlnyomórészt C nyelven írták, miután a Linux kernel szinte teljes egészében C-ben íródott és a V4L2 a kernel része, és a hardverközeli, alacsony szintű vezérléshez eleve a C használata a legalkalmasabb. Nem minden kameratípus használja közvetlenül a V4L2-t, például egyes beágyazott kamerák (pl. MIPI-CSI interfészen csatlakozó szenzorok) külön kezelőrétegen keresztül érhetők el. A BSD rendszerekhez rendelkezésre áll a Video4BSD kompatibilitási réteg, amely lehetővé teszi a V4L-t használó linuxos alkalmazások futtatását. Egyes Linux disztribúciókban elérhető a libcamera kamera-kezelő keretrendszer, amely bizonyos eszközök esetén kiváltja vagy kiegészíti a V4L2-t. Például a Raspberry Pi OS-ban alapértelmezetten telepítve van a libcamera, amely az operációs rendszer hivatalos kamera stackja és kezeli a Raspberry Pi-hez csatolható MIPI-CSI kamerát. Az elterjedt disztribúciókban (Ubuntu, Debian, Fedora stb.) nincs előre telepítve, de csomagkezelőből (pl. apt, pacman) könnyen telepíthető.

Diagnosztikai és vezérlő eszköz

[szerkesztés]

A v4l2-ctl parancssoros diagnosztikai és vezérlő eszköz áll rendelkezésre a Video4Linux2 rendszerhez. Ez valójában nem alkalmazás, hanem egy alacsony szintű interfész a V4L2 kernel API-hoz. Karbantartása és fejlesztése szintén a LinuxTV közösséghez kötődik, a v4l-utils csomag részeként.

Szoftvertámogatás

[szerkesztés]

Számos linuxos multimédiás és képfeldolgozó alkalmazás használja a Video4Linux2 interfészt. A V4L2 biztosítja, hogy ezek a programok egységes módon férjenek hozzá a különböző gyártók videóeszközeihez.

V4L2-t használó fontosabb alkalmazások:

Jegyzetek

[szerkesztés]
  1. An Introduction to the Video4Linux Framework (angol nyelven). archive.fosdem.org. (Hozzáférés: 2026. február 5.)

Források

[szerkesztés]

További informáációk

[szerkesztés]