关于H264编码的问题
2016-06-24 11:43
225 查看
在解码后再编码时发生了
原因是解码后我们得到一个AVFrame ,这里的AVFrame的pkt_pts记录了AvPacket 的pts,然后我们调用avcodec_encode_video2时,要知道AVFrame的pts,而解码后的是没有的,要我们自己手动赋值, inputFrame->pts = inputFrame->pkt_pts ;
这一切都是因为H264 编码的时候需要知道IBBP帧,IBBP显示顺序是1234,但编码顺序是1423,所以要确定pts。
具体请参考http://www.rosoo.net/a/201411/17115.html
Application provided invalid, non monotonically increasing dts to muxer in stream
原因是解码后我们得到一个AVFrame ,这里的AVFrame的pkt_pts记录了AvPacket 的pts,然后我们调用avcodec_encode_video2时,要知道AVFrame的pts,而解码后的是没有的,要我们自己手动赋值, inputFrame->pts = inputFrame->pkt_pts ; 这一切都是因为H264 编码的时候需要知道IBBP帧,IBBP显示顺序是1234,但编码顺序是1423,所以要确定pts。
具体请参考http://www.rosoo.net/a/201411/17115.html
相关文章推荐
- Hybrid开发简介
- Sublime Text 插件开发流程
- sqlite 分页查询
- 文件上传
- Material Design Ripple 标签的简单使用
- a
- 安装oracle即时客户端
- iterm终端高亮
- MVVM初尝试--UITableView数据Manager思路分享
- 不以预测为目的的大数据都是耍流氓
- 程序猿的笑话!
- spark操作hbase
- iOS MPMoviePlayerController(已废弃)入门使用(模仿keep未登录)&广告动画开场效果
- ArrayList练习(带答案)
- bootstrapvalidator+bootstrap-select select无法校验问题解决方法
- 解决inline-block上下不对齐
- IOS系列- CALayer
- 安装oracle即时客户端
- Nginx开发从入门到精通-基础篇
- C#双缓冲实现方法(可防止闪屏)