JvaCV推流過程中遇到內存溢出,JVM異常OOM問題的解決方法

JvaCV推流過程中遇到內存溢出,JVM異常OOM問題的解決方法

項目碼雲(Gitee)地址:https://gitee.com/banmajio/RTSPtoRTMP
項目github地址:https://github.com/banmajio/RTSPtoRTMP
個人博客:banmajio’s blog

javacv使用ffmpeg將rtsp轉rtmp直播流播放的問題解決與優化系列文章:
FFmpeg轉封裝rtsp到rtmp(無需轉碼,低資源消耗)
JavaCV中FFmpegFrameGrabber調用start()方法時出現阻塞的解決辦法
JavaCV使用FFmpeg進行rtsp轉rtmp直播流畫面延時的優化方法
JavaCV1.5.3版本FFmpegFrameGrabber初始化的時候加載時間長的解決方法
av_write_frame() error -22 while writing video packet解決方法

問題分析

在使用JavaCV1.4.4和1.5.2版本時,將視頻流(inputstream)推rtmp的時候,大概推半小時左右就會出現內存溢出的錯誤:javacv java.lang.OutOfMemoryError: Java heap space,或者直接JVM崩潰,導致程序掛掉。後來升級到JavaCV1.5.3版本後,問題的到解決。查看github上JavaCV項目的Issues發現很多人遇到過這個問題,導致此異常的原因是因爲源碼在處理時有個邏輯判斷存在問題,在1.5.3版本已對這個問題進行了修復。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章