Blog Ubuntu -- Správa "projektů" české komunity Ubuntu
Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
mojeID OpenID
Pokročilé vyhledávání  

Novinky:

Ubuntu týdeník, číslo 18/2012 pro týden 30. dubna - 6. května 2012.

Autor Téma: Streaming server - více datových toků - jak?  (Přečteno 715 krát)

Lukáš

  • Návštěvník
  • *
  • Karma: +1/-0
  • Pohlaví: Mužské
  • Příspěvků: 38
    • Zobrazit profil
    • http://www.gfhacker.wz.cz/
Streaming server - více datových toků - jak?
« kdy: 03 Duben 2009, 20:30:34 »

Ahoj,

potřeboval bych streamovat video v několika odlišných datových tocích, je něco co by jste mi mohli doporučit? VLC, aspoň já jsem to tak pochopil, má možnost streamovat jenom v jednou dat. toku..

Díky
IP zaznamenána
Ubuntu 6.10 (No windows, no gates ), MSI K9N SLI-2F, AMD Athlon X2 4000+ 2MB Cache, 2x512MB RAM DDR II, ATI Radeon X600 Pro, 80GB WD800 HDD.

Martin Kiklhorn

  • Občanské sdružení Ubuntu ČR
  • Administrátor fóra
  • Závislák
  • *****
  • Karma: +488/-23
  • Pohlaví: Mužské
  • Příspěvků: 4570
  • グーグル!ご存知ですか?
    • Jabber/AQQ
    • Zobrazit profil
    • HEJ
Re: Streaming server - více datových toků - jak?
« Odpověď #1 kdy: 06 Duben 2009, 10:49:02 »

Proč by měl umět jenom v jednom? Prostě nakombinujte moduly tak jak potřebujete.
Takhle nastreamuju video multicastem rovnou ze serveru bez grafiky (--intf dummy), a i se SAP playlistem, ve dvou různých bitratech.
Kód: [Vybrat]
vlc -vvv mvi_2322.avi --intf dummy --sout '#duplicate{dst="transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:std{access=udp,mux=ts,dst=239.255.12.41,sap,group=tst,name=test1}",dst="transcode{vcodec=mp4v,acodec=mpga,vb=400,ab=64}:std{access=udp,mux=ts,dst=239.255.12.42,sap,group=tst,name=test2}"}' --ttl 3
Trochu zkusím osvětlit, sledujte uvozovky, zkusím to rozepsat jakoby šablonu:
Základ je modul duplicate, protože chci původní zdroj rozmnožit
'#duplicate{dst="cokloliv",dst="cokolivjiného"}'
případně můžeme pokračovat dál, chci to třikrát...
'#duplicate{dst="cokloliv",dst="cokolivjiného",dst="cokolivdalšího"}'

za cokoliv* si dosaďte zase libovolnou konstrukci, já používám nyní že to chci transkódovat, poslat ven udp protokolem a posílat i položku SAP playlistu
transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:std{access=udp,mux=ts,dst=239.255.12.41,sap,group=tst,name=test1}

klidně místo poslání do :std{}
si to můžete poslat třeba na další :duplicate{dst="cokolivčtvrtého",dst="cokolivpátého"}
a již transkódovaný tok třeba poslat různými protokoly ven.
konkrétně třeba namísto druhého :dst v úplně prvním příkladu použiji
:duplicate{dst=std{access=file,dst=prekodovano.avi},dst=std{access=http,mux=ts,dst=:8080}}

celé to tedy bude vypadat
Kód: [Vybrat]
vlc -vvv mvi_2322.avi --intf dummy --sout '#duplicate{dst="transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:std{access=udp,mux=ts,dst=239.255.12.41,sap,group=tst,name=test1}",dst="transcode{vcodec=mp4v,acodec=mpga,vb=400,ab=64}:duplicate{dst=std{access=file,dst=prekodovano.avi},dst=std{access=http,mux=ts,dst=127.0.0.1:88}}"}' --ttl 3
tím budu tedy duplikovat původní zdroj na dva proudy
1. proud překóduji s tokem pro video=800, audio=128 a pošlu přes UDP spolu s položkou SAP multicastem ven
2. proud překóduji s tokem pro video=400, audio=64 a tento již překódovaný proud rozdělím (zduplikuji) na "podproud A" a "podproud B"
"podproud A" uložím do souboru prekodovano.avi
"podproud B" pošlu protokolem http na port :88   

Doufám že to takto stačí.
Syntaxe je jakmile ji jednou pochopíte naprosto primitivní, jen si postupně doplňujete obsah základní konstrukce.
IP zaznamenána
Jsou ve vašem dotazu OPRAVDU VŠECHNY vám dostupné informace o problému?
Linux user since 2007-10-11, Registered #456007
Virtual
| Distribuce
~/slozka znamená /home/"vase jmeno"/slozka
6521 69DE 0F34 FCBC FB1D  DE76 360E 52B2 F71A B8E8

Lukáš

  • Návštěvník
  • *
  • Karma: +1/-0
  • Pohlaví: Mužské
  • Příspěvků: 38
    • Zobrazit profil
    • http://www.gfhacker.wz.cz/
Re: Streaming server - více datových toků - jak?
« Odpověď #2 kdy: 09 Duben 2009, 15:25:49 »

Tak děkuju.. :-) snad to nějak zvládnu...
IP zaznamenána
Ubuntu 6.10 (No windows, no gates ), MSI K9N SLI-2F, AMD Athlon X2 4000+ 2MB Cache, 2x512MB RAM DDR II, ATI Radeon X600 Pro, 80GB WD800 HDD.