Paglabas ng FFmpeg 5.0 multimedia package

Pagkatapos ng sampung buwan ng pag-unlad, magagamit ang FFmpeg 5.0 multimedia package, na kinabibilangan ng isang hanay ng mga application at isang koleksyon ng mga library para sa mga operasyon sa iba't ibang mga format ng multimedia (pag-record, pag-convert at pag-decode ng mga format ng audio at video). Ang pakete ay ipinamamahagi sa ilalim ng mga lisensya ng LGPL at GPL, ang pag-unlad ng FFmpeg ay isinasagawa sa tabi ng proyekto ng MPlayer. Ang makabuluhang pagbabago sa numero ng bersyon ay ipinaliwanag sa pamamagitan ng mga makabuluhang pagbabago sa API at ang paglipat sa isang bagong release generation scheme, ayon sa kung saan ang mga bagong makabuluhang release ay bubuo isang beses sa isang taon, at mga release na may pinahabang oras ng suporta - isang beses bawat dalawang taon. Ang FFmpeg 5.0 ang magiging unang paglabas ng LTS ng proyekto.

Ang ilan sa mga pagbabagong idinagdag sa FFmpeg 5.0 ay kinabibilangan ng:

  • Ang isang makabuluhang paglilinis ng mga lumang API para sa pag-encode at pag-decode ay isinagawa at isang paglipat sa bagong N:M API, na nag-aalok ng isang solong interface ng software para sa audio at video, pati na rin ang paghihiwalay ng mga codec para sa input at output stream. . Inalis ang lahat ng lumang API na minarkahan dati bilang hindi na ginagamit. Nagdagdag ng bagong API para sa mga filter ng bitstream. Mga hiwalay na format at codec - hindi na naka-embed ang mga media container decompressor sa buong konteksto ng mga decoder. Ang mga API para sa pagrerehistro ng mga codec at format ay inalis na - lahat ng mga format ay palaging nakarehistro ngayon.
  • Inalis ang libavresample library.
  • Ang isang mas simpleng AVFrame-based na API ay naidagdag sa libswscale library.
  • Malaking pinahusay na suporta para sa Vulkan graphics API.
  • Nagdagdag ng suporta para sa hardware acceleration ng decoding at encoding ng VP9 at ProRes na mga format gamit ang VideoToolbox API.
  • Nagdagdag ng suporta para sa arkitektura ng LoongArch na ginagamit sa mga processor ng Loongson, pati na rin ang suporta para sa mga extension ng LSX at LASX SIMD na ibinigay sa LoongArch. Ang mga optimization na partikular sa LoongArch ay ipinatupad para sa H.264, VP8 at VP9 codec.
  • Nagdagdag ng suporta para sa Concatf protocol, na tumutukoy sa isang format para sa paglilipat ng listahan ng mga mapagkukunan ("ffplay concatf:split.txt").
  • Nagdagdag ng mga bagong decoder: Speex, MSN Siren, ADPCM IMA Acorn Replay, GEM (raster images).
  • Ang mga bagong encoder ay naidagdag: bitpacked, Apple Graphics (SMC), ADPCM IMA Westwood, VideoToolbox ProRes. Ang mga setting ng AAC encoder ay binago upang makamit ang mas mataas na kalidad.
  • Nagdagdag ng mga media container packer (muxer): Westwood AUD, Argonaut Games CVG, AV1 (Low overhead bitstream).
  • Nagdagdag ng mga media container unpackers (demuxer): IMF, Argonaut Games CVG.
  • Nagdagdag ng bagong parser para sa AMR (Adaptive Multi-Rate) audio codec.
  • Nagdagdag ng payload data packer (packetizer) para sa pagpapadala ng hindi naka-compress na video gamit ang RTP protocol (RFC 4175).
  • Mga bagong filter ng video:
    • segment at asegment - paghahati ng isang stream na may video o audio sa ilang stream, na pinaghihiwalay ng oras o mga frame.
    • hsvkey at hsvhold - palitan ang bahagi ng hanay ng kulay ng HSV sa video ng mga grayscale na halaga.
    • grayworld - pagwawasto ng kulay ng video gamit ang isang algorithm batay sa grey world hypothesis.
    • scharr β€” application ng Schar operator (isang variant ng Sobel operator na may iba't ibang coefficient) sa input video.
    • morpho - nagbibigay-daan sa iyong maglapat ng iba't ibang morphological na pagbabago sa video.
    • latency at alancy - sinusukat ang minimum at maximum na pagkaantala sa pag-filter para sa isang naunang inilapat na filter.
    • limitdiff - tinutukoy ang pagkakaiba sa pagitan ng dalawa o tatlong video stream.
    • xcorrelate - Kinakalkula ang cross-correlation sa pagitan ng mga video stream.
    • varblur - variable na video blur na may kahulugan ng blur radius mula sa pangalawang video.
    • huesaturation - Ilapat ang mga pagsasaayos ng hue, saturation, o intensity sa video.
    • colorspectrum β€” pagbuo ng isang video stream na may ibinigay na spectrum ng kulay.
    • libplacebo - application para sa pagproseso ng mga HDR shader mula sa library ng libplacebo.
    • Ang vflip_vulkan, hflip_vulkan at flip_vulkan ay mga variant ng patayo o pahalang na video flip filter (vflip, hflip at flip), na ipinatupad gamit ang Vulkan graphics API.
    • Ang yadif_videotoolbox ay isang variant ng yadif deinterlacing filter batay sa VideoToolbox framework.
  • Mga bagong filter ng tunog:
    • apsyclip - paglalagay ng psychoacoustic clipper sa isang audio stream.
    • afwtdn - Pinipigilan ang ingay ng broadband.
    • adecorrelate β€” paglalapat ng algorithm ng decorrelation sa input stream.
    • atilt - nag-aaplay ng spectral shift para sa ibinigay na frequency range.
    • asdr - pagtukoy ng pagbaluktot ng signal sa pagitan ng dalawang audio stream.
    • aspectralstats - mga istatistika ng output na may mga spectral na katangian ng bawat audio channel.
    • adynamicsmooth - dynamic na smoothing ng sound stream.
    • adynamicequalizer - dynamic na equalization ng sound stream.
    • anlmf - Ilapat ang algorithm ng least mean squares sa isang audio stream.

Pinagmulan: opennet.ru

Magdagdag ng komento