世界を動かす技術を、日本語で。

FFmpeg 8.0

概要

  • FFmpeg はクロスプラットフォーム対応の音声・動画の録画・変換・配信ソリューション
  • 最新版「FFmpeg 8.0 "Huffman"」を含む主要リリースの新機能と改善点まとめ
  • Vulkan ベースの新しいハードウェアアクセラレーションやコーデック対応強化
  • プロジェクトのインフラ刷新やコミュニティ支援の進展
  • 各バージョンごとの主な機能追加や内部改善点を詳細解説

FFmpegの概要と特徴

  • FFmpeg は音声・動画の録画・変換・配信を一元管理するオープンソースソフトウェア
  • クロスプラットフォーム対応、コマンドライン操作による高い柔軟性
  • 豊富なコーデック・フォーマット対応力
  • 例: ffmpeg -i input.mp4 output.aviで簡単に動画変換
  • 世界中の配信、編集、アーカイブ現場で広く利用

FFmpeg 8.0 "Huffman"(2025年8月23日リリース)

  • 新規デコーダ: APV、ProRes RAW、RealVideo 6.0、Sanyo LD-ADPCM、G.728
  • VVCデコーダ強化: IBC, ACT, パレットモード対応
  • Vulkan計算型コーデック: FFv1(エンコード・デコード)、ProRes RAW(デコードのみ)
  • ハードウェアアクセラレーション:
    • Vulkan VP9デコード
    • VAAPI VVCデコード
    • OpenHarmony H264/5デコード・エンコード
    • Vulkan AV1エンコード
  • 新フォーマット/フィルタ: MCC, G.728, Whip, APV, colordetect, pad_cuda, scale_d3d11, Whisper等
  • Vulkan計算型コーデック による高速化と新しい編集・配信用途の開拓
  • インフラ刷新: メーリングリストサーバー更新、Forgejoによる新しい貢献窓口(code.ffmpeg.org)
  • アップグレード推奨: 最新安定版への移行を推奨

FFmpeg 7.1 "Péter"(2024年9月30日リリース)

  • VVCデコーダ安定化: 放送規格団体で採用進行中
  • AAC USACデコーダ追加: ストリーミング用途向け、ボリューム正規化メタデータ対応
  • MV-HEVCデコード対応: ステレオスコピック映像、スマホ・VR機器対応
  • LC-EVCデコード: 外部ライブラリ経由で対応
  • Vulkanエンコード追加: H264/HEVC、デコードからエンコードまでVulkanで完結
  • カラーレンジ伝達の一元化: 色域情報の正確な伝搬・高度な交渉対応
  • クロッピングメタデータ対応: Matroska/MP4、AV1ハードウェアエンコーダ用
  • アップグレード推奨: 常に最新安定版の利用を推奨

FFmpeg 7.0 "Dijkstra"(2024年4月5日リリース)

  • ネイティブVVCデコーダ (実験的)
  • IAMF対応: Immersive Audio ファイル読書・書き込み
  • マルチスレッドCLIツール: 全パイプライン並列化でスループット・CPU効率向上
  • 古いAPI削除: AVChannelLayout APIへ移行、C11準拠コンパイラ必須
  • 新コーデック・フィルタ追加、数多くのバグ修正・機能改善
  • 約2000コミット、100名以上の貢献者参加

FFmpeg 6.1 "Heaviside"(2023年11月10日リリース)

  • libaribcaptionデコーダ、Playdateビデオデコーダ・デマルチプレクサ追加
  • Vulkanデコードハードウェアアクセラレーション: H264, HEVC, AV1対応
  • 新フィルタ・エンコーダ・デマルチプレクサ追加
  • RISC-V最適化、FFT/MDCT/DCT/DSTの高速化
  • タイムスタンプ・フレーム長の精度向上
  • バイナリサイズ削減、全体的なパフォーマンス向上

Vulkanアクセラレーションの進展

  • Vulkan はクロスプラットフォームなGPU API
  • Vulkanデコード/エンコード によりマルチプラットフォーム・マルチスレッド対応
  • FFmpeg のVulkan実装はベンダー依存性が低く幅広い環境で動作
  • デコードエンジンの最大活用、編集・配信用途での高速化

xHE-AACデコーダ・USAC対応

  • xHE-AACデコーダ をネイティブ実装
  • USAC・(e)SBR 未対応だが、主流ストリームの大半で動作
  • 安定性・互換性向上作業中
  • 仕様上の問題点をフィードバック

コミュニティと支援

  • Sovereign Tech Fund (ドイツ政府系)による初の公的支援獲得
  • Coverity静的解析 での不具合密度大幅削減
  • インフラ刷新 と開発体制強化

まとめ

  • FFmpeg は継続的な機能強化・最適化・新規コーデック対応を推進
  • Vulkan など最新技術の積極導入
  • コミュニティ支援・インフラ刷新 による今後の発展に期待
  • 音声・動画分野における事実上の標準ツールとしての地位を確立

Hackerたちの意見

使うたびに感心しちゃうよ(またマニュアルを読み直したり、LLMを使って正しい呪文を作ったり、視覚的なオプションに基づいて呪文を組み立てるGUIを使ったりすることになってもね)。もう欠かせないトランスコーディングのマルチツールになってる。Vulkan 1.3を基にした処理を作るのは正解だったと思うよ。(ちなみに、昨日気づいたんだけど、MacのAsahi Linuxもその標準をサポートしてるんだ。)

呪文 FFmpegの引数、元のプロンプトエンジニアリング

LLMはffmpegのための素晴らしいインターフェースだよ。自然言語で実行するのを手助けしてくれるツールがたくさんある。俺の個人的なスクリプトはこちらだよ: https://github.com/jjcm/llmpeg

LLMとFFmpegやImageMagickみたいな複雑なコマンドラインツールは、完璧な組み合わせで、まるで魔法みたいに動くよね…まさにSF映画の夢のUI/UXだよ。「このフォルダの画像を全部取って、上以外は100px切り取って、ちょっと彩度上げて、新しいフォルダに非圧縮のtiffで保存して、動画ループに組み立てて、ウェブ用にエンコードして」って感じ。

Netflixの開発者たちは忙しいスプリントになるだろうね。

何のことか分からないんだけど、コメントの説明してもらえる?

それと、インフルエンサーもね ;)

他に、ffmpegがssl、zlib、sqliteに次いで4番目に使われているライブラリだと思ってる人いる?2025年には動画がどこにでもあるからね。

libcurl?

libc :D

間違いなく、あれは殿堂入りしてるね!

Arch Linuxについては、ここで確認できるよ: https://pkgstats.archlinux.de/packages

ここからnixのログを引っ張れるよ: https://github.com/NixOS/infra/blob/main/metrics/fastly/READ... その意見を探るのに面白いデータソースかもね。

Changelog: https://github.com/FFmpeg/FFmpeg/blob/master/Changelog

ワクワクするニュースだね。https://youtu.be/9kaIXkImCAM?si=b_vzB4o87ArcYNfq

これって皮肉?それとも真面目な話?それとも両方?

FFMPEGのいろんな機能にアクセスするための良いGUIフロントエンドって誰か作った?時々、トランスコーディングせずに動画をリマックスしたり、いくつかの動画と音声ストリームを結合したいだけなんだよね(同じコーデックで)。

Handbrakeがぴったりだと思うよ!すごくいいツールだし。最近はちょっと古くなってきたけど、ちゃんと仕事をしてくれる。

好きなGUIは使ったことないけど、ChatGPTみたいなLLMがこれを解決するのにすごく役立ってる。やりたいことを正確に伝えると、ffmpegのコマンドを作ってくれるんだ。

それにはmkvtoolnixが使えるよ。GUIもあるし。

一番いいフロントエンドはChatGPTだと思う。自分がやりたいことを自然に説明すると、FFmpegで必要なコマンドを見つけるのがすごく得意なんだよね。

ノンリニアなノードベースのエディターが必要だね。ほとんどのオープンソースの動画編集ソフトは、FFMPEGのフロントエンドみたいなものだから、例えばKdenliveとか。

https://github.com/mifi/lossless-cutをチェックしてみてね!

Shotcutはオープンソースの動画制作ツールキットで、要するにffmpegコマンドを生成するためのすごく使いやすいインターフェースって感じだよ。

ChatGPTと他のLLMについて

HandbrakeやVidcoder、いろんなフロントエンドがあるよ。

Macユーザーには、ffWorks[1]がFFmpegの素晴らしいフロントエンドで、ほとんどの機能をしっかりとしたGUIで提供してくれるよ。バッチ処理もできるし、プリセットも設定できる。お気に入りのアプリの一つで、開発者もすごく反応がいい。HandbrakeやLosslessCutもいいけど、FFmpegに寄付するだけじゃなくて、ffWorksにもお金を払ってる。ほんとに自分にとって価値があるからね。他のプラットフォームでは、これに匹敵するほどの洗練されたものはないと思う。[1]: https://www.ffworks.net/index.html

計算シェーダーに基づいたビデオエンコーダーとデコーダーが導入されたと聞いて嬉しいです!ハードウェアで広くサポートされているビデオコーデックはH.264、H.265、AV1だけなので、他のコーデックのクロスプラットフォームアクセラレーションが実現すればすごくありがたいですね。固定機能ハードウェアより効率が劣るとしても。新しいProResエンコーダーは、今進めているプロジェクトに役立ちそうです。

「特に並列デコード用に設計されたコーデックだけが、そのように実装できるので、主流のコーデックはサポートされる予定はありません。」

ほとんどのビデオコーデックが計算シェーダーによるデコードに向いていないのは納得できますね。GPUをフル稼働させるには何万ものスレッドが必要ですし、フレーム間や同じフレーム内のタイル間でデータ依存性があると、そんなに並列性を得るのは難しいですから。エンコーダーの方がデコーダーより柔軟性があるのかな?VP9のようなものをエンコードするために計算シェーダーを使うのは面白い挑戦になりそうですね。

ワクワクする!ffmpegのメンテナーたちの才能にはいつも驚かされるよ。これって結構難しいことだと思うけど、彼らは無料でやってるんだよね。

FFmpegの開発者と貢献者に感謝!音声や動画の自動化が必要な時は、いつもFFmpegに頼ってる。ほんとに重要で欠かせないツールだし、オンラインの動画ツールの多くがこれを使ってて、基本的にはこの素晴らしいツールのUIラッパーみたいな感じ。今日知ったことだけど、FFmpeg.Wasmもあるんだね[0]。2024年1月には、1993年のアニメ映画のフレームを15分ごとに抽出して、Real-ESRGAN-ncnn-vulkan[1]を使ってアップスケールして、最終的に4Kにアップスケールしたアニメの出力フレームを再結合したよ[2]。ちなみに、このワークフローにUIを作ってたら、最近人気のTopaz AIみたいなツールになってたかもしれないね。[0]: https://github.com/ffmpegwasm/ffmpeg.wasm [1]: https://github.com/xinntao/Real-ESRGAN-ncnn-vulkan [2]: https://files.horizon.pics/3f6a47d0-429f-4024-a5e0-e85ceb0f6...

いいね!WHIP/WebRTCベースのストリーミングを試すのが楽しみだよ。SRTの代わりにね。

今日はWHIPを何に使ってるの?ユーザーにとって大きな違いをもたらすような機能や採用について気になるな〜 :)

Vulkanありとなしで、AV1 / h264のパフォーマンスはどうなの?