Raspberry Pi: Compilando o ffmpeg com suporte a decoder/encoder via hardware

Estou precisando converter uns arquivos de vídeo e resolvi pesquisar em como anda o suporte a encoding via hardware no Raspberry Pi 3. Após pesquisar um pouco verifiquei que o suporte existe mas não é lá essas coisas, mas resolvi testar mesmo assim.

Estou usando o Raspbian Stretch sem ambiente gráfico. Instalei o ffmpeg do repositório e ele oferece suporte ao encoding via hardware mas ao fazer uns testes de conversão dos meus vídeos, vi que a utilização do hardware estava bem alta, em torno de 200 a 300% (2 a 3 cores). Como também existe o suporte ao decoding h264 via hardware tentei fazer o uso do decoding/encoding via hardware e recebi uma mensagem de erro (“Did not get output frame from MMAL”).

Sendo assim resolvi compilar o ffmpeg a partir do código fonte para melhorar esse desempenho.

Um último detalhe antes de começar. Eu não liguei o suporte a um monte de coisas nessa versão compilada para meus testes. Não tem h265, ssl, etc. De repente eu volto aqui no futuro e atualizo esse tutorial para incluir pelo menos o mesmo suporte à versão encontrada no repositório oficial.

 

As fontes de consulta que eu utilizei foram as seguintes:

  • Fonte 1, Reddit, gostei muito pois é bem explicativo mas alguns comandos não funcionam ou ficaram desatualizados.
  • Fonte 2, utilizei a solução do ./configure apresentada
  • Fonte 3, instalar a lib OMX que não foi citada nas fontes anteriores

 

E agora eu começo a brincadeira. Espero que ao você dar CTRL+C e CTRL+V na minha solução, ela funcione para você também

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.