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()
}
}
源码地址
https://github.com/wang-bin/QtAV
领取专属 10元无门槛券
私享最新 技术干货