FFmpeg
移除或寫入後設資料
remove all metadata -map_metadata -1 -map_chapters -1 -metadata:s handler_name= -metadata:s vendor_id= -disposition 0
| |||
| 或透過組合選用以下來按需添加。須知:不是所有的檔案類型/容器都支援以下所有的關鍵字。 | |||
album -metadata album=""
|
album artist -metadata album_artist=""
|
artist -metadata artist=""
|
author -metadata author=""
|
comment -metadata comment=""
|
compilation -metadata compilation=""
|
composer -metadata composer=""
|
date -metadata date=""
|
disc (no/total) -metadata disc=""
|
episode ID -metadata episode_id=""
|
episode sort -metadata episode_sort=""
|
genre -metadata genre=""
|
grouping -metadata grouping=""
|
language -metadata language=""
|
location -metadata location=""
|
lyrics -metadata lyrics=""
|
make -metadata make=""
|
model -metadata model=""
|
network -metadata network=""
|
performer -metadata performer=""
|
publisher -metadata publisher=""
|
season number -metadata season_number=""
|
show -metadata show=""
|
synopsis -metadata synopsis=""
|
title -metadata title=""
|
track (no/total) -metadata track=""
|
||
downscaling
使用
-vf format=gbrpf32le,zscale=transferin=bt709:transfer=linear,zscale=w='if(gte(iw,ih),min(1280,iw),-2)':h='if(lt(iw,ih),min(1280,ih),-2)':f=lanczos:param_a=4:param_b=0.6:dither=error_diffusion,zscale=transferin=linear:transfer=bt709,unsharp=5:5:0.5:3:3:0.0,format=yuv444p10le,setsar=1
來 downscale, 此處以 downscale 到使其長邊不超過 12
其中,di 部分可以改為 di 來不添加任何 dithering, 或刪去以讓 ff
加入 hq 直接在 - 後面可略微「抹勻」(denoising) 畫面。更強烈的「抹勻」效果可以透過調整 hqhq 或 hq.
便利貼:
-vf format=gbrpf32le,zscale=transferin=bt709:transfer=linear,zscale=w='if(gte(iw,ih),min(1280,iw),-2)':h='if(lt(iw,ih),min(1280,ih),-2)':f=lanczos:param_a=4:param_b=0.6:dither=none,zscale=transferin=linear:transfer=bt709,unsharp=5:5:0.5:3:3:0.0,format=yuv444p10le,setsar=1
-vf format=gbrpf32le,zscale=transferin=bt709:transfer=linear,zscale=w='if(gte(iw,ih),min(1280,iw),-2)':h='if(lt(iw,ih),min(1280,ih),-2)':f=lanczos:param_a=4:param_b=0.6:dither=none,zscale=transferin=linear:transfer=bt709,format=yuv444p10le,setsar=1
-vf hqdn3d=1:1:2:2,format=gbrpf32le,zscale=transferin=bt709:transfer=linear,zscale=w='if(gte(iw,ih),min(1280,iw),-2)':h='if(lt(iw,ih),min(1280,ih),-2)':f=lanczos:param_a=4:param_b=0.6:dither=error_diffusion,zscale=transferin=linear:transfer=bt709,unsharp=5:5:0.5:3:3:0.0,format=yuv444p10le,setsar=1
-vf hqdn3d=1:1:2:2,format=gbrpf32le,zscale=transferin=bt709:transfer=linear,zscale=w='if(gte(iw,ih),min(1280,iw),-2)':h='if(lt(iw,ih),min(1280,ih),-2)':f=lanczos:param_a=4:param_b=0.6:dither=none,zscale=transferin=linear:transfer=bt709,unsharp=5:5:0.5:3:3:0.0,format=yuv444p10le,setsar=1
若 scaling 的原則是依照短邊不超過 7z 部分以 z 取代之。
使用封面圖片與歌曲來制作歌曲的視訊檔
參考以下兩個模板——
ffmpeg -loop 1 -i cover.png -i song.wav -vf format=rgba64le,colorchannelmixer=aa=1,crop='floor(min(iw,ih)/2)*2:floor(min(iw,ih)/2)*2',scale=-2:1080:flags=lanczos+accurate_rnd+full_chroma_inp+full_chroma_int:param0=4,format=yuv444p10le,setsar=1 -r 1 -c:v libsvtav1 -pix_fmt yuv420p10le -preset 1 -crf 25 -g 720 -svtav1-params "tune=0:enable-qm=1:aq-mode=1:lookahead=120:scd=1" -c:a libopus -b:a 256k -t hh:mm:ss.xx -map_metadata -1 -map_chapters -1 -metadata:s handler_name= -metadata:s vendor_id= -disposition 0 -metadata album="" -metadata album_artist="" -metadata artist="" -metadata composer="" -metadata date="" -metadata genre="" -metadata title="" "output.webm"
ffmpeg -loop 1 -i cover.png -i song.flac -vf format=rgba64le,colorchannelmixer=aa=1,crop='floor(min(iw,ih)/2)*2:floor(min(iw,ih)/2)*2',scale=-2:720:flags=lanczos+accurate_rnd+full_chroma_inp+full_chroma_int:param0=4,format=yuv444p10le,setsar=1 -r 1 -c:v libsvtav1 -pix_fmt yuv420p10le -preset 1 -crf 23 -g 720 -svtav1-params "tune=0:enable-qm=1:aq-mode=1:lookahead=120:scd=1" -c:a libopus -b:a 160k -t hh:mm:ss.xx -map_metadata -1 -map_chapters -1 -metadata:s handler_name= -metadata:s vendor_id= -disposition 0 -metadata album="" -metadata album_artist="" -metadata artist="" -metadata composer="" -metadata date="" -metadata genre="" -metadata title="" "output-small.webm"
不要嘗試使用 -short 來取代 -t hh (具體時間須視歌曲時長手動填入), 因為這樣得出的長度一定是長於歌曲的具體時長的。
lib svt av1
AV
在前述的前提下,AV
總體上來說,可以套用以下設定——
-c:v libsvtav1 -pix_fmt yuv420p10le -preset 2 -crf 33 -svtav1-params "tune=0:enable-qm=1:aq-mode=1:lookahead=120:scd=1"
來壓出一個看起來還說得過去的質量。crf 設在 33 上看起來不高,但是其實調高(其實是調低)它的設定也未見得能將畫質提高到哪裡去,反而會徒增檔案的大小,得不償失。lib