5.0 か月の開発を経て、FFmpeg 5.0 マルチメディア パッケージが利用可能になりました。これには、さまざまなマルチメディア フォーマット (オーディオおよびビデオ フォーマットの記録、変換、デコード) を操作するための一連のアプリケーションとライブラリのコレクションが含まれています。 パッケージは LGPL および GPL ライセンスの下で配布され、FFmpeg 開発は MPlayer プロジェクトに隣接して実行されます。 バージョン番号の大幅な変更は、API の大幅な変更と、新しいリリース生成スキームへの移行によるものです。このスキームによれば、新しい重要なリリースは XNUMX 年に XNUMX 回生成され、サポート期間が延長されたリリースは XNUMX 年に XNUMX 回生成されます。 FFmpeg XNUMX は、プロジェクトの最初の LTS リリースになります。
FFmpeg 5.0 に追加された変更には次のようなものがあります。
- エンコードとデコードのための古い API の大幅なクリーンアップが実行され、新しい N:M API に移行しました。これは、オーディオとビデオに単一のソフトウェア インターフェイスを提供し、入力ストリームと出力ストリームのコーデックを分離します。 。 以前に非推奨としてマークされていた古い API をすべて削除しました。 ビットストリーム フィルター用の新しい API を追加しました。 フォーマットとコーデックの分離 - メディア コンテナー デコンプレッサーには、デコーダーのコンテキスト全体が埋め込まれなくなりました。 コーデックと形式を登録するための API は削除され、すべての形式が常に登録されるようになりました。
- libavresample ライブラリは削除されました。
- より単純な AVFrame ベースの API が libswscale ライブラリに追加されました。
- Vulkan グラフィックス API のサポートが大幅に改善されました。
- VideoToolbox API を使用した VP9 および ProRes 形式のデコードとエンコードのハードウェア アクセラレーションのサポートが追加されました。
- Loongson プロセッサで使用される LoongArch アーキテクチャのサポートと、LoongArch で提供される LSX および LASX SIMD 拡張機能のサポートが追加されました。 LoongArch 固有の最適化は、H.264、VP8、および VP9 コーデックに対して実装されています。
- リソースのリストを転送するための形式を定義する Concatf プロトコルのサポートが追加されました (「ffplay concatf:split.txt」)。
- 新しいデコーダを追加しました: Speex、MSN Siren、ADPCM IMA Acorn Replay、GEM (ラスター イメージ)。
- 新しいエンコーダが追加されました: bitpacked、Apple Graphics (SMC)、ADPCM IMA Westwood、VideoToolbox ProRes。 より高品質を実現するために、AAC エンコーダーの設定が変更されました。
- メディア コンテナ パッカー (マルチプレクサ) を追加しました: Westwood AUD、Argonaut Games CVG、AV1 (低オーバーヘッド ビットストリーム)。
- メディア コンテナー アンパッカー (デマルチプレクサー) を追加しました: IMF、Argonaut Games CVG。
- AMR (Adaptive Multi-Rate) オーディオ コーデック用の新しいパーサーを追加しました。
- RTP プロトコル (RFC 4175) を使用して非圧縮ビデオを送信するためのペイロード データ パッカー (パケッタイザー) を追加しました。
- 新しいビデオフィルター:
- セグメントとセグメント - ビデオまたはオーディオを含む XNUMX つのストリームを、時間またはフレームごとに区切られた複数のストリームに分割すること。
- hsvkey および hsvhold - ビデオ内の HSV カラー範囲の一部をグレースケール値に置き換えます。
- Grayworld - グレーワールド仮説に基づくアルゴリズムを使用したビデオの色補正。
- scharr — Schar オペレーター (異なる係数を持つ Sobel オペレーターの変形) を入力ビデオに適用します。
- morpho - ビデオにさまざまな形態学的変換を適用できます。
- latency と alatency - 以前に適用されたフィルターの最小および最大のフィルター遅延を測定します。
- limitdiff - XNUMX つまたは XNUMX つのビデオ ストリームの差を決定します。
- xcorrelate - ビデオ ストリーム間の相互相関を計算します。
- varblur - XNUMX 番目のビデオからのブラー半径を定義した可変ビデオブラー。
- huesaturation - ビデオに色相、彩度、または強度の調整を適用します。
- colorspectrum — 指定されたカラースペクトルを持つビデオストリームの生成。
- libplacebo - libplacebo ライブラリからの HDR シェーダーを処理するためのアプリケーション。
- vflip_vulkan、hflip_vulkan、flip_vulkan は、垂直または水平ビデオ フリップ フィルター (vflip、hflip、flip) のバリアントで、Vulkan グラフィックス API を使用して実装されています。
- yadif_videotoolbox は、VideoToolbox フレームワークに基づく yadif デインターレース フィルターのバリアントです。
- 新しいサウンドフィルター:
- apsyclip - オーディオ ストリームへの心理音響クリッパーの適用。
- afwtdn - 広帯域ノイズを抑制します。
- adecorelate — 非相関アルゴリズムを入力ストリームに適用します。
- atilt - 指定された周波数範囲にスペクトル シフトを適用します。
- asdr - XNUMX つのオーディオ ストリーム間の信号歪みを決定します。
- spectralstats - 各オーディオ チャネルのスペクトル特性を含む出力統計。
- adynamicsmooth - サウンド ストリームの動的スムージング。
- adynamicequalizer - サウンド ストリームの動的イコライゼーション。
- anlmf - オーディオ ストリームに最小平均二乗アルゴリズムを適用します。
出所: オープンネット.ru