【FFmpeg】降低转码延迟方法、打印信息详解、refcounted_frames详解

129 篇文章 137 订阅 ¥69.90 ¥99.00

【目录】郭老二博文之:图像视频汇总

1、FFmpeg降低转码延迟方法

关闭sync-lookahead

降低rc-lookahead,但别小于10,默认是-1

降低threads(比如从12降到6)

禁用rc-lookahead

禁用b-frames

缩小GOP, 

开启x264的 -preset fast/faster/verfast/superfast/ultrafast参数

使用-tune zerolatency 参数

2、ffmpeg打印信息:源码里打印的这段是这样定义的

av_log(NULL, AV_LOG_INFO,
               "%7.2f %s:%7.3f fd=%4d aq=%5dKB vq=%5dKB sq=%5dB f=%"PRId64"/%"PRId64&
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
ffmpeg降低视频的帧率可以通过两种方法实现:丢帧(drop frames)和插帧(frame interpolation)。这两种方法有不同的效果和使用场景。 1. 丢帧(drop frames):这是最简单的方法,它直接丢弃一些视频帧,从而降低帧率。丢帧的效果是直接降低了视频的流畅度,并且可能会导致画面不连续或卡顿。但是,它保持了原始视频的时间长度和时序。在ffmpeg中,可以使用以下参数来实现丢帧: ``` ffmpeg -i 输入视频文件 -r 目标帧率 输出视频文件 ``` 其中,`-r 目标帧率`表示指定输出视频的帧率,ffmpeg会自动丢弃一些帧以达到目标帧率。 2. 插帧(frame interpolation):这种方法通过在丢帧的基础上,通过复制、插入或生成新的帧来填充丢失的帧,以保持视频的流畅度。插帧可以提高视频的观看体验,但也可能引入一些画质损失或者影响原始视频的时序。在ffmpeg中,可以使用插值滤镜来实现插帧。例如,使用`minterpolate`滤镜可以进行插值处理: ``` ffmpeg -i 输入视频文件 -vf "minterpolate=fps=目标帧率" 输出视频文件 ``` 其中,`minterpolate=fps=目标帧率`表示使用插值滤镜来生成目标帧率的视频。 选择丢帧还是插帧取决于你对视频的要求和场景。如果只是简单地降低帧率,丢帧可能是一个较简单的选择。如果需要保持流畅度,并允许一些画质损失,可以考虑使用插帧方法。请根据实际需求选择适当的方法

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郭老二

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值