FFmpeg 8.1 版「Hoare」釋出 (★ 103 分)
FFmpeg 是一套跨平台的開源多媒體工具組,主打錄製、轉檔與串流影音;官方釋出 8.1 版「Hoare」,並強調這次屬於小版本更新但包含大量內部調整與錯誤修正。對多數使用者、發行版與系統整合商而言,官方建議直接升級,除非你本來就已經在使用最新的 git master(主開發分支)。
8.1 的功能重點包括新增或擴充多項編解碼器 (codec) 與封裝處理:例如 xHE-AAC(Extended HE-AAC,擴充高效率 AAC)Mps212 的實驗性解碼、透過 libmpeghdec 加入 MPEG-H 3D Audio(3D 音訊標準)解碼,以及 EXIF(Exchangeable Image File Format,影像拍攝資訊)中繼資料解析。也加入 LCEVC(Low Complexity Enhancement Video Coding,低複雜度增強層視訊編碼)的中繼資料解析與轉送能力、IAMF(Immersive Audio Model and Formats,沉浸式音訊格式)在投影模式下對 Ambisonics(全景聲場表示法)音訊元素的封裝/解封裝(muxing/demuxing),並新增 hxvs 格式的解封裝器 (demuxer) 與 drawvg、vpp_amf 等濾鏡 (filter)。
硬體與 GPU 相關能力也是此次焦點:Vulkan(跨平台 GPU 圖形與運算 API)的 compute-based codecs(以 GPU 計算著色器實作的編解碼路徑)加入 ProRes(Apple 的中介編碼)編碼/解碼與 DPX(Digital Picture Exchange,電影影格格式)解碼;在 Windows 端則強化 D3D12(Direct3D 12,微軟圖形 API)硬體編碼,新增以 D3D12 進行 H.264(AVC,視訊編碼標準)與 AV1(開放視訊編碼格式)編碼,以及對應的縮放、動態估測與去交錯等濾鏡。官方也提到 swscale(FFmpeg 的影像縮放元件)重寫的前置工程持續推進,且 Vulkan compute-based codecs 與部分濾鏡不再依賴執行時 GLSL(OpenGL Shading Language,著色器語言)即時編譯,讓初始化更快;並同步指向 Khronos(制定 Vulkan 等標準的產業組織)部落格文章,提供實作細節與後續規劃。
Hacker News 討論串裡,有人貼出更完整的變更清單並特別關注 `gfxcapture`:基於 Windows.Graphics.Capture 的視窗/螢幕擷取,可輸出 D3D11(Direct3D 11)硬體影格、降低擷取負擔;這讓部分人重新評估做原生桌面端(而非以 Chromium 當核心)來開發開源的 Discord 替代品是否更可行,WebRTC(Web Real-Time Communication,即時通訊/影音傳輸標準)則被視為另一個需要補齊的關鍵。也有人建議乾脆直接用 Windows.Graphics.Capture,或參考 OBS Studio(Open Broadcaster Software,直播錄影軟體)的 win-capture 外掛做法(包含對遊戲擷取常用的行程注入技巧),甚至腦洞到「把整個聊天軟體做成 OBS 外掛」來借用既有影音管線;另有提醒指出 Rockchip 的 H.264/HEVC(H.265,高效率視訊編碼)硬體編碼多半依賴 rkmpp 這類非上游整合方案,可能需要特定 Rockchip 核心環境才好用。
另一個分支則討論到 JPEG XS:有人因為看到 FFmpeg 新增 JPEG XS 相關解析/編解碼支援而認識這個主打低延遲、可視或數學上無損的編碼;但也有人補充「看不出差異」通常只在無損或極低壓縮比下才成立,若用到接近 JPEG XL(新一代靜態影像編碼)那種常見壓縮比就會明顯失真。實務上,JPEG XS 常被用在延遲極敏感的工作流程:相較 H.264/H.265 端到端可能出現約 10 個影格的 glass-to-glass 延遲,JPEG XS 可降到約 3~4 個影格,但代價是頻寬暴增(例如 UHD 串流可能到 1.5 Gbit,而 HEVC 約 200 Mbit)。
👥 10 則討論、評論 💬
https://news.ycombinator.com/item?id=47413525