![]() |
||
Major Member
![]() 加入日期: Dec 2015
文章: 210
|
引用:
你的意思是不應該設定SAR/DAR這個比例嗎? 不然就要用另一個參數,-target ntsc-dvd |
||||||||
![]() |
![]() |
Junior Member
![]() ![]() ![]() 加入日期: Dec 2008
文章: 791
|
盡量不要用容器的比例/時間拉伸去做處理 那是不想重新轉檔時才在用的
既然現在就是要轉檔的話 轉檔時直接設定好就沒有相容性問題 source 就要先區分 有沒有 crop 有沒有 aspect ratio 如果是真正的SD源 還要看 aspect ratio 有沒有拉伸 不過 只是把HD/FHD 硬要放到 SD 時代的機器 用那個年代的播放邏輯去處理的話 那其實你的 source in/out PAR 應該是一樣的話 只要用正常的畫面比例去編碼完播放一次 看看畫面有沒有變形 有的話 以後就反向伸縮過再編碼 沒有的話 就直出即可 不要再在容器加料 |
![]() |
![]() |
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 hq -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 -spatial-aq 1 -aq-strength 15 -temporal-aq 1 -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 02:48 PM 被 沒問題 編輯. |
![]() |
![]() |