Gostaria de saber se eu consigo uma placa gráfica melhor, poderia acelerar a codificação h264 na minha máquina usando o freio de mão?
Em caso afirmativo, como posso saber qual placa gráfica suporta isso?
Estou ciente de que a GPU pode decodificar o h264 por hardware, mas não tenho certeza sobre a codificação.
Respostas:
Usando o Handbrake, a resposta seria não. O Handbrake é um codificador h.264 somente para CPU, embora agora seja capaz de usar o OpenCL para dimensionamento de vídeo e tenha algum suporte para DXVA para decodificação de vídeo.
A questão vinculada pelo slhck menciona o MediaCoder , mas requer uma placa de vídeo Nvidia ou uma CPU Intel com um núcleo gráfico de segunda geração.
Existem alguns produtos mais antigos que foram obsoletos, especificamente o Badaboom e o software ATi Avivo.
O Badaboom, que poderia usar os processadores gráficos Nvidia e Intel para acelerar o processo de codificação, mas agora está no fim da vida útil 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 AMD Codec Package, que incluía o AMD Video Converter, embora ele não esteja mais disponível.
fonte
O x264 agora suporta aceleração de codificação OpenCL. A quantidade de aceleração que você obtém dependerá do desempenho da sua placa gráfica, no meu GTS 450 não recebo nenhuma e, com placas mais lentas, ela diminui a codificação. Cartões melhores podem ajudar. Tudo o que você precisa fazer é adicionar --opencl à linha de comando do x264. Acredito que o handbrake utiliza as mesmas bibliotecas x264 e oferece a mesma aceleração OpenCL nas versões mais recentes.
fonte
https://trac.ffmpeg.org/wiki/HWAccelIntro
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 esse parâmetro com "auto" antes da entrada (se o seu x264 for compilado com o suporte ao OpenCL, você poderá tentar adicionar o parâmetro -x264opts), por exemplo:
Desculpe, mas não lembro como listar todas as opções disponíveis para "-hwaccel".
Além disso, você pode tentar o seguinte: https://wiki.archlinux.org/index.php/Hardware_video_acceleration
fonte
No momento, o Handbrake suporta os seguintes codificadores acelerados por hardware para o H.264 / AVC:
Intel QuickSync (no Windows e no Linux). Isso é compatível com pelo menos as linhas de processadores Sandybridge (segunda geração Core) da série Intel com gráficos integrados ativados e expostos ao sistema operacional. Hardware recomendado para qualidade de codificação aceitável: Haswell (série Core de 4ª geração) e além, que introduziu o conceito de níveis de granulação fina (TUs), funções de lookahead (como modos de codificação LA-BRC e ICQ ) com desempenho significativamente melhor. Consulte o guia de uso da documentação do freio de mão aqui .
NVENC da NVIDIA : Isso requer pelo menos as GPUs da série Kepler (GK +) da NVIDIA e acima dos SKUs de consumidor de alto desempenho (série GTX) e as formações profissionais (GPUs Quadro e Tesla baseadas em Kepler e além). Está disponível no Windows e Linux.
É importante notar que, com o NVENC, você estará artificialmente limitado a no máximo duas sessões de codificação simultânea nos SKUs do consumidor, enquanto a formação profissional permanece inalterada. Para sua referência sobre recursos específicos do codificador, consulte a matriz GPU . Para obter melhor desempenho e qualidade do codificador, siga a iteração mais recente das GPUs Pascal e Volta .
Opcionalmente:
No que diz respeito ao suporte da Apple, isso é, na melhor das hipóteses, tentativa . 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 a montante, não espere milagres em termos de retenção e produtividade da qualidade.
Observe que você pode precisar usar a versão noturna mais recente para usar os recursos mais recentes do codificador em sua plataforma, como no momento. Isso definitivamente mudará no futuro.
fonte