ffempge 效率 生成_ffmpeg编码x264

本文详细介绍了如何使用ffmpeg进行x264编码优化,包括使用ultrafast预设提高转码速度,调整tune参数以适应直播编码,选择不同profile和level,控制GOP间隔和B帧数量,以及设定码率波动策略。通过这些参数的调整,可以实现编码效率与视频质量的平衡。
摘要由CSDN通过智能技术生成

协助查看编码的工具有:Elecard、Bitrate Viewer、ffprobe

e31393e20dac?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

x264参数.png

e31393e20dac?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

x264参数1.png

prest的参数有:ultrafast 、superfast、veryfast、faster、fast、medium、slow 代表不同的速度,越慢质量越好

转码参数为ultrafast,转码速度为4.26倍速

./ffmpeg -i test2.mp4 -vcodec libx264 -preset ultrafast -b:v 2000k output264.mp4

tune调优编码:

直播编码推流时tune的参数zerolatency将会提升效率

profile(档次)与level:

BaseLine、Extented、Main、High、Hight10等

e31393e20dac?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

x264编码profile参数.png

Leve的影响,以下为部分截图:

e31393e20dac?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

level参数的影响.png

每50帧设置一个GOP间隔生成60秒的mp4视频,也就是控制多少帧有一个关键帧。有利于切片

./ffmpeg -i test2.mp4 -c:v libx264 -g 50 -t 60 output.mp4

利用sc_threshold解决场景切换会强制插入GOP问题

./ffmpeg -i test2.mp4 -c:v libx264 -g 50 -sc_threshold 0 -t 60 -y output.mp4

不希望出现B帧:

./ffmpeg -i test2.mp4 -c:v libx264 -x264opts “bframes=0” -g 50 -sc_threshold 0 output.mp4

控制I帧、P帧、B帧的频率与规律,可通过控制GOP中B帧的帧数来实现,p帧的频率可以通过x264的参数b-adapt进行设置

在GOP中每2个P帧之间存放3个B帧:

./ffmpeg -i test2.mp4 -c:v libx264 -x264opts “bframes=3:b-adapt=0” -g 50 -sc_threshold 0 output.mp4

总结:B帧越多,同码率清晰度将会越高,但编码复杂度越高,合理用B帧对于清晰度与码率的平衡尤其重要。

CBR恒定码率,VBR可变码率。

控制码率波动:

-b:v、maxrate、minrate 最大码率与最小码率

./ffmpeg -i test2.mp4 -c:v libx264 -x264opts “bframes=10:b-adapt=0” -b:v 1000k -maxrate 1000k -minrate 1000k -bufsize 50k -nal-hrd cbr -g 50 -sc_threshold 0 output.ts

分析命令:

设置B帧的个数,每2个P帧直接包含10个B帧

设置视频码率为1000kbit/s

设置最小和最大码率为1000kbit/s

设置编码buffer大小为50KB(过大过小会影响码率)

设置H.264的编码HRD信号形式为CBR

设置每50帧一个GOP

设置场景切换不强行插入关键帧(sc_threshold)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值