# [QtAV](http://www.qtav.org) [![Build Status](https://travis-ci.org/wang-bin/QtAV.svg)](https://travis-ci.org/wang-bin/QtAV) [![Appveyor](https://ci.appveyor.com/api/projects/status/github/wang-bin/qtav?svg=true&passingText=windows%20-%20OK)](https://ci.appveyor.com/project/wang-bin/qtav)
[![Join the chat at https://gitter.im/QtAV/Lobby](https://badges.gitter.im/QtAV/Lobby.svg)](https://gitter.im/QtAV/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
QtAV is a multimedia playback library based on Qt and FFmpeg. It can help you to write a player
with less effort than ever before.
QtAV has been added to FFmpeg projects page [http://ffmpeg.org/projects.html](http://ffmpeg.org/projects.html)
**QtAV is free software licensed under the term of LGPL v2.1. The player example is licensed under GPL v3. If you use QtAV or its constituent libraries,
you must adhere to the terms of the license in question.**
#### [Home page](http://www.qtav.org)
### Features
QtAV can meet your most demands
- Hardware decoding suppprt: DXVA2, VAAPI, VDA/VideoToolbox, CedarX, CUDA(the 1st player support CUDA on linux?)
- OpenGL and ES2 support for almost all formats including Hi10P videos (The 1st player/library support 10bit in ES2? VLC, XBMC, mplayer does not support now)
- Real time preview
- Video capture in rgb and yuv format
- OSD and custom filters
- Filters in libavfilter, for example stero3d, blur
- Subtitle track select. Dynamic change FFmpeg and libass engine
- Play frame by frame
- Playback speed control
- Variant streams: locale file, http, rtsp etc. and your custom streams
- Audio channel, tracks and external audio tracks
- Dynamically change render engine when playing.
- Dynamically change video decoder
- Multiple video outputs for 1 player
- Video eq(software and OpenGL): brightness, contrast, saturation, hue
- QML support. Most playback APIs are compatible with QtMultimedia module
- Compatibility: QtAV can be built with both Qt4 and Qt5, FFmpeg(>=1.0) and [Libav](http://libav.org) (>=9.0). Latest FFmpeg release is recommended.
### Extensible Framework
Some components in QtAV are designed to be extensible. For example, you can write your decoder, audio output for particular platform. [Here is a very good example to add cedar hardware accelerated decoder for A13-OLinuXino](https://github.com/mireq/QtAV/commit/d7b428c1dae66b2a85b7a6bfa7b253980b5b963c)
# For Developers
#### Requirements
[![Qt](http://upload.wikimedia.org/wikipedia/commons/thumb/9/94/Qt_logo.svg/64px-Qt_logo.svg.png "Qt4.8 or Qt5")](http://www.qt.io)
[![FFmpeg](http://ffmpeg.org/ffmpeg-logo.png "(>=1.0)Latest version is recommanded")](http://ffmpeg.org)
[![Libav](http://libav.org/libav-logo-text.png ">=9.0")](http://libav.org)
![OpenAL](http://upload.wikimedia.org/wikipedia/zh/2/28/OpenAL_logo.png "OpenAL or OpenAL soft")
**The required development files to build QtAV can be found in sourceforge
page: [depends](https://sourceforge.net/projects/qtav/files/depends)**
#### Build
See the wiki [Build QtAV](https://github.com/wang-bin/QtAV/wiki/Build-QtAV) and [QtAV Build Configurations](https://github.com/wang-bin/QtAV/wiki/QtAV-Build-Configurations)
#### How To Write a Player
Write a media player using QtAV is quite easy.
GLWidgetRenderer2 renderer;
renderer.show();
AVPlayer player;
player.setRenderer(&renderer);
player.play("test.avi");
For more detail to using QtAV, see the wiki [Use QtAV In Your Project](https://github.com/wang-bin/QtAV/wiki/Use-QtAV-In-Your-Projects) or examples.
QtAV can also be used in **Qml**
import QtQuick 2.0
import QtAV 1.6
Item {
Video {
id: video
source: "test.mp4"
}
MouseArea {
anchors.fill: parent
onClicked: video.play()
}
}
### How To Contribute
- [Fork](https://github.com/wang-bin/QtAV/fork) QtAV project on github and make a branch. Commit in that branch, and push, then create a pull request to be reviewed and merged.
- [Create an issue](https://github.com/wang-bin/QtAV/issues/new) if you have any problem when using QtAV or you find a bug, etc.
- What you can do: translation, write document, wiki, find or fix bugs, give your idea for this project etc.
#### Contributors
- Wang Bin(Lucas Wang): creator, maintainer
- Gianluigi Tiesi(sherpya): avdevice input support
- Stefan Ladage: QIODevice support. Wiki about build QtAV for iOS. Let OpenAL work on OSX and iOS
- Miroslav Bendik: Cedarv support. Better qmlvideofx appearance
- theoribeiro: initial QML support
- Vito Covito: interrupt callback
- Alexander, Marius Wachtler, Petar Koretić, Sandro Cavazzoni(skaman), Dimitri E. Prado, karlox ...
For End Users
-------------
#### Player Commandline Options
Run `player -h`
#### Default Shortcuts
- Double click: fullscreen switch
- Ctrl+O: open a file
- Space: pause/continue
- F: fullscreen on/off
- T: stays on top on/off
- N/B: show the next/previous frame. Continue the playing by pressing "Space"
- O: OSD
- P: replay
- Q/ESC: quit
- S: stop
- A: switch aspect ratio
- R: rotate 90
- M: mute on/off
- Up / Down: volume + / -
- Ctrl+Up/Down: speed + / -
- -> / <-: seek forward / backward
- Crtl+Wheel: zoom in/out
- Drag and drop a media file to player
Screenshots
----------
Use QtAV in QML with OpenGL shaders(example is from qtmultimedia. But qtmultimedia is replaced by QtAV)
![Alt text](https://sourceforge.net/p/qtav/screenshot/QtAV-QML-Shader.jpg "QtAV QML Shaders")
![Alt text](http://www.qtav.org/screenshots/player-OSX.jpg "player on OSX")
![QMLPlayer](http://www.qtav.org/screenshots/QMLPlayer-preview-ubuntu.jpg "QMLPlayer")
![Alt text](http://www.qtav.org/screenshots/videowall.png "video wall")
***
### [Donate 捐赠](http://www.qtav.org/donate.html)
> Copyright © Wang Bin wbsecg1@gmail.com
> 2013-01-21
没有合适的资源?快使用搜索试试~ 我知道了~
qt开源项目借鉴,地址https://github.com/wang-bin/QtAV.git
共740个文件
cpp:242个
h:193个
pro:67个
需积分: 0 2 下载量 172 浏览量
2023-04-10
23:14:22
上传
评论
收藏 2.59MB ZIP 举报
温馨提示
qt开源项目借鉴,地址https://github.com/wang-bin/QtAV.git
资源推荐
资源详情
资源评论
收起资源包目录
qt开源项目借鉴,地址https://github.com/wang-bin/QtAV.git (740个子文件)
manifest.aegis 2KB
WinRT10.Package.appxmanifest 5KB
WinPhone8.Package.appxmanifest 5KB
WinRT8.Package.appxmanifest 5KB
deploy_win.bat 3KB
gradlew.bat 2KB
sdk_deploy.bat 1KB
install_dep.bat 583B
install.bat 503B
install.bat 503B
build.bat 399B
uninstall.bat 157B
uninstall.bat 157B
player.bat 27B
Changelog 18KB
changelog 12KB
changelog 15B
FindQtAV.cmake 2KB
compat 2B
compat 2B
compat 2B
.qmake.conf 494B
gbp.conf 47B
control 4KB
control 603B
control 406B
control 379B
copyright 1KB
copyright 595B
MainWindow.cpp 55KB
AVPlayer.cpp 49KB
GLWidgetRenderer.cpp 41KB
AVDemuxer.cpp 41KB
VideoShader.cpp 40KB
VideoFormat.cpp 36KB
cuda_api.cpp 35KB
Config.cpp 33KB
VideoDecoderCUDA.cpp 30KB
VideoDecoderVAAPI.cpp 30KB
Subtitle.cpp 28KB
OpenGLHelper.cpp 28KB
VideoDecoderD3D.cpp 28KB
SurfaceInteropCUDA.cpp 28KB
AVDemuxThread.cpp 27KB
QmlAVPlayer.cpp 25KB
SubtitleProcessorLibASS.cpp 24KB
AudioOutput.cpp 24KB
AVPlayerPrivate.cpp 24KB
VideoThread.cpp 24KB
X11Renderer.cpp 20KB
SurfaceInteropVAAPI.cpp 20KB
XVRenderer.cpp 20KB
VideoRenderer.cpp 20KB
VideoFrameExtractor.cpp 19KB
cuda.cpp 18KB
VideoDecoderCedarv.cpp 18KB
AVMuxer.cpp 18KB
LibAVFilter.cpp 17KB
AudioOutputOpenSL.cpp 17KB
openal_api.cpp 17KB
VideoFrame.cpp 17KB
VideoDecoderDXVA.cpp 16KB
VideoDecoderVDA.cpp 16KB
AudioOutputDSound.cpp 16KB
AudioThread.cpp 16KB
AudioOutputPulse.cpp 16KB
Direct2DRenderer.cpp 16KB
QtAV_Global.cpp 15KB
VideoEncoderFFmpeg.cpp 15KB
AVCompat.cpp 14KB
VideoDecoderD3D11.cpp 14KB
AudioOutputOpenAL.cpp 14KB
SubtitleProcessorFFmpeg.cpp 14KB
VideoDecoderFFmpeg.cpp 14KB
OpenGLVideo.cpp 13KB
common.cpp 13KB
AudioFormat.cpp 13KB
QQuickItemRenderer.cpp 13KB
EventFilter.cpp 13KB
QuickFBORenderer.cpp 13KB
DecoderConfigPage.cpp 13KB
VideoDecoderVideoToolbox.cpp 13KB
vaapi_helper.cpp 13KB
internal.cpp 12KB
VideoWall.cpp 12KB
ColorTransform.cpp 12KB
egl_api.cpp 12KB
AudioResamplerTemplate.cpp 12KB
FrameReader.cpp 12KB
AudioOutputXAudio2.cpp 12KB
VideoDecoderFFmpegHW.cpp 12KB
PropertyEditor.cpp 11KB
ScreenSaver.cpp 11KB
VideoOutput.cpp 11KB
Geometry.cpp 11KB
AVTranscoder.cpp 11KB
qoptions.cpp 11KB
arch.cpp 11KB
EncodeFilter.cpp 10KB
GDIRenderer.cpp 10KB
共 740 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
资源评论
Gladys_dmenky
- 粉丝: 0
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功