Após dez meses de desenvolvimento, está disponível o pacote multimídia FFmpeg 5.0, que inclui um conjunto de aplicativos e um conjunto de bibliotecas para operações em diversos formatos multimídia (gravação, conversão e decodificação de formatos de áudio e vídeo). O pacote é distribuído sob licenças LGPL e GPL, o desenvolvimento do FFmpeg é realizado adjacente ao projeto MPlayer. A mudança significativa no número da versão é explicada por mudanças significativas na API e pela transição para um novo esquema de geração de lançamentos, segundo o qual novos lançamentos significativos serão gerados uma vez por ano, e lançamentos com tempo de suporte estendido - uma vez a cada dois anos. FFmpeg 5.0 será o primeiro lançamento LTS do projeto.
Entre as mudanças adicionadas ao FFmpeg 5.0 estão:
- Foi realizada uma limpeza significativa das antigas APIs de codificação e decodificação e foi feita uma transição para a nova API N:M, que oferece uma interface de software única para áudio e vídeo, além de separar codecs para fluxos de entrada e saída . Removidas todas as APIs antigas anteriormente marcadas como obsoletas. Adicionada uma nova API para filtros de fluxo de bits. Formatos e codecs separados – os descompressores de contêineres de mídia não incorporam mais todo o contexto dos decodificadores. As APIs para registro de codecs e formatos foram removidas - todos os formatos agora são sempre registrados.
- A biblioteca libavresample foi removida.
- Uma API mais simples baseada em AVFrame foi adicionada à biblioteca libswscale.
- Suporte significativamente melhorado para a API gráfica Vulkan.
- Adicionado suporte para aceleração de hardware de decodificação e codificação de formatos VP9 e ProRes usando a API VideoToolbox.
- Adicionado suporte para a arquitetura LoongArch usada nos processadores Loongson, bem como suporte para as extensões LSX e LASX SIMD fornecidas no LoongArch. Otimizações específicas do LoongArch foram implementadas para codecs H.264, VP8 e VP9.
- Adicionado suporte para o protocolo Concatf, que define um formato para transferência de uma lista de recursos (“ffplay concatf:split.txt”).
- Adicionados novos decodificadores: Speex, MSN Siren, ADPCM IMA Acorn Replay, GEM (imagens raster).
- Novos codificadores foram adicionados: bitpacked, Apple Graphics (SMC), ADPCM IMA Westwood, VideoToolbox ProRes. As configurações do codificador AAC foram alteradas para obter maior qualidade.
- Adicionados empacotadores de contêiner de mídia (muxer): Westwood AUD, Argonaut Games CVG, AV1 (Low overhead bitstream).
- Adicionados descompactadores de contêineres de mídia (demuxer): IMF, Argonaut Games CVG.
- Adicionado um novo analisador para o codec de áudio AMR (Adaptive Multi-Rate).
- Adicionado empacotador de dados de carga útil (packetizer) para transmissão de vídeo não compactado usando o protocolo RTP (RFC 4175).
- Novos filtros de vídeo:
- segmento e segmento - divisão de um fluxo com vídeo ou áudio em vários fluxos, separados por tempo ou quadros.
- hsvkey e hsvhold - substitua parte da faixa de cores HSV no vídeo por valores em escala de cinza.
- grayworld - correção de cores de vídeo usando um algoritmo baseado na hipótese do mundo cinza.
- scharr — aplicação do operador Schar (uma variante do operador Sobel com coeficientes diferentes) ao vídeo de entrada.
- morfo - permite aplicar várias transformações morfológicas ao vídeo.
- latência e alatência - mede o atraso de filtragem mínimo e máximo para um filtro aplicado anteriormente.
- limitdiff - determina a diferença entre dois ou três fluxos de vídeo.
- xcorrelate - Calcula a correlação cruzada entre streams de vídeo.
- varblur - desfoque de vídeo variável com definição do raio de desfoque do segundo vídeo.
- huesaturation - Aplique ajustes de matiz, saturação ou intensidade ao vídeo.
- colorspectrum — geração de um stream de vídeo com um determinado espectro de cores.
- libplacebo - aplicativo para processamento de shaders HDR da biblioteca libplacebo.
- vflip_vulkan, hflip_vulkan e flip_vulkan são variantes de filtros de inversão de vídeo verticais ou horizontais (vflip, hflip e flip), implementados usando a API gráfica Vulkan.
- yadif_videotoolbox é uma variante do filtro de desentrelaçamento yadif baseado na estrutura VideoToolbox.
- Novos filtros de som:
- apsyclip - aplicação de um clipper psicoacústico a um fluxo de áudio.
- afwtdn – Suprime o ruído da banda larga.
- adecorrelate — aplicando o algoritmo de decorrelação ao fluxo de entrada.
- atilt - aplica uma mudança espectral para uma determinada faixa de frequência.
- asdr - determinação da distorção do sinal entre dois fluxos de áudio.
- Aspectralstats - estatísticas de saída com as características espectrais de cada canal de áudio.
- adynamicsmooth - suavização dinâmica do fluxo de som.
- adynamicequalizer - equalização dinâmica do fluxo de som.
- anlmf - Aplique o algoritmo de mínimos quadrados a um fluxo de áudio.
Fonte: opennet.ru