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