EasyPlayerPro(Windows)流媒体播放器开发之ffmpeg log输出报错
2017-09-10 22:06
387 查看
EasyPlayerPro主要基于ffmpeg进行开发,在EasyPlayerPro开发过程中,曾遇到一个相对比较棘手的问题,该问题一般在播放不是很标准的流或者网络情况较差,容易出现丢帧的情况特别容易出现;
基本表象在,播放一段时间程序会弹出错误或者崩溃,查代码逻辑根本无法查起,且不易重现(比如,我现在就想重现,也未能重现出来–!后面补上),不过在播放没有音频的rtsp流的时候比较容易出现,报错定位output.c源文件中,应该是字符串格式化输出的时候出错,经过排查,定位到ffmpeg的日志输出,为了便于查看错误,我在avformat_open_input()打开流函数前加了日志输出打印函数调用:
av_log_set_level(AV_LOG_WARNING);
av_log_set_callback(callback);
在callback回调函数中输出的日志打印,从而能看到FFMPEG的内部报错信息,而屏蔽这两句,虽然在丢帧的情况下视频卡帧了,但是上文提到的报错的问题却不再出现了,所以,我们猜测在ffpeg内部应该存在一个地方的日志打印出现错误的地方,当然也有可能是我的调用方法不合理导致的(谁知道呢),总之,问题是暂时得到了解决,后续找到真正报错的问题在补上。
WEB:www.EasyDarwin.org
Copyright © EasyDarwin.org 2012-2017
基本表象在,播放一段时间程序会弹出错误或者崩溃,查代码逻辑根本无法查起,且不易重现(比如,我现在就想重现,也未能重现出来–!后面补上),不过在播放没有音频的rtsp流的时候比较容易出现,报错定位output.c源文件中,应该是字符串格式化输出的时候出错,经过排查,定位到ffmpeg的日志输出,为了便于查看错误,我在avformat_open_input()打开流函数前加了日志输出打印函数调用:
av_log_set_level(AV_LOG_WARNING);
av_log_set_callback(callback);
在callback回调函数中输出的日志打印,从而能看到FFMPEG的内部报错信息,而屏蔽这两句,虽然在丢帧的情况下视频卡帧了,但是上文提到的报错的问题却不再出现了,所以,我们猜测在ffpeg内部应该存在一个地方的日志打印出现错误的地方,当然也有可能是我的调用方法不合理导致的(谁知道呢),总之,问题是暂时得到了解决,后续找到真正报错的问题在补上。
关于EasyPlayerPro
EasyPlayerPro是一款全功能的流媒体播放器,支持RTSP、RTMP、HTTP、HLS、UDP、RTP等多种流媒体协议播放、支持本地文件播放,支持本地抓拍、本地录像、播放旋转、多屏播放等多种功能特性,稳定、高效、可靠,支持Windows、Android、iOS三个平台,目前在多家教育、安防、行业型公司,都得到的应用,广受好评!获取更多信息
邮件:support@easydarwin.orgWEB:www.EasyDarwin.org
Copyright © EasyDarwin.org 2012-2017
![](http://www.easydarwin.org/skin/easydarwin/images/wx_qrcode.jpg)
相关文章推荐
- EasyPlayerPro(Windows)流媒体播放器开发之ffmpeg log输出报错
- EasyPlayerPro(Windows)开发之ffmpeg log输出报错
- EasyPlayerPro(Windows)流媒体播放器开发之接口设计
- EasyPlayerPro(Windows)流媒体播放器开发之接口设计
- EasyPlayerPro(Windows)流媒体播放器开发之跨语言调用
- EasyPlayerPro(Windows)流媒体播放器开发之跨语言调用
- EasyPlayerPro(Windows)流媒体播放器开发之框架讲解
- EasyPlayerPro(Windows)流媒体播放器开发之框架讲解
- EasyPlayerPro(Windows)开发系列之采用ffmpeg进行截图
- EasyPlayerPro(Windows)开发系列之解决ffmpeg接口调用卡住的问题
- EasyPlayerPro(Windows)开发之接口说明
- EasyPlayerPro(Windows)开发之跨语言调用
- EasyPlayerPro(Windows)开发系列之采用ffmpeg进行录像
- EasyPlayerPro(Windows)流媒体播放器功能介绍及应用场景
- EasyPlayerPro(Windows)开发系列之解决分片录像时间戳不正常的问题
- windows环境下搭建ffmpeg开发环境
- ffmpeg开发出现的问题(四) ftp/rstp/ts 流输出
- Linux GCC 开发入门(2) -- 日志输出功能 从windows移植 NCTRACE
- 学徒浅析Android开发——windows64下FFmpeg编译问题汇总
- android开发中怎么通过Log函数输出当前行号和当前函数名