gpu, transcodifica video, ffmpeg

Transcodifica video accelerata con GPU (ffmpeg)

Grazie alla straordinaria potenza della scheda video NVIDIA QUADRO RTX 6000, con Cloud Server GPU riduci drasticamente i tempi per fare qualsiasi operazione. Come, per esempio, transcodificare video. Segue una breve guida per usare ffmpeg e quindi effettuare con successo la transcodifica dei video
Indice dei contenuti

Transcodifica video: una attività ad alto consumo di risorse 

La transcodifica o transcoding è una attività di conversione file particolarmente utilizzata quando, nel flusso di lavoro, il dispositivo di destinazione non supporta il formato di quello di origine o ci sono problemi di spazio o aggiornamento.
Durante un processo di transcodifica, prima di passare al formato finale o output, i dati vengono decodificati in un formato non compresso intermedio. In queste fasi, potremmo assistere a un fenomeno di perdita di generazione, soprattutto in caso di compressione file. 
Inotre, per rendere possibile il processo, è necessario utilizzare dei software di transcoding che normalmente sono molto esigenti in termini di risorse computazionali, e richiedono server molto potenti.
 

Transcodificare video con server GPU

Con l’avvento dei nuovi server Seeweb con GPU è possibile sfruttare appieno la tecnologia GPU per transcodificare video ad altissima velocità, risparmiando tempo prezioso.

I server GPU mettono a disposizione la scheda video NVIDIA QUADRO RTX 6000, scheda progettata per aumentare significativamente la produttività e creare contenuti straordinari in tempi mai visti prima.

Un utilizzo molto utile delle GPU è quello della transcodifica video, attività molto onerosa e che grazie all’ utilizzo delle GPU può essere eseguita in tempi decisamente più rapidi.

Uno dei software più comuni per la transcodifica è ffmpeg: qui vogliamo riportarvi una breve guida pronta all’uso per utilizzare proprio ffmpeg e transcodificare i vostri video.

L’esempio seguente è riferito a CentOS 7 e 8, l ‘installazione dei driver Nvidia è un prerequisito, potete trovare dettagli in altri nostri articoli.

Installazione pacchetti necessari

yum install nv-codec-headers autoconf automake bzip2 bzip2-devel cmake freetype-devel gcc gcc-c++ git libtool make pkgconfig zlib-devel

Installazione software nasm

curl -O -L https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.bz2
tar xjvf nasm-2.15.05.tar.bz2
./autogen.sh
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make
make install
yum remove nasm && hash -d nasm and x264

Installazione software yasm

curl -O -L https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xzvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make
make install

Installazione ffmpeg tramite compilazione da sorgenti

git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg/

nel file configure riga 4384

sostituire
    nvccflags_default=”-gencode arch=compute_30,code=sm_30 -O2″
con
    nvccflags_default=”-gencode arch=compute_52,code=sm_52 -O2″

./configure --enable-nonfree -–enable-cuda-nvcc –enable-libnpp
--extra-cflags=-I/usr/local/cuda/include
--extra-ldflags=-L/usr/local/cuda/lib64
make -j 8
make install

 

Finalmente  ffmpeg è compilato ed installato e possiamo utilizzarlo

Il seguente esempio che sfrutta appieno l’accelerazione hardware della GPU per eseguire la trascodifica

ffmpeg -y -hwaccel cuda -hwaccel_output_format cuda -i demo.mp4 -c:a copy -c:v h264_nvenc -b:v 5M -vf scale_cuda=1280:720 output.mp4

I nostri test dimostrano che le GPU permettono di risparmiare anche oltre 10 volte il tempo necessario per la trascodifica del file se questa viene fatta con CPU.

Ref: “https://trac.ffmpeg.org/wiki/CompilationGuide/Centos

Accelera la transcodifica video con Cloud Server GPU

Elevata potenza e capacità di una transcodifica video più che performante: usare i nostri server GPU apporterà benefici alla tua attività.

Siamo a disposizione per tutte le informazioni che potranno esserti utili su come usarli al meglio.

 

CONDIVIDI SUI SOCIAL

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

7 + 3 =