Connect with us

Linux

Come installare FFmpeg con l’accelerazione GPU NVIDIA su Linux


The ffmpeg è un software di conversione video gratuito e open source per sistemi Linux e Unix. Tuttavia, su Ubuntu/Debian Linux e altre distribuzioni, la codifica basata su hardware NVIDIA è disabilitata in fase di compilazione. Quindi, naturalmente, è necessario supportare la GPU NVIDIA. A parte questo, sarebbe meglio se avessi il supporto CUDA installato con i compilatori GNU. Vediamo come installare tutto uno per uno su un server o desktop alimentato da Ubuntu o Debian Linux.

Ho testato le seguenti istruzioni su Ubuntu Linux 20.04 LTS. Ho installato il driver NVIDIA versione 460 e CUDA versione 10.1. La mia GPU è GeForce GTX 1650. Vediamo come installare FFmpeg con supporto per l’accelerazione hardware della GPU NVIDIA su Linux.

Dettagli tutorial
Livello di difficoltà Intermedio
Privilegi di root
Requisiti Debian/Ubuntu Linux
Est. momento della lettura 3 minuti

Installazione di FFmpeg con l’accelerazione hardware della GPU NVIDIA su Linux

  1. Innanzitutto, assicurati che il driver Nvidia (ultimo driver proprietario) sia installato su Ubuntu o Debian. Per esempio:sudo apt install nvidia-driver-460
  2. Riavvia il sistema Linux:sudo reboot
  3. Successivamente è necessario installare il kit di strumenti CUDA su Debian o Ubuntu Linux utilizzando il comando apt o il comando apt-get:sudo apt install nvidia-cuda-toolkit
    Utilizzo di FFmpeg con l'accelerazione hardware della GPU NVIDIA installando CUDA

    Installazione del toolkit CUDA (fare clic per ingrandire)

  4. Per compilare ffmpeg con NVIDIA abbiamo bisogno anche di ffnvcodec. Clona repository git:mkdir ~/nvidia/ && cd ~/nvidia/
    git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
  5. Installa ffnvcodec su Ubuntu o Debian:cd nv-codec-headers && sudo make install
  6. Ottieni il codice sorgente di ffmpeg, esegui:cd ~/nvidia/
    git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg/
  7. Installa la raccolta e le librerie del compilatore GNU gcc, esegui:sudo apt install build-essential yasm cmake libtool libc6 libc6-dev unzip wget libnuma1 libnuma-dev
  8. Configura ffmpeg con il supporto per GPU NVIDIA:cd ~/nvidia/ffmpeg/
    ./configure --enable-nonfree --enable-cuda-nvcc --enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64
  9. Compilalo, esegui:make -j $(nproc)
  10. Verifica eseguibile:ls -l ffmpeg
    ./ffmpeg

    Installazione di ffmpeg con supporto NVIDIA e verifica dell’installazione (fare clic per ingrandire)

  11. Ora puoi usare -hwaccel cuda interruttore per la codifica. Ad esempio:ffmpeg -y -hwaccel cuda -i input.file output.file

Come visualizzare le statistiche della GPU NVIDIA e caricare durante l’utilizzo di ffmpeg

Utilizzare uno dei seguenti comandi:
nvidia-smi
Assicurati di provare nvtop. È un visualizzatore di stato GPU basato su ncurses per GPU NVIDIA:
nvtop

clicca per ingrandire

Correlati: I 7 migliori strumenti della riga dei comandi di diagnostica e monitoraggio della GPU Linux

Risultato

In questo esempio, sto convertendo input.mkv in out.mp4 come segue senza utilizzare l’accelerazione GPU:
time /bin/ffmpeg -y -i /tmp/input.mkv /tmp/out.mp4
Uscite comando tempo con CPU utilizzata:

real	1m40.678s
user	16m52.159s
sys	0m7.821s

Annotare anche la velocità:

frame= 7320 fps= 73 q=-1.0 Lsize=   58306kB time=00:02:02.03 bitrate=3914.0kbits/s speed=1.22x    

E ora lo stesso file con l’accelerazione GPU NVIDIA (nota il percorso, sto chiamando il versione compilata):
time ~/ffmpeg/ffmpeg -hwaccel cuda -y -i /tmp/input.mkv /tmp/out.mp4
Output del comando Time con GPU utilizzata:

Solo guide per i sostenitori di Patreon ????

  • Nessuna pubblicità e tracciamento
  • Guide approfondite per sviluppatori e amministratori di sistema su Opensourceflare✨
  • Unisciti al mio Patreon per supportare i creatori di contenuti indipendenti e iniziare a leggere le ultime guide:

Aderire Patreon ?

real	0m28.494s
user	1m58.659s
sys	0m3.670s

ffmpeg accelera di 4.32x:

frame= 7320 fps=259 q=31.0 Lsize=   50294kB time=00:02:02.03 bitrate=3376.2kbits/s speed=4.32x  

La mia è una GPU di livello consumer, ma senza dubbio il data center o la GPU NVIDIA di livello professionale offrono prestazioni ancora migliori. Assicurati di leggere le seguenti pagine man usando il comando man:
man ffmpeg
man nvtop
man nvdia-smi

Riassumendo

Hai imparato come installare FFmpeg con il supporto hardware di accelerazione GPU NVIDIA su Debian o Ubuntu Linux per accelerare la codifica con il comando ffmpeg. Per ulteriori informazioni, consultare la documentazione NVIDIA e la pagina wiki di ffmpeg. In breve, per abilitare il supporto per la codifica assistita da GPU con una GPU NVIDIA per ffmpeg, è necessario:


ANNUNCIO



Ti e piaciuto questo articolo?
Supporta il mio lavoro, facendo una donazione!

Click to comment

Leave a Reply

Esegui l'accesso per Commentare.

Di tendenza

Close Popup
Questo sito utilizza i cookie per migliorare servizi ed esperienza dei lettori. Se decidi di continuare la navigazione senza blocchi premi su Accetto, oppure continua tranquillamente la navigazione, nessun dato sulla tua navigazione verrà raccolto.
Close Popup
Privacy Settings saved!
Impostazioni

Quando visiti un sito Web, esso può archiviare o recuperare informazioni sul tuo browser, principalmente sotto forma di cookies. Controlla qui i tuoi servizi di cookie personali.

Questi cookie sono necessari per il funzionamento del sito Web e non possono essere disattivati nei nostri sistemi.

Cookie tecnici
Per utilizzare questo sito web usiamo i seguenti cookie tecnici necessari:
  • wordpress_test_cookie
  • wordpress_logged_in_
  • wordpress_sec
  • swpm_session

Google Adsense
Usiamo la pubblicità di Google solo per mantenere attivi i nostro sito. Con ip anonimizzati.

Rifiuta tutti i Servizi
Save
Accetta tutti i Servizi