Strujanje multimedijskog sadržaja alatom VLC
VLC media player, kraće VLC (Wikipedia) je slobodni softver otvorenog koda za prikazivanje, kodiranje, emitiranje i snimanje multimedijskih sadržaja putem mreže. Ime VLC dolazi od VideoLAN Client, što je bilo inicijalno ime programa dok je bio samo klijent i dok je VideoLAN Server bio odvojena aplikacija. Aktualna verzija može raditi i kao klijent i kao poslužitelj.
VLC je razvijen da bude prenosiv na različite platforme te se može prevesti i pokrenuti na više različitih operacijskih sustava i procesorskih arhitektura, ali većinom cilja na Linux, macOS i Windows. Podržava razne protokole za strujanje te mnoge audio i video kodeke i formate datoteka, može pretvarati multimedijalne datoteke u različite formate (transkodirati).
Note
Sve verzije VLC-a do 1.0.x su bile imenovane po likovima iz filma Golden Eye, a iznad 1.1.x po DiscWorldu.
Instalacija
Za instalaciju VLC-a je potrebno pokrenuti nekoliko repositorija, Epel, Remi and RPMFusion. Nakon toga, provjeravamo dostupnost VLC playera naredbom:
# yum --enablerepo=remi-test info vlc
Ako je dostupan, instaliramo ga pomoću naredbe:
# yum --enablerepo=remi install vlc
Zatim, pokrećemo kao normalan user (ne root), naredbom:
$ vlc
Strujanje
Strujanje videa se može pokrenuti pomoću GUI-a (Media/Streaming
) koji nam uvelike olakšavaju posao, jer su sve opcije i metode ponuđene na panelima. No, u ovom radu ću prikazati streaming preko command line-a.
Pomoću naredbe cvlc
pokrećemo VLC unutar terminala, zatim s modulom STANDARD
omogućujemo streamanje preko mreže nakon što preko opcije mux
enkapsuliramo metodu kojom ćemo streamat, u ovom slučaju ogg
(ova opcija je obavezna).
Pomoću opcije dst
određujemo na kojoj adresi i kojem portu se klijent može povezati. 192.168.104 je IP adresa računala. Naredba koju upisujemo na server računalu:
$ cvlc -vvv /home/iva/stream/sintel_trailer-1080p.mp4 'standard{access=http,mux=ogg,dst=192.168.104:8080}'
Output/izlaz:
Todo
Izlaz je potrebno ponovno snimiti.
Na klijent računalu pokrećemo naredbu:
$ cvlc http://192.168.0.104:8080
i dobivamo sljedeći output/izlaz u VLC media playeru u terminalu:
Todo
Izlaz je potrebno ponovno snimiti.
Ukoliko upišemo vlc
ili nvlc
umjesto cvlc
, dobivamo i VLC-ovo grafičko sučelje ili ncurses sučelje (respektivno). Parametrom --sout
možemo odlučiti kamo će se spremiti sadržaj preuzet strujanjem:
$ nvlc http:// 192.168.104:8080 --sout=file/ogg: sintel_trailer-1080p.ogg
Pomoću VLC-a možemo spremiti stream na disk, a da bi to napravili koristimo VLC-ov Stream Output. Spomenuto možemo učiniti koristeći grafičko sučelje i VLC-ov record button ili putem Linux-ove komandne linije parametrom --sout file/muxer:stream.xyz
, gdje je muxer
jedan od podržanih formata. Format za spremanje streamova možemo mijenjati, podržani formati su:
ogg
za OGG format,ps
za MPEG2-PS format,ts
za MPEG2-TS format.
Mux može biti:
ts
: MPEG2/TS muxerps
: MPEG2/PS muxermpeg1
: standardni MPEG 1 muxerogg
: ogg muxerasf
: Microsoft ASF muxeravi
: Microsoft AVI muxermpjpeg
: multipart jpeg muxer
Razlikujemo nekoliko metoda streaminga:
- RTP/UDP Unicast: Streaming jednom računalu. Unesemo IP adresu klijenta u opsegu od 0.0.0.0 -- 223.255.255.255.
- RTP/UDP Multicast: Streaming više računala koristeći multicast. Unesemo IP adresu multicast grupe u opsegu od 224.0.0.0 do 239.255.255.255.
- HTTP: Streaming koristeći HTTP protokola.
Standardan UDP streaming istog videa u avi formatu iz direktorija /home/iva/stream/
sa brojem UDP porta 1234:
$ cvlc -vvv /home/iva/stream/sintel.avi --sout #std{access=udp, mux=ts, dst=:1234}'
Više detalja o strujanju u VLC-u može se pronaći na VideoLAN-ovom wikiju u dijelu dokumentacije Streaming HowTo: Command Line Examples, Receive and Save a Stream i Advanced streaming with samples, multiple files streaming, using multicast in streaming.
Transkodiranje
Ako većina klijenata do kojih želim doprijeti koristi operacijski sustav Windows, znači da ću ja za VLC koristiti argument da on transkodira video u Windows Media Video (wmv) jer ću time moć doprijeti do najvećeg broja klijenata i bit ću sigurna da neće imati problema sa gledanjem mojih video snimki. Ako se na playlisti nalazi video u formatu avi, mpeg1 i sl., svaki taj video će se transkodirati u wmv format jer onda pouzdano znam da će većina korisnika (klijenata) bez ikakvih dodatnih kodeka moći gledati iste.
Primjerice, za Windows Media Video version 1, bitrate 512 with MP3 audio and ASFH muxer over MMSH protocol (mmsh://192.168.0.10:30001
) parametri su:
'#transcode{vcodec=WMV1,vb=512,scale=1,acodec=mp3,ab=64}:std{access=mmsh,mux=asfh,dst=192.168.0.104:30001}'
Za DivX version 3, bitrate 1024 with Dolby Digital AC3 audio and ASFH muxer over MMSH protocol (mmsh://192.168.0.10:30001
) parametri su:
'#transcode{vcodec=DIV3,vb=1024,acodec=a52,ab=512}:std{access=mmsh,mux=asfh,dst=192.168.0.104:30001}'
Za MPEG-4 with marquee filter, bitrate 1024 with MP3 audio and OGG muxer over HTTP protocol (http://192.168.0.10:30001
) parametri su:
'#transcode{vcodec=mp4v,sfilter=marq,vb=1024,acodec=mp3,ab=512}:std{access=http,mux=ogg,dst=192.168.0.104:30001}
Upravljanje VLC-om putem web sučelja
Kako bi omogućili da se VLC kontrolira preko preglednika, potrebno je aktivirati Web interface putem kvačice na Tools/Preferences/Interface/Main interfaces/Web
.
Zatim, otvaramo preglednik i na adresi http://127.0.0.1:8080
se pokreće sljedeći prozor.
Author: Iva Fak, Vedran Miletić