FFmpeg 和自由软件社区的更新
▲掃描上圖二維碼了解音視頻技術大會更多信息
來源:Demuxed 2021
主講:Jean-Baptiste Kempf @ Videolan
翻譯:鐘宏成
談談 FFmpeg 社區的變化,以及 FFmpeg 項目中發生的事情。FFmpeg 5.0 發布、CoC 和其他一些東西。
目錄
FFmpeg history
Work together
Work better
FFmpeg releases
FFmpeg 5.0 changes
Dav1d 狀態
大多數為 FFmpeg, x264 等社區貢獻的成員都是志愿勞動,沒有任何報酬,大多數開源項目也是這樣,這很難。
FFmpeg history
FFmpeg 社區的發展有過很多不順,過去幾年的狀況并不理想,我們希望能解決問題,與下游的 FFmpeg 用戶一起解決這些問題:
libav 與 FFmpeg 分離幾乎十年,現在基本解決了;
主要維護者 Michael Niedermayer 在幾年前辭職;
郵件列表中的語氣比較緊張;
很多人害怕提交 patch,因為他們不相信自己的代碼能被合并,reviewer 都很嚴格;
下游有很多分支,它們固定在特定的版本上,工作在不同場合,并且在其上有很多 patch。這導致了許多重復工作,并且不更新的 FFmpeg 會有一些安全問題。
Work together
對于 FFmpeg 的社區架構,我們現在有:
General Assembly:由全部活躍開發者組成,負責重要決策;
Technical Committee:解決技術問題,裁決技術討論;
Community Committee:規范人們在郵件列表與 IRC 頻道上的行為,維持工作環境。
Work better
我們同樣需要改變開發模式,這些都在討論中,也許可以有固定的發布周期?或者可以維護一些長期維護版本 LTS release?我們同樣在討論提升開發工具,如何幫助持續繼承。人們也在討論遷移到 GitLab,但目前沒什么結果,如果您有好的意見,歡迎參與討論。最后,code of conduct,其他的一些工具和規則也需要更新。在你看到這個視頻的同時,也許一些討論已經有了進展,但我們還不確定。
如果您有任何反饋,任何建設性的意見,請聯系我們,我們來將 FFmpeg 做得更好。
FFmpeg releases
FFmpeg 4.4 在 FFmpeg 4.3 幾乎一年后推出,主要有以下更新:
AV1 硬件解碼,SVT-AV1 編碼器;
AVS3 解碼器, Linux VP9/HEVC 10bit;
Cineform HD, SpeedHQ, OpenEXR, TTML 編碼器;
RIST 與 Gopher 支持;
許多新 filter。
FFmpeg 5.0 的發布(January 17th, 2022, FFmpeg 5.0 "Lorentz"):
包含 FFmpeg 歷史中最大的 API 改變,大約有 90 個 commit 用于刪除廢棄的 API 與數據結構;
swscale threading;
新 filter。
FFmpeg 5.0 changes
FFmpeg 5.0 最大的變化主要是在 avcodec 的 encoding,decoding:
現在音頻、視頻使用同一個 API;
編碼的輸入、輸出解耦。
新的回調函數允許編碼器輸出數據到用戶管理的 buffer;
swscale 中的 AVFrame based API;
分離 avformat 與 avcodec,demuxer 不再嵌入整個 decoder context;
新的 bitstream filtering API,可以用于編碼包頭分析;
codec/format 注冊 API 被去除了,現在所有格式總是注冊的;
類型安全:在許多 API 中 int 替換為 size_t;
一個 API 變化的舉例:
Dav1d 狀態
Dav1d 的手寫匯編代碼已經超過 150k 行,現在支持的匯編有:
ARM32 & ARM64;
x86 32bit;
x86 64bit (SSSE3 & AVX2)。
在單線程,幾乎所有能做的優化都已經實現了,但在多線程優化上還有提升空間,現在使用的自動多線程模型可以在給定線程數的情況下自動設定 Frame-threads、Slice-threads、Filter-threads。Dav1d 的 1.0 版本即將發布,接下來的工作可能是在 AVX512,PPC 上,或是使用 GPU 加速。
最后,特別需要提到的是,最近 FFmpeg 社區的進展主要有 YouTube 和 Facebook 贊助,許多 dav1d 上的進展由 Netflix 贊助。許多人在他們自己的時間為 FFmpeg 工程貢獻,很多時候維護與更新是不容易的,所以對這些開源項目的贊助非常有用!
附上演講視頻:
點擊“閱讀原文”了解音視頻技術大會更多信息!
總結
以上是生活随笔為你收集整理的FFmpeg 和自由软件社区的更新的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 12种提升视频质量的方法
- 下一篇: 提问征集:对话VLC首席开发者Jean-