EasyPlayerPro(Windows)流媒体播放器开发之ffmpeg log输出报错
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內部應該存在一個地方的日志打印出現錯誤的地方,當然也有可能是我的調用方法不合理導致的(誰知道呢),總之,問題是暫時得到了解決,后續找到真正報錯的問題在補上。
關于EasyPlayerPro
EasyPlayerPro是一款全功能的流媒體播放器,支持RTSP、RTMP、HTTP、HLS、UDP、RTP等多種流媒體協議播放、支持本地文件播放,支持本地抓拍、本地錄像、播放旋轉、多屏播放等多種功能特性,穩定、高效、可靠,支持Windows、Android、iOS三個平臺,目前在多家教育、安防、行業型公司,都得到的應用,廣受好評!
EasyPlayerPro:https://github.com/EasyDSS/EasyPlayerPro
點擊鏈接加入群【EasyPlayer?&?EasyPlayerPro】:544917793
獲取更多信息
郵件:support@easydarwin.org
WEB:www.EasyDarwin.org
Copyright ? EasyDarwin.org 2012-2017
總結
以上是生活随笔為你收集整理的EasyPlayerPro(Windows)流媒体播放器开发之ffmpeg log输出报错的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux Intel HD4000外接
- 下一篇: 崭新的诺基亚:诺记能否借Windows