![]() |
||
Major Member
![]() 加入日期: Dec 2015
文章: 210
|
FFmpeg的最佳設定…
我的原始檔案用的是1920x1080@120FPS with 2Ch [email protected] in 128k.
使用4070及32線程CPU。 我的FFmpeg是於『https://www.gyan.dev/ffmpeg/builds/』下載,這是從官方網站引導出來的,因為FFmpeg本身不製作可執行檔,所以都是由他人製作完成。 而我用的FFmpeg版本是2025-06-17-git-ee1f79b0fa-full版本。 ================================================================== 裁切黑邊是要注意第一次分析的訊息,如『[Parsed_cropdetect_0 @ 00000202cd98df40] x1:0 x2:1919 y1:17 y2:1059 w:1920 h:1040 x:0 y:20 pts:138801663 t:9036.566602 limit:0.094118 crop=1920:1040:0:20』 crop=1920:1040:0:20這段訊息就是你需要保留的長寬以及你需要裁切的長寬。 也就是第二次編碼時所需要的部份,可以注意看下面-vf "crop=1920:1040:0:20"的部份。 ------------------裁切黑邊------------------ ffmpeg -i -threads 32 123.mp4 -vf cropdetect -f null - H264模式 ffmpeg -y -threads 8 -i 123.mp4 -vf "crop=1920:1040:0:20" -c:v libx264 -profile:v high10 -level 4.1 -pix_fmt yuv420p10le -preset veryslow -crf 15 -g 80 -refs 4 -fps_mode cfr -c:a copy 123crop.mp4 NVENC模式 ffmpeg -y -hwaccel cuda -threads 8 -i 123.mp4 -vf "crop=1920:1040:0:20" -c:v h264_nvenc -profile:v high -pix_fmt yuv420p -preset p7 -cq 9 -g 80 -refs 4 -rc-lookahead 64 -b_ref_mode middle -aq 2 -spatial-aq 1 -temporal-aq 1 -fps_mode cfr -c:a copy 123crop.mp4 HEVC模式 ffmpeg -y -hwaccel cuda -threads 8 -i 123.mp4 -vf "crop=1920:1040:0:20" -c:v hevc_nvenc -profile:v main10 -level 5.1 -pix_fmt yuv420p10le -preset p1 -cq 9 -g 80 -refs 4 -rc-lookahead 64 -b_ref_mode middle -aq 2 -spatial-aq 1 -temporal-aq 1 -fps_mode cfr -c:a copy 123crop.mp4 ================================================================== 以下是將FHD影片轉換成mpeg2存放影片的人使用,建議配合DVD DL 8.4GB使用。若你有SRT字幕,可以用Subtitile Edit將SRT轉成idx/sub Vobsub格式,再用Mkvtoolnix將之合併。 我都將設定調至最佳畫質,且所有的參數都是以最佳畫質來指定,若有不同的需要『畫質或容量』,可以自行刪減或是減少碼率。 這個設定最後可以製作出真正可以在DVD上播放的影片。 ------------------使用DVD Mpeg2可變位元速率且採用二次編碼分析並將解析度降至[email protected] with 2Ch AC3@48 in 192k------------------ ffmpeg -y -hwaccel cuda -i "123crop.mp4" -threads 32 -vf "scale=720:480,setsar=32/27" -r 30000/1001 -aspect 16:9 -c:v mpeg2video -b:v 6960k -minrate 2500k -maxrate 9500k -bufsize 1835k -g 10 -bf 2 -pass 1 -an -fps_mode cfr -f mpeg2video NUL ffmpeg -y -hwaccel cuda -i "123crop.mp4" -threads 32 -vf "scale=720:480,setsar=32/27" -r 30000/1001 -aspect 16:9 -c:v mpeg2video -b:v 6960k -minrate 2500k -maxrate 9500k -bufsize 1835k -g 10 -bf 2 -pass 2 -qmin 1 -qmax 2 -dc 10 -fps_mode cfr -mbd rd -intra_vlc 1 -trellis 2 -non_linear_quant 1 -flags +bitexact -flags -ilme -flags -ildct -mpv_flags +mv0 -c:a ac3 -b:a 192k -ar 48000 -ac 2 -f dvd "FinalDVD-VBR-MAX.mpg" ================================================================== 以下是給使用DVD存放影片的人使用,建議使用。若你有SRT字幕,可以用Subtitile Edit將SRT轉成idx/sub Vobsub格式,再用Mkvtoolnix將之合併。 我都將設定調至最佳畫質,且所有的參數都是以最佳畫質來指定,若有不同的需要『畫質或容量』,可以自行刪減或是減少碼率。 ------------------使用平均位元速率並將解析度降至[email protected] with 2Ch [email protected] in 128k------------------ ffmpeg -y -hwaccel cuda -i "d:\123crop.mp4" -threads 32 -vf "scale=720:480,fps=29.97,setdar=16/9" -aspect 16:9 -c:v libx264 -crf 18 -profile:v high10 -level 5.1 -pix_fmt yuv420p10le -preset veryslow -x264-params "rc-lookahead=120:keyint=80:min-keyint=1:ref=8:bframes=6:b-adapt=2:direct=auto:me=umh:subme=12:trellis=2:aq-strength=1.2:psy-rd=1.0,0.15:deblock=1,1:mbtree=1:mixed-refs=1:weightp=2:chroma-qp-offset=-2:no-fast-pskip=1" -c:a aac -b:a 128k -ar 44100 -ac 2 -movflags +faststart "Final264DVD-ABR-MAX.mkv" ------------------使用可變位元速率且採用二次編碼分析並將解析度降至[email protected] with 2Ch [email protected] in 128k------------------ ffmpeg -y -hwaccel cuda -i "123crop.mp4" -threads 32 -vf "scale=720:480,fps=29.97,setdar=16/9" -aspect 16:9 -c:v libx264 -profile:v high10 -level 5.1 -pix_fmt yuv420p10le -preset veryslow -b:v 2500k -maxrate 9000k -bufsize 12000k -pass 1 -passlogfile "ffmpeg-pass" -x264-params "nal-hrd=vbr:vbv-bufsize=12000:vbv-maxrate=9000:rc-lookahead=120:keyint=80:min-keyint=1:ref=8:bframes=6:b-adapt=2:direct=auto:me=umh:subme=12:trellis=2:aq-strength=1.2:psy-rd=1.0,0.15:deblock=1,1:mbtree=1:mixed-refs=1:weightp=2:chroma-qp-offset=-2:no-fast-pskip=1" -an -f mp4 NUL ffmpeg -y -hwaccel cuda -i "d:\123crop.mp4" -threads 32 -vf "scale=720:480,fps=29.97,setdar=16/9" -aspect 16:9 -c:v libx264 -profile:v high10 -level 5.1 -pix_fmt yuv420p10le -preset veryslow -b:v 2500k -maxrate 9000k -bufsize 12000k -pass 2 -passlogfile "ffmpeg-pass" -x264-params "nal-hrd=vbr:vbv-bufsize=12000:vbv-maxrate=9000:rc-lookahead=120:keyint=80:min-keyint=1:ref=8:bframes=6:b-adapt=2:direct=auto:me=umh:subme=12:trellis=2:aq-strength=1.2:psy-rd=1.0,0.15:deblock=1,1:mbtree=1:mixed-refs=1:weightp=2:chroma-qp-offset=-2:no-fast-pskip=1" -c:a aac -b:a 128k -ar 44100 -ac 2 -movflags +faststart "Final264DVD-VBR-MAX.mkv" ================================================================== 以下是給使用DVD存放影片的人使用,基本上不建議使用,唯一好處就是可以用NVENC可以大大的提高速度。若你有SRT字幕,可以用Subtitile Edit將SRT轉成idx/sub Vobsub格式,再用Mkvtoolnix將之合併。 我都將設定調至最佳畫質,且所有的參數都是以最佳畫質來指定,若有不同的需要『畫質或容量』,可以自行刪減或是減少碼率。 ------------------使用NVENC之固定位元速率並將解析度降至[email protected] with 2Ch [email protected] in 128k------------------ ffmpeg -y -hwaccel cuda -i "123crop.mp4" -threads 8 -vf "scale=720:480,fps=29.97,setdar=16/9" -aspect 16:9 -c:v h264_nvenc -preset p7 -profile:v high -rc constqp -cq 10 -g 80 -refs 4 -b_ref_mode middle -aq 2 -spatial-aq 1 -temporal-aq 1 -c:a aac -b:a 128k -ar 44100 -ac 2 -movflags +faststart "Final264DVD-CBR-NVENC-MAX.mkv" ------------------使用NVENC之可變位元速率並將解析度降至[email protected] with 2Ch [email protected] in 128k------------------ ffmpeg -y -hwaccel cuda -i "123crop.mp4" -threads 8 -vf "scale=720:480,fps=29.97,setdar=16/9" -aspect 16:9 -c:v h264_nvenc -preset p7 -profile:v high -rc vbr -tune hq -cq 10 -g 80 -refs 4 -rc-lookahead 160 -b_ref_mode middle -multipass 2 -b:v 13000k -maxrate 16000k -minrate 4000k -bufsize 18000k -aq 2 -spatial-aq 1 -temporal-aq 1 -c:a aac -b:a 128k -ar 44100 -ac 2 -movflags +faststart "Final264DVD-VBR-NVENC-MAX.mkv" ================================================================== 要注意的事情是,若是-profile:v high10 -level 5.1 -pix_fmt yuv420p10le會造成無法播放的情況,應使用VLC播放。 若要完全的相容則應該將其改為-profile:v high或是-profile:v high -level 4.1 -pix_fmt yuv420p。 另外,MKV也會造成影響,若仍無法改善則應改為只使用-profile:v high搭配MP4。 此文章於 2025-07-05 02:34 AM 被 沒問題 編輯. |
|||||||
![]() |
![]() |
Power Member
![]() ![]() 加入日期: Sep 2006
文章: 539
|
看不太懂這樣轉整個目的是什麼
![]() 如果是要燒成DVD Video, 印象中可用的格式很嚴格,不是轉mpeg2就可以直接燒 再來可以直接播MP4的機器,可以吃的格式就多了,只要流量裝得進DVD, 就是塞到滿 如果是舊機器,我建議直接換新的,為了舊機器用舊格式,太辛苦了沒必要 用到VLC ![]() 我現在轉檔都是走h.265或是VC1,用電腦播就是用最佳格式最高流量,轉好丟YouTube甚至不需要自備儲存空間 |
||
![]() |
![]() |
Major Member
![]() 加入日期: Nov 2004
文章: 182
|
咦好像很複雜
這個okx介紹的vedioproc搞不定嗎? |
![]() |
![]() |
Major Member
![]() 加入日期: Dec 2015
文章: 210
|
引用:
現在很多影片已經不會發行DVD了。 另一個問題是BD也不會發行。 經過一番考慮後,我選擇下放到DVD。 因為,DVD還是比較常用,而且BD實在太大了,真的很浪費時間。 其實以上的設定也可以把字幕轉成SUP,而且設定也很接近BD。 我會經常把以前的DVD都轉成MP4來保存,所以我也需要常常調適這些設定。 再者MKV會鎖定你的長寬比,如果你的片源是FHD的非DVD,為了換成HD,長寬比是會變的,可是檔案回到4K螢幕播放時,並沒有辦法全螢幕。 把影片放在YT我以前也做過,可是發生了一個悲劇,就是YT鎖了我的帳號。 引用:
我有CloneBD、Nero Video、Nero Record、Topaz Video AI、HandBreak等…我用過很多,我只想要轉出時保存最好的畫質而以。 此文章於 2025-07-04 03:35 PM 被 沒問題 編輯. |
||
![]() |
![]() |
Master Member
![]() ![]() ![]() ![]() 加入日期: Oct 2001
文章: 2,257
|
引用:
不管是 MKV、MP4都可以用FFMpeg設定比率,有兩個不同的參數可以設定,因為有的播放器讀取判斷的的是第一個參數,有的是第二個 另外這個所謂「FFmpeg的最佳設定」是值得商榷的 一般會說 「個人推薦」「個人的最佳化」設定, 因為所謂的最佳化是因人而異的, 每個人的需求跟要求都不盡相同,很難用一個最佳化來涵蓋 ![]()
__________________
超準的星座分析! 此文章於 2025-07-04 08:13 PM 被 a9607 編輯. |
|
![]() |
![]() |
Major Member
![]() 加入日期: Dec 2015
文章: 210
|
引用:
你是用什麼修正MKV無法全螢幕這個問題的? 我製作出MP4後,都可以正常拉伸。全螢幕也可以。一封裝進MKV就變成按照720x480。不會跟著變全螢幕。 |
|
![]() |
![]() |
Master Member
![]() ![]() ![]() ![]() 加入日期: Oct 2001
文章: 2,257
|
引用:
1、理論上只要用上 aspect ,基本上幾乎所有近些年的播放軟體或硬體player都可以辨識並正常播放 2、有些軟體或早期的硬體就得去改stream值,但是目前幾乎都不需要了 用上 1 無法抓到長寬比,建議換個播放軟體或硬體測試看看。 如果2都用上還是抓不到長寬比,只能換播放軟體或硬體了… ![]()
__________________
超準的星座分析! |
|
![]() |
![]() |
Power Member
![]() ![]() 加入日期: Sep 2006
文章: 539
|
引用:
你這可能是播放器的問題, MKVToolNix指定比例後, 不管解析是多少都會照指定的比例播放 https://upload.cc/i1/2025/07/04/xgTdDK.png 如果不行, 百面是播放器的問題 |
|
![]() |
![]() |
Major Member
![]() 加入日期: Dec 2015
文章: 210
|
引用:
你好… 請參考… 這是我在mkvtoolnix中的設定。 https://upload.cc/i1/2025/07/04/s0DWj8.png 這是封裝在mkv時的畫面大小。 https://upload.cc/i1/2025/07/04/aGM9o6.png 這是還在mp4時的畫面大小。 https://upload.cc/i1/2025/07/04/o2sYZ1.png 看到你的設定後,我也試了一下,結果在VLC下是正常的,但是在Windows 11中的媒體播放器時,就會縮回720x480。 我用的都是同一個mp4影片,直接播放mp4時,Windows 11媒體播放器能全螢幕,但是封裝以後,就算按mkvtoolnix設定,設置成16/9 1920x1080後,也會保持720x480?但在VLC中就沒有問題。 為什麼我注意到這個問題,是因為我發現如果你用makemkv獲得的Mkv,經過VLC轉換成H264的MP4後,再封裝回任何的mkv,這樣的影片就可以任意的拉伸及全螢幕。 但是只要不經過VLC或是只用FFmpeg,就不行,就算我用Nero Video或是Nero Record也不行。 此文章於 2025-07-04 09:05 PM 被 沒問題 編輯. |
|
![]() |
![]() |