QtAV是基于Qt和FFmpeg的跨平台多媒体框架。高性能,对用户和开发人员友好,支持Android,iOS,Linux,Windows。
特性
- 硬件解码支持:DXVA2,VAAPI,VDA/VideoToolbox,CedarX,CUDA。
- OpenGL和ES2支持几乎所有格式。
- RGB和YUV格式的视频捕获。
- OSD和自定义过滤器
- libavfilter中的滤镜,例如stero3d,模糊。
- 字幕轨道选择。动态更改FFmpeg和libass引擎。
- 逐帧播放。
- 播放速度控制。
- 各种流:区域设置文件,http,rtsp等以及您的自定义流。
- 音频通道,轨道和外部音频轨道。
- 播放时动态更改渲染引擎。
- 动态更改视频解码器。
- 1个播放器的多个视频输出。
- 视频均衡器(software和OpenGL):亮度,对比度,饱和度,色相。
- QML支持。大多数播放API与QtMultimedia模块兼容。
- 兼容性:QtAV可以同时使用Qt 4和Qt 5。
使用例子
- C
GLWidgetRenderer2 renderer;
renderer.show();
AVPlayer player;
player.setRenderer(&renderer);
player.play("test.avi");
- Qml
import QtQuick 2.0
import QtAV 1.6
Item {
Video {
id: video
source: "test.mp4"
}
MouseArea {
anchors.fill: parent
onClicked: video.play()
}
}
源码地址
代码语言:javascript复制https://github.com/wang-bin/QtAV