Suporte a multithreading na CLI do FFmpeg
- O recurso de suporte a multithreading na interface de linha de comando (CLI) do FFmpeg foi incorporado ao Git do FFmpeg.
- Trata-se de uma mudança feita antes do lançamento do FFmpeg 7.0 no começo do próximo ano, representando uma grande melhoria para esse importante projeto open source amplamente usado em transcodificação de vídeo.
- Agora que processadores multicore se tornaram comuns, essa melhoria é muito benéfica.
Trabalho de refatoração complexo
- Em uma apresentação técnica recente, os desenvolvedores do FFmpeg descreveram esse trabalho de multithreading como "uma das refatorações mais complexas já feitas na CLI do FFmpeg em décadas".
- Os desenvolvedores pedem aos usuários que façam testes e incentivam o envio de problemas encontrados para o FFmpeg Trac.
Mudanças técnicas implementadas
- O patch incorporado inclui a adição de uma infraestrutura de agendamento de transcodificação com reconhecimento de threads, a movimentação da codificação para uma thread separada e várias outras mudanças de baixo nível.
- A transição do FFmpeg para uma arquitetura com threads significa que cada componente (demuxer, decoder, filter, encoder, muxer) já rodava em sua própria thread, mas agora poderá de fato ser executado em paralelo.
Opinião do GN⁺
- O suporte a multithreading no FFmpeg é um avanço importante que pode melhorar bastante a eficiência de tarefas de transcodificação de vídeo.
- Esse trabalho complexo de refatoração trouxe muitos desafios para os desenvolvedores e mostra que o FFmpeg continua se adaptando e evoluindo para os ambientes de computação modernos.
- Será interessante para usuários e desenvolvedores observar qual será o impacto real dessa mudança no desempenho.
1 comentários
Opiniões do Hacker News
Teoria sobre otimização de multithreading/processamento
Gravação da palestra no evento VDD@Dublin
Reflexões sobre melhorar o desempenho multicore
O desafio do trabalho contínuo de rebase
Expectativa de melhorar o tempo de início do streaming do buffer de display virtual no FFmpeg
Divulgação de curso sobre a API C do FFmpeg
Curiosidade sobre o codebase do FFmpeg
Perspectiva de um operador de serviços em nuvem
Relato de experiência com processamento de filtros em threads no VapourSynth
Pergunta sobre o suporte multicore do FFmpeg