欢迎光临散文网 会员登陆 & 注册

FFmpeg压制bilibili视频随便写写

2020-05-26 19:28 作者:暗切线  | 我要投稿

最近问的有点多的一个问题。如何在符合标准的情况下压制的更清楚。

所以随便写写

先看下压制要求

(所有不看压制要求的压制均属于耍流氓)

似乎根据不同的账号有所不同。这个是我的。。

首先确定一下

视频:

  1. 分辨率: 1080P

  2. 码率 6000

  3. 码率峰值 24000(其实如果不是你的视频特别奇葩,是不会超过限制的)不过 后黑压制基本GG

  4. gopsize 10秒 按帧率可以计算一下(例 60fps * 10 = 600, 也就是600帧里一定要有个关键帧)

  5. 色彩空间 位深度: yuv420 8位。

音频: 双声道 44100 320kbps

FFMPEG 下载和使用: 

老生常谈的话题。见以前的一片文章吧。懒得再写一遍了


编码器和参数选择

依据要求:

x264编码器: 软编码,目前来讲市面上最好的H264编码器了。软编码会比硬编码效果好不少

Profile main: main profile默认的色彩空间是标准的 yuv420p。8位的位深度,yuv420。无需再设置。(注:yuv420p、NV12、yuy2等格式的差别基本也是我面试音视频工程师(图像处理方向)的必考题之一)

其他参数依据要求。


命令

基础编码参数

ffmpeg -i videoplayback.mp4 -c:v libx264 -b:v 6000k -profile:v main -s 1920x1080 -c:a aac -b:a 320k 1.mp4

-i videoplayback.mp4: 视频文件

-c:v libx264 :选用x264编码器

-b:v 6000k: 码率

-s 1920x1080: 分辨率 特别注意:如果原片低于改分辨率一定要缺省(不写)因为拉伸画面不会有超分辨的效果。而且随着分辨率增加,相同码率情况下,清晰度一定偏低


用编码时间换清晰度的参数

ffmpeg -i videoplayback.mp4 -preset:v slower -c:v libx264 -b:v 6000k -profile:v main -s 1920x1080 -c:a aac -b:a 320k 1.mp4

-preset:v slower : 较慢编码 (编码速度越慢编出来的越清晰。不过我觉得很多人大概等不起)

可选值: ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow and placebo


进一步精细调整编码损失

ffmpeg -i videoplayback.mp4 -preset:v slower -c:v libx264 -b:v 6000k -profile:v main -s 1920x1080 -c:a aac -b:a 320k -x264opts crf=18 1.mp4 

-x264opts crf=18: 值越大损失越严重 取值区间 0-51(悠着点写)


执行过程

(片源问题 压不上去码率的哈哈)

不多说了 大致都能看懂吧。。你编码总时长约等于 speed 乘 视频总时长。

是不是很简单~

另外,最近忙着炒大头菜,没太多时间写工具(像引用的文章那种)。有空再说吧。


技术交流群:711929228  

本期进群问题:AoM是那个公司发起的?  

正确答案:谷歌  

解析:AOM Alliance for Open Media 谷歌发起的开源媒体联盟。加入条件是 会费+技术团队 也就是要求联盟成员企业氪金还肝。推出了AV1编码标准。


FFmpeg压制bilibili视频随便写写的评论 (共 条)

分享到微博请遵守国家法律