QtAV视频播放器的介绍、编译以及简单使用

背景

简介

QtAV是基于Qt和FFmpeg的多媒体播放库。它可以帮助您以前所未有的精力编写播放器。

强大的功能

QtAV可以满足您的最大需求

  • 硬件解码支持:DXVA2,VAAPI,VDA / VideoToolbox,CedarX,CUDA(第一个播放器在Linux上支持CUDA吗?)
  • OpenGL和ES2支持几乎所有格式,包括Hi10P视频(第一个播放器/库在ES2中支持10bit?VLC,XBMC,mplayer现在不支持)
  • 实时预览
  • RGB和YUV格式的视频捕获
  • OSD和自定义过滤器
  • libavfilter中的过滤器,例如stero3d,模糊
  • 字幕轨道选择。动态更改FFmpeg和libass引擎
  • 逐帧播放
  • 播放速度控制
  • 各种流:区域设置文件,http,rtsp等以及您的自定义流
  • 音频通道,轨道和外部音频轨道
  • 播放时动态更改渲染引擎。
  • 动态更改视频解码器
  • 1个播放器的多个视频输出
  • 视频均衡器(软件和OpenGL):亮度,对比度,饱和度,色相
  • QML支持。大多数播放API与QtMultimedia模块兼容
  • 兼容性:QtAV可以同时使用Qt4和Qt5,FFmpeg(> = 1.0)和Libav(> = 9.0)来构建。建议使用最新的FFmpeg版本。

QtAV的编译

以下是我在windows平台使用的过程,其它平台的还没有验证过

前期准备
  • 下载QtAV源码
git clone https://github.com/wang-bin/QtAV.git
cd QtAV && git submodule update --init
  • 下载FFmpeg
    您可以下载最新的预构建FFmpeg,也可以自己构建。
    对于Windows,请下载http://sourceforge.net/projects/qtav/files/depends/QtAV-depends-windows-x86%2Bx64.7z/download,并且bin, include, lib在软件包中使用就可以构建。
    目前我是windows下面构建的,所以直接选择的下载上面这个软件包。
环境设置

你必须让编译器知道FFmpeg的头文件和库所在的位置,否则待会儿编译QTAV的时候会因为找不到对应的库文件而报错。
软件包下载的文件解压后如下图所示

你可能感兴趣的:(Qt开发技能,ffmpeg,windows)