10 pontos por GN⁺ 2024-04-06 | 1 comentários | Compartilhar no WhatsApp
  • Lançamento do FFmpeg 7.0 "Dijkstra"
  • As principais mudanças incluem um decodificador VVC experimental, suporte a IAMF e a ferramenta de linha de comando ffmpeg com multithreading
  • Não há compatibilidade com versões anteriores, e APIs que não eram usadas antes da 6.0 foram removidas
  • Para usuários das bibliotecas, a maior mudança é a substituição da antiga API de layout de canais baseada em bitmask pela API AVChannelLayout
  • É necessário um compilador compatível com C11 para compilar o código
  • Foram adicionados vários recursos, como novos formatos e codecs, filtros, APIs e correções de bugs

Opinião do GN⁺

  • O FFmpeg é um dos projetos de código aberto mais importantes para processamento multimídia, sendo uma ferramenta poderosa que suporta e converte diversos formatos de áudio e vídeo.
  • Nesta nova versão, especialmente o suporte a multithreading e os recursos de aceleração por hardware foram reforçados, permitindo processamento multimídia de alto desempenho.
  • Como os principais lançamentos do FFmpeg incluem mudanças de API, é necessário verificar a compatibilidade com sistemas existentes e realizar o processo de atualização.
  • A evolução contínua do FFmpeg oferece ferramentas ainda melhores para criadores de conteúdo multimídia e desenvolvedores, o que deve impulsionar a produção criativa de conteúdo e a inovação tecnológica.

1 comentários

 
GN⁺ 2024-04-06
Comentários do Hacker News
  • O FFmpeg é um software incrível. Como usuário de Windows no começo dos anos 2000, os dispositivos daquela época eram muito mais exigentes do que os de hoje em relação ao suporte a codecs de vídeo específicos. Eu tinha 11 anos, e converter arquivos DivX .avi para MP4 que pudessem ser reproduzidos no iPod Video definitivamente não era algo fácil. Descobrir o FFmpeg e ver que ele era oferecido de graça, encontrando nele algo que antes eu só via em shareware ruim, foi realmente um divisor de águas. Mesmo 20 anos depois, continua sendo uma ferramenta excelente que eu ainda uso com frequência.*

  • O melhor recurso adicionado recentemente ao FFmpeg é que grandes modelos de linguagem conseguem traduzir "comando do FFmpeg para misturar um arquivo de áudio em um arquivo de vídeo" em um comando de FFmpeg realmente executável. Claro, estou falando em tom de brincadeira aqui. O FFmpeg é excelente. Mas eu precisava de um assistente de IA para me ajudar a executar, de forma fácil e rápida, minhas cerca de 12 linhas de comando de FFmpeg por ano.*

  • Há melhorias de baixo nível que poderiam tornar o FFmpeg mais útil para pessoas comuns. Há inúmeros sites horríveis oferecendo serviços de conversão de arquivos, mas eles são cheios de anúncios e seu estado de privacidade/segurança é incerto. Quando os usuários não deveriam precisar enviar seus arquivos para terceiros, ainda assim é difícil para eles baixarem um software técnico — e eles estão certos em desconfiar disso. No entanto, já existe uma versão WASM do FFmpeg hospedada no Netlify [1]. Isso permite baixar o bundle WASM para o navegador e executar as conversões/modificações que você quiser dentro do próprio navegador. É sandboxed e tem um desempenho bem bom! Se essa ferramenta a) fosse atualizada regularmente, b) tivesse uma interface de usuário melhor e não baseada em CLI para usuários comuns e c) estivesse disponível em um nome de domínio fácil de encontrar no Google, ela poderia resolver todos os problemas mencionados acima. [1]: https://ffmpegwasm.netlify.app/*

  • Hoje tentei compilar o FFmpeg via vcpkg, e várias dependências dependiam indiretamente de liblzma, mas, por causa do recente incidente do backdoor no xz, o download do código-fonte do liblzma foi desativado no GitHub.*

  • Tenho usado o filtro xstack há alguns anos. Pego vários segmentos curtos de vídeo, concateno em 4 segmentos (por exemplo, com durações variadas como 23+24+26+27) e depois aplico xstack em um vídeo mosaico 2x2. Antes eu fazia isso em uma única etapa, mas agora, seguindo um conselho, faço em 4 etapas de concatenação e 1 etapa de xstack. Não medi nem cronometrei para ver qual é mais rápido, mas funciona bem, embora muitas vezes apareçam vários avisos estranhos diferentes.*

  • Parece que rust-ffmpeg já oferece suporte ao 7.0: https://github.com/zmwangx/rust-ffmpeg/pull/178*

  • O FFmpeg é muito difícil de aprender, mas, depois que você pega o jeito, é muito prazeroso de usar. Eu estava fazendo vídeos para o YouTube jogando Demon's Souls e decidindo se equipava itens ou não no cara ou coroa, e queria adicionar na tela uma animação da moeda sendo lançada junto com efeitos sonoros. Depois de algum esforço, criei um conjunto de frames transparentes e usei o filter_complex do FFmpeg para adicionar a sequência de imagens como um stream de vídeo, sobrepor isso ao vídeo original e adicionar os efeitos sonoros. Tudo isso foi feito em um único comando CLI do FFmpeg (bem longo!), além de incluir legendas existentes, mesclagem de canais de áudio, redimensionamento/compressão de vídeo etc. O FFmpeg é uma das verdadeiras maravilhas do FOSS.*

  • Enquanto isso, no MacPorts, o FFmpeg padrão está na versão 4.4.4 [1]. Também existe o ffmpeg6, que está na versão 6.1.1. [2] [1]: https://ports.macports.org/port/ffmpeg/ [2]: https://ports.macports.org/port/ffmpeg6/*

  • Fiquei surpreso que o MPEG-5 EVC tenha sido incluído. Infelizmente, o decodificador VVC não foi incluído (oficialmente). Acho que vou ter que esperar até a versão 7.1. Ainda estou esperando pelo x266.*