User Tools

Site Tools


gnd:streaming_zarecie

Video Stream

Pre streamovanie (videa, zvuku) potrebujeme par zakladnych veci:

  • Zdroj (zvuk, obraz, zi suboru alebo zivy)
  • Streamovacieho klienta (program ktory zdroj prekonvertuje do streamovacieho formatu)
  • Prehravacieho Klienta (program ktory sa napoji na dany stream a vie ho prehravat)

v pripade ze neriesime streamovanie z kuchyne do obyvacky, je potrebne mat aj streaming server - streamovaci klient odosle data na server a ten ich duplikuje klientom ktory si stream chcu prehravat. Priklad - streamujem z domu hudbu a mam pomalu linku, ak sa na mna napoji 20 ludi zahltia mi celu linku, preto pouzijem streaming server na ktory posielam data a ludia sa napajaju na streaming server - load je na nom.

Streamovacie Klienty

Vlc Media Player

Vlc je open-source prehravac videa a hudby. Dokaze prehravat priamy vstup z kamery, rozne streamy, subory. Vlc funguje na principe chainov - retazi transformacii, ktore sa aplikuju na dany vstup. Vlc vie aj vystup - najzakladnejsi vystup je na obrazovku. Dalsie moznosti su streamovanie po lokalnej sieti - napr. kamarat na intrakoch pozera DVD a 20 dalsich kamaratov sa napoji na jeho vystup, etc.

Streamovanie z Vlc z Linuxu

Streamovanie z Vlc z Windows

  • Drivre: Vlc, oggcodecs
  • Zdroj: Film na disku, Tv Karta, Digitalna Kamera, Webcam, iny stream
  • Vystup: na obrazovku, na moju adresu v sieti (situacia na intrakoch), na streaming server
How to

Nasledujuce prikazy davame do okienka vo vlc media playeri. Po krokoch:

  • Vstup z digitalnej kamery (nerobi nic, mam pocit .):
dshow:// :dshow-vdev="Microsoft DV Camera and VCR" :dshow-adev="" :dshow-size=""
  • je potrebne do retaze dat nejaku cast ktora bude robit vystup, v tomto pripade na obrazovku:
 
dshow:// :dshow-vdev="Microsoft DV Camera and VCR" :dshow-adev="" :dshow-size="" duplicate{dst=display}}
  • konverziu na stream a posielanie robi tato cast chainu:
:sout=#transcode{vcodec=theora,vb=256,scale=0.25}:std{access=shout,mux=ogg,url=source:nddwtrst@stream.itchybit.org:8000/tv404.ogg}
  • tato retaz zabezpeci ze sa video z kamery prekonvertuje na ogg / theora format:
:sout=#transcode{vcodec=theora,vb=256,scale=0.25}

vcodec je video kodek

vb je bitrate - kvalita, cim vacsia tym lepsie video, a tym vacsie naroky na rychlost netu

scale - zmensenie / zvacsenie. 0.25 je stvrtinovy format (v pripade digitalnej kamery je to stvrtinove rozlisenie ku PAL)

  • Dalsia cast chainu je samotne napajanie sa na server:
 
:std{access=shout,mux=ogg,url=source:nddwtrst@stream.itchybit.org:8000/tv404.ogg}

access - aky streaming server pouzivame, v tomto pripade shoutcast / icecast (to je jedno su rovnake, icecast je opensource, shoutcast je winamp ()na)

mux - v akej obalke mu posielame data. Data maju obalky, napriklad jpeg subor sa sklada zo samotnych dat, a potom obalky ktora hovori - toto je jpeg subor. Ogg je opensource format na zvul alebo video. Ogg ako zvuk (ogg / vorbis) je kvalitnejsi ako mp3. Ogg ako video (ogg / theora) je zase jediny opensourcovy video format ktory podporuje streamovanie. quicktime, mpeg4 a podobne su vsetko closed-source alebo licencovane veci.

url=_LOGIN_:_PASSWORD_@_SERVER_ADDRESS_:_PORT_/_MOUNTPOINT - tieto veci su potrebne pre kazde jedno streamovanie na server.
potrebujeme sa nalogovat, potrebujeme data posielat na spravny server na spravnom porte, a potrebujeme aby nas stream mal nejake meno na serveri kde sa nanho napoja prijemcovia. V tomto pripade pouzivame streaming server Itchybit.org
mountpointu dajte vlastne meno !!

  • Dokopy:
dshow:// :dshow-vdev="Microsoft DV Camera and VCR" :dshow-adev="" :dshow-size="" :sout=#transcode{vcodec=theora,vb=256,scale=0.25}:std{access=shout,mux=ogg,url=source:nddwtrst@stream.itchybit.org:8000/tv404.ogg}

Teraz je nase video z kamery pristupne na adrese http://stream.itchybit.org:8000/tv404.ogg.

Dvgrab & ffmnpeg2theora & oggfwd

Pure:dyne cd. Stiahnut sa da z http://royalrabbit.goto10.org/rl/. Slovensky mirror je na adrese puredyne.itchybit.org. Iso image napalit na cdcko a nabootovat z neho.

Navod na tejto stranke: http://www.v2v.cc/~j/ffmpeg2theora/examples.html

V skratke:

dvgrab --format raw | ffmpeg2theora -a 0 -v 5 -f dv -x 320 -y 240 -o /dev/stdout | oggfwd icecastserver 8000 pwd /theora.ogg

tato cast:

icecastserver 8000 pwd /theora.ogg

je nasa stara znama z VLC - LOGIN:PASSWORD@SERVER_ADDRESS:PORT_/__MOUNTPOINT - teda pristupove data na server, len v inom zapise.

gnd/streaming_zarecie.txt · Last modified: 2007/07/13 13:44 (external edit)