LINUXSOFT.cz
Username: Password:     
    CZ UK PL

> Digitální video v Linuxu (1.)

První ze série článků pojednávajících o digitálním videu v Linuxu. Úvodní část se zabývá získáváním videa z digitální kamery.

6.12.2004 13:00 | o.k. | read 19203×

DISCUSSION   

Vánoce se blíží a protože ceny digitálních kamer klesají, určitě se nejednomu z vás stane, že digitální kameru nalezne pod stromečkem.

Vzhledem k tomu, že návodů jak pracovat s videem pod Linuxem je jako šafránu, rozhodli jsme se vám díky několika článkům/návodům o digitálním videu pod Linuxem tuto problematiku trochu přiblížit.

Nejdůležitější je mít digitální kameru, která má rozhraní ieee1394 (firewire), což většina dnešních digitálních kamer splňuje. Kamery s tímto rozhraním obvykle dobře fungují a jen malé procento je pod Linuxem zcela nefunkční. Podrobnější seznam typů digitálních kamer, které pod Linuxem fungují naleznete na stránkách http://www.linux1394.org/, konkrétně pak v sekci "Compatibility" a v její podsekci "Digital Camera".

Pokud váš typ digitální kamery v uvedeném seznamu není, tak to ještě neznamená, že není funkční pod Linuxem, ale pouze to, že pro tuto kameru ještě nikdo nepřidal relevantní záznam. Zkuste kameru podle tohoto návodu zprovoznit, či se podívat na Googlu zda někomu pod Linuxem funguje nebo se případně můžete zeptat v diskuzním fóru. Také tuto digitální kameru potom můžete přidat do seznamu jako funkční či nefunkční zařízení pod Linuxem.

My vlastníme digitální kameru Panasonic NV-GS15EG, která dle seznamu funguje pod Linuxem opravdu dobře - což v tuto chvíli již můžeme potvrdit.

Pokud se teprve chystáte digitální kameru kupovat a chcete s ní pracovat výhradně pod Linuxem (kde taky jinde, že), tak doporučuji při výběru typu klást důraz i na výše uvedený seznam. To platí i pro ty, kteří si o ni napsali Ježíškovi :-)

Dále samozřejmě potřebujeme mít v počítači i ieee1394 adaptér, který u novějších základních desek bývá již její součástí. Pokud jej na základní desce nemáme, tak není problém si jej koupit jako PCI kartu. Pozor, zde musím také upozornit na to, že ne všechny PCI ieee1394 karty pod Linuxem fungují.

Seznam funkčních firewire karet můžete opět nalézt na stránkách www.linux1394.org v sekci "Hardware Compatibility List->Host Adapter" nebo v sekci "Chipset". V našich končinách jsou celkem rozšířené karty Kouwell.

Také nemohu nezmínit, že pro připojení digitální kamery s počítačem je zapotřebí mít ten správný ieee1394 kabel, ale to je asi všem jasné.

Ještě zmíním některé hardwarové nároky, které by měl náš počítač splňovat, aby práce byla snesitelná. Každý z vás asi tuší, že video si vyžádá jisté prostředky systému. Především je zapotřebí mít slušně rychlý disk, což u moderních počítačů je jistě splněno. Za limitní hranici použitelnosti by se dal ještě považovat disk, který dokáže zapisovat rychlostí 4MB/s. Dále je potřebné mít na disku dostatek místa, protože DV formát potřebuje přibližně až 15GB místa na jednu hodinu záznamu, což není zrovna málo. Pro stažení videa z kamery není zapotřebí mít nějak extrémně výkonný procesor - výkon procesoru je znát až při případném překódování či při případné úpravě videa.

Hardware v našem případě bude zastupovat 64bitový AMD Athlon se solidně rychlým 160GB SATA diskem podpořený 1GB paměti a s firewire řadičem integrovaným na zakladové desce (viz tento článek).

Poté co jsme si probrali potřebný hardware se můžeme směle pustit do softwaru potřebného pro nahrávání videa z kamery.

V prvé řadě budeme potřebovat funkční kernel s podporou IEEE1394, což drtivá většina moderních distribucí splňuje. Pokud máte distribuci, která podporu IEEE1394 v kernelu nemá, pak vám nezbude nic jiného než si zkompilovat vlastní nový kernel, či případně si pomocí patchů podporu do starého jádra dodat. Na tomto místě naleznete podrobný návod se vším potřebným, který vám podporu firewire zařízení do staršího jádra pomůže krok za krokem nainstalovat.

Pokud nemáme podporu firewire zakompilovanou přímo do jádra, stejně tak jako to nemám já v systému Fedora Core 3 pro 64bit, tak musíme nejprve nahrát příslušné moduly.

Obvykle budete mít v jádře již defaultně nahranou tuto dvojici modulů, viz výpis příkazu lsmod

ohci1394               41305  0 
ieee1394              383569  1 ohci1394

Dále je zapotřebí do jádra načíst ještě modul s názvem raw1394 a modul dv1394.

modprobe dv1394
modprobe raw1394

Po nahrání těchto modulů by měl výpis příkazu lsmod vypadat následovně

dv1394                 29753  0 
raw1394                41305  0
ohci1394               41305  1 dv1394
ieee1394              383569  3 dv1394,raw1394,ohci1394

Další věcí, kterou je mít zapotřebí v systému je knihovna libraw1394, protože veškerý software pro získávání videa z digitální kamery je závislý právě na této knihovně. Pokud nemáte tuto knihovnu ve vašem systému ve formě balíčku, tak si ji můžete stáhnout z této adresy a posléze pomocí klasické magické trojkombinace

 ./configure && make && make install

ji do systému nainstalovat.

Jestliže v systému nemáte zařízení /dev/raw1394, tak jej následujícím způsobem vytvoříme (samozřejmě jako uživatel root)

mknod -m 600 /dev/raw1394 c 171 0

Ve finále budeme potřebovat program dvgrab, který je k nalezení na stránkách http://kino.schirmacher.de/, konkrétně pak zde. Na těchto stránkách najdete spoustu dalšího softwaru a informací pojednávajících o digitálním videu pod Linuxem a software z těchto stránek budeme ještě využívat v dalších dílech zabývajících se editací videa.

Pokud máme veškeré softwarové vybavení připravené, můžeme se směle pustit do otestování naší digitální kamery.

Ještě před připojením samotné kamery k počítači je dobré otestovat funkčnost knihovny libraw a to programem testlibraw. Výstup tohoto programu by měl být podobný tomuto níže uvedenému:

1 card(s) found
  nodes on bus:  1, card name: ohci1394
using first card found: 1 nodes on bus, local ID is 0, IRM is 0

doing transactions with custom tag handler
trying to send read request to node 0... completed with value 0xdbdbcf8a

using standard tag handler and synchronous calls
trying to read from node 0... completed with value 0x9a09d08a

testing FCP monitoring on local node
got fcp command from node 0 of 8 bytes: 01 23 45 67 89 ab cd ef
got fcp response from node 0 of 8 bytes: 01 23 45 67 89 ab cd ef
testing config rom stuff
get_config_rom returned 0, romsize 64, rom_version 5
here are the first 10 quadlets:
0. quadlet: 0x1fac0404
1. quadlet: 0x34393331
2. quadlet: 0x32a264e0
3. quadlet: 0x00dc1000
4. quadlet: 0x61bf6d00
5. quadlet: 0xe8b10300
6. quadlet: 0xdc100003
7. quadlet: 0x02000081
8. quadlet: 0xc083000c
9. quadlet: 0x2a2c0600
update_config_rom returned 0

polling for leftover messages

Tímto máme ověřenu funkčnost karty a modulů a můžeme připojit kameru pomocí ieee1394 kabelu.

Před samotným stáhnutím videa z digitální kamery je zapotřebí tuto přepnout do módu VCR (mód pro přehrávání) a přetočit záznam na začátek. Pak nám již stačí spustit program dvgrab, například takto

dvgrab --autosplit --format dv2 our_video

Capture Started                                                                 
"our_video001.avi":    78.41 MB 542 frames 
                timecode 00:11:54.05 date 2004.12.03 19:14:45

a výsledkem bude jeden či více souborů s názvem our_video001.avi ve formátu dv2.

Volba --autosplit detekuje začátek nového záznamu a výsledkem této volby je několik *.avi souborů, podle počtu přerušení nahrávání záznamu digitální kamerou.

Formát dv2 je avi s oddělenou audio a video stopou - tento formát je náročnější na místo na disku, ale zato jej podporuje více aplikací při případném dalším zpracování.

Zadáte-li místo volby --format dv2 volbu --format jpeg získáte na výstupu místo videa tisíce fotek ve formátu *.jpg.

Myslím si, že není potřeba popisovat nějak podrobně jednotlivé volby programu dvgrab, pozorní čtenáři si jistě všechny možnosti nastavení naleznou v manuálové stránce tohoto programu.

Pokud je disk příliš pomalý na záznam videa z kamery nebo pokud při záznamu provádíte další operace náročné na práci s diskem bude program dvgrab zahazovat některé snímky o čemž vás bude informovat.

Doufám, že se všem povedlo díky tomuto návodu získat video z digitální kamery do počítače, pokud ano, tak první nejtěžší krok máte úspěšně za sebou a můžete svému tučňákovi blahopřát jak je šikovný - zbytek už je jen o konverzi a editaci videa pod Linuxem.

Dvgrab samozřejmě není jediný program pro získání videa z digitální kamery, ale protože jsem velkým zastáncem příkazové řádky díky efektivitě práce v ní, tak jsem po tomto programu sáhl nejdříve a uvedl jsem ho jako první možnost. V dalších článcích zmíním i jiné, grafické programy, které toto také umí a každý nechť si vybere co mu nejlépe vyhovuje. Já však zůstanu u programu dvgrab.

Případné otázky a náměty směřujte do diskuze pod článkem. V dalším článku se podíváme na to, jak video převést do jiného formátu.

 

DISCUSSION

For this item is no comments.

Add comment is possible for logged registered users.
> Search Software
> Search Google
1. Pacman linux
Download: 4881x
2. FreeBSD
Download: 9068x
3. PCLinuxOS-2010
Download: 8564x
4. alcolix
Download: 10950x
5. Onebase Linux
Download: 9662x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 6248x

1. xinetd
Download: 2414x
2. RDGS
Download: 937x
3. spkg
Download: 4762x
4. LinPacker
Download: 9968x
5. VFU File Manager
Download: 3199x
6. LeftHand Mała Księgowość
Download: 7204x
7. MISU pyFotoResize
Download: 2813x
8. Lefthand CRM
Download: 3564x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 3123x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz