Linux News

VLC – Streaming video in flv

Vogliamo effettuare uno streaming di un video (o una sorgente http) in formato flv per qualsiasi player flash?

Bene, possiamo farlo direttamente grazie all’aiuto di VLC.

Questo howto fa al nostro caso, valido sia per VLC con interfaccia grafica (vlc) che per VLC via linea di comando (cvlc).

Prendiamo come esempio una sorgente http (ma possiamo specificare qualsiasi altro sorgente: device (webcam), file avi/mpeg/asx, etc.), il comando da lanciare è il seguente:

vlc http://www.sitosorgente.it:8080 –sout “#transcode{vcodec=FLV1,acodec=mp3,sameplerate=44100}:std{access=http{mime=video/x-flv},mux=ffmpeg{mux=flv},dst=0.0.0.0:8081/stream.flv}” –sout-mux-caching=5000

Oppure solo da linea di comando:

vlc http://www.sitosorgente.it:8080 –sout “#transcode{vcodec=FLV1,acodec=mp3,sameplerate=44100}:std{access=http{mime=video/x-flv},mux=ffmpeg{mux=flv},dst=0.0.0.0:8081/stream.flv}” –sout-mux-caching=5000

Questo fa si, che su tutti gli ip della macchina dove si lancia, si mette in ascolto un server vlc per lo streaming sulla porta 8081 che risponde alla richiesta del file stream.flv: su un player swf (flash) in una pagina web possiamo impostare come sorgente video l’indirizzo IP del nostro PC (ipotizziamo sia 80.1.1.1) con l’url:

http://80.1.1.1:8081/stream.flv

In questo modo il player prenderà come video lo streaming del nostro vlc.

Attenzione: sarebbe il caso di usare un server dedicato o una vps in quanto dobbiamo tener conto della banda utilizzata che una normale adsl (da 256Kbs in upload) non potrà soddisfare con più di qualche utente connesso.

Tutti i parametri utilizzati in transcode possono essere cambiati a piacimento come la codifca dell’audio e il samplerate dello stesso (per info consultare la guida di vlc).

Buono streaming 🙂

Christian Cantinelli

Unix System Administrator, Network Admin, programmatore, webmaster. Solare, amante della musica, del cinema, dei viaggi. Questo il riassunto della mia persona.

You may also like
Guida SEO di Google
blog.morphey.org/blog su “Il bloggatore”
Spamassassin: soluzione al problema di overload
8 Comments
  • Stefano
    15 febbraio 2011 at 19:51

    Alla ricerca dell’ottimizzazione, ho provato a non fare nessuna trancodifica ma di prelevare il flusso a/v così come è; e cioè:

    –sout=#http{mux=flv,dst=localhost:8081/stream.flv}

    ma non funziona.

    Hai una qualche risposta al proposito ?

  • 15 febbraio 2011 at 17:28

    Perfetto: purtroppo bisogna fare prove su prove per ottimizzare l’encoding al massimo, ma la soluzione si trova!

  • Stefano
    15 febbraio 2011 at 17:21

    Ho provato a fare streaming in locale e verso ffserver.
    Bisogna ancora trovare i parametri giusti ma funziona.

    Passo 1 – streaming in locale webcam

    da riga di comando:

    vlc.exe dshow:// –dshow-size=640×480 –dshow-vdev=”NOME_DELLA_WEBCAM” –dshow-adev=”NOME_DEL_MICROFONO” –sout=”#transcode{vcodec=FLV1,,vb=1000,fps=24,scale=1,width=640,height=480,acodec=mp3,ab=128,channels=2,samplerate=44100}:std{access=http{mime=video/x-flv},mux=ffmpeg{mux=flv},dst=0.0.0.0:8081/stream.flv}” –sout-mux-caching=15000

    PASSO 2 – Streaming dal locale verso ffserver

    da riga di comando:

    ffmpeg -i http://127.0.0.1:8081/stream.flv http://nome_ffserver:8080/nome_feed.ffm

  • 12 luglio 2010 at 10:58

    Ciao,
    per quanto riugarda il multicast ma lo devi fare in una LAN? Se ha una connessione internet normale è praticamente impossibile farla…

    Per il player flash , ti consiglio di usare Firefox e installare Firebug. Fatto questo vai sulla pagina dove c’è il flash plauyer e abilita il pannello NET di Firebug e ricarica la pagina. Noterai tutte le chiamate al server e tra queste quella all’flv. Controlla se non ci sono errori HTTP.

  • 10 luglio 2010 at 11:06

    Ciao! innanzitutto grazie per questa “mandrakkata”!

    Ho un piccolo problema: allora devo usare lato server vlc per fare streaming. in particolare devo diramare il flusso Audio Video (che acquisisco con una webcam e un mic) su un ip multicast.
    Per generare il flusso non ci sono problemi, si cambia semplicemente il parametro che hai suggerito e si mette “dshow://” invece che “http://www.sitosorgente.it:8080”.
    Il primo dubbio nasce ora: nel parametro “dst” devo mettere il mio ip multicast oppure l’ip della macchina dal quale sto trasmettendo e la porta sulla quale trasmetto?

    Poi.. io ho integrato un player flash in una pagina html.
    Ho provato ad utilizzare il comando che hai consigliato e cioè mettere nel browser http://ip_macchina_che_trasmette:porta/stream.flv però il flusso non viene visualizzato.

    dove può essere l’errore?

    Ciao e grazie mille!

    Carlo

  • 6 febbraio 2010 at 14:26

    😉

  • Hispa
    6 febbraio 2010 at 14:07

    grazie! ottimo articolo!

  • 6 febbraio 2010 at 13:25

    VLC – Streaming video in flv | blog.morphey.org/blog…

    Non tutti sanno che tramite VLC è possibile effettuare streaming anche in flash (flv). Questo howto spiegherà come farlo….

Rispondi