ffmpeg工作遇见坑

在以往的output里一直复制input的condeccontext,今天沿用代码时候发现视频播放时候有很大部分缺失,查看一下发现output的timebase比起input的timebase大很多,这不正常。反复对比之前跟现在的差别,发现了我在input的时候多了一个打开解码器的过程,这个导致了我output的timebase不同。这次Mark下来防止以后再遇见。

在重编码视频时候我发现视频会不行卡顿跟混乱,这是因为解码时候将frame缓冲下来,而data受到了上一帧的数据,正确做法是copy数据下来。


在使用ffmpeg滤镜时候,假如你使用"[in1]scale = iw / 2:ih / 2[in_tmp]; [in_tmp]split = 4[in_1][in_2][in_3][in_4]; [in_1]pad = iw * 2:ih * 2[a]; [a][in_2]overlay = w[b]; [b][in_3]overlay = 0:h[d]; [d][in_4]overlay = w:h[out]"这条拼接指令时候,你会发现十分慢,原因是在缩放那边,所以正确做法是先自己在程序缩放后再进行拼接,那样效率大大提高,不过还有个问题就是encode那边,现在还没有办法解决这个问题,先再研究研究,最好是能做到一帧耗时在10ms内。


在使用H264的编码时候avcodec_open2失败,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值