FFmpeg视频转码技巧之

昨天,有个朋友给我出了个难题:他手上有一个视频,1080P的,49秒,200多兆;要求在确保质量的情况下把文件压缩到10M以内。

这是什么概念呢?按照文件大小10M来计算,码率是:10 x 8 / 49 = 1.6 Mbps。也就比VCD的质量略好一点(注:VCD的标准码率是1150 Kbps)。谈何“确保质量”?mission impossible啊!

咱还是现实一点吧。在不明显损失画质的前提下,看看使用FFmpeg能够帮到多少忙。用iPhone拍了一个1920 x 1080的视频,33秒,46.3 MB,编码格式是H.264。考虑到H.264目前尚是主流的视频格式,为了播放的兼容性,我们在使用FFmpeg转码时同样选择H.264。

命令行参数-crf

在优先保证画面质量(也不太在乎转码时间)的情况下,使用-crf参数来控制转码是比较适宜的。这个参数的取值范围为0~51,其中0为无损模式,数值越大,画质越差,生成的文件却越小。从主观上讲,18~28是一个合理的范围。18被认为是视觉无损的(从技术角度上看当然还是有损的),它的输出视频质量和输入视频相当。

我们的策略是,在保证可接受视频画质的前提下,选择一个最大的crf值——如果输出视频质量很好,那就尝试一个更大的值;如果看起来很糟,那就尝试一个小一点的值。

让我们先执行下面这条命令(关于FFmpeg运行环境的配置,请参阅这篇文章):

ffmpeg -i D:\src.mov -c:v libx264 -preset veryslow -crf 18 -c:a copy D:\dest1.mp4

意思是:将D盘的源文件src.mov,以“非常慢”的速度重新编码成H.264格式,保存为D:\dest1.mp4。其中,-preset指定的编码速度越慢,获得的压缩效率就越高。而-c:a copy又是什么意思呢?因为音频的码率一般都比较小,我们就不折腾它了,况且解码后重新编码也会损害音质,于是,就将音频数据从源文件中以原有编码格式直接拷入目标文件吧。

小提示:想知道-c:v 后面的参数值怎么填吗?或者说FFmpeg到底支持哪些音视频编码格式?执行ffmpeg –encoders看一下吧。另外,执行ffmpeg -i D:\src.mov -c:v libx264 -preset -tune D:\dummy.mp4可以看到-preset参数的取值范围,如下:

有个小疑问:既然不在乎等待时间,为什么不给-preset指定一个最慢的placebo呢?那是因为:与 veryslow相比,placebo以极高的编码时间为代价,只换取了大概1%的视频质量提升。这是一种收益递减准则:slow 与 medium相比提升了5%~10%;slower 与 slow相比提升了5%;veryslow 与 slower相比提升了3%。

另外,针对特定类型的源内容(比如电影、动画等),还可以使用-tune参数进行特别的优化。但如果你不确定该用哪个选项,还是忽略这个参数吧。

对比效果

执行完一条转码命令之后,调整-crf参数值,分别设为19、20、28、51,重新转码输出为不同的MP4文件。记录数据,对比如下:

crf = 18

crf = 19

crf = 20

crf = 28

crf = 51

文件大小(MB)

46.3

36.7

31.2

26.5

7.95

1.25

缩减比率

21%

33%

43%

83%

97%

尝试播放这些文件。发现crf取值为18~28的情况下生成的文件,其画质没有明显的差异,而以-crf 51生成的视频画质已经惨不忍睹了!在实际应用中,多试几个crf值,在画质和压缩比之间找到一个你能接受的平衡点即可。

参考文章:ffmpeg与x264编码指南

(0)

相关推荐

  • Ffmpeg 视频压缩的几个关键参数

    视频压缩用到的参数主要为以下几个: 文件路径:-i 输入文件的路径 码率:-b:v 输出文件的码率 分辨率:-s 输出文件的分辨率: 帧率:-r 输出文件的帧率值 码率 码率,即波特率.值越小,转换后 ...

  • 视频高清低损压缩命令行实现方案推荐

    通常我们的MAC录制视频后文件都非常大,15min的视频可以达到2G大小,哪怕是三五分钟视频也有好几遍M !!! 所以需要转换,压缩,但是不能降低太多的分辨率. 这里我的御用视频编辑师推荐了一款非常轻 ...

  • DASH简介及使用方法(FFmpeg, MP4Box)

    引入XXXX后,(对照竞品)网页端的视频观看体验存在以下问题: 1. 切换画质(1080P/高清/标清)时,播放器会黑屏,并回退到关键帧重新播放. 2. 不能根据网络状况自适应调整码率(YouTube ...

  • 视频打码也不怕!老司机教你怎么去除视频马赛克

    好多人加了我之后,就问收费吗?我说不收费的模式,当然也会有一点点要求而已,但对于你来说不是门槛. 持续分享出你需要的有价值的东西,也算是一种收获. 如果还没有关注此公众号,请一定要星标喔!这样才不会错 ...

  • 发现一款视频转码压缩工具,短视频自媒体人赶紧收藏

    做短视频时,经常会遇到这些问题: 精心制作的短视频体积太大,上传速度慢,甚至超过了平台的最大上传体积: 获取到的视频素材格式不支持,需要对视频转码后方可使用: 只想要视频素材中的一小段精彩片段,但冗长 ...

  • 旅行出去玩怎么拍视频?这个技巧超有趣,让你的volg更有感觉

    旅行出去玩怎么拍视频?这个技巧超有趣,让你的volg更有感觉

  • qsv视频格式转换技巧分享

    又到了和大家分享的时刻了,说到这我不得不吐槽一下我的表妹!哎呀这前两天我正在家里看鬼片,突然手机就响起来了,我的天当时真的是给我吓了一个大条!!!接通电话正想骂她,对方赶紧说江湖救急,她急需一个qsv ...

  • 短视频源码开发如何增加市场竞争力?

    你闲暇时光会做些什么呢?我相信很多人会刷刷视频来放松一下,由此也可见短视频的火爆程度.其实短视频如今的火热是有迹可循的,一方面,随着智能终端的发展和普及,我国使用手机设备上网的网民已经达到了96.3% ...

  • 秦绪文:做自媒体视频有小技巧,什么技巧?就是黄金15秒

    一个人有钱的过程,就是内心柔软的过程. 做自媒体视频有小技巧,什么技巧?就是黄金15秒. 如果没有在开头就吸引粉丝,做的再用心,也就没有机会被看到了. 因此.需要在视频的开头黄金时间内把视频最精彩的部 ...

  • 双色球杀红码技巧

    双色球杀红码技巧

  • [视频] 4个技巧,让你的英文邮件情商满满!

    在公众号"侃英语"后台,输入"电邮",获得文末提到的资料~~

  • 视频转换:qsv视频格式处理技巧分享

    又到了和大家分享的时刻了,说到这我不得不吐槽一下我的表妹!哎呀这前两天我正在家里看鬼片,突然手机就响起来了,我的天当时真的是给我吓了一个大条!!!接通电话正想骂她,对方赶紧说江湖救急,她急需一个qsv ...