EasyPlayerPro(Windows)流媒体播放器开发之ffmpeg log输出报错
EasyPlayerPro主要基于ffmpeg進(jìn)行開發(fā),在EasyPlayerPro開發(fā)過程中,曾遇到一個(gè)相對比較棘手的問題,該問題一般在播放不是很標(biāo)準(zhǔn)的流或者網(wǎng)絡(luò)情況較差,容易出現(xiàn)丟幀的情況特別容易出現(xiàn);
基本表象在,播放一段時(shí)間程序會彈出錯(cuò)誤或者崩潰,查代碼邏輯根本無法查起,且不易重現(xiàn)(比如,我現(xiàn)在就想重現(xiàn),也未能重現(xiàn)出來–!后面補(bǔ)上),不過在播放沒有音頻的rtsp流的時(shí)候比較容易出現(xiàn),報(bào)錯(cuò)定位output.c源文件中,應(yīng)該是字符串格式化輸出的時(shí)候出錯(cuò),經(jīng)過排查,定位到ffmpeg的日志輸出,為了便于查看錯(cuò)誤,我在avformat_open_input()打開流函數(shù)前加了日志輸出打印函數(shù)調(diào)用:
av_log_set_level(AV_LOG_WARNING);
av_log_set_callback(callback);
在callback回調(diào)函數(shù)中輸出的日志打印,從而能看到FFMPEG的內(nèi)部報(bào)錯(cuò)信息,而屏蔽這兩句,雖然在丟幀的情況下視頻卡幀了,但是上文提到的報(bào)錯(cuò)的問題卻不再出現(xiàn)了,所以,我們猜測在ffpeg內(nèi)部應(yīng)該存在一個(gè)地方的日志打印出現(xiàn)錯(cuò)誤的地方,當(dāng)然也有可能是我的調(diào)用方法不合理導(dǎo)致的(誰知道呢),總之,問題是暫時(shí)得到了解決,后續(xù)找到真正報(bào)錯(cuò)的問題在補(bǔ)上。
關(guān)于EasyPlayerPro
EasyPlayerPro是一款全功能的流媒體播放器,支持RTSP、RTMP、HTTP、HLS、UDP、RTP等多種流媒體協(xié)議播放、支持本地文件播放,支持本地抓拍、本地錄像、播放旋轉(zhuǎn)、多屏播放等多種功能特性,穩(wěn)定、高效、可靠,支持Windows、Android、iOS三個(gè)平臺,目前在多家教育、安防、行業(yè)型公司,都得到的應(yīng)用,廣受好評!
EasyPlayerPro:https://github.com/EasyDSS/EasyPlayerPro
點(diǎn)擊鏈接加入群【EasyPlayer?&?EasyPlayerPro】:544917793
獲取更多信息
郵件:support@easydarwin.org
WEB:www.EasyDarwin.org
Copyright ? EasyDarwin.org 2012-2017
總結(jié)
以上是生活随笔為你收集整理的EasyPlayerPro(Windows)流媒体播放器开发之ffmpeg log输出报错的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux Intel HD4000外接
- 下一篇: 崭新的诺基亚:诺记能否借Windows