MPV - guardare streaming live da facebook
Moderatore: Staff
Regole del forum
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
- joe
- Iper Master
- Messaggi: 3789
- Iscritto il: ven 27 apr 2007, 11:21
- Slackware: 15.0
- Kernel: 5.15.38
- Desktop: dwm
MPV - guardare streaming live da facebook
Come da oggetto, non riesco a riprodurrecon il player MPV video che vengono messi in streaming live su facebook.
Ho visto in rete che ci sarebbero procedure per trovare il link del flusso video da dare in pasto al player. Ma a me non funziona.
Avete qualche idea?
I video in questione sono comunque visibili dalla pagina facebook via browser, però non è il massimo della vita, sia in termini di carico sulla cpu che di comodità...
Grazie in anticipo!
Ho visto in rete che ci sarebbero procedure per trovare il link del flusso video da dare in pasto al player. Ma a me non funziona.
Avete qualche idea?
I video in questione sono comunque visibili dalla pagina facebook via browser, però non è il massimo della vita, sia in termini di carico sulla cpu che di comodità...
Grazie in anticipo!
-
- Iper Master
- Messaggi: 2489
- Iscritto il: gio 10 mar 2011, 9:21
- Slackware: 15.0
- Kernel: 5.15.x-generic
- Desktop: Sway
- Distribuzione: Arch Linux
Re: MPV - guardare streaming live da facebook
Ma i live o quelli caricati?
Perché i secondi da me funzionano.
Perché i secondi da me funzionano.
- joe
- Iper Master
- Messaggi: 3789
- Iscritto il: ven 27 apr 2007, 11:21
- Slackware: 15.0
- Kernel: 5.15.38
- Desktop: dwm
Re: MPV - guardare streaming live da facebook
Si quelli "statici" funzionano, mi riferivo a quelli in diretta come da oggetto.
Ne hai provato qualcuno live?
Ne hai provato qualcuno live?
- joe
- Iper Master
- Messaggi: 3789
- Iscritto il: ven 27 apr 2007, 11:21
- Slackware: 15.0
- Kernel: 5.15.38
- Desktop: dwm
Re: MPV - guardare streaming live da facebook
Qua spiegano una soluzione, ma a me non funziona...
https://www.youtube.com/watch?v=7fQPGihFbm0
In pratica vado col browser (firefox) alla pagina del video.
Premo F12 (strumenti sviluppatore).
Selezionata la scheda "rete" e sotto-scheda "tutti".
Nel filtro digito "mpd" senza virgolette. Questo mostra tutti i links dello streaming se ho ben capito... se ne aggiungono costantemente di nuovi...
Copio l'url del primo link mpd
Alla riga di comando in terminale lancio
$ mpv '$URL_COPIATO_SOPRA'
Come dicevo a me con mpv non funziona.
EDIT:
Anzi no, cioè con mpv non funziona confermo. Ma con VLC sì!
Avevo provato anche prima ma aprivo il link dall'interfaccia grafica di vlc da "riproduci flusso di rete". E VLC si chiudeva al volo...
Invece lanciando da riga di comando:
$ vlc '$URL_COPIATO_COME_SPIEGATO_SOPRA'
Così funziona!
Solo che non uso VLC di solito e ho notato che comunque la CPU vola al 100% durante la riproduzione del link.
Ho dato un'occhiata alle impostazioni video e ho impostato la modalità di uscita video da automatica a:
VDPAU
Ricordo che avevo impostato così anche mpv, utilizzo i driver proprietari nvidia e a quanto pare quella modalità fa si che la CPU viaggi a valori molto più bassi dal 5% al 30%.
OK.
Diciamo che i piacerebbe utilizzare MPV, come faccio di solito.
Se avete qualche idea..
Per chi vuole provare a fare un test:
Non vi metto links su pagine facebook di video in diretta perché quando poi le andate a vedere magari il video è già concluso e non è più in diretta.
Per trovarne uno:
- aprire questa pagina col browser: https://www.facebook.com/watch/live/
- scegliere un video in diretta a caso
- seguire la procedura descritta sopra
Grazie in anticipo!
https://www.youtube.com/watch?v=7fQPGihFbm0
In pratica vado col browser (firefox) alla pagina del video.
Premo F12 (strumenti sviluppatore).
Selezionata la scheda "rete" e sotto-scheda "tutti".
Nel filtro digito "mpd" senza virgolette. Questo mostra tutti i links dello streaming se ho ben capito... se ne aggiungono costantemente di nuovi...
Copio l'url del primo link mpd
Alla riga di comando in terminale lancio
$ mpv '$URL_COPIATO_SOPRA'
Come dicevo a me con mpv non funziona.
EDIT:
Anzi no, cioè con mpv non funziona confermo. Ma con VLC sì!
Avevo provato anche prima ma aprivo il link dall'interfaccia grafica di vlc da "riproduci flusso di rete". E VLC si chiudeva al volo...
Invece lanciando da riga di comando:
$ vlc '$URL_COPIATO_COME_SPIEGATO_SOPRA'
Così funziona!
Solo che non uso VLC di solito e ho notato che comunque la CPU vola al 100% durante la riproduzione del link.
Ho dato un'occhiata alle impostazioni video e ho impostato la modalità di uscita video da automatica a:
VDPAU
Ricordo che avevo impostato così anche mpv, utilizzo i driver proprietari nvidia e a quanto pare quella modalità fa si che la CPU viaggi a valori molto più bassi dal 5% al 30%.
OK.
Diciamo che i piacerebbe utilizzare MPV, come faccio di solito.
Se avete qualche idea..
Per chi vuole provare a fare un test:
Non vi metto links su pagine facebook di video in diretta perché quando poi le andate a vedere magari il video è già concluso e non è più in diretta.
Per trovarne uno:
- aprire questa pagina col browser: https://www.facebook.com/watch/live/
- scegliere un video in diretta a caso
- seguire la procedura descritta sopra
Grazie in anticipo!
-
- Iper Master
- Messaggi: 2489
- Iscritto il: gio 10 mar 2011, 9:21
- Slackware: 15.0
- Kernel: 5.15.x-generic
- Desktop: Sway
- Distribuzione: Arch Linux
Re: MPV - guardare streaming live da facebook
A me funziona in questo modo(che poi è la stessa cosa che fai tu):
con firefox apro il debug di rete - scorciatoia tastiera: 'CTRL+Maiusc+E' - durante la riproduzione del video e trovo il "tipo "dash" e do in pasto il link a mpv col flag '--ytdl=no' per velocizzare il caricamento.
Ma non sembra funzionare molto bene: dopo qualche minuto inizia a ripetere continuamente lo stesso frammento del flusso e l'output da continui errori di questo tipo
Neanche passando l'argomento '--no-correct-pts' e specificando il framerate il problema si risolve.
con firefox apro il debug di rete - scorciatoia tastiera: 'CTRL+Maiusc+E' - durante la riproduzione del video e trovo il "tipo "dash" e do in pasto il link a mpv col flag '--ytdl=no' per velocizzare il caricamento.
Ma non sembra funzionare molto bene: dopo qualche minuto inizia a ripetere continuamente lo stesso frammento del flusso e l'output da continui errori di questo tipo
Codice: Seleziona tutto
Audio/Video desynchronisation detected![...]
Invalid audio PTS:[...]
-
- Iper Master
- Messaggi: 2489
- Iscritto il: gio 10 mar 2011, 9:21
- Slackware: 15.0
- Kernel: 5.15.x-generic
- Desktop: Sway
- Distribuzione: Arch Linux
Re: MPV - guardare streaming live da facebook
P.s.
Ad ogni modo, se gli do in pasto direttamente il link del video, l'url viene risolto dall'hook youtube-dl. Quindi non c'è bisogno di tutta quella procedura.
Rimangono però i problemi visti sopra.
Ad ogni modo, se gli do in pasto direttamente il link del video, l'url viene risolto dall'hook youtube-dl. Quindi non c'è bisogno di tutta quella procedura.
Rimangono però i problemi visti sopra.
- joe
- Iper Master
- Messaggi: 3789
- Iscritto il: ven 27 apr 2007, 11:21
- Slackware: 15.0
- Kernel: 5.15.38
- Desktop: dwm
Re: MPV - guardare streaming live da facebook
A me non funziona neanche così, non so se abbiamo preso due links diversi, il mio era qualcosa del tipo "blablabla.mpd?altrarobasezasenso".
Può essere che dipenda dal software non troppo aggiornato che ho sulla 14.2...
Però ho trovato la soluzione!
streamlink !
https://streamlink.github.io/index.html
https://streamlink.github.io/cli.html
Molto più comodo: gli dai l'url della pagina in cui sta il video e fa tutto lui. Di default prende lo streaming e lo gira a VLC ma si può specificare anche MPV o altri players.
Io l'ho installato via "pip --user" in modo che lo mette in ~/.local/bin disponibile solo all'utente semplice. Pacchetti slackware non ne ho trovati al volo e non ho cercato troppo.
Comunque ho provato così e mi funziona:
Il link sopra era il primo che mi è uscito... non ho neanche fatto caso a cosa sia e quando leggerete questo messaggio probabilmente la diretta sarà terminata...
Va be' comunque si capisce che è il link alla pagina FB che contiene il video, non è stato necessario passare per "sviluppo web-rete". Molto più comodo.
C'è da sistemare un attimo la cache in modo da ridurre il più possibile eventuali micro interruzioni, ma fondamentalmente funziona.
Inoltre sarebbe ancora più comodo se si potesse impostare come "streaming manager" alternativo a "youtube-dl" qualora quest'ultimo non funzionasse.
Può essere che dipenda dal software non troppo aggiornato che ho sulla 14.2...
Codice: Seleziona tutto
$ mpv --version
mpv 0.29.1 Copyright © 2000-2018 mpv/MPlayer/mplayer2 projects
built on Tue Sep 24 14:06:28 CEST 2019
ffmpeg library versions:
libavutil 56.22.100
libavcodec 58.35.100
libavformat 58.20.100
libswscale 5.3.100
libavfilter 7.40.101
libswresample 3.3.100
ffmpeg version: 4.1.4
$ youtube-dl --version
2020.03.08
streamlink !
https://streamlink.github.io/index.html
https://streamlink.github.io/cli.html
Molto più comodo: gli dai l'url della pagina in cui sta il video e fa tutto lui. Di default prende lo streaming e lo gira a VLC ma si può specificare anche MPV o altri players.
Io l'ho installato via "pip --user" in modo che lo mette in ~/.local/bin disponibile solo all'utente semplice. Pacchetti slackware non ne ho trovati al volo e non ho cercato troppo.
Comunque ho provato così e mi funziona:
Codice: Seleziona tutto
streamlink -p mpv https://www.facebook.com/radiointernet1/videos/4516765815016310/ best
Va be' comunque si capisce che è il link alla pagina FB che contiene il video, non è stato necessario passare per "sviluppo web-rete". Molto più comodo.
C'è da sistemare un attimo la cache in modo da ridurre il più possibile eventuali micro interruzioni, ma fondamentalmente funziona.
Inoltre sarebbe ancora più comodo se si potesse impostare come "streaming manager" alternativo a "youtube-dl" qualora quest'ultimo non funzionasse.
- joe
- Iper Master
- Messaggi: 3789
- Iscritto il: ven 27 apr 2007, 11:21
- Slackware: 15.0
- Kernel: 5.15.38
- Desktop: dwm
Re: MPV - guardare streaming live da facebook
Codice: Seleziona tutto
$ streamlink -p "mpv --demuxer-cache-wait=yes --demuxer-max-bytes=5MiB" https://www.facebook.com/profilename/videos/1234567890/ best
Codice: Seleziona tutto
--cache=yes
Con quelle impostazioni, la riproduzione avviene nonappena la cache si riempie con 5 mega di dati derivanti dallo streaming.
In questo modo si assicura un buffer che se la connessione è buona evita fastidiose interruzioni e scatti. Se non è sufficiente a causa di eventuale connessione ancora troppo scarsa, si può mettere in pausa e lasciare che la cache si riempia quanto basta.
Con streamlink si può anche registrare la trasmissione attraverso l'opzione "-o outputfile", oppure registrare e vedere allo stesso tempo con l'opzione "-r outputfile".
- joe
- Iper Master
- Messaggi: 3789
- Iscritto il: ven 27 apr 2007, 11:21
- Slackware: 15.0
- Kernel: 5.15.38
- Desktop: dwm
Re: MPV - guardare streaming live da facebook
Rettifico...
Nelle ultime versioni di MPV l'impostazione "cache-default" è stata rimossa.
Da quello che ho letto ci ho capito poco, anzi più ne leggo e meno mi chiarisco le idee, sarà un po' l'inglese in combinazione con argomento di cui ne so poco.
Ad ogni modo, se prima avevo "cache-default=800MiB", adesso se ho ben capito, si può usare "demuxer-max-bytes=800MiB", in combinazione con l'opzione "cache=yes".
In questo modo si abilita l'uso della cache e si dispone il caricamento di 800 mega di dati in anticipo rispetto alla riproduzione.
In tutto questo non ho invece capito bene a cosa servono:
cache-sec=
demuxer-readahead-sec=
Nel manuale però c'è scritto che di default "cache-sec" è impostato ad un valore molto alto e che demuxer-max-bytes serve per limitare questo valore. Inoltre cache-sec ha la precedenza rispetto a demuxer-readahead-sec.
In pratica se si vuole una cache grande per:
1. evitare che gli streaming live vadano a scatti (facendoli partire un attimo in ritardo tenendoli in pausa)
2. mettere in pausa il video anche roba non in diretta e lasciare caricare il video in cache anche fino alla fine... Per poi guardarlo con calma senza aver più bisogno di occupare banda sulla connessione internet
Dovrebbe essere sufficiente attivare "cache=yes" ed eventualmente mettere se il valore di default fosse ancora troppo piccolo impostare "cache-sec" ad un tempo molto lungo, tipo no so 2 ore?
Qualcuno sa spiegarmi in modo semplice come le altre opzioni di demux entrano in gioco e se effettivamente per il mio scopo possano servire a qualcosa oppure no?
Grazie in anticipo!
Nelle ultime versioni di MPV l'impostazione "cache-default" è stata rimossa.
Da quello che ho letto ci ho capito poco, anzi più ne leggo e meno mi chiarisco le idee, sarà un po' l'inglese in combinazione con argomento di cui ne so poco.
Ad ogni modo, se prima avevo "cache-default=800MiB", adesso se ho ben capito, si può usare "demuxer-max-bytes=800MiB", in combinazione con l'opzione "cache=yes".
In questo modo si abilita l'uso della cache e si dispone il caricamento di 800 mega di dati in anticipo rispetto alla riproduzione.
In tutto questo non ho invece capito bene a cosa servono:
cache-sec=
demuxer-readahead-sec=
Nel manuale però c'è scritto che di default "cache-sec" è impostato ad un valore molto alto e che demuxer-max-bytes serve per limitare questo valore. Inoltre cache-sec ha la precedenza rispetto a demuxer-readahead-sec.
In pratica se si vuole una cache grande per:
1. evitare che gli streaming live vadano a scatti (facendoli partire un attimo in ritardo tenendoli in pausa)
2. mettere in pausa il video anche roba non in diretta e lasciare caricare il video in cache anche fino alla fine... Per poi guardarlo con calma senza aver più bisogno di occupare banda sulla connessione internet
Dovrebbe essere sufficiente attivare "cache=yes" ed eventualmente mettere se il valore di default fosse ancora troppo piccolo impostare "cache-sec" ad un tempo molto lungo, tipo no so 2 ore?
Qualcuno sa spiegarmi in modo semplice come le altre opzioni di demux entrano in gioco e se effettivamente per il mio scopo possano servire a qualcosa oppure no?
Grazie in anticipo!
-
- Iper Master
- Messaggi: 2489
- Iscritto il: gio 10 mar 2011, 9:21
- Slackware: 15.0
- Kernel: 5.15.x-generic
- Desktop: Sway
- Distribuzione: Arch Linux
Re: MPV - guardare streaming live da facebook
Questo in sostanza è il buffering dello stream, ed è usato quando la cache di rete è disabilitata o il valore di cache-secs non supera quello di demuxer-readahead.
--cache, cache-secs riguardano invece la cache di rete, che permette sostanzialmente di precaricare i dati audio/video di un ammontare determinato per consentire di navigare avanti e indietro durante la riproduzione del flusso di rete; diversamente, non sarebbe possibile.
Di converso, l'uso di 'demuxer-readahead-sec + cache disabilitata' non ti permettono il 'seek' di un flusso di rete, ma non ci sono effetti negativi sulla riproduzione. Tuttavia il manuale sembra sconsigliarne l'uso, dato che parla di valore 'fuzzy'(?? Tradurre, please).
MPV comunque gestisce la cache di rete in modo massiccio e automatico, e in teoria non occorrerebbe forzarne l'attivazione - a cosa serve la cache di rete quando riproduci un file locale?
Ovviamente cache di rete e buffering sono correlati, ma assolvono a 2 funzioni diverse.
Nel tuo caso, dato che vuoi attendere che una parte sufficiente di dati venga caricata prima che inizi la riproduzione, senza compromettere la funzione della cache di rete, devi forzare il funzionamento di quest'ultima in modalità buffer.
Per far ciò devi usare gli argomenti --cache-pause-initial=yes --cache-pause-wait=[numero_di_secondi].
L'unica controindicazione è che ti appare la finestra di riproduzione con il video in pausa per il tot di secondi impostato. Ma alla fine questo è un problema solo se vuoi fare il dump del video.
Un'alternativa è usare il buffering, lanciando mpv con questi argomenti:
--demuxer-cache-wait=yes --demuxer-max-bytes=1M.
Limitare il "riempimento del demuxer" è necessario altrimenti il video parte dopo...... un'ora?
Così però perdi i vantaggi di una cache di rete sufficientemente ampia da realizzare gli altri obiettivi, come mettere il video in pausa continuando a caricare i dati del flusso.
Poi, un altro fattore che influisce è il modo in cui ottieni lo stream. Per esempio streamlink non si limita a risolvere l'URL, ma si occupa anche del "trasporto" e dunque la riproduzione col lettore multimediale avviene via pipe o attraverso una sorta di server http che gira sulle interfacce di rete locali. Questo può creare problemi se vuoi mettere il video in pausa per un periodo di tempo abbastanza lungo.
Forse può aiutare lanciare streamlink con l'argomento '--player-no-close', ma questo lo lascio sperimentare a te.
- joe
- Iper Master
- Messaggi: 3789
- Iscritto il: ven 27 apr 2007, 11:21
- Slackware: 15.0
- Kernel: 5.15.38
- Desktop: dwm
Re: MPV - guardare streaming live da facebook
Riguardo a quest'ultimo punto, leggendo qui sospettavo che il discorso cache lo fasse gestire al player:
https://streamlink.github.io/issues.html
Ma può darsi che abbia interpretato male io...
Sto testando con queste impostazioni:
E per il momento mi sembra ok, sia come riproduzione di file locali che per streaming live, ad ogni modo il buffer iniziale riesco a regolarlo a mano mettendo in pausa, senza forzare l'inizio dopo tot secondi con le opzioni viste sopra. La dimensiona massima della cache in quel modo è settata al default che comunque sembra molto ampio.
Per quanto riguarda il demux ho lasciato tutto di default.
L'unica cosa che ho notato così è che mi aspettavo di vedere un file di cache nella dir impostata, invece è pare vuota... Di default la cache va ad occupare la ram, e non è il massimo se si vuole una cache ampia, tipo centinaia di mega di roba...Come impostato sopra invece dovrebbe scrivere i dati salvati in cache sul disco nella directory specificata. Sempre che abbia capito correttamente....
https://streamlink.github.io/issues.html
Ma può darsi che abbia interpretato male io...
Sto testando con queste impostazioni:
Codice: Seleziona tutto
cache=yes
cache-dir=~/.cache/mpv
cache-on-disk=yes
Per quanto riguarda il demux ho lasciato tutto di default.
L'unica cosa che ho notato così è che mi aspettavo di vedere un file di cache nella dir impostata, invece è pare vuota... Di default la cache va ad occupare la ram, e non è il massimo se si vuole una cache ampia, tipo centinaia di mega di roba...Come impostato sopra invece dovrebbe scrivere i dati salvati in cache sul disco nella directory specificata. Sempre che abbia capito correttamente....