MPV non funziona dopo aggiornamento

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: 3793
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

MPV non funziona dopo aggiornamento

Messaggio da joe »

Ciao a tutti, ho eseguito su slackware-15.0 l'aggiornamento dei pacchetti ufficiali "slackpkg update + upgrade-all".
Ho poi aggiornato il kernel e annessi, quindi moduli, headers ecc... sempre installando i pacchetti ufficiali, in slackpkg li ho balcklistati in modo da occuparmene a mano coi pkgtools lisci, questo mi serve perché devo poi ricompilare i malefici driver nvidia-legacy340 fuori supporto e con slackbuilds modificati, e va bene.

Fatto questo questo il sistema si avvia e sembrerebbe tutto ok. MPV però non funzionava più. Ma è normale credo perché l'aggiornamento probabilmente rompe delle librerie di dipendenza, tra cui credo anche ffmpeg. Ad ogni modo, l'idea era quella di ricompilare, sia ffmpeg per attivare alcune funzionalità non presenti di default e quindi ricompilare mpv e dipendenze usando gli slackbuilds di SBo.

Dopo averlo fatto però mpv continua a non funzionare.
Anche senza dargli in pasto un file audio/video tipo così:

Codice: Seleziona tutto

mpv --vo=gpu --no-config --idle=yes
Non appare la consueta pseudo-gui pronta a riprodurre links o files trascinativi dentro ecc... resta lì senza errori.
Poi ho provato a dargli in pasto un file ed ecco cosa salta fuori:

Codice: Seleziona tutto

$ mpv --no-config input.mp4
 (+) Video --vid=1 (*) (h264 848x480 29.969fps)
 (+) Audio --aid=1 (*) (aac 2ch 44100Hz)
[vo/gpu/drm] VT_GETMODE failed: Inappropriate ioctl for device
[vo/gpu/drm] Failed to set up VT switcher. Terminal switching will be unavailable.
[vo/gpu/drm] No primary DRM device could be picked!
[vo/gpu/drm] Failed to find a usable DRM primary node!
[vo/gpu-next/drm] Can't handle VT release - signal already used
[vo/gpu-next/drm] Failed to set up VT switcher. Terminal switching will be unavailable.
[vo/gpu-next/drm] No primary DRM device could be picked!
[vo/gpu-next/drm] Failed to find a usable DRM primary node!
[vo/vdpau] Warning: this compatibility VO is low quality and may have issues with OSD, scaling, screenshots and more.
[vo/vdpau] vo=gpu is the preferred choice in any case and includes VDPAU support via hwdec=vdpau or vdpau-copy.
AO: [pulse] 44100Hz stereo 2ch float
VO: [vdpau] 848x480 yuv420p
[vo/vdpau] Inconsistent timing detected.
Exiting... (Quit)
AV: 00:00:00 / 00:02:14 (0%) A-V:  0.012^C
La riproduzione parte, ma:
- si sente solo l'audio
- il video è completamente nero
- non si riesce a chiudere semplicemente premendo "q", come si vede ho dovuto dare ctrl+c "^C" nel terminale per riottenere il prompt.

Se specifico l'opzione --vo=gpu il video non parte ed escono fuori i seguenti errori. Sta volta il comando esce da solo e ritorna il prompt:

Codice: Seleziona tutto

$ mpv --vo=gpu --no-config input.mp4
 (+) Video --vid=1 (*) (h264 848x480 29.969fps)
 (+) Audio --aid=1 (*) (aac 2ch 44100Hz)
[vo/gpu/drm] VT_GETMODE failed: Inappropriate ioctl for device
[vo/gpu/drm] Failed to set up VT switcher. Terminal switching will be unavailable.
[vo/gpu/drm] No primary DRM device could be picked!
[vo/gpu/drm] Failed to find a usable DRM primary node!
[vo/gpu] Failed initializing any suitable GPU context!
Error opening/initializing the selected video_out (--vo) device.
Video: no video
Exiting... (Errors when loading file)
Aggiungo anche la configurazione che ho sempre utilizzato per mpv, anche se nei test sopra l'ho bypassata con --no-config:

Codice: Seleziona tutto

$ grep -v "^#\|^$" .config/mpv/mpv.conf
player-operation-mode=pseudo-gui
vo=gpu
video-sync=display-resample
hwdec=auto
cache=yes
demuxer-cache-dir=~/.cache/mpv
cache-on-disk=yes
ytdl-format=22/95/best[height <= 1080][vcodec ^= ?avc][fps <= 50]/best[height <= 1080][vcodec ^= ?avc]/best
idle=yes
volume=10
script-opts=ytdl_hook-ytdl_path=yt-dlp
C'è stata una variazione rispetto alla versione precedente di mpv (0.34 ora su SBo c'è la 0.37). "demuxer-cache-dir" prima era "cache-dir", niente di ché.

Lanciandolo con la configurazione sopra e dandogli in pasto il file di input, resta lì senza far partire il video, e a terminale non dà alcun output.

Cosa può essere andato storto?
Grazie in anticipo, io ho cercato abbastanza ma alla fine mi sono arreso a chiedere qui... come al solito! :lol:

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3793
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: MPV non funziona dopo aggiornamento

Messaggio da joe »

Non sono riuscito ancora a risolvere...
Però ho fatto una prova rimuovendo i driver proprietari nvidia e tornando alla situazione stock con i driver nouveu.

OK, il sistema m'è andato in crash durante la riproduzione d'un video però sembrerebbe che, l'errore ottenuto in precedenza coi driver open non salti fuori. Il ché mi fa supporre che il problema sia legato al driver proprietario.

Non ne sono sicuro, è solo una constatazione in conseguenza del rapido test spiegato.
D'altra parte i nouveu non supportano in modo accettabile la decodifica hardware della mia GPU che richiede VDPAU. Avevo provato anche tempi addietro e il sistema va beatamente in crash anche solo tentando di saltare da un punto all'altro della riproduzione video. Il ché ovviamente non è accettabile...
Il driver proprietario mi garantisce un po' di sgravio dal processore sfruttando per quanto possibile la GPU, pur con tutti i suoi limiti eh (parliamo di GT210 scheda asus silent da 30 €).

erio
Linux 4.x
Linux 4.x
Messaggi: 1354
Iscritto il: ven 9 ott 2009, 19:25
Slackware: 13.37
Kernel: 3.0.7
Desktop: kde

Re: MPV non funziona dopo aggiornamento

Messaggio da erio »

su hai aggiornato il kernel devi aggiornare anche i driver video nvidia alla versione del kernel che stai usando.

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

Re: MPV non funziona dopo aggiornamento

Messaggio da ponce »

io farei anche una prova con mplayer: quello funziona?
se non va nemmeno quello magari il problema e', si, l'aggiornamento e la conseguente necessita' di reinstallazione dei driver proprietari.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3793
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: MPV non funziona dopo aggiornamento

Messaggio da joe »

Sì sì, dopo aver aggiornato i pacchetti del kernel ho ricostruito e aggiornato anche i pacchetti nvidia-legacy340 (kernel+driver).
Non avevo provato mplayer... ma nel frattempo cercando ho trovato un simile problema di un utente arch:

https://bbs.archlinux.org/viewtopic.php?id=286492

che grazia sua, riportava il motivo del malfunzionamento di mpv con i driver proprietari.
The official build of mpv has removed the "gl-x11" support which broke vdpau for the nvidia-340 driver. To bring it back I did the following:

Codice: Seleziona tutto

-Dgl-x11=enabled
Io non ho ben capito il senso di quella frase, ovvero se il supporto a gl-x11 era stato rimosso perché "rompeva vdpau", oppure se intende: è stato rimosso il supporto, e quindi vdpau risulta rotto.

Ad ogni modo ho provato a ricompilare mpv aggiungendo al comando meson l'opzione gl-x11.
Poi ho rilanciato mpv:

1. così non dà errori e funziona (per cui la ricompilazione con il supporto gl-x11 era ok)

Codice: Seleziona tutto

mpv --vo=gpu --no-config input.mp4
Però lanciandolo in questo modo non si sfrutta l'accelerazione della gpu a livello hardware. Per cui ci siamo quasi ma non del tutto.

2. aggiungendo le opzioni solite che ho in config per sfruttare quel poco che la GPU può dare a livello di decodifica hardware e scaricare il processore dall'incombenza ecco cosa succede:

Codice: Seleziona tutto

$ mpv --no-config --vo=gpu --hwdec=auto input.mp4
 (+) Video --vid=1 (*) (h264 848x480 29.969fps)
 (+) Audio --aid=1 (*) (aac 2ch 44100Hz)
[ffmpeg/video] h264: Failed setup for format vdpau: hwaccel initialisation returned error.
[ffmpeg/video] h264: Failed setup for format vdpau: hwaccel initialisation returned error.
[ffmpeg/video] h264_v4l2m2m: Could not find a valid device
[ffmpeg/video] h264_v4l2m2m: can't configure decoder
Could not open codec.
AO: [pulse] 44100Hz stereo 2ch float
VO: [gpu] 848x480 yuv420p
Exiting... (Quit)
In pratica, il video viene riprodotto senza accelerazione hardware, e dall'output si nota il tentativo di coinvolgere VDPAU, ma senza successo.
Ho provato anche con le opzioni indicate sempre nel messaggio sopra linkato dal forum di arch ma la situazione non cambia, niente VDPAU:

Codice: Seleziona tutto

$ mpv --no-config --gpu-context=x11 --hwdec=vdpau input.mp4
 (+) Video --vid=1 (*) (h264 848x480 29.969fps)
 (+) Audio --aid=1 (*) (aac 2ch 44100Hz)
[ffmpeg/video] h264: Failed setup for format vdpau: hwaccel initialisation returned error.
AO: [pulse] 44100Hz stereo 2ch float
VO: [gpu] 848x480 yuv420p
Exiting... (Quit)
Prima dell'aggiornamento totale, inclusi pacchetti kernel, rebuild di nvidia-legacy340, rebuild di ffmpeg e rebuild di MPV, tutto funzionava, o per lo meno VDPAU lo riuscivo a sfruttare.
Mi viene il dubbio che possa anche dipendere da qualche opzione mancante nello slackbuild di ffmpeg, per sbloccare qualche codec o simili... allego un file vdpauinfo.txt con quelle che risultano essere le possibilità disponibili in tal senso.
Allegati
vdpauinfo.txt
(3.93 KiB) Scaricato 8 volte

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3793
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: MPV non funziona dopo aggiornamento

Messaggio da joe »

Ho fatto anche una prova volante con "mplayer" e mi sembra che VDPAU lì funzioni... mi sono ricordato che sul sito di "nouveau" c'era un comando per testare l'accelerazione video via VDPAU:

https://nouveau.freedesktop.org/VideoAcceleration.html

Ecco cosa salta fuori:

Codice: Seleziona tutto

$ mplayer -vo vdpau -vc ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpau,ffh264vdpau,ffodivxvdpau, input.mp4
MPlayer 20210418-10.3.0 (C) 2000-2021 MPlayer Team

Playing input.mp4.
libavformat version 58.76.100 (external)
libavformat file format detected.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f65581320a0]Protocol name not provided, cannot determine if input is local or a network protocol, buffers and access patterns cannot be configured optimally without knowing the protocol
[lavf] stream 0: video (h264), -vid 0
[lavf] stream 1: audio (aac), -aid 0, -alang und
VIDEO:  [H264]  848x480  24bpp  29.970 fps  1414.4 kbps (172.7 kbyte/s)
==========================================================================
Forced video codec: ffmpeg12vdpau
Forced video codec: ffwmv3vdpau
Forced video codec: ffvc1vdpau
Forced video codec: ffh264vdpau
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 58.134.100 (external)
Selected video codec: [ffh264vdpau] vfm: ffmpeg (FFmpeg H.264 (VDPAU))
==========================================================================
Clip info:
 major_brand: mp42
 minor_version: 0
 compatible_brands: mp42isom
Load subtitles in ./
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 44100 Hz, 2 ch, floatle, 63.5 kbit/2.25% (ratio: 7943->352800)
Selected audio codec: [ffaac] afm: ffmpeg (FFmpeg AAC (MPEG-2/MPEG-4 Audio))
==========================================================================
AO: [alsa] 44100Hz 2ch floatle (4 bytes per sample)
Starting playback...
Movie-Aspect is undefined - no prescaling applied.
VO: [vdpau] 848x480 => 848x480 H.264 VDPAU acceleration
Movie-Aspect is undefined - no prescaling applied.
VO: [vdpau] 848x480 => 848x480 H.264 VDPAU acceleration
A:   6.1 V:   6.1 A-V:  0.000 ct:  0.000   0/  0  2%  3%  0.3% 2 0

Exiting... (Quit)
Tirando le somme, se VDPAU è utilizzabile a livello di sistema (vedi driver ok, ffmpeg ok, e a conferma mplayer ok) allora significa che è mpv probabilmente a necessitare di un'aggiustata o qualcosa che gli serve come dipendenza.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3793
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: MPV non funziona dopo aggiornamento

Messaggio da joe »

Fermo restando quanto scritto appena sopra (ovvero se mplayer riesce ad utilizzare VDPAU dovrebbe farcela anche MPV)...
Mi sta "assalendo" un dubbione, da ignorantone...

Il mio sistema Slackware-15 è sì a 64bit, ma ho predisposto il "multilib" da AlienBob.
Così in realtà ho due pacchetti "ffmpeg". E quello che ho ricompilato io è soltanto la versione a 64bit, mentre l'altro targato "compat32" deriva dal repo multilib di Eric:

Codice: Seleziona tutto

$ findpkg ffmpeg-
ffmpeg-4.4.1-x86_64-2rebuilt
ffmpeg-compat32-4.4.1-x86_64-2compat32
Il dubbio è il seguente: non è che avendo lasciato ffmpeg compat32 intonso e ricompilato solo il pacchetto a 64bit possa portare a qualche intoppo con MPV?

A naso non direi perché MPV è a 64 bit e si appoggerà su ffmpeg a 64bit, quindi non dovrebbe c'entrare nulla il compat32 che eventualmente potrebbe essere necessario solo se dovessi compilare un qualche programma a 32bit che richiedesse ffmpeg come dipendenza... dico bene?

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

Re: MPV non funziona dopo aggiornamento

Messaggio da ponce »

no, il compat32 di ffmpeg non dovrebbe entrarci nulla.

se mplayer va anche col supporto a vdpau io allora proverei a ricompilare mpv e prima pero' anche tutte le dipendenze necessarie (e opzionali, se le hai gia' installate) da SBo non gia' incluse in Slackware (per tutte intendo *tutte*).

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3793
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: MPV non funziona dopo aggiornamento

Messaggio da joe »

In realtà lo avevo anche già fatto, ma non le opzionali, tutti i pacchetti SBo che avevo sul sistema (440) erano compilati molto prima dell'aggiornamento, sicuramente parliamo di mesi come minimo...

Per MPV ho semplicemente dato "sqg -p mpv" e mi sono fidato della coda di pacchetti strettamente necessari. Vero è che ci sono anche dipendenze opzionali.
Posso rifare comunque, anche se è un approccio un po' alla cieca, ma se poi l'errore rientra e riesco a sfruttare la decodifica hardware vale ben la pena far macinare questo vecchio processore qualche oretta.

La coda che avevo utilizzato (dopo l'aggiornamento) è la seguente:

Codice: Seleziona tutto

cat /var/lib/sbopkg/queues/mpv.sqf
mujs
lua
luajit
python3-glad
python3-flit_core
python3-installer
python3-wheel
python3-pyproject-hooks
python3-build
python3-meson-opt
libplacebo
mpv
Leggendo il README di mpv dice che alcune funzionalità opzionali vengono attivate automaticamente avendo i corrispondenti pacchetti installati come dicevamo, e snocciola i seguenti: jack, libuchardet, oss, rubberband, cudatoolkit, nv-codec-headers. Se ve ne siano anche altri non saprei...

Intanto controllando questi:

Codice: Seleziona tutto

$ for i in jack libuchardet oss rubberband cudatoolkit nv-codec-headers;do findpkg $i|grep SBo;done
/var/log/packages/jack-1.9.21-x86_64-1_SBo
In pratica sembrerebbe che sia da ricompilare solo "jack" e relativa coda di dipendenze, che in questo caso non contiene alcun pacchetto.
Per cui alla fine provo a ri-compilare jack e la coda di mpv soprariportata. Proviamo...

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

Re: MPV non funziona dopo aggiornamento

Messaggio da ponce »

intanto io installerei anche nv-codec-headers, che aiutano sia per ffmpeg che per mpv per usare l'accelerazione hardware.

nel caso la ricompilazione non funzionasse tieni di conto che anche ffmpeg e' una dipendenza di mpv: quando hai ricompilato quello hai ricompilato anche le sue dipendenze opzionali?
eventualmente un test da fare potrebbe anche essere sostituire il tuo ffmpeg con quello "restricted" di Alien Bob.

verifica anche di aver ancora impostato VDPAU_DRIVER=nvidia dentro /etc/profile.d/vdpau.sh

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3793
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: MPV non funziona dopo aggiornamento

Messaggio da joe »

Ha finito il "prebuild", ho lasciato mpv escluso per compilarlo poi a parte in modo da sfruttare lo slackbuild modificato come spiegato nei messaggi sopra.
Ha "già" finito, lanciato prima di cena ed ecco un sommario di cosa ho ricompilato e reinstallato:

Codice: Seleziona tutto

+++++++++++++++++++++++++++++++++++++++++++
SUMMARY LOG
Using the SBo repository for Slackware 15.0
Queue Process:  Download, build, and install

jack:
  MD5SUM check for jack2-1.9.22.tar.gz ... OK
  MD5SUM check for jack-example-tools-4.tar.gz ... OK
  Building package jack-1.9.22-x86_64-1_SBo.tgz ... OK
  Installing package jack-1.9.22-x86_64-1_SBo.tgz ... OK

mujs:
  MD5SUM check for mujs-1.3.2.tar.xz ... OK
  Building package mujs-1.3.2-x86_64-1_SBo.tgz ... OK
  Installing package mujs-1.3.2-x86_64-1_SBo.tgz ... OK

lua:
  MD5SUM check for lua-5.1.5.tar.gz ... OK
  Building package lua-5.1.5-x86_64-1_SBo.tgz ... OK
  Installing package lua-5.1.5-x86_64-1_SBo.tgz ... OK

luajit:
  MD5SUM check for LuaJIT-2.0.5.tar.gz ... OK
  Building package luajit-2.0.5-x86_64-2_SBo.tgz ... OK
  Installing package luajit-2.0.5-x86_64-2_SBo.tgz ... OK

python3-glad:
  MD5SUM check for glad-2.0.4.tar.gz ... OK
  Building package python3-glad-2.0.4-x86_64-1_SBo.tgz ... OK
  Installing package python3-glad-2.0.4-x86_64-1_SBo.tgz ... OK

python3-flit_core:
  MD5SUM check for flit_core-3.9.0.tar.gz ... OK
  Building package python3-flit_core-3.9.0-x86_64-1_SBo.tgz ... OK
  Installing package python3-flit_core-3.9.0-x86_64-1_SBo.tgz ... OK

python3-installer:
  MD5SUM check for installer-0.7.0.tar.gz ... OK
  Building package python3-installer-0.7.0-x86_64-1_SBo.tgz ... OK
  Installing package python3-installer-0.7.0-x86_64-1_SBo.tgz ... OK

python3-wheel:
  MD5SUM check for wheel-0.42.0.tar.gz ... OK
  Building package python3-wheel-0.42.0-x86_64-1_SBo.tgz ... OK
  Installing package python3-wheel-0.42.0-x86_64-1_SBo.tgz ... OK

python3-pyproject-hooks:
  MD5SUM check for pyproject_hooks-1.0.0.tar.gz ... OK
  Building package python3-pyproject-hooks-1.0.0-x86_64-1_SBo.tgz ... OK
  Installing package python3-pyproject-hooks-1.0.0-x86_64-1_SBo.tgz ... OK

python3-build:
  MD5SUM check for build-1.0.3.tar.gz ... OK
  Building package python3-build-1.0.3-x86_64-1_SBo.tgz ... OK
  Installing package python3-build-1.0.3-x86_64-1_SBo.tgz ... OK

python3-meson-opt:
  MD5SUM check for meson-1.3.1.tar.gz ... OK
  Building package python3-meson-opt-1.3.1-noarch-1_SBo.tgz ... OK
  Installing package python3-meson-opt-1.3.1-noarch-1_SBo.tgz ... OK

libplacebo:
  MD5SUM check for libplacebo-v6.338.1.tar.gz ... OK
  Building package libplacebo-6.338.1-x86_64-1_SBo.tgz ... OK
  Installing package libplacebo-6.338.1-x86_64-1_SBo.tgz ... OK

+++++++++++++++++++++++++++++++++++++++++++

###########################################
          Queue process complete!
###########################################
Ora lancio il build di mpv e vediamo se sta volta avrò più fortuna...

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

Re: MPV non funziona dopo aggiornamento

Messaggio da ponce »

In effetti hai detto che l'hai modificato ma non è chiaro come...
Che differenze ci sono esattamente con quello di SlackBuilds.org?

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3793
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: MPV non funziona dopo aggiornamento

Messaggio da joe »

Una riga, ho aggiunto il "context" suggerito dal messaggio trovato sul forum di arch...
Ora stavo facendo qualche altra prova basata su altre funzionalità che si possono spcificare via "meson" (come indica lo slackbuild di mpv che suggerisce di lanciare un "meson configure" per tutte le funzionalità, caso mai ne allego una copia per comodità)

In ogni caso ecco un diff dello script:

Codice: Seleziona tutto

# diff -Naur mpv.SlackBuild ../../../SBo/15.0/multimedia/mpv/mpv.SlackBuild
--- mpv.SlackBuild      2024-02-12 20:43:14.021670575 +0100
+++ ../../../SBo/15.0/multimedia/mpv/mpv.SlackBuild     2023-11-25 16:16:41.000000000 +0100
@@ -29,7 +29,7 @@
 PRGNAM=mpv
 VERSION=${VERSION:-0.37.0}
 BUILD=${BUILD:-1}
-TAG=${TAG:-_localSBo}
+TAG=${TAG:-_SBo}
 PKGTYPE=${PKGTYPE:-tgz}

 if [ -z "$ARCH" ]; then
@@ -110,9 +110,6 @@
   -Dcdda=enabled \
   -Ddvdnav=enabled \
   -Ddvbin=enabled \
-  -Dgl-x11=enabled \
-  -Dvdpau-gl-x11=enabled \
-  -Dvdpau=enabled \
   $pipewire \
   $BUILD_OPTS \
   . build
In pratica ho aggiunto;
- Dgl-x11=enabled
- Dvdpau-gl-x11=enabled (di default dovrebbe essere "auto")
- Dvdpau=enabled (anche questo di default è su "auto")

La prima delle 3 modifiche ha migliorato la situazione, senza non funzionava proprio del tutto coi driver nvidia.
Le altre 2 non sembrano aver migliorato la fazenda, a meno che non sia necessario specificare qualche opzione specifica in runtime da riga di comando per capirci, per sfruttarle.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3793
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: MPV non funziona dopo aggiornamento

Messaggio da joe »

Ah il meson configure lo inserisco in allegato a questo messaggio
Allegati
mpv-meson-configure.txt
(22.35 KiB) Scaricato 11 volte

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3793
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: MPV non funziona dopo aggiornamento

Messaggio da joe »

Ho fatto un pasticcio clamoroso... Il problema non è solo MPV, ma anche il file "input.mp4" con cui ho eseguito tutte le prove... maledizione! :evil:

Il fetente file MP4 con cui stavo testando l'accelerazione hardware con MPV è codificato sì in H264, ma con una particolarità:

Codice: Seleziona tutto

$ ffmpeg -i input.mp4 2>&1|grep Video
  Stream #0:0(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709), 848x480, 1414 kb/s, 29.97 fps, 29.97 tbr, 600 tbn, 1200 tbc (default)
L'intruso è quel innocuo "Baseline"... maledetto :x
Perché non è così innocuo?
Perché a quanto pare la mia GPU o forse la mia configurazione GPU+driver+OS non è in grado di decodificarlo a via hardware (passando quindi da vdpau). E come si fa a capirlo?
Da "vdpauinfo", l'output completo l'avevo messo in un messaggio precedente di questa chilometrica discussione. Ne ripropongo una sintesi centrata su H264:

Codice: Seleziona tutto

$ vdpauinfo|grep -i h264
H264_BASELINE                  --- not supported ---	<----- Eccolo! Sono andato a pescare un file di test proprio codificato in "h264_baseline"!! 
H264_MAIN                      41  8192  2048  2048
H264_HIGH                      41  8192  2048  2048
H264_CONSTRAINED_BASELINE      --- not supported ---
H264_EXTENDED                  --- not supported ---
H264_PROGRESSIVE_HIGH          --- not supported ---
H264_CONSTRAINED_HIGH          --- not supported ---
H264_HIGH_444_PREDICTIVE       --- not supported ---
Alla fine ho fatto nuovamente diversi test, sta volta su diversi files:

Codice: Seleziona tutto

input.mp4 Stream #0:0(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709), 848x480, 1414 kb/s, 29.97 fps, 29.97 tbr, 600 tbn, 1200 tbc (default)
input2.mp4 Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1006 kb/s, 29.98 fps, 29.97 tbr, 90k tbn, 59.94 tbc (default)
input3.webm Stream #0:0(eng): Video: vp9 (Profile 0), yuv420p(tv, bt709/unknown/unknown), 1280x720, SAR 1:1 DAR 16:9, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc (default)
input4.mkv Stream #0:0: Video: h264 (Main), yuv420p(progressive), 854x480 [SAR 1:1 DAR 427:240], 25 fps, 25 tbr, 1k tbn, 50 tbc (default) HANDLER_NAME : VideoHandler
input5.mkv Stream #0:0: Video: h264 (High), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 50 fps, 50 tbr, 1k tbn, 100 tbc (default)
Il 2, 4 e 5 sono in formato supportato h265_Main e h265_High. Ed effettivamente per questi la decodifica hardware funziona.

Funziona... anche se a dirla tutta col file a 50 FPS noto qualche "scatto" fastidioso.
In questi casi di solito premevo "Ctrl+h" e passavo alla decodifica via CPU che alla fine andava leggermente più fluida. Ora ho provato ma mi manda in "vdpau-copy".. e gli scatti restano. Ricordo che in precedenza i video a 1080p@60FPS iniziavano a dar problemi, ma con quelli a 50FPS si riusciva ancora ad ottenere una situazione accettabile (ricordo che prima aavevo mpv 0.34, ora 0.37, ma non so se dipenda dal player o da altro post-aggiornamento). Metto in blu proprio perché questo è argomento di miglioramento più di fino (fine tuning) quindi non ha a che fare col non funzionamento in toto.


Tornando in tema, ovviamente i files di test 1, 3 non possono sfruttare la decodifica hardware, in quanto per VP9 la GPU ne è sicuramente sprovvista... mentre per H264_Baseline, da vdpauinfo sembrerebbe così anche per lei, ma non sono sicuro che possa trattarsi anche di una eventuale mancata attivazione di qualche diavoleria di feature non attivata in qualche passaggio di build non so, di ffmpeg o similare.
Se ne sapete di più su questo aspetto e potete confermarmi che vdpauinfo restituisce solo features dell'hardware e non anche dovute a configurazioni mancanti ditemi pure... info graditissima.

Insomma, direi che il problema rilevato in questo topic è risolto e la causa era il mancato supporto a "x11" nel comando meson dello slackbuild SBo. Senza quello proprio non funzionava completamente.
Il resto della discussione verteva sul mancato impiego della decodifica via GPU, ed era dovuto ad una mia svista, ho testato con un file h264_baseline che non risulta supportato da VDPAU. O forse più correttamente dall'implementazione VDPAU per la mia GPU/driver Nvidia.

Rispondi