IPTV KHnet

Z KHnetWiki

(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
m (cíle)
m (hardware)
Řádka 35: Řádka 35:
TV [http://www.linuxtv.org/v4lwiki/index.php/Asus/P7131_Hybrid Asus P7131 Hybrid] (4ks)
TV [http://www.linuxtv.org/v4lwiki/index.php/Asus/P7131_Hybrid Asus P7131 Hybrid] (4ks)
-
Je inzerovaný jako tichý. Ale v pojetí fujitsu je to tiché tak možná do hlučné kanceláře. Pokud běží všechny větráky, je to docela turbína (3x 120mm větrák cca 1500 otáček, plus zdroj a aktivní 1U na druhém procesoru). Tok vzduchu uvnitř moc dobře vyřešen není.
+
Je inzerovaný jako tichý. Ale v pojetí fujitsu je to tiché tak možná do hlučné kanceláře. Pokud běží všechny větráky, je to docela turbína (3x 120mm větrák cca 1500 otáček, plus zdroj a aktivní 1U na druhém procesoru). Tok vzduchu uvnitř moc dobře vyřešen není.<br>
 +
Ani nebyl moc drahý, 18 tisíc s daní plus processor a karty.
Karta č. 4 v PCI slotu, 1 až 3 v PCI-X slotech.
Karta č. 4 v PCI slotu, 1 až 3 v PCI-X slotech.

Verze z 24. 5. 2008, 10:54

Obsah

Streaming pomocí TV karet a VLC

cíle

Vyzkoušet možnosti a náročnost skutečné IPTV v síti khnet, dva až čtyři volně šiřitelné programy (co lze chytit ve vzduchu, lze šířit v uzavřené síti, viz právní analýza od pilsfree).

Kanály jsou šířeny v MPEG4 kódování s bitrate 2048kbit (průměrně 2.3Mbit, audio je 192kbit) a plným PAL rozlišení (720x576). Použitý kodek ffmpeg (mp4v a a52 - AC3).

Vysílání je ve zkušebním režimu, pouze pokud je zapnutý server. Probíhají stále zkoušky, ladění a testy.

kanály:
http://media.khnet.info:9001/channel1
http://media.khnet.info:9002/channel2
http://media.khnet.info:9003/channel3
atd ... až do devítky. Kompletní playlist lze stáhnout [1].


na wifi připojeních to nikdy nezkoušejte moc dlouho (raději vůbec), zbytečně brzdíte ostatním provoz!

Rádio Beat:
pokud běží, využívá čtvrtou kartu, tedy TV channel4 v tu chvilku nefunguje. V rámci testování čtvrtý kanál neběží, neboť nemám kabel, ani volný konektor v rozbočovači.
http://hekate.khnet.info:9000/beat.ogg (nebo beat_low.ogg - pro wifináře, bitrate je cca 60kbit/s)

Přehrávání vyzkoušeno pouze ve VLC playeru (je naštěstí multiplatformní, funguje všude a na všem), ve windows MediaPlayer to nějak nejede. Je nutné mít nainstalovaný správný kodek, funguje to s ffdshow (lze využít balík CCCP). VLC má ovšem kodeky vlastní.
Rádio by mělo jít přehrát leckde, jede to i ve winampu, byť nějak podivně (občas jakoby záseky). VLC je opět naprosto v pohodě (pokud se nezapne vizualizace).

Do VLC se to píše jako Network Stream (malý návod) a vybrat se musí způsob HTTP/HTTPS/FTP/MMS - tam se vloží vybraný kanál z odstavce o trochu výše. Své dojmy, nápady, návrhy či jiná sdělení pište do fóra IPTV.

Kanály s číslem větším, než 4 jsou přebírané streamy. Většinou ve čtvrtinovém rozlišení a méně než polovičním datovým tokem. Bohužel moc nefungují.

hardware

server Fujitsu Econel 200 S2 Xeon E5310 1.6GHz (quadcore, 2ks), chipset intel5000V, 2GB RAM
TV Asus P7131 Hybrid (4ks)

Je inzerovaný jako tichý. Ale v pojetí fujitsu je to tiché tak možná do hlučné kanceláře. Pokud běží všechny větráky, je to docela turbína (3x 120mm větrák cca 1500 otáček, plus zdroj a aktivní 1U na druhém procesoru). Tok vzduchu uvnitř moc dobře vyřešen není.
Ani nebyl moc drahý, 18 tisíc s daní plus processor a karty.

Karta č. 4 v PCI slotu, 1 až 3 v PCI-X slotech.

software

Linux kernel 2.6.24 (x86_64)
modul saa7134 a saa7134-alsa

modprobe.conf:

options saa7134 card=112,112,112,112 tuner=54,54,54,54 video_nr=1,2,3,4 vbi_nr=1,2,3,4 radio_nr=1,2,3,4 gpio_tracking=1,1,1,1 i2c_scan=1,1,1,1
options saa7134-alsa index=1,2,3,4

modul saa7134-alsa natahován explicitně v rc.conf, automaticky v modprobe.conf to nějak nefungovalo.

VLC
Závislosti vyřešeny pomocí balíčku (pacman -Sy vlc), posléze odinstalovány balíčky ffmpeg, x264 a vlastní vlc (překlad ze zdrojáků).
gpac

...
poznámečky:

nové verze kodeků ffmpeg (2.5.2008, poslední balíček archlinux i svn snapshot) mají nemilou vlastnost - nelze určit bitrate ve vlc, parametr je naprosto ignorován. Pro plný PAL (720x576) nebyl problém generovat 16Mbit datový tok (přitom vizuálně to nebylo nijak znatelně lepší, než současný 2Mbit). Stejně se chová i binární instalace windows VLC (0.8.6f). Je nutné použít verzi starší - vyzkoušen ffmpeg-20070505.tar.gz, funguje bezproblémově (tedy pro mp4v).

balík x264 je kompilovaný ze zdrojů, ovšem bez valného výsledku. Stream se mi nedaří přehrát. Nemluvě o znatelně vyšší náročnosti na CPU (odhad 2-3x).

při definici input streamu (tedy čtení z tv karty) vlc ignoruje cestu adev=/dev/dsp# (zvuk), vždy použije /dev/dsp. Je nutné přidat parametr --v4l-dev /dev/dsp#

je nutné parametrizovat sampling zvuku. default je asi 48kHz a u těchto karet způsobuje MickeyMouseSound (terminus technicus z nějaké diskuse). Musí se použít 32kHz.

streaming pomocí rtsp je ve verzi 0.8.6f prakticky nepoužitelné, nefunguje žádný timeout (ani nelze ladit). Pokud klient skončí s příjmem kanálu neregulérně (zásek widlí, pád VLC nebo sítě), server stream posílá pořád dál, nelze to ukončit jinak, než zhozením procesu na serveru.

nefunguje parametr --ttl, lze obejít nastavením iptables (-t mangle -A POSTROUTING ... -j TTL --set-ttl ##)

rádio se nedaří naladit přímo VLCčkem, je nutné vedle pustit pomocí fmtools (a nechat běžet). VLC jsem na toto zavrhnul a použit je ices2 a stream (po dvojitém recodingu do ogg) posílán na IceCast server (již běží na http://hekate.khnet.info:9000).

Náročnost CPU se pohybuje okolo 20-30 každé jádro, load okolo 1. Není zatím zajištěna závislost na počtu on-line klientů, maximum zatím bylo cca 3 a na vytížení to nijak extra poznat nebylo. Pokus spustit 14 instancí VLC na jednom počítači byl poměrně úspěšný, byť toho Core2 na 2.6GHz mělo naprosto plné zuby. Ale server to kromě datového toku na síťovce (přes 80Mbit, trochu jsem při pokusu zvýšil bitrate) nijak nepoznal.

Náročnost na sběrnice. Odhaduji na cca 25MB/s pro jeden analogový kanál. Karta je poměrně blbá, data dává v kódování I420 (12 bitů na pixel). Naštěstí by měla používat DMA (existuje vůbec něco, co to neumí?).

Nehodlám řešit streaming pro WindowsMediaPlayer. Prostě to nejde. V nejlepším případě jsem to rozjel pouze za pomoci proprietálního kodeku MS (FourCC MP43), který ale zjevně není kompatibilní s MPEG4-ASP. Také mám pocit, že je náročnější na CPU a kvalita je o něco horší. Ze všech ostatních testů je výsledek - nejde to. Maximálně zvuk, obraz jenom černý ... Závislost na instalovaných kodekách nezjištěna. Používám balík CCCP a v něm je ffdshow, které umí snad vše. WMP si prostě něco myslí a neumím to ohnout. Možná je problém ve verzi ffmpeg kodecích (viz poznámka o nutnosti rok staré verze), ale nové zkoušet nemá smysl. Kromě toho soubor kódovaný stejným kodekem jako stream přehrát lze. Online ale ne.

Odkazy

Typy kódování

Osobní nástroje