MPV e live streaming

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
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.
Avatar utente
joe
Iper Master
Iper Master
Messaggi: 2916
Iscritto il: ven apr 27, 2007 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

MPV e live streaming

Messaggioda joe » ven apr 13, 2018 12:51

Noto qualche problemino nella riproduzione con MPV di video trasmessi in streaming.
Ad esempio questo, tanto per dirne uno attinente l'attualità:
https://www.youtube.com/watch?v=umYwkvT2llU

Ogni tanto il video si blocca, poi riprende.
Ho provato sia con qualità massima (che nel caso è 1080p) che impostando qualità a 720p.
Mentre MPV tende a bloccarsi, se guardo la trasmissione del link direttamente dal browser, ecco che riesco a seguire tutto dal vivo il che esclude problemi di connettività.

Se non ricordo male nei vari player multimediali, c'è la possibilità di settare la cache, in modo che la trasmissione sia riprodotta con una leggera differita, mettiamo 5 secondi ad esempio, il che dovrebbe risolvere il problema.
Potrebbe essere questa la causa?
Come si imposta in MPV?

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 2486
Iscritto il: mer mar 05, 2008 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 4.19.0-rc8
Desktop: lxde
Località: Pisa
Contatta:

Re: MPV e live streaming

Messaggioda ponce » ven apr 13, 2018 12:54

uso mpv solo occasionalmente quindi posso darti veramente poco aiuto: comunque ha un file ~/.config/mpv/mpv.conf, ti posto come esempio il contenuto del mio

Codice: Seleziona tutto

$ cat .config/mpv/mpv.conf
fullscreen=yes
cache=123400
demuxer-readahead-secs=20
audio-delay=0.15
heartbeat-cmd="xdotool key ctrl"
framedrop=vo

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 2916
Iscritto il: ven apr 27, 2007 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: MPV e live streaming

Messaggioda joe » ven apr 13, 2018 15:14

Ho dato un'occhiata al "man mpv" nella sezione "Cache".
Nel tuo caso hai la cache impostata a 123400.
Nel mio config avevo impostato l'opzione "default cache" ad un valore alto già da molto tempo...
Ecco il mio mpv.config:

Codice: Seleziona tutto

vo=vdpau
hwdec=auto
cache-default=853600
ytdl-format=bestvideo[height<=?1080]+bestaudio/best
idle=yes


Però le due opzioni "cache-default" e "cache" dovrebbero servire allo stesso scopo, cioè settare la quantità di dati che il player può mettere in cache durante la riproduzione del video.
Ora, se parliamo di un file in rete, che stiamo "scaricando" e al tempo stesso riproducendo con mpv, questo parametro "cache" basta e avanza: se la mia velocità di download è superiore alla velocità di riproduzione del video siamo apposto. Vedremo il video e allo stesso tempo osserveremo il valore di dati in cache che aumentano fino a raggiungere il valore massimo impostato, nel tuo caso 123 MB, nel mio 850 MB circa.

Le cose però cambiano se l'URL che diamo in pasto ad mpv non è un file "finito", ma una trasmissione live.
Con il link che ho postato come esempio infatti la cache mi pare che no si riempisse per il semplice fatto che i dati trasmessi ancora non "esistevano" realmente... Essendo realmente live.
A riprova se provo adesso funziona bene perchè quel link è stato trasformato in un video statico finito, visto che l'evento si è concluso.

Provo a cercare un altro video live sul tubo tanto per provare...

Però il punto è che non serve più di tanto impostare l'ammontare massimo della cache, quanto servirebbe forzare il palyer a partire solo dopo aver scaricato tot MB di dati.
Continuo a spulciare il man, nella sezione cache vedo che ci sono altre opzioni, forse servono proprio a qualcosa di simile...

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 2916
Iscritto il: ven apr 27, 2007 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: MPV e live streaming

Messaggioda joe » ven apr 13, 2018 15:54

Se qualcuno volesse fare qualche test con MPV, ecco il link al canale youtube di euro news in diretta:

https://www.youtube.com/watch?v=VfYAHfWwpJc

Su questo rilevo il problema descritto:
Vi funziona tutto liscio oppure si blocca anche a voi?

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 2486
Iscritto il: mer mar 05, 2008 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 4.19.0-rc8
Desktop: lxde
Località: Pisa
Contatta:

Re: MPV e live streaming

Messaggioda ponce » ven apr 13, 2018 16:15

se puo' esserti utile come test il link che hai postato non viene riprodotto ne' da mpv, ne' da vlc, ne' da mplayer (nemmeno iniziano a riprodurlo), pero' funziona nel browser.
tutte e tre le applicazioni citate pero' non hanno problemi a riprodurre altri video di youtube: questo mi farebbe empiricamente pensare che non sia un "problema" specifico di mpv.
non ne ho la piu' pallida idea, ma potrebbe essere che per qualche ragione fa cosi' solo con le dirette di youtube?
per esempio a me questo stream funziona con tutti e tre i player

http://skyianywhere2-i.akamaihd.net/hls ... ylist.m3u8

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 2916
Iscritto il: ven apr 27, 2007 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: MPV e live streaming

Messaggioda joe » ven apr 13, 2018 16:52

Sì ho rilevato il problema solo nelle dirette youtube.
Se uno volesse fare dei test basta:
- aprire youtube.com
- cliccare su filtra (filtri di ricerca)
- selezionare "dal vivo"
- quindi premere cerca

In questo modo si trovano tutti i video in diretta.
Io ne ho provati diversi ed effettivamente dopo aver riprodotto alcuni secondi del video, si blocca tutto: ho notato anche che nella schermata di mpv in basso viene riportata "Cache: 0s +3MB". (con i video "non in diretta" di solito si "esauriscono" prima i MB e dopo i secondi di buffer).

Può essere semplicemente un problema di youtube, qualcosa che ha a che fare solamente col formato che usano per gli streaming in diretta.
Avete idea di qualche altro URL che punta ad uno streaming audio/video dal vivo? ((diverso da youtube intendo)

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 2486
Iscritto il: mer mar 05, 2008 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 4.19.0-rc8
Desktop: lxde
Località: Pisa
Contatta:

Re: MPV e live streaming

Messaggioda ponce » ven apr 13, 2018 17:29

e' nel post sopra :) (e' la diretta di sky tg24)

senno' ci sono anche RAI 4 HD o RAI 3 HD.
Ultima modifica di ponce il ven apr 13, 2018 18:03, modificato 1 volta in totale.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 2916
Iscritto il: ven apr 27, 2007 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: MPV e live streaming

Messaggioda joe » ven apr 13, 2018 17:55

Ah sì, sorry...
Ho provato: quello lì lo riproduce bene anche a me....

Quindi l'ipotesi è plausibile:
probabilmente le difficoltà sono dovute al formato che youtube usa per gli streaming in diretta.

Può essere che il problema sia dovuto anche a "youtube-dl", che mpv usa come interfaccia per estrarre il link al video dalla pagina web e scaricarlo in cache locale.
Infatti ho provato a scaricare il link di prima con youtube-dl, ma non si riesce...

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 2486
Iscritto il: mer mar 05, 2008 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 4.19.0-rc8
Desktop: lxde
Località: Pisa
Contatta:

Re: MPV e live streaming

Messaggioda ponce » ven apr 13, 2018 17:59

joe ha scritto:Può essere che il problema sia dovuto anche a "youtube-dl", che mpv usa come interfaccia per estrarre il link al video dalla pagina web e scaricarlo in cache locale.
Infatti ho provato a scaricare il link di prima con youtube-dl, ma non si riesce...

ma non funziona nemmeno con vlc e mplayer e quelli non usano youtube-dl...

rik70
Master
Master
Messaggi: 1935
Iscritto il: gio mar 10, 2011 9:21
Slackware: 14.2
Kernel: 4.18
Desktop: Xfce 4.12
Distribuzione: archlinux

Re: MPV e live streaming

Messaggioda rik70 » ven apr 13, 2018 18:06

joe ha scritto:Se qualcuno volesse fare qualche test con MPV, ecco il link al canale youtube di euro news in diretta:

https://www.youtube.com/watch?v=VfYAHfWwpJc

Su questo rilevo il problema descritto:
Vi funziona tutto liscio oppure si blocca anche a voi?

Qui nessun problema con mpv - vlc non lo uso da tempo.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 2916
Iscritto il: ven apr 27, 2007 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: MPV e live streaming

Messaggioda joe » ven apr 13, 2018 19:06

Come lo hai lanciato?
Puoi aggiungere qualche dettaglio sulla configurazione di mpv?

versione
parametri di configurazione
ecc ecc

rik70
Master
Master
Messaggi: 1935
Iscritto il: gio mar 10, 2011 9:21
Slackware: 14.2
Kernel: 4.18
Desktop: Xfce 4.12
Distribuzione: archlinux

Re: MPV e live streaming

Messaggioda rik70 » ven apr 13, 2018 21:10

Nessun parametro di configurazione o opzione da linea di comando, a parte l'accelerazione hw vaapi e l'uscita video per la grafica intel.

La versione è questa:

Codice: Seleziona tutto

mpv 0.27.2 (C) 2000-2017 mpv/MPlayer/mplayer2 projects
ffmpeg library versions:
   libavutil       55.78.100
   libavcodec      57.107.100
   libavformat     57.83.100
   libswscale      4.8.100
   libavfilter     6.107.100
   libswresample   2.9.100
ffmpeg version: 3.4.2

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 2916
Iscritto il: ven apr 27, 2007 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: MPV e live streaming

Messaggioda joe » sab apr 14, 2018 12:21

Iniziamo dal test, consiglierei il seguente comando che dovrebbe escludere configurazioni particolari di mpv (grazie all'opzione --no-config).

Codice: Seleziona tutto

mpv 'https://www.youtube.com/watch?v=VfYAHfWwpJc' --no-config


A me questo restituisce la finestra di MPV in cui viene riprodotto per qualche secondo il flusso della trasmissione, dopodiché si interrompe, comincia a riempire il buffer per troppi secondi (anche più di 10) e infine riparte a riprodurre per altri 3 o 4 secondi, quindi si blocca di nuovo e così via...

Cercando in rete ho trovato questo problema segnalato, che mi sembra molto molto simile a quanto rilevo io:
https://github.com/mpv-player/mpv/issues/5538

Sembra anche che abbiano risolto passando ad mpv 0.28 che però se non sbaglio richiede ffmpeg più recente rispetto all'attuale stabile... che in questo momento dovrebbe essere ffmpeg-3.4.2:
https://github.com/mpv-player/mpv/blob/ ... EASE_NOTES

A me la compilazione di mpv-0.28 fallisce già al configure perchè trova versioni più vecchie di qualcuna delle librerie seguenti (penso dipendano direttamente dalla versione di ffmpeg che ho installata "3.4.2").

Codice: Seleziona tutto

* libavutil >= 56.6.100
  * libavcodec >= 58.7.100
  * libavformat >= 58.0.102
  * libswscale >= 5.0.101
  * libavfilter >= 7.0.101
  * libswresample >= 3.0.100


Qualche dettaglio su quello che ho sul sistema:

ffmpeg:
ho ricompilato usando la roba di Alien, in questo modo dovrebbe supportare alcuni codec che sono "patented" e che pertanto il precompilato dello stesso Alien non può contenere. Sta roba è scritta nello SlackBuild:
http://www.slackware.com/~alien/slackbu ... peg/build/
Pacchetto che salta fuori:

Codice: Seleziona tutto

ffmpeg version 3.4.2 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 5.3.0 (GCC)
configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --docdir=/usr/doc/ffmpeg-3.4.2 --mandir=/usr/man --enable-gpl --enable-version3 --enable-avfilter --enable-avresample --enable-libmp3lame --enable-libass --enable-libdc1394 --enable-libfribidi --enable-libgsm --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libssh --enable-libspeex --enable-libtheora --enable-libv4l2 --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libx265 --enable-libzvbi --enable-postproc --enable-runtime-cpudetect --enable-sdl2 --enable-vaapi --enable-vdpau --enable-pthreads --enable-bzlib --enable-zlib --enable-shared --enable-static --disable-debug --enable-libwebp --enable-libpulse --enable-libfdk-aac --enable-openssl --enable-nonfree --arch=x86_64 --enable-pic --extra-cflags='-I/tmp/build/tmp-ffmpeg/ffmpegdeps/usr/include -I/tmp/build/tmp-ffmpeg/ffmpegdeps/usr/include/SDL2 -DRUNTIME_CPUDETECT' --extra-ldflags='-L/tmp/build/tmp-ffmpeg/ffmpegdeps/usr/lib64 -ldl -lssl -lcrypto -lz -lusb -ldrm' --pkg-config-flags=--static
libavutil      55. 78.100 / 55. 78.100
libavcodec     57.107.100 / 57.107.100
libavformat    57. 83.100 / 57. 83.100
libavdevice    57. 10.100 / 57. 10.100
libavfilter     6.107.100 /  6.107.100
libavresample   3.  7.  0 /  3.  7.  0
libswscale      4.  8.100 /  4.  8.100
libswresample   2.  9.100 /  2.  9.100
libpostproc    54.  7.100 / 54.  7.100


MPV invece l'ho compilato con lo slackbuild di SBo, il pacchetto è:
mpv-0.27.2-x86_64-1_SBo

Codice: Seleziona tutto

mpv 0.27.2 (C) 2000-2017 mpv/MPlayer/mplayer2 projects
 built on Sat Apr 14 00:51:00 CEST 2018
ffmpeg library versions:
   libavutil       55.78.100
   libavcodec      57.107.100
   libavformat     57.83.100
   libswscale      4.8.100
   libavfilter     6.107.100
   libswresample   2.9.100
ffmpeg version: 3.4.2


rik70 ha scritto:Qui nessun problema con mpv...
Nessun parametro di configurazione o opzione da linea di comando, a parte l'accelerazione hw vaapi e l'uscita video per la grafica intel.

Mi pare che la versione di mpv che riporti sia identica alla mia, anche ffmpeg usato per compilarlo.
A scanso di equivoci, potresti provare a testare il comando in cima?
(con l'opzione --no-config intendo).
Non ti si blocca lo streaming dopo qualche secondo e non osservi la cache esaurita a "0 s + x MB"?

Grazie ancora a tutti per le risposte! :)

rik70
Master
Master
Messaggi: 1935
Iscritto il: gio mar 10, 2011 9:21
Slackware: 14.2
Kernel: 4.18
Desktop: Xfce 4.12
Distribuzione: archlinux

Re: MPV e live streaming

Messaggioda rik70 » sab apr 14, 2018 13:05

rik70 ha scritto:Non ti si blocca lo streaming dopo qualche secondo e non osservi la cache esaurita a "0 s + x MB"?
No, da me la cache è 5/9s+3.0MiB.

Ripeto: il mio config riguarda solo l'uscita e l'accelerazione video.
L'opzione --no-config non cambia il comportamento sullo streaming.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 2916
Iscritto il: ven apr 27, 2007 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: MPV e live streaming

Messaggioda joe » sab apr 14, 2018 13:59

Scusa ancora una cosa... Metteresti anche qualche dettaglio su ffmpeg:

Codice: Seleziona tutto

ffmpeg -version


Quali pacchetti hai usato per l'installazione di:
- mpv
- ffmpeg

precompilati?
compilati con slackbuild preso da dove?

Grazie mille ancora! :)
Ciao