ffmpeg nuovo su slack 14.2

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.
Rispondi
Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3789
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

ffmpeg nuovo su slack 14.2

Messaggio da joe »

Come da oggetto...
Vedo che su SBo c'è un pacchetto di ffmpeg chiamato ffmpeg4 che va a costruire un pacchetto slackware per la versione appunto 4 di ffmpeg. E leggo che si andrebbe ad affiancare alla versione 3.x che dovrebbe essere presente sulla slack-14.2... o comunque installata sempre da SBo o da AlienBob.

Io al momento ho installata la versione 4.1.4 del software in oggetto. L'avevo compilata usando come base lo slackbuild di AlienBob e provvedendo a recupere i codecs a mano prima di lanciare la compilazione. Il pacchetto di Alien se ben ricordo mette tutto o quasi in statico. I vari pacchetti sorgente vengono piazzati in una subdir sources della dir di lavoro da cui si lancia lo slackbuild. Nello slackbuild si "attivano" i vari componenti e via...

Ora, la grande menata è recuperare tutti questi codecs in versione aggiornata... Se ben ricordo. Potrei ricordare male.

Volevo chiedervi visto che sono anni che non lo faccio.
Come vi regolate nell'installazione e aggiornamento di ffmpeg in modo che abbia a disposizione versioni nuove dei vari codecs e librerie?

Chiedo perché su un sito pubblicano video in formato mp4, ma con un codec AV1 se ho ben capito. E mi sono accorto che con MPV che si basa su ffmpeg il video non parte.
Riesco invece a vederlo da VLC, ma c'è qualcosa che non funziona bene anche qui perché se imposto l barra di riproduzione ad esempio più avanti ma anche più indietro, magari per rivedere una parte del video, ecco che si blocca tutto e ci mette troppo per ripartire.
Da firefox lo stesso video lo vedo anche, ma anche lì noto questa difficoltà qualora volessi saltare un pezzo o rivedere un punto precedente...
Ho provato anche con ffplay, lì addirittura il video si vede deformato e irriconoscibile... Tipo un alone che si muove, non si ha appunto un'immagine utile....

Volevo provare ad aggiornare un po' di roba inerente ffmpeg per capire se sia quello il problema.
Cosa ne dite?

Grazie in anticipo! :)

ilmich
Master
Master
Messaggi: 1645
Iscritto il: lun 16 lug 2007, 17:39
Slackware: 15.0 64bit
Kernel: 5.15.27
Desktop: kde
Località: Roma

Re: ffmpeg nuovo su slack 14.2

Messaggio da ilmich »

Ciao, personalmente da quando ffmpeg è in Slackware non mi sono mai posto troppo il problema in quanto da quel che so io le librerie esterne tipicamente servono per codificare dato che per la decodifica ffmpeg dovrebbe farcela da 'solo' e molti codec sono presenti da tempo.
Purtroppo l'av1 è l'eccezione sia perché è più recente.. sia perche quelli di ffmpeg forse si saranno stufati di implementare codec a iosa e infatti, al momento, l'av1 funziona solo se compili ffmpeg (credo vada bene anche la 4.1) con la libreria dav1d (scusa ma dal cellulare mi viene difficile mettere un link diretto)

in ogni caso tieni presente che man mano che aumenta la compressione e complessità dei codecs (av1 dovrebbe comprimere molto meglio dei predecessori) aumenta la potenza di calcolo richiesta quindi non è da escludere che problemi vari dipendano anche da quello.

ciau
#LiveSimple and #ProgramThings
https://github.com/ilmich
http://ilmich6502.it/

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

Re: ffmpeg nuovo su slack 14.2

Messaggio da joe »

Sì se la potenza di calcolo iniziasse ad essere un problema, il mio vecchio cassone sarebbe tra i primi a saltare.
Però in quel caso non si spiegherebbe perché, da firefox, così come da VLC il video in questione sia riproducibile, pur con i problemini che accennavo.

Sulla 14.2 però ffmpeg non c'è nel parco ufficiale.
C'è ora sulla current comunque.
Ma anche lì se vedi lo slackbuild di pat, trovi un sacco di voci abilitabili, che prevedono la presenza delle librerie esterne installate però.

https://mirrors.slackware.com/slackware ... SlackBuild

Per quello chiedevo come vi regolate.
Nel mio caso vorrei provare ad ottenere un ffmpeg quanto più completo possibile. In modo che principalmente la riproduzione dei contenuti più o meno diffusi in rete siano accessibili anche da MPV, che si appoggia proprio a ffmpeg.

rik70
Iper Master
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: ffmpeg nuovo su slack 14.2

Messaggio da rik70 »

Credo ti serva il pacchetto dav1d e ricompilare ffmpeg. Questa la parte rilevante dello SlackBuild che hai linkato sopra:

Codice: Seleziona tutto

libdav1d=""   ; [ "${DAV1D:-no}" != "no" ]        && libdav1d="--enable-libdav1d"
Dopodiché ricompili mpv e dovrebbe andare.

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

Re: ffmpeg nuovo su slack 14.2

Messaggio da joe »

Bene, utile sapere quale libreria è necessaria per supportare il codec in questione.

Lo spirito della domanda era però un po' più generale.. Ovvero, volendo avere un ffmpeg quanto più "onnivoro" possibile, come fare, possibilmente senza troppa fatica a munirsi di un ambiente dotato di quante più librerie e codecs coinvolti?

Esiste qualche scorciatoia o bisogna, come farei io ignorantemente, ravanare cercando codec per codec, libreria dopo libreria installando un pacchetto ala volta o giù di lì?
Non so se mi sono spiegato...
Non esiste tipo uno script o anche un comando di qualche slackbuild del tipo:

Codice: Seleziona tutto

~# BUILD_DEP="ON" CODECS="ALL"  ffmpeg.Slackbuild
???

Dalle vostre risposte mi sa tanto di no...
Ad ogni modo, lo slackbuild riportato sopra era quello di ffmpeg della "current", siccome io sono su 14.2, forse è meglio puntare sullo slackbuild che si trova su SBo.
Il pacchetto si chiama ffmpeg4 (per distinguerlo dal precedente ffmpeg-3.x che avevano messo a disposizione già anni fa sempre per la 14.2).

Cosa ne pensate?
Quale salckbuild consigliate?

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

Re: ffmpeg nuovo su slack 14.2

Messaggio da joe »

Alla fine ho fatto a mano...
Siccome per quanto possibile uso sbopkg ho usato come base il seguente salcbuild:

https://slackbuilds.org/repository/14.2 ... ia/ffmpeg4

L'ho però modificato attivando qui tutte le voci relative ai vari codecs e librerie.
Basta modificare l'originale che sbopkg scarica nella seguente directory e salvarla con l'estensione ".sbopkg":

Codice: Seleziona tutto

/var/lib/sbopkg/SBo/14.2/multimedia/ffmpeg4/ffmpeg4.SlackBuild.sbopkg
Così quando si a ad installare:

Codice: Seleziona tutto

sbopkg -i ffmpeg4
sbopkg ci propone la scelta tra lo slackbuild originale oppure la nostra versione locale. Scelgo la seconda ovviamente e procede la compilazione.
Avendo attivato tutto, se durante la compilazione qualcosa non viene trovato sul sistema, l'operazione si interrompe ovviamente. Così sono andato avanti a tentativi, installando sempre con sbopkg i vari componenti non presenti sul sistema.
Alla fine si ottiene un ffmpeg in versione 4 linkata alle librerie e codec di sistema.

In precedenza avevo sempre ffmpeg-4.x, ma i codec e le librerie che supportava erano state linkate staticamente, quindi si otteneva un ffmpeg indipendente da quello che c'è sul sistema. In quell'occasione avevo usato come base di partenza il materiale di AlienBob che crea appunto un ffmpeg "statico". C'è qualche vantaggio in quella soluzione in quanto se un domani devi aggiornare per qualche santo una libreria di sistema da cui dipende ffmpeg, con quella soluzione statica non dovrebbe smettere di funzionare, mentre nel mio caso attuale sì: non funzionerà più e dovrà essere ricompilato.

Fine antefatto.



Insomma, la compilazione ed installazione di ffmpeg4 di SBo è andata a buon fine.
Ho provato a riprodurre il video incriminato "direttamente" con ffplay e viene riprodotto senza problemi. Anche saltare da un punto all'altro della riproduzione non sembra avere esitazioni, tutto molto fluido e scattante come ci si aspettava.

Però c'è un problemone.
Siccome su SBo mantengono anche la versione 3 di ffmpeg, il loro slackbuild di ffmpeg4 è progettato per creare un'installazione non invasiva della versione più recente e consentire la presenza contemporanea di entrambe le versioni di ffmpeg.
Per farlo, nel configure hanno impostato:

Codice: Seleziona tutto

  --libdir=/usr/lib${LIBDIRSUFFIX}/ffmpeg4 \
  --mandir=/usr/man \
  --docdir=/usr/doc/$PRGNAM-$VERSION/html \
  --incdir=/usr/include/ffmpeg4 \
  --datadir=/usr/share/ffmpeg4 \
La conseguenza è che ad esempio firefox non trova più i codec (credo "libavcodec" o simili) perché probabilmente si aspetta di trovarli in /usr/lib64 e non in /usr/lib64/ffmpeg4.
E infatti il video che prima col vecchi ffmpeg riuscivo comunque a vedere in firefox, anche se con i problemini descritti, ora firefox proprio non riesce a fare nulla dall'alto della pagina salta fuori l'avvertimento che manca il codec. Ho provato anche un video su youtube e nonostante venga riprodotto, vedo dalle "stats for nerd" che sta riproducendo il formato "vp9", invece io avevo da sempre impostato la priorità sul formato "avc1", insomma quello che permette alla mia scheda video di riprodurre il video "via hardware" senza gravare troppo sulla cpu, per capirci... Il fatto è che per farlo come al solito serve ffmpeg in vista. Invece firefox non lo trova e ripiega su vp9, con cpu che raggiunge l'80% del carico.

Neanche MPV trova i codec, in particolare libavcodec.
Ma questo me lo aspettavo e nel README dello slackbuild di ffmpeg4 c'è anche specificato che per appoggiarsi a quella installazione di ffmpeg4 occorre settare il link alle librerie nel percorso /usr/lib64/ffmpeg4.

Però siccome io non ho sul sistema ffmpeg-3...
Prima di compilare MPV pensavo: perché non modificare ulteriormente lo slackbuild ed impostare i percorsi canonici /usr/lib64 /usr/include e /usr/share ??
Ci vedete qualche controindicazione?

rik70
Iper Master
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: ffmpeg nuovo su slack 14.2

Messaggio da rik70 »

joe ha scritto:
lun 11 ott 2021, 11:45
Ci vedete qualche controindicazione?
A occhio se hanno optato per tenere ffmpeg3 sui percorsi canonici, ci devono essere dei pacchetti per la 14.2 che richiedono quella versione.
Nel caso puoi ricompilarli, magari aggiornandoli alle ultime versione disponibili, ma potrebbero non andare per via delle librerie di sistema non aggiornate.

Solo tu puoi dirlo.

Per il resto hai già fatto, ma la risposta alle tue domande la trovi nei commenti agli S*BUILD di ffmpeg.

Tieni presente che ffmpeg ha inclusi in modo nativo praticamente tutti i codec più comuni.
Per inciso pure l'av1, almeno dalla versione >=4.3. Ma questo, da quello che ho capito, non funziona su piattaforme che non supportano l'accelerazione hardware, quindi devi ripiegare su altro che supporti la decodifica software. Se lanci mpv in modalità "verbosa" vedrai che l'accelerazione su questo formato video viene disabilitata in automatico perché considerata ancora non sicura.

Il resto delle librerie opzionali ti serve soprattutto per l'encoding. Ad esempio di libx264/5, libmp3lame, libxvid, non te ne fai nulla ai fini della decodifica audio/video.

Alla fine si tratta di scelte personali dettate dalle necessità di utilizzo.
Vuoi fare encoding su formato video AV1? Scarica e compila le librerie rav1e e abilitale con '--enable-librav1e'. Da ffmpeg >=4.4 se sono nel sistema le riconosce in automatico. Poi, per non farci mancare nulla, ci sono anche le libaom-av1.
E via discorrendo...

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

Re: ffmpeg nuovo su slack 14.2

Messaggio da joe »

Alla fine ho ritoccato lo slackbuild impostando i percorsi canonici di librerie headers ecc ecc... Tanto ffmpeg-3.x non è installato da anni sul mio sistema.
Per il momento fila tutto liscio.
Per l'encoding non ho esigenze di nessun genere. Mi interessava solo riprodurre video di diversa natura tra cui appunto AV1.

Riproducendo il video in questione con mpv dando il livello "v" verbose

Codice: Seleziona tutto

[cplayer] Command line options: '--messaggio-level=all=v' 'video.mp4'
[cplayer] mpv 0.33.0 Copyright © 2000-2020 mpv/MPlayer/mplayer2 projects
[cplayer]  built on Mon Oct 11 13:11:46 CEST 2021
[cplayer] FFmpeg library versions:
[cplayer]    libavutil       56.51.100
[cplayer]    libavcodec      58.91.100
[cplayer]    libavformat     58.45.100
[cplayer]    libswscale      5.7.100
[cplayer]    libavfilter     7.85.100
[cplayer]    libswresample   3.7.100
[cplayer] FFmpeg version: 4.3.2
[cplayer]
[cplayer] Configuration: ./waf configure --prefix=/usr --libdir=/usr/lib64 --confdir=/etc/mpv --mandir=/usr/man --docdir=/usr/doc/mpv-0.33.0 --enable-libmpv-shared --enable-html-build --enable-dvdnav --enable-cdda --enable-dvbin
[cplayer] List of enabled features: 51 alsa asm build-date caca cdda cplayer cplugins cuda-hwaccel cuda-interop debug-build dvbin dvdnav egl egl-helpers egl-x11 ffmpeg ffnvcodec gbm gbm.h gl glibc-thread-name glob glob-posix gpl iconv jack javascript jpeg lcms2 libass libavdevice libbluray libdl libm libmpv-shared libplacebo librt linux-fstatfs linux-input-event-codes lua optimize plain-gl posix posix-or-mingw pthreads pulse rubberband stdatomic uchardet vdpau vt.h x11 xv
zlib
[cplayer] Reading config file /etc/mpv/encoding-profiles.conf
[cplayer] Applying profile 'default'...
[cplayer] Reading config file /home/joe/.config/mpv/mpv.conf
[cplayer] Applying profile 'default'...
[cplayer] Setting option 'player-operation-mode' = 'pseudo-gui' (flags = 4)
[cplayer] Setting option 'vo' = 'vdpau' (flags = 4)
[cplayer] Setting option 'hwdec' = 'vdpau' (flags = 4)
[cplayer] Setting option 'cache' = 'yes' (flags = 4)
[cplayer] Setting option 'cache-dir' = '~/.cache/mpv' (flags = 4)
[cplayer] Setting option 'cache-on-disk' = 'yes' (flags = 4)
[cplayer] Setting option 'ytdl-format' = '(bestvideo[height <= 1080][vcodec ^= ?avc]+bestaudio)/best' (flags = 4)
[cplayer] Setting option 'idle' = 'yes' (flags = 4)
[cplayer] Setting option 'volume' = '10' (flags = 4)
[cplayer] Setting option 'messaggio-level' = 'all=v' (flags = 8)
[cplayer] Applying profile 'builtin-pseudo-gui'...
[cplayer] Setting option 'terminal' = 'no' (flags = 260)
[cplayer] Setting option 'force-window' = 'yes' (flags = 260)
[cplayer] Setting option 'screenshot-directory' = '~~desktop/' (flags = 260)
[cplayer] Applying profile 'pseudo-gui'...
[cplayer] Setting option 'player-operation-mode' = 'pseudo-gui' (flags = 4)
In effetti lì di AV1 non ne vedo, se non mi è sfuggito...
Metto anche l'out di ffprobe:

Codice: Seleziona tutto

$ ffprobe video.mp4
ffprobe version 4.3.2 Copyright (c) 2007-2021 the FFmpeg developers
  built with gcc 5.5.0 (GCC)
  configuration: --prefix=/usr --libdir=/usr/lib64 --mandir=/usr/man --docdir=/usr/doc/ffmpeg4-4.3.2/html --incdir=/usr/include --datadir=/usr/share --enable-rpath --disable-podpages --disable-txtpages --arch=x86_64 --enable-gpl --enable-version3 --enable-shared --disable-static --disable-debug --enable-libass --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libaom --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcelt --enable-libdc1394 --enable-nonfree --enable-libfdk_aac --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libiec61883 --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-librubberband --enable-libsmbclient --enable-libsnappy --enable-libspeex --enable-libssh --enable-libtesseract --enable-libtheora --enable-libtwolame --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-openal --enable-opengl --enable-nonfree --enable-openssl
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
[libaom-av1 @ 0x83a080] v2.0.1
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '8-ott-2021.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomav01iso2mp41
    encoder         : Lavf59.5.100
  Duration: 00:30:30.36, start: 0.000000, bitrate: 706 kb/s
    Stream #0:0(eng): Video: av1 (Main) (av01 / 0x31307661), yuv420p(tv, progressive), 1280x720, 442 kb/s, SAR 1:1 DAR 16:9, 29.97 fps, 29.97 tbr, 30k tbn, 30k tbc (default)
    Metadata:
      handler_name    : Video Media Handler
    Stream #0:1(eng): Audio: opus (Opus / 0x7375704F), 48000 Hz, stereo, fltp, 257 kb/s (default)
    Metadata:
      handler_name    : Sound Media Handler
[libaom-av1 @ 0x83b3c0] v2.0.1
Per il momento lascerei perdere ffmpeg-4.4 e i relativi codec che citavi necessari per le operazioni di codifica.
Siccome sembra funzionare tutto ok, mi accontento così.

Offtopic: EDIT OT
Nnon capisco perché nel primo tag code mi viene modificata l'opzione di mpv da "--messaggio-level=" in "--messaggio-level" macheronizzato... Che automatismo sia non ne ho idea, forse i "nostri" amministratori del forum conoscono quale strano arcano generi questa storpiatura... Essendo un codice, va da sé che non funziona più se coipia-incollato in terminale va be'. Sappiatevilo!

:lol: :lol: :lol:
Niente me lo modifica anche fuori dal tag code! :D Insomma l'opzione di mpv per settare il livello di verbosità lo potete vedere da manpqage, quanno ce vò ce vò 8) 8)

rik70
Iper Master
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: ffmpeg nuovo su slack 14.2

Messaggio da rik70 »

joe ha scritto:
lun 11 ott 2021, 20:37
Riproducendo il video in questione con mpv dando il livello "v" verbose
[...]
Strano.
Prova con

Codice: Seleziona tutto

mpv -v [..]
oppure metti 'vd' al posto di 'all':

Codice: Seleziona tutto

[vd] Container reported FPS: 30.000000
[vd] Codec list:
[vd]     libdav1d (av1) - dav1d AV1 decoder by VideoLAN
[vd]     libaom-av1 (av1) - libaom AV1
[vd]     av1 - Alliance for Open Media AV1
[vd]     av1_cuvid (av1) - Nvidia CUVID AV1 decoder
[vd]     av1_qsv (av1) - AV1 video (Intel Quick Sync Video acceleration)
[vd] Opening decoder libdav1d
[vd] Looking at hwdec av1-vaapi...
Cannot load libcuda.so.1
[vd] Trying hardware decoding via av1-vaapi.
[vd] Using underlying hw-decoder 'av1'
[vd] Selected codec: libdav1d (dav1d AV1 decoder by VideoLAN)
[vd] Pixel formats supported by decoder: cuda vaapi_vld yuv420p
[vd] Codec profile: Main (0x0)
[ffmpeg/video] av1: No support for codec av1 profile 0.
[vd] Hardware decoding of this stream is unsupported?
[vd] Requesting pixfmt 'yuv420p' from decoder.
[ffmpeg/video] av1: Your platform doesn't suppport hardware accelerated AV1 decoding.
[ffmpeg/video] av1: Failed to get pixel format.
Error while decoding frame (hardware decoding)!
[vd] Falling back to software decoding.
[vd] Detected 4 logical cores.
[vd] Requesting 5 threads for decoding.
[vd] Using software decoding.
[vd] Decoder format: 1280x720 yuv420p auto/auto/auto/limited/auto CL=mpeg2/4/h264
[vd] Using container aspect ratio.
**Sarebbe interessante sapere se con nVidia+cuda si riesce.
*** Su Intel: HW AV1 decode acceleration on Gen12

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

Re: ffmpeg nuovo su slack 14.2

Messaggio da joe »

Non so di cosa stai parlando, sono molto ignorante in materia.
So solo che già da anni (avevo anche chiesto qui sicuramente) ho riscontrato che il meglio che riesce a fare la mia scheda video è sfruttare VDPAU.
Impostando mpv in quel modo ottengo un carico della cpu notevolmente più ridotto.
Ma non so se c'entra con quanto dicevi tu.
Se vuoi posso fare delle prove, ma devi indicarmi cosa devo fare nel dettaglio perché brancolo nel buio.

La mia scheda video è una nvidia economica "silent":

Codice: Seleziona tutto

VGA compatible controller: NVIDIA Corporation GT218 [GeForce 210] (rev a2)
Tipo sta qua:
https://www.amazon.it/ASUS-EN210-SILENT ... B00C8JU9DE

Come driver ho:

nvidia-legacy-340.108

Cuda ho il toolkit, vecchio però, non l'ho aggiornato perché è ingombrante e in ffmpeg in realtà l'ho disabilitato. Ora non ricordo già più ma richiedeva poi qualcos'altro che ho faticato a trovare...

Installato ho la versione:
cudatoolkit-8.0.61-x86_64-1_SBo

Ad ogni modo se la mia scheda video non può sfruttare quella funzionalità tanto vale.
Se sbaglio dimmi pure, potrebbe essere che scopriamo che si può sfruttare meglio il mio hardware. In quel caso faccio lo sforzo volentieri.
Grazie per le risposte come sempre! :)

rik70
Iper Master
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: ffmpeg nuovo su slack 14.2

Messaggio da rik70 »

Su nVidia ci vuole una gpu almeno del 2020, microarchitettura Ampere , tipo questa.

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

Re: ffmpeg nuovo su slack 14.2

Messaggio da joe »

Alla fine già che ero di strada ho aggiornato cudatoolkit alla versione 10.2.89.
Abilitato cuda nello slackbuild di ffmpeg.
Ricompilato ffmpeg.
Ricompilato mpv.

Ma ottengo circa lo stesso output di prima quando tento di riprodurre il video in quesione.
In ogni caso si riproduce senza alcun problema, pur con l'impostazione VDPAU.
Non credo che lavori la GPU a livello di decodifica hardware però... Infatti il carico sul processore durante la riproduzione di quel video si aggira sul 40-50%: troppo. Un normale video avc1/h264 viene riprodotto lasciando la CPU al 2-5 o al massimo 10% di carico...

Non credo che per quella che è la mia scheda video si possa impostare diversamente mpv in modo che riesca a sfruttare qualche ipotetica funzionalità.
Come dicevi, per far decodificare direttamente all'hardware della scheda video questi nuovi tipi di formati, ma anche già il più comune h265 nel caso della mia vecchia scheda, serve hardware ben più recente (e costoso! visto i prezzi di quelle geforce serie 30!).

Rispondi