錄製、轉換和串流音訊與視訊的完整跨平台解決方案。
新聞
2024 年 9 月 30 日,FFmpeg 7.1 「Péter」
FFmpeg 7.1 「Péter」,一個新的主要版本,現已發布!完整的變更列表可以在發行變更日誌中找到。
此版本更重要的重點是 VVC 解碼器,在 7.0 版本中合併為實驗性功能,經過足夠的時間發展和優化,足以宣告為穩定。此編解碼器正開始在廣播標準化機構中獲得關注。
新增了對原生 AAC USAC(xHE-AAC 編碼系統的一部分)解碼器的支援,由於其廣泛的音量正規化中繼資料,該格式正開始被串流媒體網站採用。
現在支援 MV-HEVC 解碼。這是一種立體編碼工具,已開始由最新的手機和 VR 頭戴式裝置出貨和產生。
現在透過外部函式庫支援 LC-EVC 解碼,這是一種增強中繼資料層,旨在提高編解碼器的品質。
合併了對 Vulkan 編碼的支援,包括 H264 和 HEVC。這最終允許完全基於 Vulkan 的解碼-濾鏡-編碼管線,透過為 Vulkan 幀提供一個接收器,而不是下載或顯示它們。編碼器具有與其 VAAPI 實作對應項相同的功能。Khronos 已宣布 Vulkan 也即將支援 AV1 編碼,而 FFmpeg 的目標是在第一天就提供支援。
除了上述之外,此版本還進行了許多重要的內部工作。到目前為止,內部最突出的是針對全範圍影像所做的改進。以前,色彩範圍資料有兩條路徑,沒有協商,並且不可靠地轉發到濾鏡、編碼器、多工器。清理系統的工作在 10 多年前就開始了,但由於系統的脆弱性以及破壞行為是不可接受的,因此停滯不前。新系統修正了這個問題,因此現在色彩範圍已在所有需要的地方正確且一致地轉發,並為更進階的協商形式鋪平了道路。
現在 Matroska 和 MP4 格式支援裁剪中繼資料。此中繼資料不僅對於歸檔很重要,而且對於 AV1 也很重要,因為硬體編碼器需要其訊號傳輸,因為該編解碼器本身不原生支援。
與往常一樣,我們建議使用者、發行商和系統整合商升級,除非他們使用目前的 git master。
2024 年 9 月 11 日,Coverity
FFmpeg 在 Coverity(靜態分析器)中發現的問題數量現在低於 2016 年以來的任何時候。我們的缺陷密度不到 OSS 中超過一百萬行程式碼的平均值的 1/30。所有這一切都歸功於主權技術基金的資助。
2024 年 6 月 2 日,原生 xHE-AAC 解碼器
FFmpeg 現在實作了原生 xHE-AAC 解碼器。目前,支援沒有 (e)SBR、USAC 或 MPEG-H Surround 的串流,這意味著大多數正在使用的 xHE-AAC 串流應該可以運作。對 USAC 和 (e)SBR 的支援即將推出。改進其穩定性和相容性的工作也正在進行中。在此過程中,我們發現了一些規格問題,然後將其提交回作者進行討論,並可能納入未來的勘誤表中。
2024 年 5 月 13 日,主權技術基金
FFmpeg 社群很高興宣布德國的主權技術基金已成為其第一個政府贊助商。他們的支持將有助於維持 FFmpeg 專案的維護,這是一個關鍵的開放原始碼軟體多媒體組件,對於每天將音訊和視訊帶給全球數十億人至關重要。
2024 年 4 月 5 日,FFmpeg 7.0 「Dijkstra」
新的主要版本,FFmpeg 7.0 「Dijkstra」,現在可供下載。對於大多數使用者而言,最值得注意的變更是一個 原生 VVC 解碼器(目前為實驗性,直到完成更多模糊測試)、IAMF 支援,或是一個 多執行緒 ffmpeg
CLI 工具。
此版本不向後相容,移除了 6.0 之前已棄用的 API。對於大多數函式庫呼叫者而言,最大的變更將是移除舊的基於位元遮罩的通道佈局 API,取而代之的是 AVChannelLayout
API,該 API 允許自訂通道排序或 Ambisonics 等功能。某些已棄用的 ffmpeg
CLI 選項也被移除,現在需要符合 C11 標準的編譯器才能建置程式碼。
與往常一樣,還有許多新的支援格式和編解碼器、新的濾鏡、API 以及無數較小的功能和錯誤修正。與 6.1 相比,git
儲存庫包含將近 ∼2000 個新提交,由 ∼100 位作者完成,觸及 >100000 行程式碼,分布在 ∼2000 個檔案中 — 感謝所有貢獻者。請參閱 變更日誌、API 變更和 git 日誌,以取得更全面的變更列表。
2024 年 1 月 3 日,原生 VVC 解碼器
libavcodec
函式庫現在包含一個原生 VVC(多功能視訊編碼)解碼器,支援編解碼器功能的大部分子集。更多最佳化和對更多功能的支援即將推出。程式碼由 Nuo Mi、Xu Mu、Frank Plowman、Shaun Loo 和 Wu Jianhua 編寫。
2023 年 12 月 18 日,IAMF 支援
libavformat
函式庫現在可以讀取和寫入 IAMF (Immersive Audio) 檔案。ffmpeg
CLI 工具可以使用新的 -stream_group
選項配置 IAMF 結構。IAMF 支援由 James Almer 編寫。
2023 年 12 月 12 日,多執行緒 ffmpeg
CLI 工具
由於對 ffmpeg
命令列工具進行了重大重構,轉碼管線的所有主要組件(解多工器、解碼器、濾鏡、編碼器、多工器)現在都可以並行執行。這應該可以提高輸送量和 CPU 使用率、減少延遲,並為其他令人興奮的新功能開闢道路。
請注意,在幾乎所有計算時間都花費在單一組件(通常是視訊編碼)中的情況下,您不應期望效能有顯著提升。
2023 年 11 月 10 日,FFmpeg 6.1 「Heaviside」
FFmpeg 6.1 「Heaviside」,一個新的主要版本,現已發布!一些重點
- libaribcaption 解碼器
- Playdate 視訊解碼器和解多工器
- 擴展 Windows 上 libva-win32 的 VAAPI 支援
- afireqsrc 音訊來源濾鏡
- arls 濾鏡
- ffmpeg CLI 新選項:-readrate_initial_burst
- zoneplate 視訊來源濾鏡
- setpts 和 asetpts 濾鏡中的命令支援
- Vulkan 解碼硬體加速,支援 H264、HEVC 和 AV1
- color_vulkan 濾鏡
- bwdif_vulkan 濾鏡
- nlmeans_vulkan 濾鏡
- RivaTuner 視訊解碼器
- xfade_vulkan 濾鏡
- vMix 視訊解碼器
- Essential Video Coding 解析器、多工器和解多工器
- Essential Video Coding 幀合併 bsf
- bwdif_cuda 濾鏡
- Microsoft RLE 視訊編碼器
- Raw AC-4 多工器和解多工器
- Raw VVC 位元串流解析器、多工器和解多工器
- 用於編輯 VVC 串流中繼資料的位元串流濾鏡
- 用於將 VVC 從 MP4 轉換為 Annex B 的位元串流濾鏡
- videotoolbox 的 scale_vt 濾鏡
- videotoolbox 的 transpose_vt 濾鏡
- 支援 P_SKIP 提示以加速 libx264 編碼
- 增強型 flv 格式中支援 HEVC、VP9、AV1 編解碼器
- apsnr 和 asisdr 音訊濾鏡
- OSQ 解多工器和解碼器
- 增強型 rtmp 協定中支援 HEVC、VP9、AV1 編解碼器 fourcclist
- CRI USM 解多工器
- ffmpeg CLI '-top' 選項已棄用,改用 setfield 濾鏡
- VAAPI AV1 編碼器
- ffprobe XML 輸出架構已變更,以考慮同一父元素內的多個 variable-fields 元素
- ffprobe -output_format 選項已新增為 -of 的別名
此版本已經延遲了至少半年,但由於儲存庫中的持續活動,不得不延遲,我們最近終於能夠在排定用於 7.0 的一些重大變更合併之前分支發布。
在內部,我們也進行了許多變更。用於編解碼器和濾鏡的 FFT、MDCT、DCT 和 DST 實作已完全替換為更快的 libavutil/tx(關於它的完整文章即將推出)。
這也導致編譯後的二進位檔大小減少,這在小型建置中可能很明顯。
在每個幀上完成的總分配量在視訊解碼器中大幅減少,從而降低了額外負荷。
已合併針對我們 DSP 程式碼許多部分的 RISC-V 最佳化,主要剩下大型解碼器。
已努力提高每個封包的時間戳記和幀持續時間的正確性,從而提高了可變幀率視訊的準確性。
下一個主要版本將是 7.0 版,預計在 2 月發布。我們將嘗試更好地遵守今年年初宣布的新發布排程。
我們強烈建議使用者、發行商和系統整合商升級,除非他們使用目前的 git master。
2023 年 5 月 31 日,Vulkan 解碼
幾天前,Vulkan 驅動的解碼硬體加速程式碼已合併到程式碼庫中。這是第一個供應商通用和平台通用的解碼加速 API,允許在多個平台上使用相同的程式碼,且額外負荷非常小。這也是第一個多執行緒硬體解碼 API,我們的程式碼充分利用了這一點,飽和了硬體公開的所有可用解碼引擎。
希望測試程式碼的人可以閱讀我們的文件頁面。對於那些想要整合 FFmpeg 的 Vulkan 程式碼以進行解多工、解析、解碼並接收 VkImage 以呈現或操作的人,我們的原始碼樹中提供了文件和範例。目前,需要使用我們 儲存庫 的最新可用 git 簽出。此功能將包含在穩定分支中,並在版本 6.1 發布時發布,預計很快就會發布。
由於這也是規格的第一個實際實作,因此可能存在錯誤,尤其是在驅動程式中,並且儘管通過了驗證,但實作本身也可能存在錯誤。Khronos 組織正在標準化新的編解碼器和編碼支援,而我們正在實作它,並提供有關改進的回饋。
2023 年 2 月 28 日,FFmpeg 6.0 「Von Neumann」
新的主要版本,FFmpeg 6.0 「Von Neumann」,現在可供下載。此版本有許多新的編碼器和解碼器、濾鏡、ffmpeg CLI 工具改進,並且還改變了發布的完成方式。所有主要版本現在都會增加 ABI 的版本。我們計劃每年發布一個新的主要版本。另一個特定於發布的變更是,已棄用的 API 將在 3 個版本後移除,即在下一個主要版本升級時移除。這表示將更頻繁地完成發布,並且發布將更有組織性。
新增的解碼器包括 Bonk、RKA、Radiance、SC-4、APAC、VQC、WavArc 和一些 ADPCM 格式。QSV 和 NVenc 現在支援 AV1 編碼。FFmpeg CLI(我們通常將其稱為 ffmpeg.c 以避免混淆)由於執行緒處理而提高了速度,以及統計選項,以及從檔案傳遞濾鏡選項值的功能。有相當多的新音訊和視訊濾鏡,例如 adrc、showcwt、backgroundkey 和 ssim360,以及一些硬體濾鏡。最後,此版本具有許多幕後變更,包括編解碼器中使用的新 FFT 和 MDCT 實作(預計很快會發布一篇關於此的部落格文章)、無數錯誤修正、更好的 ICC 設定檔處理和色彩空間訊號傳輸改進、引入了許多 RISC-V 向量和純量組件最佳化例程,以及一些新的改進 API,可以在我們樹狀結構的 doc/APIchanges 檔案中查看。一些提交的功能,例如 Vulkan 改進和更多 FFT 最佳化,將在下一個次要版本 6.1 中提供,我們計劃根據新的發布排程盡快發布。一些重點是
- Radiance HDR 影像支援
- ddagrab (Desktop Duplication) 視訊擷取濾鏡
- ffmpeg -shortest_buf_duration 選項
- ffmpeg 現在需要建置執行緒才能執行
- ffmpeg 現在在單獨的執行緒中執行每個多工器
- 新增 cropdetect 濾鏡的新模式,以根據運動向量和邊緣偵測裁剪區域
- VAAPI 解碼和編碼適用於 10/12 位元 422、10/12 位元 444 HEVC 和 VP9
- WBMP (Wireless Application Protocol Bitmap) 影像格式
- a3dscope 濾鏡
- bonk 解碼器和解多工器
- Micronas SC-4 音訊解碼器
- LAF 解多工器
- APAC 解碼器和解多工器
- Media 100i 解碼器
- DTS 到 PTS 重新排序 bsf
- ViewQuest VQC 解碼器
- backgroundkey 濾鏡
- nvenc AV1 編碼支援
- 透過 NDKMediaCodec 的 MediaCodec 解碼器
- MediaCodec 編碼器
- QSV 的 oneVPL 支援
- QSV AV1 編碼器
- QSV 解碼和編碼適用於 10/12 位元 422、10/12 位元 444 HEVC 和 VP9
- showcwt 多媒體濾鏡
- corr 視訊濾鏡
- adrc 音訊濾鏡
- afdelaysrc 音訊濾鏡
- WADY DPCM 解碼器和解多工器
- CBD2 DPCM 解碼器
- ssim360 視訊濾鏡
- ffmpeg CLI 新選項:-stats_enc_pre[_fmt]、-stats_enc_post[_fmt]、-stats_mux_pre[_fmt]
- hstack_vaapi、vstack_vaapi 和 xstack_vaapi 濾鏡
- XMD ADPCM 解碼器和解多工器
- media100 到 mjpegb bsf
- ffmpeg CLI 新選項:-fix_sub_duration_heartbeat
- WavArc 解碼器和解多工器
- CrystalHD 解碼器已棄用
- SDNS 解多工器
- RKA 解碼器和解多工器
- ffmpeg CLI 中的 filtergraph 語法現在支援將檔案內容作為選項值傳遞
- hstack_qsv、vstack_qsv 和 xstack_qsv 濾鏡
我們強烈建議使用者、發行商和系統整合商升級,除非他們使用目前的 git master。
2022 年 7 月 22 日,FFmpeg 5.1 「Riemann」
FFmpeg 5.1 「Riemann」,一個新的主要版本,現已發布!一些重點
- 新增 ipfs/ipns 協定支援
- dialogue enhance 音訊濾鏡
- 已捨棄過時的 XvMC 硬體加速
- pcm-bluray 編碼器
- DFPWM 音訊編碼器/解碼器和 raw 多工器/解多工器
- SITI 濾鏡
- Vizrt Binary Image 編碼器/解碼器
- avsynctest 來源濾鏡
- feedback 視訊濾鏡
- pixelize 視訊濾鏡
- colormap 視訊濾鏡
- colorchart 視訊來源濾鏡
- multiply 視訊濾鏡
- PGS 字幕幀合併位元串流濾鏡
- blurdetect 濾鏡
- tiltshelf 音訊濾鏡
- QOI 影像格式支援
- ffprobe -o 選項
- virtualbass 音訊濾鏡
- VDPAU AV1 硬體加速
- PHM 影像格式支援
- remap_opencl 濾鏡
- 新增 chromakey_cuda 濾鏡
我們強烈建議使用者、發行商和系統整合商升級,除非他們使用目前的 git master。
2022 年 1 月 17 日,FFmpeg 5.0 「Lorentz」
FFmpeg 5.0 「Lorentz」,一個新的主要版本,現已發布!對於這個延遲已久的發布版本,進行了重大努力來移除舊的編碼/解碼 API,並用基於 N:M 的 API 取代它們,整個 libavresample 函式庫被移除,libswscale 有一個新的、更易於使用的基於 AVframe 的 API,Vulkan 程式碼得到了很大的改進,新增了許多新的濾鏡,包括 libplacebo 整合,最後,新增了 DoVi 支援,包括色調映射和重新多工。預設 AAC 編碼器設定也已變更以提高品質。一些變更日誌重點
- ADPCM IMA Westwood 編碼器
- Westwood AUD 多工器
- ADPCM IMA Acorn Replay 解碼器
- Argonaut Games CVG 解多工器
- Argonaut Games CVG 多工器
- Concatf 協定
- afwtdn 音訊濾鏡
- 音訊和視訊區段濾鏡
- Apple Graphics (SMC) 編碼器
- hsvkey 和 hsvhold 視訊濾鏡
- adecorrelate 音訊濾鏡
- atilt 音訊濾鏡
- grayworld 視訊濾鏡
- AV1 低額外負荷位元串流格式多工器
- swscale 切片執行緒處理
- MSN Siren 解碼器
- scharr 視訊濾鏡
- apsyclip 音訊濾鏡
- morpho 視訊濾鏡
- amr 解析器
- (a)latency 濾鏡
- GEM Raster 影像解碼器
- asdr 音訊濾鏡
- speex 解碼器
- limitdiff 視訊濾鏡
- xcorrelate 視訊濾鏡
- varblur 視訊濾鏡
- huesaturation 視訊濾鏡
- colorspectrum 來源視訊濾鏡
- 未壓縮視訊的 RTP 封包器 (RFC 4175)
- bitpacked 編碼器
- VideoToolbox VP9 硬體加速
- VideoToolbox ProRes 硬體加速
- 支援 loongarch。
- aspectralstats 音訊濾鏡
- adynamicsmooth 音訊濾鏡
- libplacebo 濾鏡
- vflip_vulkan、hflip_vulkan 和 flip_vulkan 濾鏡
- adynamicequalizer 音訊濾鏡
- yadif_videotoolbox 濾鏡
- VideoToolbox ProRes 編碼器
- anlmf 音訊濾鏡
我們強烈建議使用者、發行商和系統整合商升級,除非他們使用目前的 git master。
2021 年 6 月 19 日,IRC
我們現在在 Libera Chat 有了一個新的 IRC 首頁!歡迎加入我們的 #ffmpeg 和 #ffmpeg-devel。更多資訊請參閱 contact#IRCChannels
2021 年 4 月 8 日,FFmpeg 4.4 「Rao」
FFmpeg 4.4 「Rao」,一個新的主要版本,現已發布!一些重點
- AudioToolbox 輸出裝置
- MacCaption 解多工器
- PGX 解碼器
- chromanr 視訊濾鏡
- VDPAU 加速的 HEVC 10/12 位元解碼
- ADPCM IMA Ubisoft APM 編碼器
- Rayman 2 APM 多工器
- AV1 編碼支援 SVT-AV1
- Cineform HD 編碼器
- ADPCM Argonaut Games 編碼器
- Argonaut Games ASF 多工器
- AV1 低額外負荷位元串流格式解多工器
- RPZA 視訊編碼器
- ADPCM IMA MOFLEX 解碼器
- MobiClip FastAudio 解碼器
- MobiClip 視訊解碼器
- MOFLEX 解多工器
- MODS 解多工器
- PhotoCD 解碼器
- MCA 解多工器
- AV1 解碼器(僅使用硬體加速)
- SVS 解多工器
- Argonaut Games BRP 解多工器
- DAT 解多工器
- aax 解多工器
- IPU 解碼器、解析器和解多工器
- Intel QSV 加速的 AV1 解碼
- Argonaut Games Video 解碼器
- libwavpack 編碼器已移除
- ACE 解多工器
- AVS3 解多工器
- 透過 libuavs3d 的 AVS3 視訊解碼器
- Cintel RAW 解碼器
- VDPAU 加速的 VP9 10/12 位元解碼
- afreqshift 和 aphaseshift 濾鏡
- High Voltage Software ADPCM 編碼器
- LEGO Racers ALP (.tun & .pcm) 多工器
- AV1 VAAPI 解碼器
- adenorm 濾鏡
- ADPCM IMA AMV 編碼器
- AMV 多工器
- NVDEC AV1 硬體加速
- DXVA2/D3D11VA 硬體加速的 AV1 解碼
- speechnorm 濾鏡
- SpeedHQ 編碼器
- asupercut 濾鏡
- asubcut 濾鏡
- Microsoft Paint (MSP) 版本 2 解碼器
- Microsoft Paint (MSP) 解多工器
- 透過 libaom >= 2.0.1 的 AV1 單色編碼支援
- asuperpass 和 asuperstop 濾鏡
- shufflepixels 濾鏡
- tmidequalizer 濾鏡
- estdif 濾鏡
- epx 濾鏡
- Dolby E 解析器
- shear 濾鏡
- kirsch 濾鏡
- colortemperature 濾鏡
- colorcontrast 濾鏡
- PFM 編碼器
- colorcorrect 濾鏡
- binka 解多工器
- XBM 解析器
- xbm_pipe 解多工器
- colorize 濾鏡
- CRI 解析器
- aexciter 音訊濾鏡
- exposure 視訊濾鏡
- monochrome 視訊濾鏡
- setts 位元串流濾鏡
- vif 視訊濾鏡
- OpenEXR 影像編碼器
- Simbiosis IMX 解碼器
- Simbiosis IMX 解多工器
- Digital Pictures SGA 解多工器和解碼器
- TTML 字幕編碼器和多工器
- identity 視訊濾鏡
- msad 視訊濾鏡
- gophers 協定
- 透過 librist 的 RIST 協定
我們強烈建議使用者、發行商和系統整合商升級,除非他們使用目前的 git master。
2020 年 6 月 15 日,FFmpeg 4.3 「4:3」
FFmpeg 4.3 「4:3」,一個新的主要版本,現已發布!一些重點
- v360 濾鏡
- Intel QSV 加速的 MJPEG 解碼
- Intel QSV 加速的 VP9 解碼
- 在 mp4 中支援 TrueHD
- 在 Linux 上支援 AMD AMF 編碼器(透過 Vulkan)
- IMM5 視訊解碼器
- ZeroMQ 協定
- 支援 Sipro ACELP.KELVIN 解碼
- streamhash 多工器
- sierpinski 視訊來源
- scroll 視訊濾鏡
- photosensitivity 濾鏡
- anlms 濾鏡
- arnndn 濾鏡
- bilateral 濾鏡
- maskedmin 和 maskedmax 濾鏡
- VDPAU VP9 硬體加速
- median 濾鏡
- QSV 加速的 VP9 編碼
- 透過 librav1e 的 AV1 編碼支援
- AV1 幀合併位元串流濾鏡
- AV1 Annex B 解多工器
- axcorrelate 濾鏡
- mvdv 解碼器
- mvha 解碼器
- mp4 中支援 MPEG-H 3D 音訊
- thistogram 濾鏡
- freezeframes 濾鏡
- Argonaut Games ADPCM 解碼器
- Argonaut Games ASF 解多工器
- xfade 視訊濾鏡
- xfade_opencl 濾鏡
- afirsrc 音訊濾鏡來源
- pad_opencl 濾鏡
- Simon & Schuster Interactive ADPCM 解碼器
- Real War KVAG 解多工器
- CDToons 視訊解碼器
- siren 音訊解碼器
- Rayman 2 ADPCM 解碼器
- Rayman 2 APM 解多工器
- cas 視訊濾鏡
- High Voltage Software ADPCM 解碼器
- LEGO Racers ALP (.tun & .pcm) 解多工器
- AMQP 0-9-1 協定 (RabbitMQ)
- Vulkan 支援
- avgblur_vulkan、overlay_vulkan、scale_vulkan 和 chromaber_vulkan 濾鏡
- ADPCM IMA MTF 解碼器
- FWSE 解多工器
- DERF DPCM 解碼器
- DERF 解多工器
- CRI HCA 解碼器
- CRI HCA 解多工器
- overlay_cuda 濾鏡
- 在 Linux 上從 AvxSynth 切換到 AviSynth+
- mv30 解碼器
- 擴展對 3GPP Timed Text 字幕 (movtext) 的樣式支援
- WebP 解析器
- tmedian 濾鏡
- maskedthreshold 濾鏡
- 支援在 m2ts 中多工 pcm 和 pgs
- Cunning Developments ADPCM 解碼器
- asubboost 濾鏡
- Pro Pinball Series Soundbank 解多工器
- pcm_rechunk 位元串流濾鏡
- scdet 濾鏡
- NotchLC 解碼器
- gradients 來源視訊濾鏡
- MediaFoundation 編碼器封裝器
- untile 濾鏡
- Simon & Schuster Interactive ADPCM 編碼器
- PFM 解碼器
- dblur 視訊濾鏡
- Real War KVAG 多工器
我們強烈建議使用者、發行商和系統整合商升級,除非他們使用目前的 git master。
2019 年 10 月 5 日,「明亮的燈光」
FFmpeg 已在 libavfilter 中新增即時亮光閃爍移除濾鏡。
請注意,此濾鏡未經 FDA 批准,我們也不是醫療專業人員。此濾鏡也未經對光敏感性癲癇患者進行測試。FFmpeg 及其光敏感性濾鏡未做出任何醫療聲明。
也就是說,這是一個新的視訊濾鏡,可以幫助對光敏感的人觀看電視、玩視訊遊戲,甚至可以與 VR 頭戴式裝置一起使用,以阻擋室外陽光照射等癲癇觸發因素。或者您可以將其用於對抗電視螢幕上那些煩人的白色閃光。該濾鏡在某些輸入上會失敗,例如 超人特攻隊 2 螢幕催眠者 場景。它並不完美。如果您有其他希望此濾鏡能更好地運作的片段,請在我們的 trac 上向我們報告。
親眼看看。範例是使用 -vf photosensitivity=20:0.8 製作的
我們不是專業人士。請在您的醫學研究中使用此濾鏡,以推進癲癇研究。如果您決定在醫療環境中使用此濾鏡,或製作硬體 hdmi 輸入輸出即時電視濾鏡,或找到此濾鏡的其他用途,請告訴我。此濾鏡是自 2013 年以來我的功能請求。
2019 年 8 月 5 日,FFmpeg 4.2 「Ada」
FFmpeg 4.2 「Ada」,一個新的主要版本,現已發布!一些重點
- tpad 濾鏡
- 透過 libdav1d 的 AV1 解碼支援
- dedot 濾鏡
- chromashift 和 rgbashift 濾鏡
- freezedetect 濾鏡
- truehd_core 位元串流濾鏡
- dhav 解多工器
- PCM-DVD 編碼器
- GIF 解析器
- vividas 解多工器
- hymt 解碼器
- anlmdn 濾鏡
- maskfun 濾鏡
- hcom 解多工器和解碼器
- ARBC 解碼器
- 基於 libaribb24 的 ARIB STD-B24 字幕支援(設定檔 A 和 C)
- 支援在 nvdec 和 cuviddec 中解碼 HEVC 4:4:4 內容
- 已移除 libndi-newtek
- agm 解碼器
- KUX 解多工器
- AV1 幀分割位元串流濾鏡
- lscr 解碼器
- lagfun 濾鏡
- asoftclip 濾鏡
- 支援在 vdpau 中解碼 HEVC 4:4:4 內容
- colorhold 濾鏡
- xmedian 濾鏡
- asr 濾鏡
- showspatial 多媒體濾鏡
- VP4 視訊解碼器
- IFV 解多工器
- derain 濾鏡
- deesser 濾鏡
- mov 多工器預設寫入未指定語言的軌道,而不是英文
- 新增使用 clang 編譯 CUDA 核心的支援
我們強烈建議使用者、發行商和系統整合商升級,除非他們使用目前的 git master。
2018 年 11 月 6 日,FFmpeg 4.1 「al-Khwarizmi」
FFmpeg 4.1 「al-Khwarizmi」,一個新的主要版本,現已發布!一些重點
- deblock 濾鏡
- tmix 濾鏡
- amplify 濾鏡
- fftdnoiz 濾鏡
- aderivative 和 aintegral 音訊濾鏡
- pal75bars 和 pal100bars 視訊濾鏡來源
- 基於 mbedTLS 的 TLS 支援
- adeclick 和 adeclip 濾鏡
- 用於基於 DNN 的濾鏡(如 srcnn)的 libtensorflow 後端
- VC1 解碼器現在是位元精確的
- ATRAC9 解碼器
- lensfun 封裝器濾鏡
- colorconstancy 濾鏡
- 透過 libdavs2 的 AVS2 視訊解碼器
- IMM4 視訊解碼器
- Brooktree ProSumer 視訊解碼器
- MatchWare Screen Capture Codec 解碼器
- WinCam Motion Video 解碼器
- 1D LUT 濾鏡 (lut1d)
- RemotelyAnywhere Screen Capture 解碼器
- cue 和 acue 濾鏡
- 在 MP4 和 Matroska/WebM 中支援 AV1
- transpose_npp 濾鏡
- 透過 libxavs2 的 AVS2 視訊編碼器
- amultiply 濾鏡
- 區塊匹配 3d (bm3d) 去噪濾鏡
- acrossover 濾鏡
- ilbc 解碼器
- 音訊去噪器作為 afftdn 濾鏡
- AV1 解析器
- sinc 音訊濾鏡來源
- chromahold 濾鏡
- setparams 濾鏡
- vibrance 濾鏡
- h264 中的 S12M 時間碼解碼
- xstack 濾鏡
- (a)graphmonitor 濾鏡
- yadif_cuda 濾鏡
我們強烈建議使用者、發行商和系統整合商升級,除非他們使用目前的 git master。
2018 年 4 月 20 日,FFmpeg 4.0 「Wu」
FFmpeg 4.0 「Wu」,一個新的主要版本,現已發布!一些重點
- 用於編輯 H.264、HEVC 和 MPEG-2 串流中繼資料的位元串流濾鏡
- 實驗性 MagicYUV 編碼器
- TiVo ty/ty+ 解多工器
- Intel QSV 加速的 MJPEG 編碼
- 原生 aptX 和 aptX HD 編碼器和解碼器
- NVIDIA NVDEC 加速的 H.264、HEVC、MJPEG、MPEG-1/2/4、VC1、VP8/9 硬體加速解碼
- Intel QSV 加速的 overlay 濾鏡
- mcompand 音訊濾鏡
- acontrast 音訊濾鏡
- OpenCL overlay 濾鏡
- video mix 濾鏡
- video normalize 濾鏡
- audio lv2 封裝器濾鏡
- VAAPI MJPEG 和 VP8 解碼
- AMD AMF H.264 和 HEVC 編碼器
- video fillborders 濾鏡
- video setrange 濾鏡
- 支援 LibreSSL(透過 libtls)
- 已捨棄對為 Windows XP 建置的支援。最低支援的 Windows 版本為 Windows Vista。
- deconvolve 視訊濾鏡
- entropy 視訊濾鏡
- hilbert 音訊濾鏡來源
- aiir 音訊濾鏡
- 已移除 ffserver 程式
- 已移除 ffmenc 和 ffmdec 多工器和解多工器
- VideoToolbox HEVC 編碼器和硬體加速
- VAAPI 加速的 ProcAmp(色彩平衡)、去噪和銳化濾鏡
- 新增 android_camera indev
- 透過 libcodec2 的 codec2 編碼/解碼
- 原生 SBC 編碼器和解碼器
- drmeter 音訊濾鏡
- hapqa_extract 位元串流濾鏡
- filter_units 位元串流濾鏡
- 透過 libaom 的 AV1 支援
- E-AC-3 相依幀支援
- 用於提取 E-AC-3 核心的位元串流濾鏡
- 透過 libsrt 的 Haivision SRT 協定
- vfrdet 濾鏡
我們強烈建議使用者、發行商和系統整合商升級,除非他們使用目前的 git master。
2017 年 10 月 15 日,FFmpeg 3.4 「Cantor」
FFmpeg 3.4 「Cantor」,一個新的主要版本,現已發布!一些重點
- deflicker 視訊濾鏡
- doubleweave 視訊濾鏡
- lumakey 視訊濾鏡
- pixscope 視訊濾鏡
- oscilloscope 視訊濾鏡
- 將 cuvid/nvenc 標頭更新為 Video Codec SDK 8.0.14
- afir 音訊濾鏡
- scale_cuda 基於 CUDA 的視訊縮放濾鏡
- librsvg 支援 svg 光柵化
- crossfeed 音訊濾鏡
- MP4 中符合規格的 VP9 多工支援
- surround 音訊濾鏡
- sofalizer 濾鏡已切換到 libmysofa
- Gremlin Digital Video 解多工器和解碼器
- headphone 音訊濾鏡
- superequalizer 音訊濾鏡
- roberts 視訊濾鏡
- 額外的幀格式支援 Interplay MVE 電影
- 支援透過 ffmpeg 中的 D3D11VA 解碼
- limiter 視訊濾鏡
- libvmaf 視訊濾鏡
- Dolby E 解碼器和 SMPTE 337M 解多工器
- unpremultiply 視訊濾鏡
- tlut2 視訊濾鏡
- floodfill 視訊濾鏡
- pseudocolor 視訊濾鏡
- raw G.726 多工器和解多工器,左對齊和右對齊
- NewTek NDI 輸入/輸出裝置
- FITS 解多工器和解碼器
- FITS 多工器和編碼器
- despill 視訊濾鏡
- haas 音訊濾鏡
- SUP/PGS 字幕多工器
- convolve 視訊濾鏡
- VP9 磁磚執行緒處理支援
- KMS 螢幕抓取器
- CUDA 縮圖濾鏡
- V4L2 mem2mem 硬體輔助編解碼器
- Rockchip MPP 硬體解碼
- vmafmotion 視訊濾鏡
我們強烈建議使用者、發行商和系統整合商升級,除非他們使用目前的 git master。
2017 年 4 月 13 日,FFmpeg 3.3 「Hilbert」
FFmpeg 3.3 「Hilbert」,一個新的主要版本,現已發布!一些重點
- Apple Pixlet 解碼器
- NewTek SpeedHQ 解碼器
- QDMC 音訊解碼器
- PSD (Photoshop Document) 解碼器
- FM Screen Capture 解碼器
- ScreenPressor 解碼器
- XPM 解碼器
- 針對 HQX 和高解析度視訊的 DNxHR 解碼器修正
- ClearVideo 解碼器(部分)
- 16.8 和 24.0 浮點 PCM 解碼器
- Intel QSV 加速的 VP8 視訊解碼
- 原生 Opus 編碼器
- DNxHR 444 和 HQX 編碼
- (M)JPEG 編碼器的品質改進
- VAAPI 加速的 MPEG-2 和 VP8 編碼
- premultiply 視訊濾鏡
- abitscope 多媒體濾鏡
- readeia608 濾鏡
- threshold 濾鏡
- midequalizer 濾鏡
- MPEG-7 Video Signature 濾鏡
- 新增內部 ebur128 函式庫,移除外部 libebur128 相依性
- Intel QSV 視訊縮放和去交錯濾鏡
- Sample Dump eXchange 解多工器
- MIDI Sample Dump Standard 解多工器
- Scenarist Closed Captions 解多工器和多工器
- 支援具有多個樣本描述表的 MOV
- Pro-MPEG CoP #3-R2 FEC 協定
- 支援球形視訊
- CrystalHD 解碼器已移至新的解碼 API
- 如果請求自動偵測函式庫但未找到,則 configure 現在會失敗
我們強烈建議使用者、發行商和系統整合商升級,除非他們使用目前的 git master。
2016 年 10 月 30 日,「成果:2016 年程式碼夏令營」。
這已經醞釀很久了,但我們想為我們參與此程式的運行劃上一個適當的句點,這需要時間。有時只是為了縮減每個專案的最終報告,其他時候,是完成程式結束時仍在進行的任何工作:需要合併最終修補程式、穩定 TODO 列表、協商未來計劃;諸如此類。
事不宜遲,以下是我們試圖在本程式碼夏令營期間完成的每個專案的亮點
FFv1(導師:Michael Niedermayer)
Stanislav Dolganov 設計並實作了在無損 FFV1 編解碼器中對運動估計和補償的實驗性支援。設計和實作基於 snow 視訊編解碼器,該編解碼器使用 OBMC。Stanislav 的工作證明,透過幀間壓縮可以實現顯著的壓縮增益。FFmpeg 歡迎 Stanislav 繼續在此概念驗證之外工作,並將其進展帶入 IETF 內的官方 FFV1 規格中。
自我測試覆蓋率(導師:Michael Niedermayer)
Petru Rares Sincraian 為 FFmpeg 新增了多個自我測試,並成功完成了在某些情況下繁瑣的微調測試參數過程,以避免已知的且難以避免的問題,例如由於我們支援的眾多平台上的捨入誤差導致的總和檢查碼不符。他的工作大大提高了我們自我測試的程式碼覆蓋率。
MPEG-4 ALS 編碼器實作(導師:Thilo Borgmann)
Umair Khan 更新並整合了 ALS 編碼器,以適應目前的 FFmpeg 程式碼庫。他還為 ALS 解碼器實作了一個缺少的功能,該功能啟用浮點樣本解碼。Umair 的工作顯著提高了 FFmpeg 對 MPEG-4 ALS 的支援。我們歡迎他繼續維護他的改進,並期待未來做出更大的貢獻。
Tee 多工器改進(導師:Marton Balint)
Ján Sebechlebský 的一般目標是改進 tee 多工器,使其能夠容忍封鎖 IO 並允許透明的錯誤恢復。在設計階段,結果證明此功能需要一個單獨的多工器,因此 Ján 在夏天致力於所謂的 FIFO 多工器,逐步修復整個程式碼庫中的問題。他成功完成了任務,FIFO 多工器現在已成為主要儲存庫的一部分,以及他在此過程中進行的其他幾項改進。
TrueHD 編碼器(導師:Rostislav Pehlivanov)
Jai Luthra 的目標是更新 libavcodec 的樹外且幾乎被棄用的 MLP(Meridian Lossless Packing)編碼器,並對其進行改進以啟用編碼為 TrueHD 格式。在資格期間,編碼器已更新,使其可用,並在整個夏季成功改進,新增了對多通道音訊和 TrueHD 編碼的支援。Jai 的程式碼現在已合併到主要儲存庫中。雖然在 LFE 通道和 32 位元樣本處理方面仍然存在一些問題,但這些問題正在修復過程中,以便最終可以投入精力來提高編碼器的速度和效率。
運動插值濾鏡(導師:Paul B Mahol)
Davinder Singh 調查了現有文獻和我們自己先前工作中的運動估計和插值方法:Michael Niedermayer,並根據這項研究實作了濾鏡。這些濾鏡允許將運動插值幀率轉換應用於視訊,例如,建立慢動作效果或在平滑插值視訊沿運動向量的同時變更幀率。要將這些濾鏡稱為「完成」仍然需要做很多工作,考慮到所有因素,這相當困難,但我們對它們的未來持樂觀態度。
就這樣。我們對程式的成果感到滿意,並非常感謝有機會與如此出色的一群學生合作。我們可能是一群很嚴厲的人,但我們的導師在指導實習生完成他們的旅程方面做得非常出色。還要感謝 Google 為這個精彩的計劃以及所有在百忙之中抽出時間幫助 GSoC2016 取得成功的人。2017 年見!
2016 年 9 月 24 日,SDL1 支援已捨棄。
由於 SDL1 函式庫不再維護(截至 2012 年 1 月),並且已被 SDL2 函式庫取代,因此已捨棄對 SDL1 函式庫的支援。因此,SDL1 輸出裝置也被移除,並替換為 SDL2 實作。ffplay 和 opengl 輸出裝置都已更新為支援 SDL2。
2016 年 8 月 9 日,FFmpeg 3.1.2 「Laplace」
FFmpeg 3.1.2,來自 3.1 發布分支的新修訂版本,現已發布!它修正了一些錯誤。
我們建議使用者、發行商和系統整合商升級,除非他們使用目前的 git master。
2016 年 7 月 10 日,ffserver 程式即將捨棄
經過徹底審議,我們宣布我們將從下一個版本開始從專案中捨棄 ffserver 程式。ffserver 由於使用了內部 API 而成為一個難以維護的程式,這使得最近對 libavformat 函式庫的清理變得複雜,並阻礙了 API 使用者期望的進一步清理和改進,並且更容易維護。此外,由於可靠性問題、缺乏知識淵博的人員來提供幫助以及令人困惑的設定檔語法,該程式對於使用者來說一直很難部署和執行。邀請目前的用戶和社群成員編寫一個替代程式,以使用新的 API 填補 ffserver 所做的相同空白,並與我們聯繫,以便我們可以引導用戶測試並為其開發做出貢獻。
2016 年 7 月 1 日,FFmpeg 3.1.1 「Laplace」
FFmpeg 3.1.1,來自 3.1 發布分支的新修訂版本,現已發布!它主要處理先前版本中引入的一些 ABI 問題。
我們強烈建議使用者、發行商和系統整合商,尤其是那些在從 3.0 升級時遇到問題的使用者,升級,除非他們使用目前的 git master。
2016 年 6 月 27 日,FFmpeg 3.1 「Laplace」
FFmpeg 3.1 「Laplace」,一個新的主要版本,現已發布!一些重點
- DXVA2 加速的 HEVC Main10 解碼
- fieldhint 濾鏡
- loop 視訊濾鏡和 aloop 音訊濾鏡
- Bob Weaver 去交錯濾鏡
- firequalizer 濾鏡
- datascope 濾鏡
- bench 和 abench 濾鏡
- ciescope 濾鏡
- 協定黑名單 API
- MediaCodec H264 解碼
- VC-2 HQ RTP 酬載格式(草案 v1)解封包器和封包器
- VP9 RTP 酬載格式(草案 v2)封包器
- AudioToolbox 音訊解碼器
- AudioToolbox 音訊編碼器
- coreimage 濾鏡(基於 GPU 的 OSX 影像濾鏡)
- libdcadec 已移除
- 用於提取 DTS 核心的位元串流濾鏡
- ADPCM IMA DAT4 解碼器
- musx 解多工器
- aix 解多工器
- remap 濾鏡
- hash 和 framehash 多工器
- colorspace 濾鏡
- hdcd 濾鏡
- readvitc 濾鏡
- VAAPI 加速的格式轉換和縮放
- libnpp/CUDA 加速的格式轉換和縮放
- Duck TrueMotion 2.0 Real Time 解碼器
- Wideband Single-bit Data (WSD) 解多工器
- VAAPI 加速的 H.264/HEVC/MJPEG 編碼
- DTS Express (LBR) 解碼器
- 通用 OpenMAX IL 編碼器,支援 Raspberry Pi
- IFF ANIM 解多工器和解碼器
- Direct Stream Transfer (DST) 解碼器
- loudnorm 濾鏡
- MTAF 解多工器和解碼器
- MagicYUV 解碼器
- OpenExr 改進(磁磚資料和 B44/B44A 支援)
- BitJazz SheerVideo 解碼器
- CUDA CUVID H264/HEVC 解碼器
- 原生 utvideo 解碼器中的 10 位元深度支援
- libutvideo 封裝器已移除
- YUY2 Lossless Codec 解碼器
- VideoToolbox H.264 編碼器
我們強烈建議使用者、發行商和系統整合商升級,除非他們使用目前的 git master。
2016 年 3 月 16 日,Google 程式碼夏令營
FFmpeg 已被接受為 Google 程式碼夏令營 開放原始碼組織。如果您希望以學生的身分參與,請參閱我們的 專案構想頁面。您可以立即與導師聯繫並開始處理資格任務,以及在 Google 註冊並提交您的專案提案草稿。祝您好運!
2016 年 2 月 15 日,FFmpeg 3.0 「Einstein」
FFmpeg 3.0 「Einstein」,一個新的主要版本,現已發布!一些重點
- 原生 FFmpeg AAC 編碼器已進行廣泛的改進,不再被視為實驗性
- 已移除對 libvo-aacenc 和 libaacplus 的支援
- 已新增超過 30 個新濾鏡
- 許多 ASM 最佳化
- VP9 硬體加速(DXVA2 和 VA-API)
- Cineform HD 解碼器
- 基於 libdcadec 的新 DCA 解碼器,完全支援 DTS-HD 擴充功能
- 與所有主要版本一樣,預期會有重大的向後不相容 API/ABI 變更
- 請參閱 變更日誌,以取得更多更新列表
我們強烈建議使用者、發行商和系統整合商升級,除非他們使用目前的 git master。
2016 年 1 月 30 日,移除對兩個外部 AAC 編碼器的支援
我們剛剛在 FFmpeg master 中移除了對 VisualOn AAC 編碼器 (libvo-aacenc) 和 libaacplus 的支援。
即使在將我們的內部 AAC 編碼器標記為 穩定 之前,眾所周知,對於大多數樣本而言,libvo-aacenc 的品質不如我們的原生編碼器。但是,Android 開放原始碼專案廣泛使用了 VisualOn 編碼器,我們希望在我們的程式碼庫中擁有一個經過測試且真實可靠的選項。
當在 2011 年首次提交時,libaacplus 填補了編碼高效率 AAC 格式(HE-AAC 和 HE-AACv2)的空白,當時 FFmpeg 中的任何編碼器都不支援這些格式。
兩者的情況都已改變。在 Rostislav Pehlivanov 和 Claudio Freire 牽頭的工作之後,現在穩定的 FFmpeg 原生 AAC 編碼器已準備好與更成熟的編碼器競爭。適用於 Android 的 Fraunhofer FDK AAC 編解碼器函式庫於 2012 年新增為第四個支援的外部 AAC 編碼器,並且是品質最佳且支援功能最多的編碼器,包括 HE-AAC 和 HE-AACv2。
因此,我們已決定現在是時候移除 libvo-aacenc 和 libaacplus 了。如果您目前正在使用 libvo-aacenc,請準備好在更新到下一個版本的 FFmpeg 時轉換到原生編碼器 (aac
)。在大多數情況下,這就像僅僅交換編碼器名稱一樣簡單。如果您目前正在使用 libaacplus,請開始使用 FDK AAC (libfdk_aac
) 並使用適當的 profile
選項來選擇最符合您需求的確切 AAC 設定檔。在這兩種情況下,您都將享受到可聽到的品質提升以及更少的授權麻煩。
盡情享受!
2016 年 1 月 16 日,FFmpeg 2.8.5、2.7.5、2.6.7、2.5.10
我們發布了幾個新的修訂版本(2.8.5、2.7.5、2.6.7、2.5.10)。它們修正了各種錯誤,以及 CVE-2016-1897 和 CVE-2016-1898。請參閱每個版本的變更日誌以了解更多詳細資訊。
我們建議使用者、發行商和系統整合商升級,除非他們使用目前的 git master。
2015 年 12 月 5 日,原生 FFmpeg AAC 編碼器現在已穩定!
經過七年,原生 FFmpeg AAC 編碼器已移除其實驗性標誌,並聲明已準備好用於一般用途。對於使用偽影進行測試的大多數樣本,編碼器在 128kbps 時是透明的,偽影僅在極端情況下才會出現。主觀品質測試表明,編碼器的品質與公開提供的其他大多數編碼器相等或更高。
授權一直是編碼 AAC 音訊的一個問題,因為大多數編碼器都有一個授權,如果編譯時支援它們,則會使 FFmpeg 無法重新發行。現在存在一個完全開放且真正免費的 AAC 編碼器直接整合到專案中,這對於那些希望使用公認且廣泛使用的標準的人來說意義重大。
將編碼器提升到品質的大部分工作始於今年由開發人員 Claudio Freire 和 Rostislav Pehlivanov 在 GSoC 期間開始。兩者都繼續在編碼器上工作,後者加入成為開發人員和維護人員,同時也致力於專案的其他部分。此外,感謝 Kamedo2 進行比較和測試、原始作者以及編碼器的所有過去和現在的貢獻者。建議和鼓勵使用者使用編碼器,並透過我們的 錯誤追蹤器提供回饋或中斷報告。
2015 年 10 月 13 日,Telepoint & MediaHub 現在正在支援我們的專案
在此向我們最新的支持者:MediaHub 和 Telepoint 致以衷心的感謝。兩家公司都捐贈了一台專用伺服器,並提供免費的網路連線。以下是他們自己對他們的簡要介紹
-
Telepoint 是保加利亞最大的營運商中立資料中心。該設施位於索菲亞市中心,是許多保加利亞和國際網路的交匯處,是一個功能齊全的 Tier 3 資料中心,提供靈活的以客戶為導向的主機代管解決方案(從伺服器到私人主機代管大廳)和高水平的安全性。
-
MediaHub Ltd. 是一家保加利亞 IPTV 平台和服務提供商,自一年前開始營運以來就大量使用 FFmpeg。「捐款以幫助 FFmpeg 保持線上是我們回饋社群的方式」。
感謝 Telepoint 和 MediaHub 的支持!
2015 年 9 月 29 日,GSoC 2015 成果
FFmpeg 參與了最新一屆的 Google 程式碼夏令營 專案。FFmpeg 共獲得 8 個分配的專案,其中 7 個專案獲得成功。
我們要感謝 Google、參與的學生,尤其是加入這項努力的導師。我們期待參與下一屆 GSoC!
您可以在下面找到每個單一專案的最終成果的簡要說明。
網路協定的基本伺服器,學員:Stephan Holljes,導師:Nicolas George
Stephan Holljes 在本屆 Google 程式碼夏令營中的專案是為 libavformat 實作基本的 HTTP 伺服器功能,以補充已存在的 HTTP 用戶端以及 RTMP 和 RTSP 伺服器程式碼。
專案的第一部分是使 HTTP 程式碼能夠接受單個用戶端;它部分在資格期間完成,部分在夏季的第一週完成。感謝這項工作,現在可以使用以下命令製作簡單的 HTTP 串流
ffmpeg -i /dev/video0 -listen 1 -f matroska \ -c:v libx264 -preset fast -tune zerolatency http://:8080 ffplay https://127.0.0.1:8080/
專案的下一部分是擴展程式碼,使其能夠同時或連續接受多個用戶端。由於 libavformat 沒有用於此類任務的 API,因此有必要設計一個。這部分主要在中期之前完成,並在不久之後應用。由於 ffmpeg 命令列工具尚未準備好為多個用戶端提供服務,因此該新 API 的測試場是一個範例程式,用於提供硬編碼內容。
專案的最後也是最具雄心壯志的部分是更新 ffserver 以使用新的 API。這將證明 API 可用於實作真正的 HTTP 伺服器,並揭示需要更多控制的地方。到夏季結束時,第一個可運作的修補程式系列正在進行程式碼審查。
瀏覽伺服器上的內容,學員:Mariusz Szczepańczyk,導師:Lukasz Marek
Mariusz 完成了 FFmpeg 社群準備的 API,並實作了 Samba 目錄清單作為資格任務。
在程式期間,他擴展了 API,使其可以刪除和重新命名遠端伺服器上的檔案。他完成了檔案、Samba、SFTP 和 FTP 協定的這些功能的實作。
在程式結束時,Mariusz 提供了一個 HTTP 目錄監聽實作的草圖。
Directshow 數位視訊擷取,學員:Mate Sebok,導師:Roger Pack
Mate 致力於從數位視訊來源進行 directshow 輸入。他從 ATSC 輸入來源獲得了可運作的輸入,並具有可指定的調諧器。
程式碼尚未提交,但已將其修補程式發送到 ffmpeg-devel 郵件列表以供將來使用。
導師計劃清理並提交它,至少用於 ATSC 方面。Mate 和導師仍在努力嘗試最終弄清楚如何讓 DVB 工作。
實作對 3GPP Timed Text 字幕的完整支援,學員:Niklesh Lalwani,導師:Philip Langdale
Niklesh 的專案是擴展我們對 3GPP Timed Text 字幕的支援。這是 mp4 容器的原生字幕格式,很有趣,因為它通常是 iOS 和 Android 裝置上的庫存播放應用程式唯一支援的字幕格式。
ffmpeg 已經對這些字幕有基本的支援,但忽略了所有格式資訊 - 它僅提供基本的純文字支援。
Niklesh 致力於在編碼和解碼端新增對文字格式功能的支援,例如字型大小/顏色和粗體/斜體、醒目提示等效果。
這裡的主要挑戰是 Timed Text 處理格式的方式與大多數常見的字幕格式非常不同。它使用二進位編碼(自然地基於 mp4 框),並將資訊與文字本身分開儲存。這需要額外的工作來追蹤格式設定應用於文字的哪些部分,並明確處理重疊格式設定(其他格式支援,但 Timed Text 不支援),因此需要將重疊部分分解為具有不同格式設定的單獨的非重疊部分。
最後,Niklesh 必須小心不要信任字幕中的任何大小資訊 - 這絕非玩笑:現在聲名狼藉的 Android stagefright 錯誤就在於用於解析 Timed Text 字幕的程式碼中。
Niklesh 的所有工作都已提交,並在 ffmpeg 2.8 中發布。
libswscale 重構,學員:Pedro Arthur,導師:Michael Niedermayer、Ramiro Polla
Pedro Arthur 已模組化垂直和水平縮放器。為此,他設計並實作了一個通用濾鏡框架,並將現有的縮放器程式碼移至其中。這些變更現在允許輕鬆新增、移除、分割或合併處理步驟。對實作進行了基準測試,並嘗試了幾種替代方案以避免速度損失。
他還新增了伽瑪校正縮放支援。使用伽瑪校正縮放的範例是
ffmpeg -i input -vf scale=512:384:gamma=1 output
考慮到可用的時間很短,Pedro 完成了令人印象深刻的工作,他現在是 FFmpeg 提交者。他繼續為 FFmpeg 做出貢獻,並在 GSoC 結束後修正了 libswscale 中的一些錯誤。
AAC 編碼器改進,學員:Rostislav Pehlivanov,導師:Claudio Freire
Rostislav Pehlivanov 在原生 AAC 編碼器上實作了 PNS、TNS、I/S 編碼和主預測。在所有這些擴充功能中,只有 TNS 處於不太可用的狀態,但實作仍然被推送(已停用),因為它是進一步改進的良好基礎。
PNS 將噪聲頻帶替換為代表該頻帶能量的單個縮放因子,從而顯著提高編碼效率,並且對於如此簡單的功能而言,低位元率下的品質改進令人印象深刻。
TNS 仍然需要一些潤飾,但它有可能透過在時域中應用噪聲整形來減少編碼偽影(這是在低熵頻帶上令人煩惱的顯著失真的來源)。
強度立體聲編碼 (I/S) 可以透過利用立體聲通道之間的強相關性來使編碼效率提高一倍,這在採用聲像混合的流行風格曲目上最有效。但是,該技術在經典 X-Y 錄音上效果不佳。
最後,主預測透過利用連續幀之間的相關性來提高編碼效率。雖然目前的增益並不大,但 Rostislav 即使在 GSoC 之後仍然保持活躍,並且正在潤飾 TNS 和主預測,並尋找進一步改進的方法。
在此過程中,編碼器的 MIPS 埠多次損壞,他也在努力修復。
Animated Portable Network Graphics (APNG),學員:Donny Yang,導師:Paul B Mahol
Donny Yang 實作了基本的僅金鑰幀 APNG 編碼器作為資格任務。後來,他透過各種混合模式編寫了幀間壓縮。目前的實作嘗試所有混合模式,並選擇記憶體量最小的模式。
特別注意確保解碼器正確播放在網路中找到的所有檔案,並且編碼器產生的檔案可以在支援 APNG 的瀏覽器中播放。
在他的工作中,他的任務是修正解碼器中遇到的任何錯誤,因為它與 APNG 規格不符。感謝這項工作,PNG 解碼器中長期存在的錯誤已得到修正。
對於後續工作,他計劃繼續致力於編碼器,使其可以選擇將在編碼過程中使用的混合模式。這可以加快 APNG 檔案的編碼速度。
2015 年 9 月 9 日,FFmpeg 2.8
我們發布了 2.8 版本作為新的主要版本。它包含 9 月 8 日 git master 分支的所有功能和錯誤修正。請參閱 變更日誌,以取得最重要的變更列表。
我們建議使用者、發行商和系統整合商升級,除非他們使用目前的 git master。
2015 年 8 月 1 日,來自 FFmpeg 專案的消息
親愛的多媒體社群,
Michael Niedermayer 昨天辭去 FFmpeg 領導人的職務令人意外。多年來,他一直不知疲倦地致力於 FFmpeg 專案,我們必須感謝他所做的工作。我們希望他將來繼續為專案做出貢獻。在接下來的幾週內,FFmpeg 專案將由活躍的貢獻者管理。
過去四年對於我們的多媒體社群(包括貢獻者和使用者)來說並不容易。我們現在應該展望未來,嘗試找到解決這些問題的方案,並在長期以來分裂社群的分支之間實現和解。
不幸的是,到目前為止,許多分歧都發生在不適當的場所,這使得尋找共同點和解決方案變得困難。我們的目標是在接下來的幾週內在我們的線上社群中討論此問題,並在 9 月在巴黎舉行的 VideoLAN 開發者日上進行面對面討論:這是整個開放原始碼多媒體社群的中立場所。
FFmpeg 專案。
2015 年 7 月 4 日,FFmpeg 需要一個新的主機
更新:我們已收到超過 7 個主機和伺服器的報價,非常感謝大家!
在慷慨地託管我們的專案(FFmpeg、MPlayer 和 rtmpdump)4 年後,Arpi(我們的主機提供商)已通知我們,我們必須立即在其他地方找到新的主機。
如果您想託管一個開放原始碼專案,請在 ffmpeg-devel 郵件列表或 irc.freenode.net #ffmpeg-devel 上告知我們。
我們使用約 4TB 的儲存空間和每月至少 4TB 的頻寬,用於各種郵件列表、trac、範例儲存庫、svn 等。
2015 年 3 月 16 日,FFmpeg 2.6.1
我們發布了一個新的主要版本(2.6),現在一周後又發布了 2.6.1。它包含 3 月 6 日 git master 分支的所有功能和錯誤修正。請參閱 發行說明,以取得值得注意的變更列表。
我們建議使用者、發行商和系統整合商升級,除非他們使用目前的 git master。
2015 年 3 月 4 日,Google 程式碼夏令營
FFmpeg 已被接受為 Google 程式碼夏令營 專案。如果您希望以學生的身分參與,請參閱我們的 專案構想頁面。您可以立即與導師聯繫並開始處理資格任務。學生在 Google 註冊將於 3 月 16 日開放。祝您好運!
2015 年 3 月 1 日,開姆尼茨 Linux 日
我們很高興地宣布,FFmpeg 將在德國開姆尼茨舉辦的開姆尼茨 Linux-Tage (CLT) 活動中亮相。活動將於 3 月 21 日和 22 日舉行。
更多資訊請參閱此處
我們將展示 FFmpeg 的使用方式、回答您的問題,並傾聽您的問題和願望。如果您有媒體檔案無法使用 FFmpeg 正確處理,請務必攜帶樣本,以便我們查看!
在我們的 CLT 歷史上,這將是第一次舉辦 FFmpeg 工作坊!您可以此處閱讀詳細資訊。此工作坊的目標對象是 FFmpeg 初學者。首先將涵蓋多媒體基礎知識。之後,您將學習如何運用這些知識和 FFmpeg CLI 工具來分析和處理媒體檔案。工作坊僅以德語進行,且必須事先註冊。工作坊將於星期六上午 10 點開始。
我們期待再次與您相見!
2014 年 12 月 5 日,FFmpeg 2.5
我們發布了一個新的主要版本 (2.5)。它包含了自 12 月 4 日以來 git master 分支的所有功能和錯誤修復。請參閱 發行說明 以取得值得注意的變更列表。
我們建議使用者、發行商和系統整合商升級,除非他們使用目前的 git master。
2014 年 10 月 10 日,FFmpeg 再次回到 Debian unstable 分支
我們想讓您知道 Debian unstable 分支中再次有了 FFmpeg 套件。非常感謝 Andreas Cadhalpun 以及所有促成此事的人們。 這絕非易事。
不幸的是,這已經是這則新聞中簡單的部分了。壞消息是這些套件可能不會遷移到 Debian testing 分支,因此不會包含在即將到來的代號為 jessie 的版本中。請在 Debian 上閱讀相關論證。
無論如何,事情最終都會水落石出,我們希望您能繼續給予卓越的支持!
2014 年 10 月 8 日,FFmpeg 在 OPW 中取得一席之地!
由於三星(開源團隊)慷慨捐贈了 6 千美元,FFmpeg 將歡迎至少 1 位「女性外展計畫」實習生加入我們的社群,初步期間從 2014 年 12 月開始(至 2015 年 3 月)。
我們都知道 FFmpeg 被業界廣泛使用,但即使有眾多產品建立在我們的程式碼之上,公司主動站出來在我們需要時提供幫助的情況仍然非常罕見。因此,非常感謝三星和 OPW 計畫委員會!
如果您正在考慮以實習生的身分參與 OPW,請查看我們的 OPW wiki 頁面 以取得一些初步指南。該頁面仍在建構中,但應該有足夠的資訊讓您入門。另一方面,如果您正在考慮透過 OPW 計畫贊助 FFmpeg 的工作,請透過 opw@ffmpeg.org 與我們聯繫。在您的幫助下,我們或許能夠為這一輪爭取到更多實習名額!
2014 年 9 月 15 日,FFmpeg 2.4
我們發布了一個新的主要版本 (2.4)。它包含了自 9 月 14 日以來 git master 分支的所有功能和錯誤修復。請參閱 發行說明 以取得值得注意的變更列表。
我們建議使用者、發行商和系統整合商升級,除非他們使用目前的 git master。
2014 年 8 月 20 日,FFmpeg 2.3.3、2.2.7、1.2.8
我們發布了幾個新的點版本 (2.3.3、2.2.7、1.2.8)。它們修復了各種錯誤,以及 CVE-2014-5271 和 CVE-2014-5272。請參閱變更日誌以取得更多詳細資訊。
我們建議使用者、發行商和系統整合商升級,除非他們使用目前的 git master。
2014 年 7 月 29 日,幫助我們確保在 OPW 中的名額
繼我們之前關於參與今年 OPW(女性外展計畫)的文章之後,我們現在正向我們的使用者(包括個人和公司)尋求幫助,以募集所需的資金來確保我們在該計畫中的名額。
我們需要籌集至少 6 千美元,但獲得更多資金將有助於我們獲得不只一位實習生。
您可以使用信用卡透過 Click&Pledge 捐款,並選擇「OPW」選項。如果您想透過匯款或支票捐款,請透過 電子郵件 與我們聯繫,我們將回覆您相關說明。
感謝!
2014 年 7 月 20 日,新網站
FFmpeg 專案很榮幸地宣布由 db0 製作的全新網站版本。雖然最初的動機是需要更大的選單,但最終整個網站都經過重新設計,並且大多數頁面都經過修改以簡化導航。我們希望您會喜歡瀏覽它。
2014 年 7 月 17 日,FFmpeg 2.3
我們發布了一個新的主要版本 (2.3)。它包含了自 7 月 16 日以來 git master 分支的所有功能和錯誤修復。請參閱 發行說明 以取得值得注意的變更列表。
我們建議使用者、發行商和系統整合商升級,除非他們使用目前的 git master。
2014 年 7 月 3 日,FFmpeg 與女性外展計畫
FFmpeg 已開始申請成為下一輪計畫的 OPW 納入組織,實習將於 12 月 9 日開始。OPW 旨在「幫助女性(生理女性和跨性別女性)和性別酷兒參與自由和開放原始碼軟體」。此過程的一部分需要籌集資金以支持至少一名實習生(6 千美元),因此,如果您一直在考慮向 FFmpeg 捐款,這是一個絕佳的機會,讓您挺身而出、與我們聯繫,並幫助這個專案和一項偉大的倡議!
我們設立了一個 電子郵件地址,您可以使用它來聯繫我們,詢問有關捐款以及我們參與該計畫的一般問題。希望能盡快收到您的來信!
2014 年 6 月 29 日,FFmpeg 2.2.4、2.1.5、2.0.5、1.2.7、1.1.12、0.10.14
我們發布了幾個新的點版本 (2.2.4、2.1.5、2.0.5、1.2.7、1.1.12、0.10.14)。它們修復了 LZO 實作中的安全問題,以及其他幾個錯誤。請參閱 git 記錄以取得詳細資訊。
我們建議使用者、發行商和系統整合商升級,除非他們使用目前的 git master。
2014 年 5 月 1 日,LinuxTag
FFmpeg 將再次在德國柏林舉辦的 LinuxTag 活動中亮相。活動將於 5 月 8 日至 10 日舉行。請注意,今年的 LinuxTag 地點已更改,更靠近市中心。
我們將與 XBMC 和 VideoLAN 共用一個攤位。 如果您有媒體檔案無法使用 FFmpeg 正確處理,請務必攜帶樣本,以便我們查看!
有關 LinuxTag 的更多資訊,請參閱此處
我們期待在柏林與您相見!
2014 年 4 月 18 日,OpenSSL Heartbeat 漏洞
我們託管 Trac 問題追蹤器的伺服器容易受到針對 OpenSSL 的名為「heartbleed」的攻擊。OpenSSL 軟體庫已於 4 月 7 日更新,時間在該漏洞公開披露後不久。我們已變更所有 FFmpeg 伺服器的私鑰(和憑證)。詳細資訊已由專案伺服器團隊成員 Alexander Strasser 發送到郵件列表。這是使用者郵件列表封存的連結。
我們鼓勵您閱讀有關 「OpenSSL heartbleed」 的資訊。 問題追蹤器的登入資料可能已洩露給利用此安全漏洞的人員。您可能需要變更追蹤器以及您在其他地方使用相同密碼的密碼。
2014 年 4 月 11 日,FFmpeg 2.2.1
我們發布了一個新的點版本 (2.2.1)。它包含針對 Ticket #2893、#3432、#3469、#3486、#3495 和 #3540 以及其他幾個修復的錯誤修正。請參閱 git 記錄以取得詳細資訊。
2014 年 3 月 24 日,FFmpeg 2.2
我們發布了一個新的主要版本 (2.2)。它包含了自 3 月 1 日以來 git master 分支的所有功能和錯誤修復。以下是部分新增功能的列表
- HNM version 4 demuxer and video decoder - Live HDS muxer - setsar/setdar filters now support variables in ratio expressions - elbg filter - string validation in ffprobe - support for decoding through VDPAU in ffmpeg (the -hwaccel option) - complete Voxware MetaSound decoder - remove mp3_header_compress bitstream filter - Windows resource files for shared libraries - aeval filter - stereoscopic 3d metadata handling - WebP encoding via libwebp - ATRAC3+ decoder - VP8 in Ogg demuxing - side & metadata support in NUT - framepack filter - XYZ12 rawvideo support in NUT - Exif metadata support in WebP decoder - OpenGL device - Use metadata_header_padding to control padding in ID3 tags (currently used in MP3, AIFF, and OMA files), FLAC header, and the AVI "junk" block. - Mirillis FIC video decoder - Support DNx444 - libx265 encoder - dejudder filter - Autodetect VDA like all other hardware accelerations
我們建議使用者、發行商和系統整合商升級,除非他們使用目前的 git master。
2014 年 2 月 3 日,開姆尼茨 Linux-Tage
我們很高興地宣布,FFmpeg 將在德國開姆尼茨舉辦的「Chemnitzer Linux-Tage」活動中亮相。活動將於 3 月 15 日和 16 日舉行。
更多資訊請參閱此處
我們邀請您參觀我們位於 Linux-Live 區域的攤位!我們將在那裡展示 FFmpeg 的使用方式、回答您的問題,並傾聽您的問題和願望。
如果您有媒體檔案無法使用 FFmpeg 正確處理,請務必攜帶樣本,以便我們查看!
我們期待再次與您相見!
2014 年 2 月 9 日,trac.ffmpeg.org / trac.mplayerhq.hu 安全漏洞
安裝 FFmpeg 和 MPlayer Trac 問題追蹤器的伺服器遭到入侵。受影響的伺服器已離線並已更換,所有軟體都已重新安裝。FFmpeg Git、發行版本、FATE、網站和郵件列表位於其他伺服器上,未受影響。我們認為最初的入侵事件發生在幾個月前,與 FFmpeg 和 MPlayer 無關的伺服器上。該伺服器被用作複製我們最近將 Trac 遷移到的 VM 的來源。目前尚不清楚是否有人使用發現的後門程式。
我們建議所有使用者變更密碼。 特別是那些在 Trac 上使用的密碼也用於其他地方的使用者,應至少在其他地方變更該密碼。
2013 年 11 月 12 日,Debian 中的 FFmpeg RFP
自 Libav 分裂以來,Debian/Ubuntu 維護者一直追隨 Libav 分支。許多人要求在 Debian 中封裝 ffmpeg,因為它功能更完整,並且在許多情況下錯誤更少。
Rogério Brito,一位 Debian 開發人員,已在 Debian 錯誤追蹤系統中提出了套件請求 (RFP)。
請讓 Debian 和 Ubuntu 開發人員知道您支持封裝真正的 FFmpeg!請參閱 Debian ticket #729203 以取得更多詳細資訊。
2013 年 10 月 28 日,FFmpeg 2.1
我們發布了一個新的主要版本 (2.1)。它包含了自 10 月 28 日以來 git master 分支的所有功能和錯誤修復。以下是部分新增功能的列表
- aecho filter - perspective filter ported from libmpcodecs - ffprobe -show_programs option - compand filter - RTMP seek support - when transcoding with ffmpeg (i.e. not streamcopying), -ss is now accurate even when used as an input option. Previous behavior can be restored with the -noaccurate_seek option. - ffmpeg -t option can now be used for inputs, to limit the duration of data read from an input file - incomplete Voxware MetaSound decoder - read EXIF metadata from JPEG - DVB teletext decoder - phase filter ported from libmpcodecs - w3fdif filter - Opus support in Matroska - FFV1 version 1.3 is stable and no longer experimental - FFV1: YUVA(444,422,420) 9, 10 and 16 bit support - changed DTS stream id in lavf mpeg ps muxer from 0x8a to 0x88, to be more consistent with other muxers. - adelay filter - pullup filter ported from libmpcodecs - ffprobe -read_intervals option - Lossless and alpha support for WebP decoder - Error Resilient AAC syntax (ER AAC LC) decoding - Low Delay AAC (ER AAC LD) decoding - mux chapters in ASF files - SFTP protocol (via libssh) - libx264: add ability to encode in YUVJ422P and YUVJ444P - Fraps: use BT.709 colorspace by default for yuv, as reference fraps decoder does - make decoding alpha optional for prores, ffv1 and vp6 by setting the skip_alpha flag. - ladspa wrapper filter - native VP9 decoder - dpx parser - max_error_rate parameter in ffmpeg - PulseAudio output device - ReplayGain scanner - Enhanced Low Delay AAC (ER AAC ELD) decoding (no LD SBR support) - Linux framebuffer output device - HEVC decoder, raw HEVC demuxer, HEVC demuxing in TS, Matroska and MP4 - mergeplanes filter
我們建議使用者、發行商和系統整合商升級,除非他們使用目前的 git master。
託管服務由 telepoint.bg 提供