瀏覽單個文章
沒問題
Major Member
 

加入日期: Dec 2015
文章: 210
我又來了…

這是二零以五年七月十六日的最新設定,我原本是想編輯第一篇的,但是已經不能編輯了。

經過這麼多天的磨難,我先放棄使用軟體來壓影片。還是一樣,我使用的是三十二線程的CPU,配上RTX 4070,不要說我偏坦nVidia。而是我的影片機就是我的娛樂機所以我都只真對nVidia做最佳設置。雖然我也有AMD的卡,不過那不是主力機,而且是RX 5500 XT,所以我就懶的試了。


取得裁切黑邊參數
ffmpeg -i input.mkv -vf cropdetect -f null -


最佳化的黑邊裁切參數
ffmpeg -y -threads 16 -hwaccel auto -i 1x02.mkv -vf "crop=928:720:176:0,scale=928:720:flags=lanczos,format=p010le,hwupload_cuda" -c:v hevc_nvenc -preset p7 -tune lossless -profile:v main10 -level 5.2 -rc constqp -qp 0 -bf 4 -refs 16 -g 30 -colorspace bt709 -color_primaries bt709 -color_trc bt709 -color_range tv -fps_mode cfr -flags:v bitexact -c:a aac -b:a 256k -ar 48000 -ac 2 -sample_fmt:a fltp -flags:a bitexact -map_metadata 0 -movflags +faststart 1x02_lossless_best.mp4


這邊要說明的是,當你黑邊裁切時,其實就是轉錄影片,所以你必需要用極高的設置來保證影片的色彩、畫質、碼率不失真,所以一個四十五分鐘930x720@30FPS的影片大概會有二十GB左右。如果你是4K或8K影片會超級大,如果你又有10bit或是全色域444p,又會再增加兩到三倍大,如果你不使用60FPS,而是用120FPS及240FPS那就會四倍大。所以我會建議你,如果有錢就上5090,記憶體插好插滿256GB不要客氣,可以的話六十四線程的threadripper給他上。

有時候,我會開RAM disk省去了轉片的速度損失,也會把轉出的影片放在RAM disk,這樣編輯才會快。雖然有人會用SSD,不過這麼巨量的影片,我還是選擇放在四個兩T組的RAID-0中,性能還算不錯,有錢就上八個四T組的RAID-0吧,雖然怎麼樣都不可能快過PCI-E5加SSD,但是看著這麼大的容量跟超快的吞吐速度,真的很爽。

說這麼多,這個設置是有損轉綠中,我把我想得到可以用上的所以最佳參數都用上了,而且還用上HEVC,這樣就能想到如果你用的是H264會有多大吧?


最佳原始輸出
ffmpeg -y -threads 8 -hwaccel cuda -i 1x01_lossless_best.mp4 -r 30 -c:v hevc_nvenc -preset p7 -tune hq -rc vbr -multipass 2 -profile:v main10 -level 5.2 -pix_fmt yuv420p10le -fs 1300M -rc-lookahead 40 -spatial-aq 1 -aq-strength 10 -temporal-aq 1 -b_ref_mode middle -bf 4 -refs 6 -g 180 -qmin 0 -qmax 20 -c:a aac -b:a 192k -ar 48000 -ac 2 -sample_fmt fltp -movflags +faststart 1x01_hevc.mp4


最佳444p10輸出
ffmpeg -y -threads 8 -hwaccel cuda -i 1x01_lossless_best.mp4 -r 30 -c:v hevc_nvenc -preset p7 -tune hq -rc vbr -multipass 2 -profile:v rext -pix_fmt yuv444p10le -fs 1300M -rc-lookahead 40 -spatial-aq 1 -aq-strength 10 -temporal-aq 1 -b_ref_mode middle -bf 4 -refs 6 -g 180 -qmin 0 -qmax 20 -c:a aac -b:a 192k -ar 48000 -ac 2 -sample_fmt fltp -movflags +faststart 1x01_444p10.mp4


以上都是nVidia CUDA加速的命令,其中-fs的意思是你預計你輸出的影片必需被控制在多大的大小,所以你的片長更長,你用的各個影片格式更高,就只要適當的修改這裡就行。


回答一下之前的縮放問題,那個問題應該是在轉錄的過程中,開啟並使用scale這個參數造成的。本次我只單純的裁切而沒有使用scale,目前看起來是沒有問題的。另一件事,如果像我一樣還在堅持DVD的人,在等一下看看我有沒有找出不需要scale的方法。

最後,這些nVidia專用的FFmpeg參數是針對40系的顯卡設定的,若你有A100或H100,又或有50系,有些參數可能又不同,有些設置可以更高。
舊 2025-07-16, 12:52 PM #14
回應時引用此文章
沒問題離線中