这是一款基于QT框架打造的高效多功能音视频播放器,具备单路与多路线性播放能力,支持软硬解码技术,并提供本地及实时视频播放体验。软件内嵌录像截图、YUV与RGB格式显示功能,同时配备音量调节和进度条控制等实用特性。
本项目使用的Qt版本为5.8,在此版本或更高版本上可进行编译。FFmpeg采用的是5.1版本,并在工程的WinLib目录下提供了x86和64位的FFmpeg供选择。测试视频文件位于Bin目录中,实时流则是通过拉取摄像头RTSP流来进行。
本播放器支持软硬解码,其中硬解码使用DXVA2技术。采用FFmpeg进行解码后,通过重写QOpenGLWidget类使YUV转RGB的处理在GPU上完成,以减少CPU负载。音频输出部分则采用了QAudioOutput,并可通过setVolume接口控制音量。
此外,该播放器支持PCM_MULAW、PCM_ALAW以及AAC编码格式的音频文件。它还具备单路和多路播放功能:单路播放器中ctYuvOpenglWidget类用于在GPU上处理YUV转RGB操作,而ctOpenglWidget则直接渲染RGB图像;对于多路播放器,则支持多个分屏切换,并可通过config目录下的mulvideo.ini文件配置要播放的流地址。
项目代码包含详细的注释说明。