二刷1988

“火热又纯真,所以肝肠寸断地怀念那个时候,听见了吗?听见了,就请回答,我的1988年,我的青春”

随手记

关于macOs视频压制

brew install ffmpeg --HEAD --with-fdk-aac --with-sdl2 --with-freetype --with-libass --with-libbluray --with-libvorbis --with-libvpx --with-opus --with-webp --with-x265

压制 x264 编码视频文件

ffmpeg -i input.mp4 -c:a libfdk_aac -c:v libx264 -crf 20 -preset slow output.mp4

压制 HEVC 10bit 编码视频文件

ffmpeg -i input.mp4 \
       -c:v libx265 -preset medium -crf 18 -pix_fmt yuv420p10le \
       -c:a libfdk_aac -b:a 256k \
       -tag:v hvc1 \
       output_10bit.mp4

修改视频分辨率

ffmpeg -i input.mp4 -vf scale=-2:720 -c:v libx264 -crf 20 -preset slow -c:a copy output.mp4

-vf scale=-2:720 会自动计算对应的横向分辨率(需为 2 的倍数,因此为 -2),源文件音频编码保持不变,因此设为 copy 即可。特殊情况下,遇到源文件视频比例错误,除了修改分辨率数值,还需要设置 dar 参数,例如:

ffmpeg -i input.avi -vf scale=722x406,setdar=16/9 -c:v libx264 -c:a libfdk_aac -preset slow -crf 20 output.mp4

反交错(Deinterlace)

ffmpeg -i input.vob -vf yadif -c:v libx264 -preset slow -crf 20 -c:a libfdk_aac -b:a 256k output.mp4

如果压制出来的效果不佳(还是有扫描线),可以尝试将 vf 的部分改为 -vf yadif=1:-1:0,mcdeint=2:1:10

旋转视频

ffmpeg -i input.mov -vf "transpose=1" -c:a copy output.mov

其中,

0 = 90 Counter Clockwise and Vertical Flip (default) 
1 = 90 Clockwise 
2 = 90 Counter Clockwise 
3 = 90 Clockwise and Vertical Flip

如果想要 180 度翻转视频,则需要改为 -vf"transpose=2,transpose=2"。值得注意的是,旋转视频意味着对视频进行重编码,输出质量会稍微受到影响,可以添加 crf 参数控制视频输出质量,音频部分可以使用 copy

参考文档

https://www.ffmpeg.org/documentation.html

Q.E.D.


味无味处求吾乐,材不材间过此生。