O FFmpeg 7.0, uma atualização substancial do aclamado framework multimídia de código aberto, foi lançado aproximadamente cinco meses após a introdução da versão FFmpeg 6.1. Esta nova versão traz consigo uma série de melhorias significativas, introduzindo novos recursos, decodificadores e filtros, reforçando ainda mais sua posição como uma ferramenta essencial para manipulação de mídia.
Entre os principais destaques do FFmpeg 7.0, destaca-se o suporte ao perfil Dolby Vision 10 no AV1, possibilitando uma experiência aprimorada em termos de qualidade visual. Além disso, foram adicionados suportes para imagens estáticas nos formatos HEIF/AVIF, bem como imagens estáticas lado a lado, ampliando as capacidades de manipulação de imagens do framework.
Outra melhoria notável é o suporte aprimorado para PacketTypeMetadata do PacketType no formato FLV, proporcionando uma melhor integração com esse formato de arquivo específico. Além disso, a decodificação acelerada por hardware foi expandida para incluir o D3D12VA para H264, HEVC, VP9, AV1, MPEG-2 e VC1, proporcionando um desempenho mais eficiente em sistemas compatíveis.
FFmpeg 7.0 também traz diversas adições importantes, como o suporte para metadados do Ambiente de Visualização em arquivos MP4/ISOBMFF, decodificação EVC utilizando a biblioteca externa libxevd, e codificação EVC utilizando a biblioteca externa libxeve. Além disso, a versão introduz a capacidade de demuxing paralelo, decodificação, filtragem, codificação e muxing na interface de linha de comando (CLI) ffmpeg
, tornando o processo de manipulação de mídia mais eficiente e flexível.
Entre as melhorias de desempenho, FFmpeg 7.0 implementa otimizações específicas para arquiteturas AArch64 e LoongArch, melhorando a decodificação HEVC em dispositivos que utilizam essas arquiteturas. Além disso, otimizações para arquiteturas RISC-V foram adicionadas para uma série de formatos, incluindo AAC, FLAC, JPEG-2000, LPC, RV4.0, SVQ, VC1, VP8, entre outros.
Outras adições notáveis nesta versão incluem a introdução da capacidade do dispositivo gdigrab
de capturar uma janela utilizando a sintaxe hwnd=HANDLER
, bem como a inclusão da função randomi()
em expressões. Além disso, foram adicionados suportes para o protocolo URIs de conteúdo Android e para decodificação acelerada por hardware no ffplay
, dependendo de um renderizador Vulkan através da biblioteca libplacebo.
O suporte à passagem de metadados HDR10 foi incorporado ao FFmpeg 7.0 ao codificar com libx264, libx265 e libsvtav1, juntamente com uma série de novos decodificadores e codificadores, como DXV DXT1, LEAD MCMP, QOA, VVC experimental, entre outros.
Além das adições de recursos, várias melhorias de usabilidade foram implementadas, como a alteração do método de controle de taxa de bits padrão de VBR para CQP para codificadores QSV, a adição de uma opção -show_stream_groups
ao comando ffprobe
, e a atualização das opções ffmpeg
CLI para serem usadas como -/opt, entre outras.
Por fim, sob o capô, FFmpeg 7.0 agora requer um compilador compatível com C11, com planos para aumentar esse requisito para C17 em versões futuras. Isso incentiva os integradores de sistemas a considerarem a atualização de seus ambientes de compilação para garantir compatibilidade futura.
FFmpeg 7.0 está disponível para download no site oficial e inclui uma variedade de componentes atualizados, como libavutil 59.8.100, libavcodec 61.3.100, libavformat 61.1.100, libavdevice 61.1.100, libavfilter 10.1.100, libswscale 8.1.100, libswresample 5.1.100 e libpostproc 58.1.100.