encode/av1 – ffmpeg,nvidia聲稱具有比AMD和Intel更好的AV1編碼器.
NVIDIA聲稱具有比AMD和Intel更好的AV1編碼器
libaom-av1具有恆定質量(CQ)模式(例如X264和X265中的CRF),這將確保每個幀獲得應有的位數以達到一定的(感知)質量水平,而不是編碼每個幀以滿足一個幀比特率目標. 這會帶來更好的整體質量. 如果您不需要實現固定的目標文件大小,則應該是您選擇的方法.
AV1視頻編碼指南
AV1是由開放式媒體聯盟(AOMEDIA)開發的開源和免版稅視頻編解碼器,這是一個非營利性行業財團. 根據用例,AV1的壓縮效率比VP9高約30%,效率高約50%.264.
當前有三個AV1編碼器由FFMPEG支持:libaom(ffmpeg中的libaom-av1調用),svt-av1(libsvtav1)和rav1e(librav1e). 本指南目前側重於libaom和svt-av1.
利巴姆
libaom(libaom-av1)是AV1格式的參考編碼器. 它也被用於在AV1開發過程中進行研究. libaom基於libvpx,因此在功能,性能和用法方面具有許多特徵.
要安裝FFMPEG並支持libaom-av1,請查看彙編指南,並使用 – eNable-libaom選項編譯FFMPEG.
Libaom提供以下速率控制模式,這些模式確定了獲得的質量和文件大小:
- 持續的質量
- 2次平均比特率
- 1通量的平均比特率
. 對於可以通過-AOM -PARAMS通過的選項,建議檢查AOMENC應用程序的-HELP輸出,因為目前尚無官方在線參考.
Libaom的用戶比版本2大.0.0將需要添加-strict實驗(或別名-strict -2).
libaom-av1具有恆定質量(CQ)模式(例如X264和X265中的CRF),這將確保每個幀獲得應有的位數以達到一定的(感知)質量水平,而不是編碼每個幀以滿足一個幀比特率目標. 這會帶來更好的整體質量. 如果您不需要實現固定的目標文件大小,則應該是您選擇的方法.
要觸發此模式,只需將-crf開關與所需的數值一起使用.
FFMPEG -I輸入.mp4 -c:v libaom -av1 -crf 30 av1_test.MKV
CRF值可以從0–63起. . 0表示無損. 23的CRF值得出的質量水平與X264的CRF 19相對應(來源),這將被視為無視覺上的無損.
請注意,在4個之前的FFMPEG版本中.3,觸發CRF模式還需要將比特率設置為-b:v 0 . 如果不執行此操作,-crf開關將觸發約束質量模式,默認比特率為256kbps.
質量約束
libaom-av1還具有限制的質量(CQ)模式,可確保達到恆定(感知)質量,同時將比特率保持在指定的上限或一定界限內. 此方法對於以通常一致的方式編碼視頻很有用.
FFMPEG -I輸入.mp4 -c:v libaom -av1 -crf 30 -b:v 2000k輸出.MKV
必須 不為零.
您還可以指定最低和最大比特率,而不是質量目標:
.mp4 -c:v libaom -av1 -minrate 500k -b:v 2000k -maxrate 2500k輸出.MP4
筆記: 當Mux進入MP4時,您可能需要將-movflags +fastStart添加到輸出參數,如果所產生的文件的預期使用是流式傳輸.
兩次通行
. . 對於兩個通行,您需要兩次運行FFMPEG,但幾乎相同的設置,除了:
- 在通過1和2中,分別使用-Pass 1和-1P 2選項.
- . (這將生成ffmpeg第二遍所需的日誌文件.
- 在Pass 1中,您可以通過指定 – AN省略音頻 .
FFMPEG -I輸入.mp4 -c:v libaom -av1 -b:v 2m -pass 1 -An -f null /dev /null && \ ffmpeg -i輸入.mp4 -c:v libaom -av1 -b:v 2m -pass 2 -c:libopus輸出.MKV
筆記: Windows用戶應使用NUL代替 /dev /null和 ^而不是\ \ .
平均比特率(ABR)
libaom-av1還提供了一個簡單的“平均比特率”或“目標比特率”模式. 在這種模式下,它將僅嘗試平均達到指定的比特率。.. 2 mbit/s.
FFMPEG -I輸入..MKV
和 . 否則,請使用上述其他速率控制方法之一.
控制速度 /質量
-. . . .
-. .e. -瓷磚4×1或-tiles 2×2 for 4 Tiles). 僅當CPU的線程比編碼瓷磚的數量更多的線程時,啟用行-MT的速度更快.
-. -在7-10之間使用CPU的值僅在實時模式下可用(儘管由於FFMPEG中的錯誤,因此無法通過FFMPEG使用高於8的錯誤).
關鍵幀位置
默認情況下,libaom的最大密鑰幀間隔為9999幀. .
-g選項可用於設置最大鍵幀間隔. .
要設置固定的密鑰幀間隔,請將-g和-keyint_min都設置為相同的值. .
.
在HDR中編碼時,有必要通過顏色信息; -colorspace,-color_trc和-color_primaries . 例如,YouTube HDR使用
-Colorspace BT2020NC -COLOR_TRC SMPTE2084 -COLOR_PRIMARIES BT2020
AV1在其主要個人資料中包括10位支持. 因此,內容可以以10位編碼,而不必擔心不兼容的硬件解碼器.
要在主要配置文件中使用10位,請使用-pix_fmt yuv420p10le . . . 有關支持的像素格式,請參見ffmpeg -help encoder = libaom -av1.
無損編碼
使用-crf 0進行無損編碼. 因為在4個之前的FFMPEG版本中存在錯誤.. 作為4之前的解決方法.4個版本可以使用-AOM -PARAMS無損= 1用於無損輸出.
SVT-AV1
SVT-AV1(LIBSVTAV1)是Intel與Netflix合作開發的編碼器. 2020年,AOMEDIA通過SVT-AV1作為AV1未來發展以及未來編解碼器努力的基礎. .
為了啟用支持,需要使用-enable-libsvtav1構建FFMPEG . . 另請參見FFMPEG文檔,上游編碼器用戶指南和所有參數列表.
許多選項通過-svtav1 -params傳遞給編碼器 . 這是在SVT-AV1 0中引入的..1自FFMPEG 5以來得到了支持..
CRF是默認利率控制方法,但VBR和CBR也可用.
CRF
.
FFMPEG -I輸入.mp4 -c:v libsvtav1 -crf 35 svtav1_test.
請注意,自2022-02-24以來,僅在ffmpeg git build中支持-crf選項. 在此之前的版本中,使用-QP設置CRF值 .
有效的CRF值範圍為0-63,默認值為50. 較低的值對應於更高質量和更大的文件大小. 目前不支持無損編碼.
預設和音樂
使用-preset選項來管理編碼速度和壓縮效率之間的權衡取捨. 由於SVT-AV1 0..0,支持的預設範圍為0到13,較高的數字提供了更高的編碼速度.
. 在0之前的版本.9.0,有效的預設為0至8.
FFMPEG -I輸入..
由於SVT-AV1 0.9.. . .
自0以來也得到了支持.9.1正在調整編碼器以產生更快(較少CPU密集型)解碼的比特流,類似於X264和X265中的FastDecode Tune. .0.0,使用-svtav1-params快速decode = 1調用此功能 .
.9.1,該選項接受1到3的整數,較高的數字導致易於處理的視頻. 在0.9.1,僅支持5至10的預設,解碼器調諧水平在預設之間有所不同.
關鍵幀位置
默認情況下,SVT-AV1的密鑰幀間隔為2-3秒,對於大多數用例來說,這是很短的. .
請注意,從版本1開始.2.1,SVT-AV1不支持在場景上插入密鑰幀. 相反,以設定的間隔放置密鑰幀. 在SVT-AV1 0中.9.1和先驗,該功能存在,但被認為處於次優狀態,默認情況下是禁用的.
. .
通過-svtav1-params膜粒= x調用膠片穀物合成特徵,其中x是一個從1到50的整數. 較高的數字對應於穀物合成過程的較高降級水平,因此較高的穀物.
穀物降解過程也可以消除細節,尤其是在保留非常粒狀膜的外觀所需的高值下. 可以通過膠片元素= 0選項來緩解這種方法,通過svtav1-params通過 . 默認情況下,將deno的框架傳遞為最終圖片(膠片 – denoise = 1),而將其關閉將導致使用原始框架.
Rav1e
Librav1e是AV1的XIPH編碼器. 用 – 可烯甲型librav1e編譯 . 請參閱FFMPEG DOC和上游CLI選項.
.
AMD AMF AV1
. AMD AMF AV1編碼器是一個專業的視頻編碼器,可提供功能強大的視頻編碼功能和廣泛的自定義選項. 它旨在滿足不同用戶的個人需求. 用戶可以調整編碼器的參數設置以滿足不同的編碼要求,例如分辨率,比特率,幀速率,編碼質量等等. 這些參數設置可以根據用戶的需求來自定義,以滿足不同的視頻編碼方案和設備要求.
用法
視頻編碼器平衡了速度,質量和延遲等因素. AMD已將幾個典型的用戶場景預設整合到AMF編碼器中. . 使用參數支持典型的應用程序方案,包括:
- 轉碼:將高分辨率或高二尖視頻轉換為低分辨率或低分辨率視頻,以在帶寬受限的網絡環境中進行傳輸或存儲.
- .
對於每種用法,AMF根據相應的方案優化並預設編碼器的參數. 這些參數優化和預設涵蓋了大多數參數,包括但不限於:
- 編碼配置文件和級別
- 共和黨的大小和結構
- 運動估計方法和精度
- 多通編碼
- 拆卸過濾器強度
通過使用這些預設,用戶可以輕鬆有效地選擇適當的編碼設置以進行特定用法方案,而無需深入了解編碼器的參數及其對視頻質量和性能的影響. 轉碼的使用情況
..MP4
低度的使用情況
ffmpeg -s 1920x1080 -pix_fmt yuv420p -i輸入.YUV -C:V AV1_AMF-使用較低的輸出.MP4
品質
. 該參數對編碼速度有重大影響.
- .
- 平衡:這種預設平衡了質量和速度之間的權衡,使其適用於需要在兩者之間保持平衡的各種應用,例如視頻會議和在線遊戲.
- 速度:此預設優先考慮速度超過質量,使其適用於需要使用低延遲的實時視頻編碼的應用程序,例如在線遊戲和遠程桌面應用程序.
FFMPEG -I輸入..mp4 ffmpeg -i輸入.MP4 -C:V AV1_AMF-質量質量輸出.mp4 ffmpeg -i輸入.MP4 -C:V AV1_AMF-質量速度輸出.MP4
enforce_hrd
假設的參考解碼器(HRD)有助於防止緩衝區溢出和下流,這可能會導致視頻播放中的口吃或凍結等問題. . . .
..MP4
VBAQ
. . . .MP4 -C:V AV1_AMF -VBAQ真實輸出.MP4
對齊
AV1 BITSTREAM規範不包含裁剪信息供解碼器顯示特定的Pixel精確分辨率. 預計應在容器中提供適當的裁剪信息. AMF AV1編碼器引入了參數“ ALIGN”以解決硬件對齊要求,以便可以解碼編碼的bitstream並正確顯示. 設置“對齊”的值:
- .
- 1080p:將分辨率與64×16以及1920×1080視頻對齊的輸入視頻將進行編碼;所有其他分辨率視頻將不受支持. . .
- . 但是,對於那些分辨率不是64×16的視頻,其輸出分辨率將被外推為64×16並用黑色像素填充. .
.MP4 -C:V AV1_AMF -Align 1080p輸出.
關鍵幀位置
. “ -g”選項可用於設置密鑰幀間隔. 例如,在廣播電視應用中,通常需要有一個舒適的頻道切換時間來獲得良好的用戶體驗. 為此目的,2秒的密鑰幀被廣泛用作通用設置. 因此,對於每秒30幀幀速率的內容,一個人將使用命令“ -g 60”.
FFMPEG -I輸入..
其他資源
- SVT-AV1:常見問題和感興趣的話題
- SVT-AV1的用戶指南
- SVT-AV1問題跟踪器
NVIDIA聲稱具有比AMD和Intel更好的AV1編碼器
昨天穩定版本的obs Studio 29.1釋放. . 與競爭者相比.
AV1是來自Open Media聯盟的開源編解碼器. 在兩年多以來,該視頻編解碼器已成為H264和H265/HEVC的真正替代品,這不是開源的. 免版稅格式將是使AV1成為視頻流的未來的重要因素,並且所有主要的GPU品牌現在都在船上並積極開發GPU,並支持這種視頻格式.
如我們所知,AV1編碼現在得到了所有現代GPU架構的支持:GeForce RTX 40(ADA),Radeon RX 7000(RDNA3)和ARC Alchemist(XE-HPG). 但是,實現變化和編碼功能可能會顯示出明顯的差異.
. GeForce RTX用戶可以以與競爭產品相同的比特率進行更高質量的圖像,也可以在較低的比特率上進行編碼,同時保持相似的圖像質量.
– Nvidia
NVIDIA發布了一個靜止的視頻比較,其中包含AMD RX 7900 XTX,ARC A770及其RTX 4080 GPU,AV1 4K和12 Mbps編碼比較. 該公司聲稱其編碼器以相同的比特率產生更高質量的圖像:
AV1 4K編碼的比較,來源:NVIDIA
. 與H相比,在4K時,它可以提供10 Mbps的視頻質量.264個以20 Mbps為單位,但總體NVIDIA聲稱AV1編碼可提供40%的編碼效率約40%.
OBS Studio 29.. 該項目由NVIDIA和AMD贊助.
什麼是AV1編解碼器,哪些圖形卡支持它以及為什麼重要
科技行業最近對AV1編碼感到震驚. 關於它將如何徹底改變流媒體視頻,遊戲流和互聯網的大膽主張,但是AV1是什麼以及為什麼如此重要?
AV1是一個(相對)的新視頻編解碼器,專為視頻流而設計. .264)和HEVC(H.265)編解碼器當前更常用. 對於初學者來說,AV1是免版稅的和開源的,與其他選擇不同,因為它來自開放媒體聯盟(AOMEDIA),該聯盟於2015年成立,以明確目的創建開放式替代方案. AOMEDIA有七個創始成員 – Amazon,Cisco,Intel,Microsoft,Mozilla和Netflix,沿途加入了數十名其他成員,例如Google和Apple等。.
. 它遠非該空間中的第一筆努力,實際上是在其開源前任,VP9和其他人之前建立的. VP9獲得了合理的採用,包括許多平台上的硬件編碼支持,但最終被認為比H效率低.. .
那麼AV1如何工作?
. 實際上,這些方法將框架劃分為像素組的小“塊”,然後執行一些傅立葉變換相關的數學,以可以接受的方式存儲數據,而無需描述每個像素的每個位所需的數據堆. AV1使用VP9的解決方案作為基礎,但通過其他技術擴展了其選項.
. . 這一切都會導致視頻流對給定的圖像質量目標需要更少的比特率(因此帶寬),或者與其他編解碼器相比,在同一比特率上看起來更好的圖像。.
. . 儘管對此的需求還不太多,但編解碼器甚至適用於8K內容。. .
但是,將視頻內容切換到AV1並不是一件容易的事. .265 HEVC. 這使得較低的硬件無法處理,更不用說對移動設備的電池壽命的影響.
但是,最近,幾個平台開始合併AV1的硬件編碼和解碼. . . . .
AV1解碼已經在這裡,但是編碼是新技巧
AV1解碼在AMD RDNA 2 GPU(基於Navi 24的6500 XT之外),NVIDIA GEFORCE 30和40系列GPU,Intel XE和ARC GPU以及Samsung Exynos 2100和2200,2100和2200,Intel XE和ARC GPU的硬件支持AV1解碼。各種中介科SoC和Google的張量處理器. 高通公司明顯不在此列表中,但已表示該編解碼器將從2023年開始在其Snapdragon芯片中得到支持. .
. . 雖然直到最近才難以在美國來源,但該包容性得到了極大的讚譽. 在套房之後,NVIDIA的全新RTX 40系列Ada Lovelace GPU也帶來了AV1編碼肌肉,我們期待很快進行測試. .
AV1編解碼器的未來看起來很光明. 除了對編解碼器受益於視頻流的硬件支持外,編解碼器還採用了一種稱為可擴展視頻編碼(SVC)的分層編碼技術,這使其特別適合視頻會議. .
SVC有效地允許從高比特率來源提取較低的比特率編碼,同時降低廣播平行流的冗餘質量的冗餘。. 低比特率流不僅可以採取減少分辨率的形式,而且還可以剝離框架以減少幀速率以減少帶寬. 它不是唯一使用此技術的編解碼器,但這是一個非常重要的考慮因素,儘管如此.
AV1擁有很多希望,就像許多技術進步一樣. 最好的部分是,大多數消費者不需要做任何特殊的事情來利用它. .