[RISOLTO] mpv ffmpeg e AV1
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.
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.
- joe
- Iper Master
- Messaggi: 3930
- Iscritto il: ven 27 apr 2007, 11:21
- Slackware: 15.0
- Kernel: 5.15.38
- Desktop: dwm
[RISOLTO] mpv ffmpeg e AV1
Ieri sono inciampato in un video codificato AV1 di cui veniva riprodotto solo l'audio da MPV.
Anni fa ricordo che gli AV1 venivano riprodotti grazie al pacchetto "dav1d" che, sempre a memoria, andava installato ed incluso nella compilazione di ffmpeg, io ero partito dal pacchetto ffmpeg ufficiale di Pat, e aveva funzionato, o almeno mi pareva. Poi siccome ove possibile avevo attivate le opzioni -vo=gpu e hwdec=auto, tendenzialmente tendo a preferire le versioni h264 come formato dei video, ove è possibile scegliere perché vengono decodificati dalla scheda video, il ché vista la pochezza della stessa non è un plus se non per lasciare scarica la CPU, ma nei casi di video a 1080@60fps, anche gli h264/AVC1 non li regge ed è leggermente meglio farli decodificare alla CPU. Per la cronaca la scheda video è una nvidia GT210, quindi roba da 30 euro da ufficio, niente di ché.
Ci sarebbe da che ridire anche su driver che "funzionicchia", o meglio funziona ma non è il massimo dell'integrazione nel sistema. Su SBo è nvidia-legacy340, non più mantenuto. L'avevo patchato per adeguarlo al kernel, copiando da arch, ma la parte driver non era così limpida.
L'obiettivo banalmente è quello di riuscire a riprodurre gli AV1 in modo accettabile, su slackware64-15.0 e usando MPV.
Ho provato ad aggiornare MPV ffmpeg e le loro code di dipendenze incluso "dav1d". La situazione sembra peggiorata. Ora mpv non apre neanche la finestra in idle. Avevo la versione 0.37, ora c'è la 0.38, forse è cambiato qualcosa anche nella configurazione, nel senso che le opzioni presenti nel mpv.conf potrebbero non andar più bene, ma la butto lì, non so...
Aggiungo che ho anche il sistema non perfettamente aggiornato, tra gli aggiornamenti visibili da slackpkg c'è anche il kernel.
Insomma se riesco a risolvere senza aggiornare tutto è meglio, altrimenti pazienza.
Se avete suggerimenti...
Per il test ho preso due files, uno H264 a 60fps
https://www.elecard.com/storage/video/T ... 0x1080.mp4
e l'altro AV1 sempre a 60fps:
https://www.elecard.com/storage/video/C ... x1080.webm
La cosa strana è che Firefox li riproduce...
Anche lì, non alla perfezione perché sono entrambi a 60 fps, ma quello è proprio un limite del mio hardware ormai da dismettere.
Anni fa ricordo che gli AV1 venivano riprodotti grazie al pacchetto "dav1d" che, sempre a memoria, andava installato ed incluso nella compilazione di ffmpeg, io ero partito dal pacchetto ffmpeg ufficiale di Pat, e aveva funzionato, o almeno mi pareva. Poi siccome ove possibile avevo attivate le opzioni -vo=gpu e hwdec=auto, tendenzialmente tendo a preferire le versioni h264 come formato dei video, ove è possibile scegliere perché vengono decodificati dalla scheda video, il ché vista la pochezza della stessa non è un plus se non per lasciare scarica la CPU, ma nei casi di video a 1080@60fps, anche gli h264/AVC1 non li regge ed è leggermente meglio farli decodificare alla CPU. Per la cronaca la scheda video è una nvidia GT210, quindi roba da 30 euro da ufficio, niente di ché.
Ci sarebbe da che ridire anche su driver che "funzionicchia", o meglio funziona ma non è il massimo dell'integrazione nel sistema. Su SBo è nvidia-legacy340, non più mantenuto. L'avevo patchato per adeguarlo al kernel, copiando da arch, ma la parte driver non era così limpida.
L'obiettivo banalmente è quello di riuscire a riprodurre gli AV1 in modo accettabile, su slackware64-15.0 e usando MPV.
Ho provato ad aggiornare MPV ffmpeg e le loro code di dipendenze incluso "dav1d". La situazione sembra peggiorata. Ora mpv non apre neanche la finestra in idle. Avevo la versione 0.37, ora c'è la 0.38, forse è cambiato qualcosa anche nella configurazione, nel senso che le opzioni presenti nel mpv.conf potrebbero non andar più bene, ma la butto lì, non so...
Aggiungo che ho anche il sistema non perfettamente aggiornato, tra gli aggiornamenti visibili da slackpkg c'è anche il kernel.
Insomma se riesco a risolvere senza aggiornare tutto è meglio, altrimenti pazienza.
Se avete suggerimenti...
Per il test ho preso due files, uno H264 a 60fps
https://www.elecard.com/storage/video/T ... 0x1080.mp4
e l'altro AV1 sempre a 60fps:
https://www.elecard.com/storage/video/C ... x1080.webm
La cosa strana è che Firefox li riproduce...
Anche lì, non alla perfezione perché sono entrambi a 60 fps, ma quello è proprio un limite del mio hardware ormai da dismettere.
Ultima modifica di joe il lun 27 gen 2025, 11:29, modificato 1 volta in totale.
- brg
- Linux 3.x
- Messaggi: 588
- Iscritto il: sab 12 mar 2011, 14:20
- Slackware: 15.0
- Kernel: 5.15.117
- Desktop: KDE5
- Località: Montecatini
- Contatta:
Re: mpv ffmpeg e AV1
Credo che Firefox usi gstreamer e non FFMPEG. Prova ad usare un programma basato su gstreamer per riprodurre il file.
- joe
- Iper Master
- Messaggi: 3930
- Iscritto il: ven 27 apr 2007, 11:21
- Slackware: 15.0
- Kernel: 5.15.38
- Desktop: dwm
Re: mpv ffmpeg e AV1
Ho in parte risolto il fatto che MPV non si apriva neanche... Dipendeva dallo slackbuild su SBo, e probabilmente dalle impostazioni che ho in config.
Nel mio caso occorre aggiungere il supporto a gl-X11, quindi ho aggiunto le voci:
Ho ritrovato un mio vecchio messaggio dell'ano passato in cui ero caduto nello stesso inghippo. Ora ho messo mpv tra i software compilati a mano, perché usando sbopkg questi dettagli sfuggono e si finisce per usare lo slackbuild di default.
Però anche dopo la ricompilazione così, quindi ffmpeg con supporto a "dav1d" ed mpv, ancora il video non si vede. Si sente e basta.
Ho provato anche con questo file come test:
https://github.com/SPBTV/video_av1_samp ... _25fps.mp4
E anche lì si sente ma non si vede.
Dandolo in pasto ad "ffmpeg -i", saltano fuori un sacco d'errori:
Va be' indagherò meglio...
Per quanto riguarda Firefox se usa gstreamer allora ffmpeg non c'entra per cui giusto farlo presente. Grazie.
Codice: Seleziona tutto
meson \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--mandir=/usr/man \
-Dbuildtype=release \
-Dmanpage-build=enabled \
-Dlibmpv=true \
-Dhtml-build=enabled \
-Dcdda=enabled \
-Ddvdnav=enabled \
-Ddvbin=enabled \
-Dgl-x11=enabled \
-Dvdpau-gl-x11=enabled \
-Dvdpau=enabled \
$pipewire \
$BUILD_OPTS \
. build
Codice: Seleziona tutto
-Dgl-x11=enabled \
-Dvdpau-gl-x11=enabled \
-Dvdpau=enabled \
Però anche dopo la ricompilazione così, quindi ffmpeg con supporto a "dav1d" ed mpv, ancora il video non si vede. Si sente e basta.
Ho provato anche con questo file come test:
https://github.com/SPBTV/video_av1_samp ... _25fps.mp4
E anche lì si sente ma non si vede.
Dandolo in pasto ad "ffmpeg -i", saltano fuori un sacco d'errori:
Codice: Seleziona tutto
ffmpeg version 4.4.5 Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 11.2.0 (GCC)
configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --docdir=/usr/doc/ffmpeg-4.4.5/html --mandir=/usr/man --disable-debug --enable-shared --disable-static --enable-gpl --enable-version3 --enable-avresample --arch=x86_64 --disable-encoder=aac --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-gnutls --enable-libbluray --enable-libcaca --enable-libcdio --enable-frei0r --enable-openal --enable-libopus --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libmp3lame --enable-opencl --enable-opengl --enable-libopenjpeg --enable-libpulse --enable-libsmbclient --enable-libxml2 --enable-librsvg --enable-libdrm
libavutil 56. 70.100 / 56. 70.100
libavcodec 58.134.100 / 58.134.100
libavformat 58. 76.100 / 58. 76.100
libavdevice 58. 13.100 / 58. 13.100
libavfilter 7.110.100 / 7.110.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 9.100 / 5. 9.100
libswresample 3. 9.100 / 3. 9.100
libpostproc 55. 9.100 / 55. 9.100
[av1 @ 0xda4000] Your platform doesn't suppport hardware accelerated AV1 decoding.
[av1 @ 0xda4000] Failed to get pixel format.
[av1 @ 0xda4000] Missing Sequence Header.
Last message repeated 98 times
[av1 @ 0xda4000] video_get_buffer: image parameters invalid
[av1 @ 0xda4000] get_buffer() failed
[av1 @ 0xda4000] thread_get_buffer() failed
[av1 @ 0xda4000] Failed to allocate space for current frame.
[av1 @ 0xda4000] Get current frame error
[av1 @ 0xda4000] video_get_buffer: image parameters invalid
[av1 @ 0xda4000] get_buffer() failed
[av1 @ 0xda4000] thread_get_buffer() failed
[av1 @ 0xda4000] Failed to allocate space for current frame.
[av1 @ 0xda4000] Get current frame error
[av1 @ 0xda4000] video_get_buffer: image parameters invalid
[av1 @ 0xda4000] get_buffer() failed
[av1 @ 0xda4000] thread_get_buffer() failed
[av1 @ 0xda4000] Failed to allocate space for current frame.
[av1 @ 0xda4000] Get current frame error
[av1 @ 0xda4000] video_get_buffer: image parameters invalid
[av1 @ 0xda4000] get_buffer() failed
[av1 @ 0xda4000] thread_get_buffer() failed
[av1 @ 0xda4000] Failed to allocate space for current frame.
[av1 @ 0xda4000] Get current frame error
[av1 @ 0xda4000] video_get_buffer: image parameters invalid
[av1 @ 0xda4000] get_buffer() failed
[av1 @ 0xda4000] thread_get_buffer() failed
[av1 @ 0xda4000] Failed to allocate space for current frame.
[av1 @ 0xda4000] Get current frame error
[av1 @ 0xda4000] video_get_buffer: image parameters invalid
[av1 @ 0xda4000] get_buffer() failed
[av1 @ 0xda4000] thread_get_buffer() failed
[av1 @ 0xda4000] Failed to allocate space for current frame.
[av1 @ 0xda4000] Get current frame error
[av1 @ 0xda4000] video_get_buffer: image parameters invalid
[av1 @ 0xda4000] get_buffer() failed
[av1 @ 0xda4000] thread_get_buffer() failed
[av1 @ 0xda4000] Failed to allocate space for current frame.
[av1 @ 0xda4000] Get current frame error
[av1 @ 0xda4000] video_get_buffer: image parameters invalid
[av1 @ 0xda4000] get_buffer() failed
[av1 @ 0xda4000] thread_get_buffer() failed
[av1 @ 0xda4000] Failed to allocate space for current frame.
[av1 @ 0xda4000] Get current frame error
[av1 @ 0xda4000] video_get_buffer: image parameters invalid
[av1 @ 0xda4000] get_buffer() failed
[av1 @ 0xda4000] thread_get_buffer() failed
[av1 @ 0xda4000] Failed to allocate space for current frame.
[av1 @ 0xda4000] Get current frame error
[av1 @ 0xda4000] video_get_buffer: image parameters invalid
[av1 @ 0xda4000] get_buffer() failed
[av1 @ 0xda4000] thread_get_buffer() failed
[av1 @ 0xda4000] Failed to allocate space for current frame.
[av1 @ 0xda4000] Get current frame error
[av1 @ 0xda4000] video_get_buffer: image parameters invalid
[av1 @ 0xda4000] get_buffer() failed
[av1 @ 0xda4000] thread_get_buffer() failed
[av1 @ 0xda4000] Failed to allocate space for current frame.
[av1 @ 0xda4000] Get current frame error
[av1 @ 0xda4000] video_get_buffer: image parameters invalid
[av1 @ 0xda4000] get_buffer() failed
[av1 @ 0xda4000] thread_get_buffer() failed
[av1 @ 0xda4000] Failed to allocate space for current frame.
[av1 @ 0xda4000] Get current frame error
[av1 @ 0xda4000] video_get_buffer: image parameters invalid
[av1 @ 0xda4000] get_buffer() failed
[av1 @ 0xda4000] thread_get_buffer() failed
[av1 @ 0xda4000] Failed to allocate space for current frame.
[av1 @ 0xda4000] Get current frame error
[av1 @ 0xda4000] video_get_buffer: image parameters invalid
[av1 @ 0xda4000] get_buffer() failed
[av1 @ 0xda4000] thread_get_buffer() failed
[av1 @ 0xda4000] Failed to allocate space for current frame.
[av1 @ 0xda4000] Get current frame error
[av1 @ 0xda4000] video_get_buffer: image parameters invalid
[av1 @ 0xda4000] get_buffer() failed
[av1 @ 0xda4000] thread_get_buffer() failed
[av1 @ 0xda4000] Failed to allocate space for current frame.
[av1 @ 0xda4000] Get current frame error
[av1 @ 0xda4000] video_get_buffer: image parameters invalid
[av1 @ 0xda4000] get_buffer() failed
[av1 @ 0xda4000] thread_get_buffer() failed
[av1 @ 0xda4000] Failed to allocate space for current frame.
[av1 @ 0xda4000] Get current frame error
[av1 @ 0xda4000] video_get_buffer: image parameters invalid
[av1 @ 0xda4000] get_buffer() failed
[av1 @ 0xda4000] thread_get_buffer() failed
[av1 @ 0xda4000] Failed to allocate space for current frame.
[av1 @ 0xda4000] Get current frame error
[av1 @ 0xda4000] video_get_buffer: image parameters invalid
[av1 @ 0xda4000] get_buffer() failed
[av1 @ 0xda4000] thread_get_buffer() failed
[av1 @ 0xda4000] Failed to allocate space for current frame.
[av1 @ 0xda4000] Get current frame error
[av1 @ 0xda4000] video_get_buffer: image parameters invalid
[av1 @ 0xda4000] get_buffer() failed
[av1 @ 0xda4000] thread_get_buffer() failed
[av1 @ 0xda4000] Failed to allocate space for current frame.
[av1 @ 0xda4000] Get current frame error
[av1 @ 0xda4000] video_get_buffer: image parameters invalid
[av1 @ 0xda4000] get_buffer() failed
[av1 @ 0xda4000] thread_get_buffer() failed
[av1 @ 0xda4000] Failed to allocate space for current frame.
[av1 @ 0xda4000] Get current frame error
[av1 @ 0xda4000] video_get_buffer: image parameters invalid
[av1 @ 0xda4000] get_buffer() failed
[av1 @ 0xda4000] thread_get_buffer() failed
[av1 @ 0xda4000] Failed to allocate space for current frame.
[av1 @ 0xda4000] Get current frame error
[av1 @ 0xda4000] video_get_buffer: image parameters invalid
[av1 @ 0xda4000] get_buffer() failed
[av1 @ 0xda4000] thread_get_buffer() failed
[av1 @ 0xda4000] Failed to allocate space for current frame.
[av1 @ 0xda4000] Get current frame error
[av1 @ 0xda4000] video_get_buffer: image parameters invalid
[av1 @ 0xda4000] get_buffer() failed
[av1 @ 0xda4000] thread_get_buffer() failed
[av1 @ 0xda4000] Failed to allocate space for current frame.
[av1 @ 0xda4000] Get current frame error
[av1 @ 0xda4000] video_get_buffer: image parameters invalid
[av1 @ 0xda4000] get_buffer() failed
[av1 @ 0xda4000] thread_get_buffer() failed
[av1 @ 0xda4000] Failed to allocate space for current frame.
[av1 @ 0xda4000] Get current frame error
[av1 @ 0xda4000] video_get_buffer: image parameters invalid
[av1 @ 0xda4000] get_buffer() failed
[av1 @ 0xda4000] thread_get_buffer() failed
[av1 @ 0xda4000] Failed to allocate space for current frame.
[av1 @ 0xda4000] Get current frame error
[mov,mp4,m4a,3gp,3g2,mj2 @ 0xd9fec0] decoding for stream 1 failed
[mov,mp4,m4a,3gp,3g2,mj2 @ 0xd9fec0] Could not find codec parameters for stream 1 (Video: av1 (Main) (av01 / 0x31307661), none(tv), 960x540 [SAR 1:1 DAR 16:9], 116 kb/s): unspecified pixel format
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Downloads/spbtv_sample_bipbop_av1_960x540_25fps.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: avc1isommp42avc1
creation_time : 2018-10-05T14:40:45.000000Z
Duration: 00:00:15.04, start: 0.000000, bitrate: 130 kb/s
Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 32000 Hz, mono, fltp, 8 kb/s (default)
Metadata:
handler_name : snd
vendor_id : [0][0][0][0]
Stream #0:1(und): Video: av1 (Main) (av01 / 0x31307661), none(tv), 960x540 [SAR 1:1 DAR 16:9], 116 kb/s, 25 fps, 25 tbr, 90k tbn, 90k tbc (default)
Metadata:
handler_name : vid
vendor_id : [0][0][0][0]
At least one output file must be specified
Per quanto riguarda Firefox se usa gstreamer allora ffmpeg non c'entra per cui giusto farlo presente. Grazie.
-
- Iper Master
- Messaggi: 2535
- Iscritto il: gio 10 mar 2011, 9:21
- Slackware: 15.0
- Kernel: 5.15.x-generic
- Desktop: Sway
- Distribuzione: Arch Linux
Re: mpv ffmpeg e AV1
La butto lì:
mi sa che ti serve dav1d e ricompilare ffmpeg, se non hai già fatto.
mi sa che ti serve dav1d e ricompilare ffmpeg, se non hai già fatto.
Codice: Seleziona tutto
ffmpeg -codecs | grep -i av1
- joe
- Iper Master
- Messaggi: 3930
- Iscritto il: ven 27 apr 2007, 11:21
- Slackware: 15.0
- Kernel: 5.15.38
- Desktop: dwm
Re: mpv ffmpeg e AV1
L'ho già fatto... In passato in realtà funzionava con gli AV1, poi devo aver ricompilato qualcosa (ffmpeg stesso?) nel tempo o per qualche altro motivo che non so ha smesso di funzionare. Me ne sono accorto solo l'altro giorno, perché è una codifica non frequente per la roba che riproduco di solito, che in gran parte è dal tubo e lì ho impostato yt-dlp per scegliere automaticamente il codec video h264 / avc1. Per cui anche se il video in questione è pubblicato anche in AV1, viene data priorità all'H264, quindi è ignorato.
Le ultime due righe dovrebbero confermare il supporto alla D-ecodifica degli av1, però nelle opzioni di configurazione che appaiono prima (su std error in realtà), ecco che
non c'è...
Probabile che abbia utilizzato lo slackbuild di Pat di ffmpeg in modo errato.
L'ho preso da qui:
https://mirrors.slackware.com/slackware ... ce/ffmpeg/
E in effetti mi ero fatto un script "build.sh" in cui passo delle variabili impostate a "yes" allo slackbulid in fase di esecuzione:
avevo messo una cosa del tipo:
Però rileggendo lo slackbuild non funziona così, non ricordo perché avevo scritto così quel build.sh, forse avevo modificato anche lo slackbuild di Pat... perché in passato aveva funzionato tutto mentre ora no, probabile che abbia sovrascritto della roba tirando giù la versione attuale di ffmpeg dal mirror slackware indicato sopra.
Ad ogni modo dice:
Per cui la variabile da passare allo script non era ad esempio "libdav1d=yes", perché tanto poi viene svuotata nelle righe qui sopra. Invece va impostato, ad esempio:
Il fatto che non l'abbia attivato nella versione installata appare anche da:
Che non ritorna niente...
Ora ho provato a ricompilare con DAV1D=yes e le altre variabili messe in maiuscolo come indicate nello SlackBuild.
Aggiorno ffmpeg e riprovo...
Infatti ora i conti tornano... mpv non dovrebbe essere ricompilato in teoria...
OK, dopo qualche prova, confermo:
- ffplay riesce a riprodurre il video AV1
- mpv idem come sopra, anche senza essere ricompilato contro la nuova installazione di ffmpeg
Insomma il problema è che avevo cannato il nome delle varibil da passare allo slackbuild nello script build.sh che mi sono fatto per ricompilare ffmpeg.
In sintesi mi sono preparato uno script di build comprensivo di aggiornamento eventuale, molto basico, giusto per concludere questa discussione e mettere risolto:
Codice: Seleziona tutto
$ ffmpeg -codecs | grep -i av1
ffmpeg version 4.4.5 Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 11.2.0 (GCC)
configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --docdir=/usr/doc/ffmpeg-4.4.5/html --mandir=/usr/man --disable-debug --enable-shared
--disable-static --enable-gpl --enable-version3 --enable-avresample --arch=x86_64 --disable-encoder=aac --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-gnutls --enable-libbluray --enable-libcaca --enable-libcdio --enable-frei0r --enable-openal --enable-libopus --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libmp3lame --enable-opencl --enable-opengl --enable-libopenjpeg --enable-libpulse --enable-libsmbclient --enable-libxml2 --enable-librsvg --enable-libdrm
libavutil 56. 70.100 / 56. 70.100
libavcodec 58.134.100 / 58.134.100
libavformat 58. 76.100 / 58. 76.100
libavdevice 58. 13.100 / 58. 13.100
libavfilter 7.110.100 / 7.110.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 9.100 / 5. 9.100
libswresample 3. 9.100 / 3. 9.100
libpostproc 55. 9.100 / 55. 9.100
D.V.L. av1 Alliance for Open Media AV1
DEAIL. wmav1 Windows Media Audio 1
Codice: Seleziona tutto
--enable-dav1d
Probabile che abbia utilizzato lo slackbuild di Pat di ffmpeg in modo errato.
L'ho preso da qui:
https://mirrors.slackware.com/slackware ... ce/ffmpeg/
E in effetti mi ero fatto un script "build.sh" in cui passo delle variabili impostate a "yes" allo slackbulid in fase di esecuzione:
avevo messo una cosa del tipo:
Codice: Seleziona tutto
libdav1d=yes ./ffmpeg.SlackBuild
Ad ogni modo dice:
Codice: Seleziona tutto
# Configure ffmpeg features not autodetected by default.
# You can enable a lot of optional (not-autodetected) features by
# passing variables to the script (VAR=yes/no ./ffmpeg.SlackBuild).
# Unfortunately ffmpeg's configure doesn't support --enable-feature=yes
# syntax, so we have to do it the complicated way :/
libx264="" ; [ "${X264:-no}" != "no" ] && libx264="--enable-libx264"
libass="" ; [ "${ASS:-no}" != "no" ] && libass="--enable-libass"
libdav1d="" ; [ "${DAV1D:-no}" != "no" ] && libdav1d="--enable-libdav1d"
ecc
Codice: Seleziona tutto
DAV1D=yes ./ffmpeg.SlackBuild
Codice: Seleziona tutto
ffmpeg -hide_banner -buildconf|grep dav1d
Ora ho provato a ricompilare con DAV1D=yes e le altre variabili messe in maiuscolo come indicate nello SlackBuild.
Aggiorno ffmpeg e riprovo...
Codice: Seleziona tutto
$ ffmpeg -hide_banner -buildconf|grep dav1d
--enable-libdav1d
OK, dopo qualche prova, confermo:
- ffplay riesce a riprodurre il video AV1
- mpv idem come sopra, anche senza essere ricompilato contro la nuova installazione di ffmpeg
Insomma il problema è che avevo cannato il nome delle varibil da passare allo slackbuild nello script build.sh che mi sono fatto per ricompilare ffmpeg.
In sintesi mi sono preparato uno script di build comprensivo di aggiornamento eventuale, molto basico, giusto per concludere questa discussione e mettere risolto:
Codice: Seleziona tutto
#!/bin/sh
down() {
# Download sorgenti ffmpeg da mirror Slackware
lftp -c "open https://slackware.mirror.garr.it/slackware/slackware64-15.0/patches/source; mirror ffmpeg"
}
deps() {
# Build dipendenze custom via sbopkg
QUEUE=$(cat <<-EOQ
x264
libass
aom
dav1d
EOQ
)
for p in $QUEUE; do
sbopkg -i $p
done
}
build() {
# Build con attivazione funzionalità varie
cd ffmpeg
X264=yes \
ASS=yes \
AOM=yes \
DAV1D=yes \
./ffmpeg.SlackBuild
}
case $1 in
all)
down && deps && build
;;
down)
down
;;
deps)
deps
;;
ffmpeg)
build
;;
*)
echo "./build [ all | down | deps | ffmpeg ]"
;;
esac