Open Source

FFmpeg 9.0「Lei」發布:swscale 重寫與更安全的預設

2026 年 8 月 4 日,FFmpeg 9.0「Lei」亮相:七個函式庫同步升版打破 ABI、swscale 多年重寫落地、動畫 WebP 解碼補上、TLS 憑證驗證預設開啟,開發主場遷往自家 Forgejo。

FFmpeg 9.0「Lei」發布:swscale 重寫與更安全的預設 — 文章封面

2026 年 8 月 4 日,FFmpeg 推出大版本 9.0,代號「Lei」,距離 8.1「Hoare」約四個半月。這是一次真正的 ABI 大版本:七個核心函式庫全部升版(libavutil 61、libavcodec 63、libavformat 63 等),依賴它的應用程式都得重新編譯。規模上,9.0 收錄超過 2,200 次提交、來自 160 多位貢獻者,新增約 8.5 萬行程式碼、移除 3.3 萬行。

swscale 重寫終於落地

最受矚目的是 swscale 的多年重寫,由 Niklas Haas 主導、貢獻超過 300 次提交,Ramiro Polla 負責 ARM 端。新版把色彩轉換拆解成基本操作清單,再編譯成核心鏈,後端涵蓋 C 參考實作、x86 SIMD、AArch64 NEON 與 Vulkan SPIR-V——同一張轉換圖可以跑在 CPU 或 GPU 上。內部改用精確的 64 位元有理數運算取代浮點數,Vulkan 後端也支援 SWS_BITEXACT。整條新路徑目前仍放在 SWS_UNSTABLE 旗標後面,官方態度謹慎。

解碼、編碼與 HDR 的新能力

功能清單有幾個亮點。動畫 WebP 總算能解碼——這張工單開在 2015 年,編號 4907 的標題就問「為什麼只解出第一幀」。NVENC 獲得 AV1 階層 B 幀參考、12-bit 輸入與 Video Codec SDK 13.1 支援;ProRes RAW 補上 VideoToolbox 與 Vulkan 解碼;FFV1 現在能無損編碼 Bayer 感光元件資料,並有 Vulkan GPU 編解碼器,這部分由 Sovereign Tech Fund 部分資助。HDR 端新增分離 Dolby Vision Profile 7 增強層的 bitstream filter,以及 SMPTE 2094-50 動態 HDR 元資料。還有一個不太重要但很酷的:Playdate 主機的 1-bit 400x240 視訊編碼器,原作者自嘲「It is not important, but it is cool」。

組語整備也沒停:x86 的 MMX 在這版全部清除,mpegvideoenc 最後一批 MMX 換成 SSE2 與 AVX2;ARM 端重寫 NEON yuv2rgb;RISC-V 拿到 HEVC 與像素運算的 RVV 實作。

更安全的預設與新的開發主場

兩個影響所有人的變更:TLS 對等憑證驗證預設開啟——此前預設關閉是被詬病已久的安全債;-vsync 選項移除,改用 -fps_mode。開發流程同樣有變化:專案開發主場遷至 code.ffmpeg.org 的 Forgejo,官方明言 GitHub 上的 pull requests 將被忽略,靠 GitHub 鏡像提修正的協作者得改走官方管道。

對開發者的意義

多媒體管線的維護者短期內有一份升版清單要處理:ABI 中斷代表綁預編譯函式庫的應用要等下游重灌,VLC 4 也會跟進這批升版。長期看,換來的是更乾淨的 swscale 與可用的 GPU 路徑。另外,DNN 濾鏡新增 ONNX Runtime 後端(支援 CUDA 與 DirectML),把本地 AI 推理接進 FFmpeg 濾鏡鏈——做媒體處理的團隊值得盯這條線。

參考來源

本文由 AI 協助自上述來源整理,經人工審核後發布。

這篇內容對你有幫助嗎?

支持本站繼續整理實用的 AI 文章、教學與開發筆記。

請我喝杯咖啡
分享X電郵