QtC视频播放综合应用示例

2022-03-17

Qt/C++视频播放综合应用示例

简介

本资源文件提供了一个由Qt/C++编写的视频播放综合应用示例。该示例集成了多种视频播放内核,包括qmedia、ffmpeg、vlc、mpv、海康sdk和easyplayer等,旨在展示如何利用这些内核实现视频播放功能。

功能特点

  1. 基础功能
    • 支持多种音频视频文件格式,如mp3、wav、mp4、asf、rm、rmvb、mkv等。
    • 支持本地摄像头设备,可指定分辨率、帧率。
    • 支持各种视频流格式,如rtp、rtsp、rtmp、http等。
    • 自动识别文件长度、播放进度、音量大小、静音状态等。
    • 支持倍速播放文件,可选0.5倍、1.0倍、2.5倍、5.0倍等速度。
    • 支持开始播放、停止播放、暂停播放、继续播放。
    • 支持抓拍截图,可指定文件路径,可选抓拍完成是否自动显示预览。
    • 支持录像存储,手动开始录像、停止录像。
    • 支持无感知切换循环播放、自动重连等机制。
  2. 特色功能
    • 同时支持多种解码内核,包括qmedia内核(Qt4/Qt5/Qt6)、ffmpeg内核(ffmpeg2/ffmpeg3/ffmpeg4/ffmpeg5)、vlc内核(vlc2/vlc3)、mpv内核(mpv1/mp2)、监控厂家sdk内核等。
    • 支持多种画面显示策略,如自动调整、等比例缩放、拉伸填充等。
    • 支持多种视频显示模式,如句柄模式、绘制模式、GPU模式等。
    • 支持多种硬件加速类型,如ffmpeg可选qsv、dxva2、d3d11va等,mpv可选auto、dxva2、d3d11va,vlc可选any、dxva2、d3d11va等。
    • 解码线程和显示窗体分离,可指定任意解码内核挂载到任意显示窗体,动态切换。
    • 支持共享解码线程,默认开启并且自动处理。
    • 自动识别视频旋转角度并绘制,自动识别视频流播放过程中分辨率的变化。
    • 音视频文件无感知自动切换循环播放,不会出现切换期间黑屏等肉眼可见的切换痕迹。
  3. 视频控件
    • 可动态添加任意多个osd标签信息和图形信息。
    • 内置悬浮条控件,悬浮条位置支持顶部、底部、左侧、右侧。
    • 悬浮条控件一排工具按钮可自定义,图标可选图形字体还是自定义图片。
    • 悬浮条按钮单击后用名称唯一标识作为信号发出,可以自行关联响应处理。
    • 悬浮条空白区域可以显示提示信息,默认显示当前视频分辨率大小。

使用说明

  1. 下载并解压资源文件。
  2. 根据需要选择合适的解码内核和视频显示模式。
  3. 运行示例程序,体验多种视频播放功能。

注意事项

  • 本示例程序适用于Qt4、Qt5、Qt6版本,兼容所有版本。
  • 部分功能可能需要特定的硬件支持,如硬件加速等。
  • 使用前请确保已安装必要的依赖库和工具。

联系我们

如有任何问题或建议,欢迎联系我们。

下载链接

QtC视频播放综合应用示例分享