FFmpegの最新安定版は、2026年9月18日公開の9.0.2「Lei」です。一つ前の8.1「Hoare」系も並行して保守されており、9月21日に8.1.3が出ています。この記事では、各系列の現行版と公開日、9.0で動かなくなるオプション、8.1で入った機能、手元の版の確かめ方とOS別の入手先を、ffmpeg.orgとソースコードのタグで確認した内容に絞ってまとめます(2026年10月15日時点)。
まとめ:FFmpegの最新バージョンと確認・更新の要点
- 最新版:9.0.2「Lei」(2026年9月18日)。8.1系は8.1.3(9月21日)、8.0系は8.0.3(6月18日)が各系列の最新です。
- 9.0の注意点:
-vsync、-filter_complex_script、-top、-fps_mode dropが削除され、指定するとエラーで止まります。HTTPS入力の証明書検証も既定で有効になりました。 - 8.1の要点:ProResとDPXのVulkan Compute対応、D3D12のH.264・AV1エンコード、Windowsの画面キャプチャ
gfxcapture、JPEG-XS対応など。旧HLSプロトコルハンドラは削除されています。 - 確認方法:
ffmpeg -versionの1行目で版番号を、続くlibavcodecなどの行でライブラリの版数を確認します。 - 入手先と更新:Homebrew、Chocolatey、wingetの
Gyan.FFmpegは9.0.2に追随済みですが、wingetのEssentials版は9.0.1で止まっています。Ubuntuの公式パッケージは24.04が6.1.1、26.04が8.0.1で、aptでは最新になりません。
公式サイトのトップページのニュース欄は、リリースの告知が8.1で止まっており、9.0の告知がありません。最新版を確かめるときはトップページではなくダウンロードページのReleases欄を見てください。
FFmpegの現行バージョン一覧とリリース履歴
FFmpegはおよそ6か月ごとに新しい系列を出し、その間は機能追加のないバグ修正だけのポイントリリースを出す方針です。ダウンロードページには、系列ごとに最新のポイントリリースが並びます。
系列ごとの最新版と公開日
| 系列 | コードネーム | 最新版 | 最新版の公開日 | 系列の初版 | libavcodec |
|---|---|---|---|---|---|
| 9.0 | Lei | 9.0.2 | 2026-09-18 | 2026-08(n9.0タグ 8月3日) | 63.1 |
| 8.1 | Hoare | 8.1.3 | 2026-09-21 | 2026-03-16 | 62.28 |
| 8.0 | Huffman | 8.0.3 | 2026-06-18 | 2025-08-22 | 62.11 |
| 7.1 | Péter | 7.1.5 | 2026-06-20 | 2024-09 | 61.19 |
| 6.1 | Heaviside | 6.1.6 | 2026-06-20 | 2023-11-10 | 60.31 |
9.0系のポイントリリースは9.0.1(8月12日)と9.0.2の2回で、9.0.2の変更履歴には、不具合修正に加えて、文書の明確化や内部コードの整理も含まれます。VVC・Vulkan AV1・mov周りの境界外書き込みや整数オーバーフローの修正が多く含まれるため、9.0.0や9.0.1を入れた環境は9.0.2へ上げてください。8.1系も同じ時期に8.1.3が出ており、8.1に留まる場合も8.1.3までは上げてください。
サポート期限の考え方と2026年の保守終了
FFmpegは系列ごとのサポート終了日を事前に公表していません。ダウンロードページの説明は「旧版は通常、最後の下流(ディストリビューション等)がサポートをやめた後にOld Releasesへ移す」というもので、2026年6月には4.4.8、5.1.10、6.1.6といった古い系列にもポイントリリースが出ています。
ただし2026年は、保守をやめる判断が実際に2回ありました。公式サイトのリポジトリに残るコミットで確認できます。
| 日付 | 保守を終えた系列 | コミットに書かれた理由 |
|---|---|---|
| 2026-06-21 | 2.8・3.4・4.2・4.3 | AIによる脆弱性報告で作業量が急増 |
| 2026-07-04 | 7.0 | 7.0を使う保守中の配布物がない |
6月の2.8〜4.3の保守終了では、AIを使った脆弱性スキャンとセキュリティ報告で作業量が急に増えたこと、セキュリティ対応が実質1人で回っていることが理由に挙げられ、更新が必要なら自分で行うかコンサルティングを頼むよう書かれています。7月の7.0の保守終了の理由は「7.0を使っている保守中のディストリビューションがない」です。7.1系は残っているので、7.0.3を使っているなら同じメジャー版の7.1.5へ上げれば、ABIを変えずに修正を受け取り続けられます。
同じページは、ソースから自分でビルドする利用者にはリリース版より開発ブランチ(git master)を強く勧めており、リリース系列は配布元向けの位置づけです。古い系列を長く使うかどうかは、利用しているディストリビューションの保守期間で決まると考えてください。
次期版(n9.1-dev)で入る予定の機能
9.0の分岐後、masterには n9.1-dev タグが打たれており、次の版に入る変更はmasterのChangelogの「version <next>」欄に追記されていきます。2026年10月15日時点の主な項目は次のとおりです。
- libastcenc経由のASTC画像のエンコードとデコード(.astcとKTX 1.0の入出力)
- AACエンコーダの大幅な改善と、libfdk-xhe-aac経由のxHE-AACエンコード
- APVのVulkanエンコーダ、NVIDIA Optical Flowを使う補間フィルタ
vf_fruc_vulkan - DVD-Audio LPCMのデコードとデマクス、Panasonic RW2のデコード
- macOSのAVFoundation入力で、デバイスを一意IDやUSBシリアル番号で選ぶ機能
これらはまだリリース版に入っていません。使うにはmaster由来のビルド(gyan.devのgit masterビルドやBtbNの「master」)が必要で、次のリリースまでに項目が増減することもあります。
FFmpeg 9.0「Lei」の変更点と移行時の注意
9.0のリリースブランチは2026年6月26日にmasterから分岐し、同梱のリリースノートは「8.1の約4か月後」の公開と書いています。ライブラリのメジャー版数が一斉に上がる系列で、新機能より先に「動かなくなるもの」を確認する必要があります。
9.0で追加された主な機能
Changelogの9.0節から、利用者に影響の大きいものを抜き出します。
- アニメーションWebPのデコーダとデマクサ(アニメWebPを直接読み込める)
- HE-AAC 960のデコード(DAB+のデジタルラジオ音声)
- APVのVulkanハードウェアデコード、ProRes RAWのVideoToolboxデコード
v360_vulkan、transpose_cuda、AMDのvf_frc_amf(フレームレート変換)フィルタ- MP4へのLCEVCトラック多重化、SMPTE 2094-50メタデータの通過
- DNNフィルタ向けのONNX Runtimeバックエンド(GPU実行プロバイダ対応)
削除もあります。CELTのデコード(Opus内のCELTは影響なし)と、Oggに入ったCELTの解析、NVENCの古いオプションとSDK 11.1より前への対応が外されました。古いNVIDIAドライバでNVENCを使っている環境は、9.0へ上げる前にドライバが新しいSDKに対応しているかを確認してください。
9.0で削除されたffmpegコマンドのオプション
何年も前から非推奨だったコマンドラインオプションが、2026年6月23日にまとめて削除されました。9.0.2で実行すると、次のように変換が始まる前に止まります。
$ ffmpeg -i in.mp4 -vsync 1 out.mp4
Unrecognized option 'vsync'.
Error splitting the argument list: Option not found
$ ffmpeg -i in.mp4 -fps_mode drop out.mp4
Invalid value drop specified for fps_mode of #0:0.
| 削除されたもの | 非推奨になった日 | 9.0での書き換え先 |
|---|---|---|
-vsync |
2022-06-11 | -fps_mode(cfr・vfr・passthrough・auto) |
-top |
2023-09-18 | setfield フィルタ |
-fps_mode drop(-vsync drop) |
2023-12-18 | 代替値なし(指定を外す) |
-filter_complex_script |
2024-01-20 | -/filter_complex ファイル名 |
-top を残したまま実行すると「Codec AVOption top (top field first) is not a encoding option.」で止まります。-fps_mode drop は、マクサーにタイムスタンプを生成させる仕組み自体が非推奨になったため、代わりの値は用意されていません。次の書き換え例は、evermeet.cxの9.0.2ビルドで、入力をテスト映像(-f lavfi -i testsrc=d=1)に置き換えて実行し、3行とも終了コード0で通ることを確認しています(2026年9月28日)。
ffmpeg -i in.mp4 -fps_mode cfr -r 30 out.mp4
ffmpeg -i in.mp4 -vf setfield=tff out.mp4
# graph.txt に [0:v]null[v] を保存してから実行
ffmpeg -i in.mp4 -/filter_complex graph.txt -map "[v]" out.mp4
ネット上の解説記事には -vsync 0 や -vsync 2 を使った例がまだ多く残っています。古いスクリプトやコピーしたコマンドが9.0で急に動かなくなったら、最初にこの4つを疑ってください。同じ6月23日には、以前から効果の無かった -qphist と -adrift_threshold も削除されており、9.0.2では同じく「Unrecognized option」で止まります。個々のコマンドの使い方はFFmpegの使い方とコマンド一覧で9.0の実行結果とあわせて解説しています。
HTTPS入力の証明書検証と既定値変更
8.x系までは、https:// や tls:// の入力でサーバー証明書を検証しないのが既定でした(tls_verify の既定値0)。9.0ではこの既定値が1に変わり、検証が有効になっています。8.0の時点で「次のメジャー版で既定を切り替える」と予告され、その予告どおり2026年6月23日のコミットで切り替わりました。
影響を受けるのは、自己署名証明書の社内配信サーバーから取り込む処理や、CA証明書が入っていないコンテナでHLSを取得する処理です。9.0へ上げた途端に取得が失敗する場合は、-ca_file でCA証明書を渡すのが本来の対処です。-tls_verify 0 で8.x系の挙動に戻せますが、通信の改ざんを検知できなくなるので、検証用の環境に限ってください。
ライブラリのメジャー版更新とアプリへの影響
| ライブラリ | 7.1.5 | 8.1.3 | 9.0.2 |
|---|---|---|---|
| libavutil | 59.39 | 60.26 | 61.1 |
| libavcodec | 61.19 | 62.28 | 63.1 |
| libavformat | 61.7 | 62.12 | 63.1 |
| libavfilter | 10.4 | 11.14 | 12.1 |
| libswscale | 8.3 | 9.5 | 10.1 |
| libswresample | 5.3 | 6.3 | 7.1 |
| libpostproc | 58.3 | なし | なし |
8.1から9.0では全ライブラリのメジャー版が1つ上がっています。メジャー版が変わるとABI互換がなくなるため、FFmpegの共有ライブラリにリンクしたアプリ(PyAVやJavaCVのようなラッパー、自社のC/C++製品)は、9.0の共有ライブラリへ差し替えるだけでは動かず、再ビルドが必要です。ffmpeg コマンドを外部プロセスとして呼び出す使い方でも、オプション削除に加え、TLS証明書検証の既定値変更や利用コーデックの削除を確認する必要があります。libpostprocは8.0で本体から外れており、pp フィルタに依存していたスクリプトは7.1系から直接上げると動きません。
FFmpeg 8.1「Hoare」と8.0「Huffman」の主な変更点
FFmpeg 8.1の新機能(2026年3月16日公開)
8.1は2026年3月8日に分岐し、3月16日に公開されたマイナーリリースです。公式の告知とChangelogから、要点を抜き出します。
- Vulkan Computeによるコーデック:ProResのエンコードとデコード、DPXのデコード
- D3D12:H.264とAV1のエンコード、
scale_d3d12・mestimate_d3d12・deinterlace_d3d12フィルタ - RockchipのH.264・HEVCハードウェアエンコード
- デコーダ:xHE-AACのMps212(実験的)、libmpeghdec経由のMPEG-H 3D Audio、EXIFメタデータの解析
- JPEG-XS:libsvtjpegxs経由のエンコードとデコード、パーサ、生ビットストリームの入出力
- フォーマットとフィルタ:IPカメラ形式HXVS/HXVTの
hxvsデマクサ、libcairoでベクター描画するdrawvg、AMD GPU向けのvpp_amf
Windowsでは、Windows.Graphics.Captureを使うウィンドウ・画面キャプチャ gfxcapture が加わりました。従来のGDIキャプチャ gdigrab が入力デバイスだったのに対し、gfxcapture はlibavfilterの映像ソースとして実装されており、-f lavfi -i gfxcapture の形で呼び出します。VulkanのコーデックはGLSLを実行時にコンパイルしなくなり、初期化が速くなっています。
移行で注意が必要なのは、旧HLSプロトコルハンドラ(hls+http:// などの形式)の削除です。HLSの読み込みそのものは hls デマクサで引き続き扱えるので、.m3u8 のURLをそのまま -i に渡す形へ書き換えます。なお drawvg はlibcairoを有効にしたビルドにしか入らず、evermeet.cxの9.0.2ビルドでは ffmpeg -filters の一覧に出てきませんでした(2026年9月28日確認)。使いたいフィルタが手元のビルドにあるかは ffmpeg -filters で確認できます。
FFmpeg 8.0の要点(2025年8月22日公開)
8.0は、インフラの刷新や度重なる延期を経て、公式告知が「過去最大級のリリースの一つ」と書いたメジャー版です。Vulkan Computeで動くFFV1のエンコード・デコードとProRes RAWのデコード、APV・ProRes RAW・RealVideo 6.0のネイティブデコーダ、音声認識の whisper フィルタ、Vulkan AV1エンコードとVP9デコードが加わりました。ビルド環境では、x86向けアセンブラのyasm対応がなくなり、x86の手書きアセンブリを有効にする構成ではnasmが必要になりました。また、OpenSSLは1.1.1以上が必要です。Ubuntu 26.04の公式パッケージは8.0.1なので、aptで入れた環境ではこの8.0の機能が上限になります。
インストール済みFFmpegのバージョン確認方法
版の確認は ffmpeg -version で行います。ffprobeにも同じ -version があります。
$ ffmpeg -version
ffmpeg version 9.0.2-tessus https://evermeet.cx/ffmpeg/ Copyright (c) 2000-2026 the FFmpeg developers
built with Apple clang version 17.0.0 (clang-1700.6.4.2)
configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --enable-gpl --enable-libx264 ...
libavutil 61. 1.102 / 61. 1.102
libavcodec 63. 1.102 / 63. 1.102
libavformat 63. 1.102 / 63. 1.102
1行目の「9.0.2」が版番号で、後ろの「-tessus」はビルドした人の識別子です。gyan.devのgit masterビルドは、版番号の代わりに「2026-09-24-git-5253641e62」のような日付とコミットIDが入ります。一方で、リリースブランチから日次で作るビルドにもコミットIDが付くことがあるので、コミットIDの有無だけでmaster由来とは決められません。どのブランチのビルドかは配布元の表記(BtbNならファイル名の「master」「n9.0」「n8.1」)で確かめてください。configuration: 行には有効にしたライブラリが並ぶので、--enable-libx264 や --enable-libass の有無で、H.264エンコードや字幕焼き込みができるビルドかを判断できます。
ライブラリ行は「63. 1.102 / 63. 1.102」のように左右(ビルド時の版と実行時に読み込んだ版)が一致するのが正常です。左右が一致しない場合は、コマンド本体と読み込まれた共有ライブラリの版がずれています。パッケージ管理ツールで入れた版と手動で置いた版が混在しているときに起き、コーデックが見つからないといった不可解なエラーの原因になります。which -a ffmpeg(Windowsは where.exe ffmpeg)で、PATH上に複数のffmpegがないかを確認してください。
OS別のFFmpegインストール先と収録バージョン
FFmpeg公式はソースコードだけを配布し、実行ファイルは外部のビルドへリンクしています。入手経路によって収録版が大きく違うため、次の表で2026年10月15日時点の版を確認してから選んでください。
| OS | 入手経路 | 収録版 |
|---|---|---|
| Windows | winget Gyan.FFmpeg(full) |
9.0.2 |
| Windows | winget Gyan.FFmpeg.Essentials |
9.0.1 |
| Windows | Chocolatey ffmpeg(essentials) |
9.0.2 |
| Windows | Scoop ffmpeg(full)・ffmpeg-essentials |
9.0.2 |
| Windows・Linux | BtbN(GitHub Releases) | master・n9.0・n8.1の日次ビルド |
| macOS | Homebrew ffmpeg/ffmpeg-full |
9.0.2 |
| macOS | Homebrew ffmpeg@8 |
8.1.3 |
| macOS | evermeet.cx(静的ビルド) | 9.0.2 |
| Ubuntu 24.04 | 公式apt | 6.1.1 |
| Ubuntu 26.04 | 公式apt | 8.0.1 |
| Ubuntu 22.04〜26.04 | PPA ubuntuhandbook1/ffmpeg9 | 9.0.2 |
| Debian 13(trixie) | 公式apt | 7.1.5 |
| Debian testing(forky) | 公式apt | 9.0.2 |
| Linux | johnvansickle.com 静的ビルド | 7.0.2 |
Windows向けgyan.dev・BtbNビルドの選択
公式ダウンロードページがWindows向けに挙げるのは、gyan.devとBtbNの2つです。gyan.devのリリース版はパッケージ管理ツールから入れられます。essentialsは主要なコーデックだけ、fullは外部ライブラリを多く含む版です。
winget install --id Gyan.FFmpeg -e # full
choco install ffmpeg -y # essentials
scoop install ffmpeg-essentials # essentials
wingetには2つのパッケージがあり、Gyan.FFmpeg はfull版で9.0.2が登録済みです。一方の Gyan.FFmpeg.Essentials は、winget-pkgsのマニフェストが9.0.1(2026年9月10日登録)で止まっており、2026年10月15日時点で9.0.2がありません。Chocolateyの ffmpeg はessentials版で、9.0.2が9月20日に承認されています。essentials版を最新で使いたいならChocolateyの ffmpeg かScoopの ffmpeg-essentials、wingetならfull版を選んでください。Scoopの ffmpeg はfull版です。
手動で入れる場合は、gyan.devの「release essentials」を展開し、bin フォルダをシステム環境変数のPathへ追加して、新しく開いたターミナルで ffmpeg -version を実行します。gyan.devのビルドはWindows 10以降が前提です。BtbNはGitHub Releasesに「ffmpeg-n9.0-latest-win64-gpl-9.0.zip」「ffmpeg-n8.1-latest-win64-gpl-8.1.zip」のように系列ごとのビルドを置いているので、8.1系に固定したい場合に向きます。
Windowsで入れ済みのFFmpegを新しい版へ更新する手順
更新の方法は、最初にどう入れたかで決まります。先に where.exe ffmpeg で、PATH上のどの ffmpeg.exe が使われているかを確認してください(PowerShellでは where が Where-Object の別名になるため .exe まで付けます。コマンドプロンプトなら where ffmpeg でも同じです)。パスに WinGet を含めばwinget、chocolatey を含めばChocolatey、scoop を含めばScoopで入れたものです。
winget upgrade --id Gyan.FFmpeg -e
choco upgrade ffmpeg -y
scoop update ffmpeg-essentials
どれにも当てはまらない C:\ffmpeg\bin のような場所なら、手動で置いたものです。新しいzipを展開して bin の中の ffmpeg.exe・ffprobe.exe・ffplay.exe を差し替えます。古いフォルダは消さずに名前を変えて残しておくと、9.0でスクリプトが止まったときにPathを戻すだけで元に戻せます。
注意したいのは、パッケージ管理ツールで入れた版と手動で置いた版が両方PATHにある状態です。where.exe ffmpeg が2行以上返すときは、上の行が優先されます。更新したのに ffmpeg -version の版が変わらない場合は、まずこの重複を疑ってください。
macOS向けHomebrew標準版・full版の機能差
Homebrewの ffmpeg と ffmpeg-full はどちらも9.0.2ですが、依存ライブラリの数が11と47で大きく違います。標準の ffmpeg はx264・x265・SVT-AV1・dav1d・Opus・LAMEなどに絞られており、字幕焼き込みに使うlibass、8.0で入ったwhisperフィルタが必要とするwhisper.cpp、OCRのtesseractは ffmpeg-full にしか入りません。subtitles フィルタで「No such filter」と出たら ffmpeg-full を入れます。ffmpeg-full はkeg-only(PATHへ自動でリンクされない)なので、入れただけでは ffmpeg コマンドは標準版のままです。次のようにフルパスで呼ぶか、brew --prefix ffmpeg-full の bin をPATHの先頭に加えてください。
# 標準版を使う場合
brew install ffmpeg
brew upgrade ffmpeg
# full版を使う場合
brew install ffmpeg-full
"$(brew --prefix ffmpeg-full)/bin/ffmpeg" -version
brew upgrade ffmpeg-full
8.1系に留めたい場合は、同じくkeg-onlyの ffmpeg@8(8.1.3)を使います。Homebrewを使わない場合は、公式ページが案内するevermeet.cxのIntel向け静的ビルドを展開してPATHの通った場所に置きます。Apple Silicon向けのネイティブビルドではない点に注意してください。
Ubuntu・Debianの公式パッケージと更新経路
Ubuntuの公式パッケージはリリース時点の版に固定されるため、24.04 LTSのaptで入るのは6.1.1、26.04 LTSでも8.0.1です。Debianも安定版のtrixieは7.1.5で、9.0.2が入っているのはtesting(forky)とunstable(sid)です。9.0を使いたい場合の選択肢は3つあります。
- BtbNのLinux向け静的ビルド(公式ダウンロードページがLinux Static Buildsとしてリンクしている先)を展開して使う
- 個人が運営するPPA
ppa:ubuntuhandbook1/ffmpeg9を追加する(22.04・24.04・26.04向けに9.0.2を2026年9月20日に公開。8.1系はffmpeg8で8.1.2) - ソースからビルドする
PPAはUbuntu公式ではないため、システムのライブラリが置き換わる点を理解したうえで使ってください。サーバーでは、静的ビルドを /opt に置いてシステムのパッケージと切り離す方が、ロールバックも簡単です。
sudo add-apt-repository ppa:ubuntuhandbook1/ffmpeg9
sudo apt update
sudo apt install ffmpeg
日本語の解説記事で定番だったjohnvansickle.comの静的ビルドは、2026年10月時点でもリリース版が7.0.2のまま止まっています。7.0系は2026年7月に保守が終わっているため、修正版も出ません。公式ページのLinux静的ビルドのリンク先もBtbNになっているので、これから入れるならBtbNを選んでください。
ソースtarballのリリース署名の検証手順
ffmpeg.orgが配布するソースのtarballには、すべてPGP署名(.asc)が付いています。2026年9月20日には耐量子暗号の署名鍵がダウンロードページのRelease Verification欄に追加され、9.0.2と8.1.3には .pq.asc も付くようになりました。8.0系以前(8.0.3や7.1.5など)には付いていません。gyan.devやBtbN、Homebrewなどのビルド済みバイナリは各配布元が作ったもので、この署名の対象外です。
PGP署名の検証手順
公式の手順は、公開鍵を取り込んでから gpg --verify を実行するものです。鍵のフィンガープリントは「FCF986EA15E6E293A5644F10B4322F04D67658D8」(2011年作成のRSA 2048ビット)で、取り込んだ鍵がこれと一致するかを先に確かめます。
curl https://ffmpeg.org/ffmpeg-devel.asc | gpg --import
gpg --fingerprint [email protected]
curl -O https://ffmpeg.org/releases/ffmpeg-9.0.2.tar.xz
curl -O https://ffmpeg.org/releases/ffmpeg-9.0.2.tar.xz.asc
gpg --verify ffmpeg-9.0.2.tar.xz.asc ffmpeg-9.0.2.tar.xz
Good signature from "FFmpeg release signing key" と出れば正規のtarballです。gitのタグは別の鍵(EdDSA、DD1EC9E8DE085C629B3E1846B18E8928B3948D64)で署名されており、tarballとの差は .git* ファイルが無いことと VERSION ファイルがあることだけ、と公式は説明しています。
耐量子署名(.pq.asc)の検証とGnuPGの対応状況
.pq.asc は、OpenPGPの耐量子拡張を定めたRFC 9980に沿った署名です。ML-DSA-87とEd448を組み合わせた鍵と、SLH-DSA-256sの鍵の2本で署名されており、公式は両方の検証が通ることを求めています。ダウンロードページは「GnuPGはまだ検証できない」と明記し、OpenSSL 3.5かRustCryptoを暗号バックエンドにしてビルドしたsq(Sequoia PGPのCLI)1.4以降を使うよう案内しています。
curl -O https://ffmpeg.org/releases/ffmpeg-9.0.2.tar.xz.pq.asc
curl -O https://ffmpeg.org/ffmpeg-mldsa87-ed448.cert.pgp
curl -O https://ffmpeg.org/ffmpeg-slhdsa256s.cert.pgp
sq verify --signature-file ffmpeg-9.0.2.tar.xz.pq.asc --signer-file ffmpeg-mldsa87-ed448.cert.pgp ffmpeg-9.0.2.tar.xz
sq verify --signature-file ffmpeg-9.0.2.tar.xz.pq.asc --signer-file ffmpeg-slhdsa256s.cert.pgp ffmpeg-9.0.2.tar.xz
9.0.2で確かめたところ(2026年10月15日)、.asc が520バイトなのに対し .pq.asc は47,075バイトで、ML-DSA-87+Ed448(4,832バイト)とSLH-DSA-256s(29,886バイト)の署名が2つ入っていました。公式の手順が鍵ごとに2行あるのはこのためです。Intel版macOSのHomebrewではGnuPGもsqも入らなかったため、PGPy 0.6.0とpysequoia 0.1.35で検証し、公式の鍵3本でいずれも通ること、途中の1バイトを書き換えたtarballでは3つとも失敗することを確認しました。pysequoia 0.1.35は .pq.asc から先頭の署名しか取り出さないので、2つの署名パケットを分けてから鍵ごとに検証する必要があります。
9.0へ上げるか8.1に留まるかの判断基準
判断の軸は「どう呼び出しているか」です。
9.0へ上げてよいケース:コマンドを手で打つか、自分で管理しているスクリプトから呼ぶだけで、-vsync などの削除オプションとHTTPSの証明書検証を確認できる場合です。アニメーションWebPの読み込みやONNX RuntimeのDNNバックエンドが必要なら、リリース版ではこれらを追加した9.0系を選びます。
8.1.3に留まるべきケース:FFmpegの共有ライブラリにリンクしたアプリを配布している場合と、サードパーティ製ツールが内部でffmpegコマンドを呼んでいて、その引数を自分で直せない場合です。前者は再ビルドと検証が必要で、後者はツール側が9.0に対応するまで待つしかありません。8.1系には9月21日に8.1.3が出ていますが、今後のセキュリティ修正の提供期間は公表されていません。
本番環境で上げるときは、今のコマンドをそのまま9.0で実行し、エラーで止まるものを洗い出すのが最も確実です。削除されたオプションは変換開始前にエラーで止まるので、短いテスト素材で全コマンドを1回ずつ流すだけで検出できます。AIエージェントからffmpegを呼ばせる使い方はClaude CodeとFFmpegで動画を編集する方法、配信基盤でのトランスコード設計は動画配信システムの構築で扱っています。
FFmpegのバージョンに関するよくある質問
FFmpegの最新バージョンはいくつですか?
2026年10月15日時点の最新安定版は、9月18日公開の9.0.2「Lei」です。8.1系の最新は9月21日公開の8.1.3です。ffmpeg.orgのトップページのニュース欄には9.0の告知がないため、ダウンロードページのReleases欄で確認してください。
FFmpegのバージョンはどうやって確認しますか?
ターミナルで ffmpeg -version を実行し、1行目の「ffmpeg version」の後ろにある番号を見ます。日付やgitのコミットIDが付いている場合は、リリース版そのものではなくブランチから作ったビルドです。masterかリリースブランチかは配布元の表記で確認してください。
FFmpegのサポート期限はいつまでですか?
公式は系列ごとの期限を事前に定めていません。下流のディストリビューションが使っている間は古い系列にも修正版が出ており、2026年6月には4.4系の4.4.8まで更新されました。一方で、2026年6月21日に2.8・3.4・4.2・4.3、7月4日に7.0の保守が終わっています。7.0を使っている場合は、同じメジャー版の7.1系へ上げてください。
FFmpeg 8.1と9.0はどちらを入れればよいですか?
新規に入れるなら9.0.2で問題ありません。-vsync などを使う既存のスクリプトや、FFmpegのライブラリにリンクしたアプリがある場合は、移行を確認できるまで8.1.3に留めてください。
Ubuntuのaptで最新版のFFmpegが入らないのはなぜですか?
Ubuntuの公式パッケージはリリース時点の版で固定されるためです。24.04では6.1.1、26.04では8.0.1が入ります。9.0を使うにはBtbNの静的ビルドか、非公式のPPA ubuntuhandbook1/ffmpeg9 を使います。