PDA

View Full Version : MPV Player


daert
05-11-2017, 19:33
Salve a tutti. Vorrei condividere la mia esperienza con questo player che ormai è diventato uno dei miei preferiti.
Premetto che se si ricerca la qualità assoluta senza compromessi, il gruppo MPC-HC, LAV, madVR resta sempre il Gold Standard, soprattutto per quanto riguarda la conversione HDR > SDR, dato che madVR è ancora l'unico in grado di effettuare la giusta conversione.
Per il resto, se si ricerca un player portable che abbia versatilità, buone prestazioni e alcune funzioni interessanti, MPV svolge egregiamente il suo dovere.
Fra le funzioni interessanti che ho potuto riscontrare in MPV ci sono: hrtf con OpenAL su Windows 10 / Linux, e le funzioni di smoothmotion e reclock già integrate.

Personalmente lo utilizzo in coppia con il programma per il surround virtuale in cuffia, per cui l'audio multicanale non va incontro a downmix e imposto l'uscita di mpv a 8 canali

Ricordo che ognuno dovrà personalizzare la configurazione secondo i propri gusti e soprattutto in base alle capacità di elaborazione del proprio pc. Fornisco la mia configurazione come punto di partenza oppure la si può utilizzare così come la propongo se è di vostro gradimento :D
Per verificare i timings su osd si deve usare la combinazione: Maiusc+i durante la riproduzione di un video e cambiare pagina dell'osd con 1 e 2

Installazione
Il player può essere scaricato dalla pagina principale del progetto: https://mpv.io/installation/
In particolare utilizzo la build by shinchiro a 64 bit.
Una volta scompattato l'archivio, create una cartella all'interno con il nome di portable_config
All'interno della cartella bisogna creare due file di configurazione: mpv.conf (che contiene la configurazione) e input.conf (che contiene i key bindigs personalizzati).

Key bindings
Nella cartella docs è presente un'immagine che mostra le funzioni di mpv mappate di default sulla tastiera.
Io ho apportato alcune modifiche ma si possono lasciare tranquillamente quelle di default.
Le mie modifiche consistono in:

#key command key caption menu path/caption

MBTN_LEFT cycle pause #menu: Click Sx ; Play/Pause

Ctrl++ add video-zoom 0.1 #menu: Ctrl++ ; Pan && Scan | Increase Size
Ctrl+- add video-zoom -0.1 #menu: Ctrl+- ; Pan && Scan | Decrease Size

MBTN_LEFT_DBL cycle fullscreen #menu: DBL ; Cycle Fullscreen
a cycle audio #menu: a ; Cycle Audio
s cycle sub #menu: s ; Cycle Subtitle
S ignore
c screenshot #menu: c ; Screenshot
C screenshot video

Up add chapter 1 #menu: Up
Down add chapter -1 #menu: Down
Axis_Up add volume 5 #wheel up
Axis_Down add volume -5 #wheel down

Right seek 5 #menu: Right ; Seek | 10 sec forward
Left seek -5 #menu: Left ; Seek | 10 sec backward
Ctrl+Right seek 60 #menu: Ctrl+Right ; Seek | 1 min forward
Ctrl+Left seek -60 #menu: Ctrl+Left ; Seek | 1 min backward

Per utilizzarle basta copiare il codice nel file input.conf che bisogna creare nella cartella portable_config

Configurazione
Ho creato due configurazioni: una con le impostazioni "max" e una con le impostazioni "minime".
Le impostazioni "minime" le utilizzo su un Surface Pro 4 con i5 e 4GB di RAM, mentre le impostazioni "max" le utilizzo su un desktop con i5 4670 e Gtx 970.
Entrambe le configurazioni hanno in comune: smoothmotion e Reclock.

Configurazione "max"
# https://mpv.io/manual/master/#configuration-files
[default]
# Generic
vo=gpu
opengl-early-flush=no
opengl-pbo
dither-depth=8
sigmoid-upscaling=yes
dither=fruit
dither-size-fruit=8
temporal-dither=yes
deband=yes
deband-iterations=3
hwdec=no
gpu-api=opengl
gpu-context=dxinterop
fbo-format=rgba32f

# Audio
ao=wasapi
audio-exclusive=yes
audio-channels=7.1
ad-lavc-downmix=no
audio-samplerate=48000
audio-format=s32
audio-pitch-correction=yes
volume=100
volume-max=100
audio-file-auto=fuzzy
audio-file-paths=Audio;Audio-ita

# Video
dscale=bicubic
correct-downscaling=yes
tscale=oversample
interpolation
video-sync=display-resample
scale=haasnsoft
cscale=haasnsoft
linear-scaling=yes
scaler-lut-size=10

# Subs
blend-subtitles=no
sub-font=Arial
sub-font-size=45
sub-codepage=ISO-8859-1
sub-use-margins=yes
sub-ass-force-margins=yes
stretch-image-subs-to-screen=yes
sub-fix-timing=no
sub-auto=fuzzy
sub-file-paths=Subs;Subs-ita

# Track selection
alang=ita,eng
slang=ita,itIT,eng,enUS

# Program behavior
save-position-on-quit=yes
autofit-larger=88%
pause=no

# OSC
script-opts=osc-deadzonesize=0,osc-minmousemove=3,osc-fadeduration=500,osc-hidetimeout=2000,osc-boxalpha=175

Impostazioni "minime"
# https://mpv.io/manual/master/#configuration-files
[default]
# Generic
vo=gpu
opengl-early-flush=no
opengl-pbo
dither-depth=8
sigmoid-upscaling=yes
dither=ordered
deband=no
hwdec=d3d11va
hwdec-codecs=h264
gpu-api=d3d11
gpu-context=d3d11
fullscreen=yes

# Audio
ao=wasapi
audio-exclusive=yes
audio-channels=7.1
ad-lavc-downmix=no
audio-samplerate=48000
audio-format=s32
audio-pitch-correction=yes
volume=100
volume-max=100
audio-file-auto=fuzzy
audio-file-paths=Audio;Audio-ita

# Video
dscale=bicubic
correct-downscaling=yes
tscale=oversample
interpolation
video-sync=display-resample
scale=oversample
cscale=oversample

# Subs
blend-subtitles=no
sub-font=Arial
sub-font-size=45
sub-codepage=ISO-8859-1
sub-use-margins=yes
sub-ass-force-margins=yes
stretch-image-subs-to-screen=yes
sub-fix-timing=no
sub-auto=fuzzy
sub-file-paths=Subs;Subs-ita


# Track selection
alang=ita,eng
slang=ita,itIT,eng,enUS

# Program behavior
save-position-on-quit=yes
autofit-larger=88%
pause=no

# OSC
script-opts=osc-deadzonesize=0,osc-minmousemove=3,osc-fadeduration=500,osc-hidetimeout=2000,osc-boxalpha=175

Per utilizzare una delle due configurazioni basta copiare il codice nel file mpv.conf che bisogna creare nella cartella portable_config

Shaders
Si possono importare in mpv, prescalers e shaders, simili a quelli utilizzati in madVR e avere le stesse opzioni di qualità

Un'ottima fonte di precalers è:
https://github.com/bjin/mpv-prescalers/tree/master
Qui si trovano le versioni già compilate di nnedi3, super-xbr e ravu. Nelle cartelle compute e gather ci sono le versioni OpenCL (più performanti) mentre nella cartella vulkan, ovviamente la versione vulkan.
Personalmente utilizzo superxbr-rgb, nnedi3 e nnedi3-chroma (che non viene più compilato dall'autore)

Di questo repository (https://github.com/haasn/gentoo-conf/tree/xor/home/nand/.mpv/shaders) utilizzo antiring e noise (inserisce del grain dell'immagine per coprire eventuali difetti)

Altro repository è https://gist.github.com/igv che contiene adaptive-sharpen, Finesharp e SuperRes, che personalmente non utilizzo

Una volta scaricati gli shaders che si vuole utilizzare, si devono copiare all'interno della cartella "shaders", da creare dentro portable_config

A questo punto inserire in mpv.conf le righe
# Glsl
glsl-shaders-append="~~/shaders/nnedi3-nns64-win8x4-chroma.hook"
glsl-shaders-append="~~/shaders/nnedi3-nns256-win8x4.hook"
glsl-shaders-append="~~/shaders/superxbr-rgb.hook"
glsl-shaders-append="~~/shaders/antiring.hook"
glsl-shaders-append="~~/shaders/noise.glsl"

Modificate gli shaders secondo i vostri gusti seguendo questa falsa riga

Surround virtuale
Per il surround virtuale in cuffia, consiglio di visitare il thread specifico:
https://www.hwupgrade.it/forum/showthread.php?t=2837862
Basta seguire la guida e si avrà un ottima virtualizzazione in cuffia

HDR->SDR
Sono riuscito a trovare dei valori che permettono un'ottima conversione da sorgente HDR e, nel caso si visualizzino video in questo formato, bisogna aggiungere ad mpv.conf

# HDR
tone-mapping=reinhard
tone-mapping-param=0.25
tone-mapping-desaturate=0.14
hdr-compute-peak=yes

Sko22
26-09-2018, 09:16
bellissimo sto programma.
Ho un file con dentro una lista di streaming radio, il problema è che non tutte funzionano.
Sto cercando uno script per testare questi link e skipparle in caso non funzionino. Magari anche toglierle dal file.
Mi potete aiutare?

DelusoDaTiscali
07-01-2023, 06:52
@daert: grazie per la condivisione!

In realtà non sono un videofilo, di questo player mi interessa la capacità, credo del tutto unica tra tutti i player (?) di produrre l'audio tramite WASAPI e gestire il device audio in "exclusive mode" caratteristiche necessarie per riprodurre video di concerti su un sistema audio hi-fi (o con la pretesa di esserlo). Finora per avere un buona qualità audio utilizzavo foobar, che ovviamente però non riproduce il video, lo si può solo ascoltare.

===

Non so se perché ho letto distrattamente le istruzioni o se è cambiato qualcosa, comunque i files di configurazione non vanno in una cartella "portable_config" ma nella già esistente cartella "mpv".

Dopo lo scompattamento la cartella di lavoro continua a chiamarsi "bootstrapper" mi è sembrato più comodo chiamare anche questa "mpv".

A corredo viene fornita una utility yt-dlp.exe che scarica (letteralmente) i video youtube per poterli riprodurre.

Immagino quindi che questo sia il modo standard di procedere, del tutto autonomamente ero giunto ad una soluzione simile per i concerti di RaiPlay.

(nota: se dei concerti di rayplay esistono più versioni si tenga presente che quella con migliore risoluzione video ha anche un file audio con un migliore bitrate, come si può facilmente verificare con foobar.)

===

Al momento faccio partire il player da terminale, ho letto che si può installare come opzione nel menù contestuale (o addirittura come video player di default), se e quale di queste opzioni scegliere lo deciderò in un secondo momento.

Niola76
29-09-2024, 10:16
https://github.com/yt-dlp/yt-dlp/releases
APPENA USCITO yt-dlp.exe 2024.09.27

Uso MPC, SMPlayer 64 e 32 bit soltanto per fare prima a guardare video di Youtube, al posto di aprire il sito. Visto che la visione con i lettori non è garantita al 100%, e in quei casi accedo col browser a Youtube, ne tengo tre così se uno non apre un video provo con un altro. Quando non si apre con nessuno non si sa mai cosa è che non lo fa visualizzare.

Ho notato solo ora che c'è anche la versione a 32 bit yt-dlp_x86.exe ; è da tempo che non controllavo il sito e mi è sembre andata bene la 64 bit su SMPlayer 32 bit. Per vostra esperienza mi potete confermare che posso continuare così oppure è meglio (per sicurezza che si aprano più video) che metta yt-dlp_x86.exe (rinom yt-dlp.exe) in SMPlayer a 32 bit?