Uma GPU pode ser usada para codificar o h264?

12

Eu estou querendo saber se eu conseguir uma placa gráfica melhor que poderia acelerar a codificação h264 na minha máquina usando o handbrake?

Se sim, como posso saber que placa gráfica suportará isso?

Estou ciente de que a GPU pode decodificar o hardware do h264, mas não tenho certeza sobre a codificação.

    
por peter 03.10.2011 / 22:44

5 respostas

7

Usando o Handbrake, a resposta seria não. O Handbrake é um codificador h.264 somente para CPU, embora ele agora possa usar o OpenCL para escalonamento de vídeo e algum suporte para DXVA para decodificação de vídeo.

A questão ligada por slhck menciona MediaCoder , mas requer uma placa gráfica Nvidia ou uma CPU Intel com um segundo núcleo gráfico de geração.

Existem alguns produtos antigos que estão obsoletos, especificamente o Badaboom e o software ATi Avivo.

Badaboom , que poderia usar processadores gráficos da Nvidia e Intel para acelerar o processo de codificação, mas agora é em fim de vida e não suporta placas gráficas mais recentes.

A ATi tinha seu próprio codificador de vídeo que costumava ser chamado de "Avivo" antes de ser incorporado ao pacote AMD Codec, que incluía o AMD Video Converter, embora não esteja mais disponível.

    
por 03.10.2011 / 23:01
4

x264 agora suporta a aceleração de codificação OpenCL. Quanta aceleração você obterá dependerá do desempenho da sua placa gráfica, no meu GTS 450 não recebo nenhuma e com placas mais lentas ela realmente desacelera a codificação. Cartas melhores podem ajudar. Tudo o que você precisa fazer é adicionar --opencl à linha de comando x264. Acredito que o handbrake faz uso das mesmas bibliotecas x264 e oferece a mesma aceleração OpenCL em criações mais recentes.

    
por 04.09.2013 / 12:06
2

link

FFmpeg provides a subsystem for hardware acceleration.

Hardware acceleration allows to use specific devices (usually graphical card > or other specific devices) to perform multimedia processing. This allows to use dedicated hardware to perform demanding computation while freeing the CPU from such computations. Typically hardware acceleration enables specific hardware devices (usually the GPU) to perform operations related to decoding and encoding video streams, or filtering video.

When using FFmpeg the tool, HW-assisted decoding is enabled using through the -hwaccel option, which enables a specific decoder. Each decoder may have specific limitations (for example an H.264 decoder may only support baseline profile). HW-assisted encoding is enabled through the use of a specific encoder (for example nvenc_h264). Filtering HW-assisted processing is only supported in a few filters, and in that case you enable the OpenCL code through a filter option.

There are several hardware acceleration standards API, some of which are supported to some extent by FFmpeg.

A opção "- hwaccel auto" permite selecionar a decodificação acelerada baseada em hardware a ser usada na sessão de codificação. Você pode adicionar este parâmetro com "auto" antes da entrada (se o seu x264 estiver compilado com o suporte OpenCL você pode tentar adicionar o parâmetro -x264opts), por exemplo:

ffmpeg -hwaccel auto -i input -vcodec libx264 -x264opts opencl output

Desculpe, mas não me lembro como listar todas as opções disponíveis para "-hwaccel".

Além disso, você pode tentar isto: link

    
por 26.10.2016 / 13:25
0

Atualmente, o Handbrake suporta os seguintes codificadores acelerados por hardware para H.264 / AVC:

  1. Intel QuickSync (no Windows e no Linux). Isso é compatível com, pelo menos, o Sandybridge (núcleo de segunda geração) - linhas de processadores da série com gráficos integrados ativados e expostos a o sistema operacional. Hardware recomendado para qualidade de codificação aceitável: Haswell (4ª geração da série Core) e além, que introduziu o conceito de níveis de alvo refinados (TUs), funções lookahead (como Modos de codificação LA-BRC e ICQ ) com desempenho significativamente melhor. Consulte o guia de uso da documentação do handbrake aqui .

  2. NVENC da NVIDIA : Isso requer pelo menos GPUs da série NVIDIA Kepler (GK +) e acima dos SKUs de consumo de alto desempenho (série GTX) e as lineups profissionais (GPUs Quadro e Tesla baseadas no Kepler e além). Isso está disponível no Windows e no Linux.

É importante ressaltar que, com a NVENC, você estará artificialmente limitado a no máximo duas sessões simultâneas de codificação nas SKUs de consumo, enquanto a linha profissional não será afetada por isso. Para sua referência em recursos de codificador específicos, consulte a Matriz de GPU . Para melhor desempenho e qualidade do codificador, siga a última iteração de Pascal e Volta .

Opcionalmente:

  1. O suporte à codificação AMD AMF também está disponível nas versões atuais do Windows SOMENTE. Uma nota especial sobre o AMF da AMD (que se encaixa no codificador VCE embutido no hardware em todos os GCN+ SKUs) é um hardware novo, como Polaris (série RX 400+) e Vega , algumas afinações de codificador avançadas para H.264 / AVC foram preteridas introduziu o suporte de codificação HEVC. O que a queda da AMD era a codificação B-frame, sem suporte para a quantização adaptativa ( AQ), um recurso que os codificadores baseados em hardware acima mencionados (QuickSync e NVENC) implementaram por gerações sem regressões. Além disso, consulte este em notas referentes a métricas de taxa de transferência sobre o que esperar.

No que diz respeito ao suporte da Apple, isso é, na melhor das hipóteses, preliminar . A API VideoToolBox , onde implementada além do escopo do Handbrake, também parece ter um conjunto muito limitado de controles. Mesmo que o Handbrake o adote, não espere milagres em termos de retenção de qualidade e rendimento.

Observe que você pode precisar usar a última versão noturna para usar os recursos mais recentes do codificador em sua plataforma, como no presente. Isso definitivamente mudará no futuro.

    
por 23.07.2018 / 23:29
-1

VocêpodeverificarseoseucomputadoréH.264/H.265/VP9aceleraçãodehardwaredesuportedatabelacompletanesteartigo: link

    
por 10.07.2018 / 04:43