- 本人親測解碼顯示對比延遲達到7到20毫秒之間浮動
- 兼容播放音視頻文件、拉流RTSP、RTMP等網絡流
基于 Qt 和 FFmpeg 的視頻解碼播放器類,繼承自 QThread,實現了視頻流的解碼、播放控制、幀同步和錯誤恢復等功能
- 工作流程
初始化階段:
用戶設置URL和顯示尺寸
調用play()啟動線程解碼循環:
打開媒體流并初始化解碼器
持續讀取視頻幀并解碼
處理幀同步和播放速度控制
轉換幀格式并發送給顯示
錯誤處理:
網絡中斷時嘗試重連
幀延遲過大時調整播放速度
嚴重錯誤時停止播放
資源清理:
停止播放時釋放所有資源
析構時確保資源正確釋放
- 初始化和清理函數
avformat_network_init()
功能: 初始化網絡庫
說明: 在使用網絡協議(如RTSP/RTMP)前必須調用對應清理
- int avformat_open_input(AVFormatContext **ps, con