Como fazer o Intel QSV FFmpeg rodar na GPU no Ubuntu 14.04?

0

No ubuntu 14.04, minhas configurações de ffmpeg são

ffmpeg version ebe0fa0 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-4)
  configuration: --enable-gpl --enable-libx264 --enable-opencl --enable-nonfree --enable-libmfx --enable-libmp3lame --enable-libaacplus
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Usando este comando,

ffmpeg -i /home/M.mp4 -c:v h264_qsv -preset:v faster /home/out.avi

o% da CPU foi superior a 90 (375%). Assim, ele está sendo executado na CPU.

Eu estudei que o Intel QSV está rodando no processador, que está quase na CPU. O ffmpeg é principalmente para acelerações de hardware. Então é possível fazê-lo rodar na Intel GPU no Ubuntu?

    
por Vanns 14.07.2016 / 16:04

1 resposta

0

O fato de a CPU ser quase totalmente utilizada NÃO significa que ela também não esteja funcionando na GPU. Não all do trabalho de codificação é movido para a GPU, mas a GPU acelera e descarrega algumas das tarefas. Pode haver ferramentas disponíveis para consultar diretamente a utilização do componente GPU (não sei se estão no topo da minha cabeça) - isso confirmaria que sua GPU está fazendo parte do trabalho .

Na minha máquina particular, o codec h264_qsv é executado aproximadamente 5x mais rápido em termos de quadros / segundo do que o codec libx264, embora em ambos os casos a "utilização da CPU" informada esteja próxima de 100%.

[lwobker:/dtop/nobackup/]$ cat /proc/cpuinfo | egrep 'model name'
model name      : Intel(R) Core(TM) i7-5600U CPU @ 2.60GHz

[lwobker:/dtop/nobackup]$ ffmpeg -hide_banner -codecs | egrep 'qsv' | egrep '264'
 DEV.LS h264                 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_qsv ) (encoders: libx264 libx264rgb h264_nvenc h264_qsv nvenc nvenc_h264 )
    
por ljwobker 11.11.2016 / 21:27