Streaming video con VLC



http://www.think-underground.com/images/logos/Videolan_MediaPlayer_Icon_2_0_by_weboso.jpg

Di sicuro molti conosceranno VLC, un media player molto famoso. Pochi, però, ne conoscono fino in fondo le reali potenzialità. Vediamo per esempio come utilizzare VLC per riprodurre un filmato in streaming con ricodifica al volo in un formato a paicere, per poi riprodurlo, usando sempre VLC, su una macchina remota tramite protocollo HTTP.

Per questo tutorial ci serviremo di una macchina Linux, usata come server, e una macchina windows usata come client.

Lato server

La prima cosa da fare è di verificare che un eventuale client possa collegarsi alla nostra macchina. Il protocollo HTTP può andare su tutte le porte ma, se vogliamo evitare che dei firewall blocchino il traffico lato client, è meglio utilizzare la porta 80. Controlliamo quindi, se abbiamo un router ADSL, che la porta 80 sia aperta e correttamente forwardata sulla macchina server. Per semplicità supponiamo di forwardare sulla porta 80 del server. Ovviamente, per l’uso della porta 80 sono necessari i permessi di root, se non disponete di questi permessi potete orientarvi su un’altra porta, ad esempio la 8080.

Fatto ciò bisogna impostare VLC come server e fargli fare un po’ di operazioni, tra cui:

  • Decodifica flusso audio/video
  • Riduzione delle dimensioni (consigliato sempre, se avete i classici 256/512 Kb in uscita di un’ADSL)
  • Ricodifica del video
  • Ricodifica dell’audio
  • Incapsulamento nel contenitore
  • Trasmissione

Niente paura, sembrano tante operazioni (e lo sono) ma, come spesso accade, sotto Linux basta una riga!

Il comandio è un po’ complicato, iniziamo a scriverlo e commentiamo le parti principali:

$sudo vlc --intf rc "video.avi" 
":sout=#transcode{vcodec=DIV3,vb=384,scale=0.5,acodec=vorb,ab=48,channels=2}
:duplicate{dst=std{access=http,mux=ogg,dst=:80}}"

Innanzi tutto, visto che qui si usa la porta 80, servono i permessi di root, per cui usiamo sudo.

La parte ‘–intf rc “video.avi”‘ serve per riprodurre il file senza che venga creata la finestra (non ci interessa la riproduzione locale).

La seconda riga, come si vede, serve per la transcodifica. In questo caso ricodifichiamo in DIV3, con una bitrate di 384 Kbit/s, riduciamo le dimensioni del 50% (0.5), codifichiamo l’audio in vorbis con 2 canali a 48 Kbit/s.

L’utima parte del comando serve per la trasmissione. Utilizziamo il protocollo HTTP, incapsuliamo in un container OGG e trasmettiamo sulla porta 80 (l’indirizzo non è specificato, quindi VLC userà la macchina locale).

Lato client

Per visualizzare il filmato in riproduzione è sufficiente aprire VLC, cliccare su “Apri flusso di rete”, selezionare “HTTP/HTTPS/FTP/MMS” e inserire l’indirizzo IP del server. Consiglio: attivare la cache per evitare salti del video.

Buona visione!

Annunci sponsorizzati:
Condividi su Facebook Condividi su Twitter!
  • tuonoazzurro

    Ottimo ;)

  • crsoft

    Sono lusingato, grazie 1000 ;)

  • illomellino

    Cavolo, a me non va!
    mi dà alcuni errori…tipo:
    Connection failed
    pasword rejected…

    Ho un PC con Ubuntu che fa da server, e volevo trasmetere i video per vista…ma non ci riesco!

Pinterest