我想知道 ffmpeg 是否有最佳的视频压缩参数,以及它的命令是怎样的。
压制参数要根据你的压缩率、目标画质、压制时间三者权衡,不同类型的视频所需的参数也不同,当然没有什么所谓的最佳参数,如果你只想要一个傻瓜式的压制工具,不妨试试别的,ffmpeg显然不太符合你的需求。
视频压制的话,考虑的问题很多,本地的观看设备,片源动画和真人影片要求也不同,如果是网站上传,还得考虑网站的上传文件限制,超过网站要求的文件限制网站还会二压,如果是一键的话可以考虑小丸.
crf 23
-crf 23 质量差了点。我都是用-crf 17的
要最佳的话 -preset placebo,压制会非常慢
还要根据视频来调-tune
-preset 控制效率,-crf 控制质量(越小越好)。
赶时间可以 -preset ultrafast -crf 14,不赶时间可以 -preset veryslow -crf 17。
只是举例,最终效果不满意可以把 crf 再往低调,但是文件也会变得更大。
除了楼上几位提到的视频内容本身的差异,还有个播放设备(屏幕分辨率)和观看者(肉眼分辨率)的影响。
我一般是切几个10-30秒的片段出来,然后用不同的 crf
值输出样片,肉眼自测。
遇上“适合”的视频,-crf 14
和-crf 23
压制后的画面效果真没啥差别(或许我该换眼镜了
FFmpeg默认好像就是23,我转mv和搞笑视频到手机用的27(越大画质越差),小屏幕肉眼几乎无法区别
学习一下啊
要是有最佳参数的话,估计就不会有压制组出现了,毕竟都用唯一的那个“最佳参数”,完全是一样的结果……
优质压制组的主旨都是在画面尽可能好的前提下,获得最小的体积,需要大量的参数试验,每个片都可能需要不一样的参数设置。
所以说压制是一个专业活
不同的需求,不同的參數。你把參數調高,那質量就肯定更好,但是體積也上去了。
質量到了一定程度,可能肉眼就看不出區別。
我对压制组的理解不太一样,压制组主要解决色带和调色之类的问题,压制参数反而不太重要。
ffmpeg的压制其实用的还是x264,对于x264有数十个可调参数(没数过,二十来个是有的)对最终成品会有影响.
不过虽然有那么多参数,但是实际上一部分用默认值,一部分根据影片类型有固定值.实际需要自行调整的也就那么四五个参数.
这些参数里,最重要的、影响最大的莫过于crf参数了(对于crf模式),对于同一个影片其他参数相同时这个参数越低,最终呈现效果越好,码率也越大.
不过crf参数也有边际效应,过低的值会带来极大的码率(体积)提升以及较小甚至看不出来的画质提升.
画面越单调的片子,所需的码率也就越低,crf参数也就可以取的更高.
看你的目的是什么了,如果要求不高,可以找一个知名压制组的片子,用mediainfo看看使用的压制参数,crf定到20,用脚本批量压就行.
我crf值16到24都用过.
无论是主要还是次要,不同压制组挑选压制参数多少都是有考虑到质量与体积的平衡,就像我说的“保证画面质量,体积尽量小”。针对不同类型的视频依然有不一样的重点或画面处理需求,例如真人视频和动漫肯定不能一概而论的嘛。
像我的理解,很大一部分人下载压制版,都是因为原盘体积太大,而压制版画质相差不大,体积显著减小
最近我也是在给硬盘里的一些 x264 美剧文件转为更小的 x265。
我平时下载电影美剧都是选的 x265,主要是文件能小不少,而视觉损失可以接受。
以前没接触过这些,网上查了查,根本别人的建议,我也是测试了好几遍。
首先是这个音频我根本听不出来 DD 1000+ kbps 和 AAC 224 kbps 的区别(毕竟我也没有家庭影院、杜比音响什么的),我看了下 RARBG 喜欢将音频压缩为 AAC 224k,那我也选这个了。
视频的话,我试过了 两次编码、GPU 编码、不同预设 -preset、-crf 18、20、23、28。
-
两次编码:
效果最好的(和 RARBG 一样选的是 2000 kbps),肉眼基本无法分辨区别,文件也非常小,但代价却是花费时间翻倍(毕竟是两次),这就太慢了点。。。 -
GPU 编码:
速度比 CPU 快一些,但是质量明显不如 CPU,比默认的 -crf 28 还差的样子。。。也可能是因为我的显卡渣渣的原因吧~ -
-preset:
这个只是随便试了几个,但感觉效果有点迷糊,要么用质量换速度,要么用速度换质量,所以我还是用默认值算了~ -
-crf:
18
,我仅靠肉眼可以说已经完全看不出来了。。。文件缩小了一半
20
,文件又小了不少,贴到屏幕上仔细看的话,在一些画面下是能看到细微差别
28
,文件大幅减小,但是画面质量也明显下降了
23
,最后我选了一个居中值(ffmpeg 官方文档提到了,265 的 28 = 264 的 23),试了下感觉还不错,文件大小很满意,画面的话对于视频中的一些文字什么完全看不出差别,只有在人物面部才能看到细微差别(但前提是需要贴到屏幕上仔细对比),类似于给人物皮肤做了个细微磨皮的样子,皮肤上的纹理变浅了(但并没有消失)
最终选择了 -c:v libx265 -crf 23 -c:a aac -b:a 224k
这个参数。
从 x264.mkv 变成 x265.mp4 ,文件缩小至 20%(1484 MB => 300 MB),而画面的损失我也可以接受(毕竟只是 1080P 视频罢了),而且我还需要考虑到压缩时间,目前基本上是 1:1(最多快几分钟),即一个 20 分钟的视频,需要花费 20 分钟。。。
如果用的是 -crf 20 则文件大概是 30%。