[RISOLTO]Vlc streaming

Problemi e suggerimenti legati al software e ai pacchetti problematici.
Rispondi
fuser
Novello Arciere
Messaggi: 47
Iscritto il: 20 novembre 2017, 17:44

[RISOLTO]Vlc streaming

Messaggio da fuser » 8 dicembre 2017, 20:22

Volendo mandare in streming una playlist di video, mi trovo di fronte all'ultimo scoglio che, sembra, banale.
ho creato questa linea:

Codice: Seleziona tutto

vlc --loop playlist.m3u --sout "#trascode{vcodec=h264,vb=1024,scale=Auto,acodec=mp3,ab=128,channel=2,samplerate=44100}:http{mux=ffmpeg{mux=flv},dst=56789/}" --sout-all
con questa linea da terminale riesco a fare streaming fuori rete domestica di una playlist di video in loop infinito, il problema è che mentre il server continua il loop, il vlc client dopo il primo video si ferma, per continuare basta cliccare sull'icona "prossimo media" e il tutto riprende fino alla fine del video e così via.
Mi chiedo, ma è possibile che una cosa così banale possa inficiare sulla trasmissione di una lista di media?
Qualcuno ha qualche idea su come risolvere?
Ne ho provate moltissime spulciando tutte le opzioni, provando e riprovando
Ultima modifica di fuser il 9 dicembre 2017, 18:04, modificato 1 volta in totale.

fuser
Novello Arciere
Messaggi: 47
Iscritto il: 20 novembre 2017, 17:44

Re: Vlc streaming

Messaggio da fuser » 9 dicembre 2017, 11:01

Continuando con lo studio mi rispondo da solo, così qualche altro interessato potrà beneficiare delle mie ricerche.
Ecco la linea funzionante a patto di cliccare su loop nei controlli in basso a sinistra dello schermo vlc o avviare da terminale con -R alla fine della riga di comando

Codice: Seleziona tutto

vlc --loop scaletta.m3u --sout "#transcode{vcodec=h264,vb=1024,scale=Auto,acodec=mp3,ab=128,channels=2,samplerate=44100}:gather:std{access=http,mux=ffmpeg{mux=flv},dst=:23456/}" --sout-all --http-reconnect --http-continuous
Notare l'aggiunta di ghather, http-reconnect e http-continuous.
Con questa linea il client non deve fare nulla e fra un video e l'altro c'è da attendere qualche secondo, sempre a patto che l'icona loop sia stata selezionata.
Però c'è un neo questo funziona solo con vlc e per ora solo su windows, su linux mi da questo:

Codice: Seleziona tutto

core input error: ES_OUT_REST_PCR called
Failed to open VDPAU backed libvdpau_r600.so: impossibile aprire il file oggetto condiviso: File o directory non esistente
e poi ancora

Codice: Seleziona tutto

mpgatofixed32 audio converter error: libmad error: bad main_data_begin pointer
Quindi se non si trova la soluzione su linux bisogna ancora cliccare su media successivo, mentre su windows funziona

Collateral
Novello Arciere
Messaggi: 58
Iscritto il: 22 novembre 2017, 7:57
Architettura: x86_64 (64bit)

Re: Vlc streaming

Messaggio da Collateral » 9 dicembre 2017, 13:24

Beh, gli errori sembrano molto chiari, mancano due librerie, le vdpau per l'accellerazione hardware di nvidia, e le mad che gesticono il trascoding della parte audio.... in quest'ultimo caso sembra che la libreria ci sia, ma non nella versione corretta.

Inizia con verificare che vdpau sia installato correttamente..... magari reinstalla le librerie

Codice: Seleziona tutto

pacman -S libvdpau mesa-vdpau vdpauinfo
Se vdpau è installato e VLC continua a dare errore, probabilmente devi settare la variabile di ambiente, puoi trovare maggiori info qui: https://wiki.archlinux.org/index.php/Ha ... ring_VDPAU

Per il problame dell'audio, quindi delle librerie mad.... tenta semplicemente di reinstallarle.... anche se mi sembra un pò strano che nasca questo errore, VLC di suo ha già internamente un bel pò di codec, senza la necessità di usare librerie di sistema.

Codice: Seleziona tutto

pacman -S libmad

fuser
Novello Arciere
Messaggi: 47
Iscritto il: 20 novembre 2017, 17:44

Re: Vlc streaming

Messaggio da fuser » 9 dicembre 2017, 15:27

Infatti, a parte la differenza tra linux e windows citato prima che mi sembra di capire non ha nulla a che fare con gli errori riportati, non ci sono problema al lato client nè di video nè di audio.
C'è anche da dire che le prove le ho fatte con archlinux dove non c'è nulla di nvidia, mentre il server per ragioni di controllo da remoto dove va effettivamente questo esperimento va con lubuntu
dove invece c'è la scheda nvidia e da questi errori :

Codice: Seleziona tutto

[00007fda10016468] mpgatofixed32 audio converter error: libmad error: bad main_data_begin pointer
[00007fda10016468] mpgatofixed32 audio converter error: libmad error: bad main_data_begin pointer
[00007fda0c002ef8] avformat mux error: could not write frame (pts: 20609771567, dts: 20609688151) (pkt pts: 20609771, dts: 20609688)
[00007fda0c002ef8] avformat mux error: could not write frame (pts: 20609938400, dts: 20609729859) (pkt pts: 20609938, dts: 20609729)[code]

ma ripeto dal lato client non ci sono problemi

Collateral
Novello Arciere
Messaggi: 58
Iscritto il: 22 novembre 2017, 7:57
Architettura: x86_64 (64bit)

Re: Vlc streaming

Messaggio da Collateral » 9 dicembre 2017, 16:37

Leggendo meglio l'errore riguardante il VDPAU, ho notato la dicitura r600 nel file che cerca, quindi posso presuporre che monti una card ati. Prova a installare il wrapper

Codice: Seleziona tutto

pacman -S libvdpau-va-gl
Per la storia delle librerie mad... prova a cambiare encoder... meglio ac3 per lo streaming... sicuramente non farà uso del mad per il trascoding

fuser
Novello Arciere
Messaggi: 47
Iscritto il: 20 novembre 2017, 17:44

Re: Vlc streaming

Messaggio da fuser » 9 dicembre 2017, 16:45

Si la scheda dove ho archlinux dove ho fatto per comodità le prove monta una scheda ati, mentre dove faccio ora l'esperimento vero e proprio monta nvidia e come s.o. ha lubuntu che va molto bene per l'accesso in remoto, per cui l'unica cosa da fare è cambiare, come suggerisci, encoder da mp3 ad ac3? Giusto?

Collateral
Novello Arciere
Messaggi: 58
Iscritto il: 22 novembre 2017, 7:57
Architettura: x86_64 (64bit)

Re: Vlc streaming

Messaggio da Collateral » 9 dicembre 2017, 17:54

Si esatto, ormai è quasi lo standard nelle trasmissioni sia satellitari che straming via rete. Se poi, l'hardware te lo permette.... direi di fare il trascoding del video direttamente in h265 (nota che solo i dispositivi di ultima generazione... e non tutti... sono in grado di riprodurre h265).

O se vuoi mantenere una certa compatibilità... doppio stream h264/265.

Altro consiglio... se la playlist contiene files in ingresso, e non stream in ingresso dall'esterno (es canali iptv, server rtmp, ecc ecc), effettua direttamente il trascoding dei files e salvali su disco... in seguito li mandi in streaming con i codec impostati a PASS su vlc. Eviti di fare sempre il trascoding e quindi di consumare risorse inutilmente.

fuser
Novello Arciere
Messaggi: 47
Iscritto il: 20 novembre 2017, 17:44

Re: Vlc streaming

Messaggio da fuser » 9 dicembre 2017, 18:04

Ok, terrò conto dei tuoi suggerimenti
Grazie di tutto

Rispondi