ffmpeg开发:关于对错误pts () < dts () in stream的解决方法
2017-08-25 21:46
387 查看
关于对错误pts () < dts () in stream的解决方法。出现这种错误是由于视频pts大于dts。pts是视频播放时间,dts是送入解码器解码时间。所以一帧视频播放时间必须在解码时间点之后。解决方法是进行判断:if(packet.pts < packet.dts) continue;把异常的帧简单跳过,异常帧只是极少数简单跳过不会有什么影响。
产生错误的原因一般是对dts,pts操作不当。比如在进行视频分割时,常用的方法是视频截取后半段视频pts与dts减去前半段pts和dts。前半段pts可能比dts大(当解码的视频帧不是I帧时)后半段刚开始视频pts和dts刚好相等(当前帧为I帧时),两个一相减就会出现dts小于pts的情况。
产生错误的原因一般是对dts,pts操作不当。比如在进行视频分割时,常用的方法是视频截取后半段视频pts与dts减去前半段pts和dts。前半段pts可能比dts大(当解码的视频帧不是I帧时)后半段刚开始视频pts和dts刚好相等(当前帧为I帧时),两个一相减就会出现dts小于pts的情况。
相关文章推荐
- 关于no transaction is in progress错误的解决方法
- 关于项目文件导入打开报:无法识别元素 <Target> 中的属性“Returns”错误解决方法
- 最近在ArcGIS Engine开发中关于调用gp工具过程出现COM 组件的调用返回了错误 HRESULT E_FAIL 错误的解决方法 和 学习oracle中遇到的一些问题总结
- 开发新浪微博应用出现以下问题Fatal error:Call to undefined function curl_init() in错误的解决方法
- 开发ffmpeg/live555常见问题错误及解决方法
- [乐意黎原创]PHP 写入文件时抛failed to open stream:Permission denied in 错误的解决方法
- 关于<您需要来自S-1-5-21-XXXXXXXXXXX 的权限>的错误解决方法
- 开发ffmpeg/live555常见问题错误及解决方法
- 关于微信公众号开发config:invalid signature错误的解决方法
- 关于错误IOError:<urlopen error (-3, 'Temporary failure in name resolution')>的解决
- 开发ffmpeg/live555常见问题错误及解决方法
- 关于Angular2.0 in-memory-web-api的GET http://localhost:3000/traceur 404 (Not Found)等错误的解决方法之一
- 关于64位CentOS上ptrace报<linux/user.h> no such file 错误的解决方法
- 关于开发在线网页编辑器按回车会输入<p>而不是<br>的解决方法
- vim中Mapping already in use: "<LocalLeader>is", mode "n"错误解决的方法解释
- 关于编译ffmpeg的output-example.c和api-example.c 错误的一些解决方法
- 关于在eclipse下android开发的错误:“Unable to resolve target 'android-18'"的解决方法
- 关于C++头文件#include<iostream.h>debug时提示文件目录不存在错误解决方法?
- 关于项目文件导入打开报:无法识别元素 <Target> 中的属性“Returns”错误解决方法
- oracle安装后 tomcat启动报 Address already in use: JVM_Bind<null>:8080 错误 的几种解决方法