- 本人亲测解码显示对比延迟达到7到20毫秒之间浮动
- 兼容播放音视频文件、拉流RTSP、RTMP等网络流
基于 Qt 和 FFmpeg 的视频解码播放器类,继承自 QThread,实现了视频流的解码、播放控制、帧同步和错误恢复等功能
- 工作流程
初始化阶段:
用户设置URL和显示尺寸
调用play()启动线程解码循环:
打开媒体流并初始化解码器
持续读取视频帧并解码
处理帧同步和播放速度控制
转换帧格式并发送给显示
错误处理:
网络中断时尝试重连
帧延迟过大时调整播放速度
严重错误时停止播放
资源清理:
停止播放时释放所有资源
析构时确保资源正确释放
- 初始化和清理函数
avformat_network_init()
功能: 初始化网络库
说明: 在使用网络协议(如RTSP/RTMP)前必须调用对应清理
- int avformat_open_input(AVFormatContext **ps, con