KDE-Apps.org Applications for the KDE-Desktop 
 GTK-Apps.org Applications using the GTK Toolkit 
 GnomeFiles.org Applications for GNOME 
 MeeGo-Central.org Applications for MeeGo 
 CLI-Apps.org Command Line Applications 
 Qt-Apps.org Free Qt Applications 
 Qt-Prop.org Proprietary Qt Applications 
 Maemo-Apps.org Applications for the Maemo Plattform 
 Java-Apps.org Free Java Applications 
 eyeOS-Apps.org Free eyeOS Applications 
 Wine-Apps.org Wine Applications 
 Server-Apps.org Server Applications 
 apps.ownCloud.com ownCloud Applications 
 KDE-Look.org Artwork for the KDE-Desktop 
 GNOME-Look.org Artwork for the GNOME-Desktop 
 Xfce-Look.org Artwork for the Xfce-Desktop 
 Box-Look.org Artwork for your Windowmanager 
 E17-Stuff.org Artwork for Enlightenment 
 Beryl-Themes.org Artwork for the Beryl Windowmanager 
 Compiz-Themes.org Artwork for the Compiz Windowmanager 
 EDE-Look.org Themes for your EDE Desktop 
 Debian-Art.org Stuff for Debian 
 Gentoo-Art.org Artwork for Gentoo Linux 
 SUSE-Art.org Artwork for openSUSE 
 Ubuntu-Art.org Artwork for Ubuntu 
 Kubuntu-Art.org Artwork for Kubuntu 
 LinuxMint-Art.org Artwork for Linux Mint 
 Arch-Stuff.org Art And Stuff for Arch Linux 
 Frugalware-Art.org Themes for Frugalware 
 Fedora-Art.org Artwork for Fedora Linux 
 Mandriva-Art.org Artwork for Mandriva Linux 
 KDE-Files.org Files for KDE Applications 
 OpenTemplate.org Documents for OpenOffice.org
 GIMPStuff.org Files for GIMP
 InkscapeStuff.org Files for Inkscape
 ScribusStuff.org Files for Scribus
 BlenderStuff.org Textures and Objects for Blender
 VLC-Addons.org Themes and Extensions for VLC
 KDE-Help.org Support for your KDE Desktop 
 GNOME-Help.org Support for your GNOME Desktop 
 Xfce-Help.org Support for your Xfce Desktop 
openDesktop.orgopenDesktop.org:   Applications   Artwork   Linux Distributions   Documents    Linux42.org    OpenSkillz.com   


- Content .- Fans (4) .- Knowledge Base  . 



Qt Video Application

Score 73%
shanghai university



Homepage:  http://qtav.org
Minimum required   Qt 5.x
Downloads:  2433
Submitted:  Dec 25 2012
Updated:  Jun 20 2016


QtAV is a media playing library based on Qt and FFmpeg. You can develop a video application very easy with QtAV.

source code: https://github.com/wang-bin/QtAV
google play: https://play.google.com/store/apps/details?id=org.qtav.qmlplayer
windows store: http://www.windowsphone.com/zh-cn/store/app/qtav-video-player/c0e803e0-c5d2-441b-8a20-3530ac8c8b6c
ubuntu ppa: https://launchpad.net/~wbsecg1/+archive/ubuntu/qtav


- Hardware decoding suppprt: DXVA2, D3D11, VAAPI, VDA,VideoToolbox CUDA, Cedarv
- Hi10P CUDA decode. Hi10P OpenGL and ES2 renderering
- Custom OpenGL shader and filters apply when playing
- Subtitle
- progress bar preview
- Video capture. Can save as original yuv format
- OSD and custom filters
- frame by frame (currently support forward step)
- Playing speed control. At any speed.
- Variant streams: locale file, http, rtsp, etc.
- Choose audio channel
- Choose media stream, e.g. play a desired audio track
- Volume control
- Multiple render engine support. Currently supports QPainter, GDI+, Direct2D, XV and OpenGL(and ES2).
- Dynamically change render engine when playing.
- Multiple video outputs for 1 player
- Region of interest(ROI), i.e. video cropping
- Video eq: brightness, contrast, saturation
- QML support as a plugin
- Compatiblity: QtAV can be built with both Qt4 and Qt5. QtAV supports
both FFmpeg(>=1.0) and [Libav](http://libav.org).

Double click: switch fullscreen
C: capture
Space: pause/continue
F: fullscreen on/off
I: switch display quality
T: stays on top on/off
N: show next frame. Continue the playing by pressing "Space"
O: OSD switch
Ctrl+O: open a file
P: replay
Q/ESC: quit
R: change aspect ratio
S: stop
M: mute on/off
Up/Down: volume +/-
Ctrl+Up/Down: speed up/down
->: seek forward
<-: seek backward
Ctrl+Wheel: zoom


version 1.11.0 2016-06-20
version 1.11.0
- Dynamic load QtAVWidgets in VideoOutput.
`QtAV::Widgets::registerRenderers()` and `QT += avwidgets` is not
requred now.
- D3D11 decoder support. Not stable on Windows phone.
- DXVA refactor and bug fix.
- VA-API: fix memory leak when seeking
- OpenGL:
* Fix PBO binding
* Custom shader support (WIP)
* Edit and apply custom shader when playing. Based on Qt property
* Optimize uniform update
* GLSL filter support
* Add `OpenGLVideo.beforeRendering/afterRendering`
* Direct copy is default for windows. Now Rendering CUDA decoded frames
is faster than any other players
* 0-copy is default for linux.
* Use new API (4.0)
- AVPlayer:
* Add `AVPlayer.stoppedAt` signal
* add `setTimeRange()`
* setStart/StopPosition can be called at any time with any value
* Ensure all threads are running when `started` is emitted
* Support preload using `load()`. Now no reload in `play()`
- Fix build with QT_NAMESPACE
- Fix swscale color range
- Fix linux install destinations
- Add AVTranscoder.async, encoders are in individual threads
- Add FrameReader class
- Use FFmpeg 3.0 API
- QML:
* Support filters, including sw filters from libavfilter, and GLSL
* Add `MediaPlayer/Video.audioBackends` property
* Support autoLoad
* Add `VideoOutput.mapTo/FromXXX` between source frame and item
* Video EQ in VideoOutput/Video
* Add `MediaPlayer.startPosition/stopPotion`
- QMLPlayer: Open video and subtitle at the same time. History view.
Zoom. Video EQ

version 1.10.0 2016-03-02
- Improve seek speed, fix drop too much frames after seek
- VideoFrameExtractor: seek faster if called many times. Speed up progress bar preview
- Support media files from android assets. Use protocol 'assets:'
- Apply video decoder options when playing
- Better iOS support
- VideoToolbox:
* Check profile to avoid crash
* Support RGB output
* Use `rgb422_apple` texture
* Support iOS 0-copy rendering using OpenGLES
* More interop types for OSX and iOS
- OpenGL
* Use 16bit depth textures for >8bit videos (e.g. 10bit) if possible
* Correct input/output color range. This fixes QtAV video different from other players
* Fix high opengl and core profile rendering
- Improve performance of QPainter based renderers
- AudioOutput:
* remove setBufferSize, add a better API setBufferSamples
* Fix OpenAL playback for some audio formats
* Dynamic load OpenAL by default except iOS
* Add AudioToolbox support for OSX/iOS and becomes the default backend
* PulseAudio: workaround noise for multiple instance
- Fix srt decoding
- QML: Add QtMultimedia compatible APIs VideoOutput.contentRect/sourceRect
- Fix strange behaviors near eof: seek, stepForward, exit etc.
- Fix playback block if audio duration is shorter than video
- Examples:
* Fix videos in videowall not synchronized
* QMLPlayer has better touch screen experience
* QMLPlayer supports win10 store (But Qt is not well supported)
* Drag & Drop support on OSX
* URL open dialog for QMLPlayer

version 1.9.0 2015-12-21 Windows Store Support, Better VA-API
- No audio thread if audio stream < 0. null AudioOutput now still create audio thread.
- VideoOutput: fix lock error
- Filter: add X11 text rendering for X11Renderer/XVRenderer.
- LibAVFilter supports HW frames(not recommended)
- VideoFrame copy and init issue, bpp compute error
- Avoid using some stl APIs that breaks ABI
- Add x11 renderer
- XV: support NV12 and packed yuv formats
- Fix factory initialization for static build(iOS for example)
- Fix ffmpeg log level
- Remove AVPicture which is deprecated
- SWS 16 alignment, output to user defined buffer
- Always define the registered id so we can use everywhere
- Better iOS support: build, run, deploy(prl)
- use libuchardet now, use system one if possible
- Fix android build on windows
- XAudio2: fix crash. `double` sample format is not supported
- Fix clock value if speed changed
- VideoRenderer.updateUi
- VideoCapture: fix HW frame save
- New logo ![](images/QtAV1.9.0-logo.png "Logo")
- Android: support protocol 'content'. Now can play from Gallery.
- MediaIO is not writable by default
- WinRT (Windows Store) support:
* Link to XAudio2
* File open and protocol
* Add hevc, vp9. Not tested
* Support more profiles
* Improve nvidia support
* Interop with egl support(dma, tfp). libva 0.38 and Qt>=5.5 are required.
* Check resolution support before open
* Add thread count option (new ffmpeg >2.8 does not support)
* Prefer /dev/dri/renderD128 for drm
* Correctly release X11/drm resource
- OpenGL:
* OpenGL ES3 optimization
* use new OpenGL and GLSL APIs if possible
- CI:
* Add windows. Build with latest Qt release. Using msbuild, nmake and mingw32-make
- API:
* AVPlayer.stepForward(), stepBackword(). playNextFrame() is deprecated
* AVPlayer.state
* AVPlayer.videoDecoderPriority with name list
* VideoRenderer.frameSize (C++), VideoOutput.frameSize
* XXXDecoder/Encoder::supportedCodecs, AV(De)Muxer.supportedFormats/Extensions
* QML: more metaData keys: startTime, sampleFormat, channelLayout, pixelFormat, videoFrames
- QMLPlayer/Player:
* fix OpenGLWidgetRenderer crash
* Handle Home/Back button for mobile
* Preview item is movable
* ppa: rename /usr/bin/player to /usr/bin/Player

version 1.8.0 2015-09-01

- XAudio2 support
- VideoToolbox hardware decoder(OSX) support. It can decode h264, h263, mpeg1, mpeg2, mpeg4. Better than VDA
- CUDA 0-copy support
- Dynamic video decoder switch when playing (try it in QMLPlayer)
- Embedded ass subtitles support
- ass subtitle font setup
- No OpenGL build fix for linux
- Fix qpainter rendering if vbo is used
- Fix OpenGL rendering for some rgb formats
- DXVA 0-copy improvement, intel clearvideo workaround etc.
- AO: add null backend
- HW: fix profile check
- Ref counted frames from ff decoders. This fix opengl crash when uploading textures
- Fix audio resampler parameters not set correctly
- VS2015 support

version 1.7.0 2015-07-09

- DXVA GPU zero-copy support. Lower cpu usage, better performance
- DXVA copy-back mode improvement
- VAAPI zero-copy improvement
- Fix opengl wrong display if switch decoder between VDA and FFmpeg
- Video encoding support
- External audio track support
- Pulseaudio improvement, fix crashes and hang
- OpenGL: disable VBO for ANGLE to workaround qpainter filters have no effect. Less GL calls. Fix OpenGLWindowRenderer can not update correctly
- Fix capture video when a zero-copy HW decoder is used.
- Fix wrong audio data is played at the beginning of playback
- Enable XV shm
- Improve a/v sync
- Build android on windows
- Fix msvc debug build
- Use OpenSL ES as for android. It works correctly now. No OpenAL required any more. Add volume control for OpenSL ES.
- Fix crashes
- Add ubuntu PPA: https://launchpad.net/~wbsecg1/+archive/ubuntu/qtav
- CI: appveyor for windows
- AVInput=>MediaIO. You can use it to support custom output when encoding video
- Add seekFinished, durationChanged, QML MediaPlayer.videoCapture, Subtitle delay etc
- QMLPlayer: swipe to seek

version 1.6.0 2015-04-23

- VDA: use NV12 as default format. Support 0 copy. Better performance than any other playrs
- CUDA: fix wrong bitstream filters
- OpenGL:
* PBO support (enable by enviroment var QTAV_PBO=1)
* rectangle texture support
* packed yuv formats support
- Support buffer progress, buffer value control
- Support frame rate setup (AVPlayer::setFrameRate())
- Support RAW streams, such as h264, yuv
- Audio filter support
- Better libavfilter support. Now support libav avfilter, support audio filters from libavfilter
- Add pulseaudio support
- Detect volume change by per-app volume control
- Simplify audio output API
- Volume and mute control by audio backend API
- Use float audio sample if possible
- Fix iOS static link error
- Fix error handling, EOF detect, Qt4.7 build etc.
- Deploy: add qml, fix lib name, deploy sdk from installer, mingw deployment on linux.
- player/QMLPlayer:
* decoder detail
* more options: preview config, buffer, fps, timeout
* unregister context menu(win32) if uninstalled, ifw2.0
* QMLPlayer file associate for android
* Fix QMLPlayer package can not run on OSX

version 1.5.0 2015-02-13

- Add QtAVWidgets module contains widget based renderers, video preview widget
- QtAV module only depends on QtCore and QtGui
- Improve audio output API
- Simplify deployment on OSX. Deploy sdk from release packages without build.
- Improve seekable detection
- Fix noise audio if volume increased
- Fix noise and wrong playback speed for wmv videos
- Preview is more accurate
- Do not copy AVPacket but use reference count.
- Faster audio track switch
- Reopen audio output only if audio format changed
- VideoFrame: new API for converting to another format or QImage
- OpenGL VAO, VBO support.
* Fix some crashes in QQuickItemRenderer
* Add FBO item renderer and use the same code path as other opengl renderers
* timeout property
- player and QMLPlayer example
* player: real time preview on progress bar
* Fast seek and display if seek shortcut is pressed and hold

version 1.4.2 2014-12-27

- Async load
- Faster seek and preview. Thanks wm4(mpv developer)
- Better a/v sync solution. Now can play high fps video better than ANY other players.
- DXVA: enable HEVC decoder if libavcodec runtime supports. LAVFilters ffmpeg supports it.
- Cedarv improvements, nv12 output support, neon code from libvdpau-sunxi
- Multiple OpenAL instances support
- AVInput class to extend media sources. Support play from qrc resouces.
- Display the first frame after seek
- Better clock error correction
- Fix play frame by frame issues
- Fix QML video shake
- More details for error signals
- Apply user options in the next playback
- Dynamic load libass (submodule 'capi' is required, https://github.com/wang-bin/capi)
- VA-API: fix blurred bottom line issue. works on libav >= 9 now.
- Progress is start at 0 by default even if 1st pts is not 0.
- Fix capture issues: capture current displayed frame, easier api
- RGB48 support. OpenGL only supports RGB48LE.
- Link to static ffmpeg support
- Fix open error if input url/path contains special charactors

version 1.4.1 2014-11-06

- More QtMultimedia compatible QML playback API
- Debian package support. Now you can build on ubuntu>=14.04 using debuild
- Subtitle: libass renderering support. Dynamically change FFmpeg parser and libass
- Log level control support without changing any Qt logging functions (qDebug, qWarning etc.)
- Video orientation support in renderers
- Bug fix: video frame with alpha value. video stream start time >0. OpenAL can not close correctly...
- QML only: video preview.
- players: config UI in QMLPlayer. Video preview on progress bar.

version 1.4.0 2014-09-10

- Improve OpenGL: more pixel formats, supports QML(not stable),
dynamic gl support etc.
- VAAPI: GLX direct rendering support. check 4k.
- DXVA: more decoding surfaces to improve performance
- VDA (OSX hardware decoding) support
- Android support. Easy to deploy
- Subtitle support, including QML
- Improve OpenAL. Works fine on most platforms including android
- FFmpeg libavfilter support
- Audio output api change
- deploy script for ifw, OSX
- Bug fix
- WIP: dsound, opensl, audio engine, audio filters etc.

version 1.3.4 2014-05-30

detail: http://wang-bin.github.io/qtav.org/blog/1.3.4.html

- CUDA: better quality and performance, Fix wrong display order. No Mosaics.
- vaapi and dxva support SSE4.1 to copy decoded frame for intel gpu. vaapi was added months ago, but the performance was very poor. With the help of SSE4.1 we have greate performance improvement.
- VAAPI supports drm
- Use latest FFmpeg's hw api
- Fix wrong display or crash if change HW decoder
- Add some options for AVCodec and AVFormat as decoder's meta properties.
- Metadata support
- Display aspect ratio use the value in stream if defined. Thank Sandro Cavazzoni
- Support install QtAV as a Qt module
- Fix wrong file name encoding.
- Display the image in a music file

version 1.3.3 2014-04-20

- CUDA support for windows and linux. (The first player/library support CUDA decoding on linux?)
- Renderering 16-bit YUV (for example Hi10P) for both OpenGL and OpenGL ES2.
maybe it's the first player/library supports rendering 10-bit using OpenGL ES2. VLC, XBMC and mplayer can't
Supported format: 9, 10, 12, 14, 16 bit, planar, little/big endian.
The performance is good. I tested a 10bit h264 video on HTC butterfly S, cpu usage is about 10% less than vlc.
- Support Sailfish OS. Works perfectly.
- Fix mosaics for some videos since QtAV1.3.1
- Better seeking
- New VideoOutput class with QObject features support
- Improve cedarv hardware decoding.
- Audio channel api for QML
- FFmpeg build script supports maemo5, meego, sailfish, android, mingw gcc, msvc
- Fix build error for Qt 5.0
- player:
* fix wrong video display size when fullscreen mode changed or toolbar hidden

version 1.3.2 2014-03-16

- OpenGL improvement and better performance(works on iOS and Android). Less cpu usage than vlc:
* enable GLSL if supported
* use GLSL to render YUV frames
* GLSL based video equalizer
- XV bug fix and improvement. Supports NV12. Supports video equalizer.
- Play from QIODevice support
- Capture YUV frames support.
- Fix wrong duration in OSD
- CUDA decoder working in progress
- player:
* no gui blocking while opening a stream
* add config dialog
- Regressions:
* OpenGL can not display H10p

version 1.3.1 2014-01-29

- Initial OpenAL support.
- Fix hardware decoding crashes: seeking, packet loss(e.g. bad network)
- Allwinner's CedarX hardware decoding support. Thanks Miroslav Bendik.
- FFmpeg log and error handling. New class: AVError
- AVDictionary support for decoder and demuxer. API: AVPlayer::setOptionsForXXX()
- Fix crash on app exit
- Fix Hi10bits crash
- Build:
* fix XXX_EXPORT macro confliction.
* configurable qmake project etc.
- QMLPlayer: better UI
- player:
* wheel to zoom in/out.
* apply decoder without restart.
* exit on main window close.
* move EventHandler to player.
- Installer: ubuntu support.
- Screen saver for OSX, X11. Improve windows

version 1.3.0 2013-12-19

- Selectable audio track
- Multiple rendering target for 1 video support
- Hardware decoding support(unstable): DXVA2 for windows, VA-API for x11(bad performance now)
- Region of Interest(ROI) support, i.e. crop.
- Filter support(Experimental)
- Video eq: brightness, contrast, saturation
- Repeat support
- Mang api changes
- QML: compatible with many QtMultiMedia APIs
- build/install: check arch, fix wrong rpath and launch error on Mac, add installer
- player: playlist, history, better online tv, etc.

version 1.2.4 2013-09-08
- QML support(thanks theoribeiro ). Can replace some of qtmultimedia qml apps, e.g. qmlvideofx
- Fix build for FFmpeg >= 0.9, libav >= 0.8
- Channel can be choosed by user: original, stero, left, right, centre(mono)
- OSD for GL ES2 renderer
- player: statistics viewer, disable screensaver on widows when playing. Add many online tv channels

version 1.2.3 2013-08-01

- FFmpeg/libav avresample support
- OpenGL ES2 support. Can build against Qt5 GLES2 version now
- XV support for Qt5
- more audio format support, e.g. sample format, channels.
- Fix H.264 decoding error for the beginning frames.
- Fix audio decoding error if packet should be decoded multiple times. WMA audio.
- Save video captures to system Picture directory

version 1.2.2 2013-07-03

- Audio resampler using swresample
- Play speed control
- Audio format
- Play good with audio that noise before(mp3, ...)
- init and deinit FFmpeg only when needed
- Component id accessed by symbol
- mms support

version 1.2.1 2013-06-19

- Configurable video quality
- Correct aspect ratio. Any value is supported
- Fix some media playing problem
- Fix crash if no audio
- Fix d2d crash by setting multi-thread type
- Fix WidgetRenderer can not update problem
- Fix mem leak if renderer changed
- player: volume control, display correct online tv name, correct display time

version 1.2.0 2013-05-27

- Better gui for the player example
- Dynamically change renderer engine
- Filter framework works. Filters on data and renderer support
- XV rendering support
- Fix some qmake project bugs
- Other features, bug fix, code refine

version 1.1.11 2013-03-15

- OpenGL support. Only rendering now.
- OSD support.
- New shortcuts: Ctrl+O=>open, O=>switch OSD, Q/ESC=>quit
- Command line option: -vo gl/d2d/gdi/qt, -h|--help
- Fix wrong aspect ratio when resizing
- Better qmake project
- Building debian package support: make deb
- Bug fix

version 1.1.10 2013-03-04

- Direct2D support. Auto check before compile
- GDI+ renderer improved
- Custom renderer template
- Aspect ratio switch support
- Config test support for both Qt4 and Qt5
- Better build system
- Auto update rc file
- Some documents

version 1.1.9

- Add network interrupt callback. Thanks Vito vcovito
- QtAV and FFmpeg runtime version check
- Add factory model to manager the components. Currently used in ImageConverter
- MSVC support
- Seek bug fix: some times blocked
- qmake: no additional arguments required(if source dir is writable)
- Add 2 graphics item renderer examples
- GDI+ renderer support
- Start to use script to create new classes

version 1.1.8 2013-02-06

- LGPL version 2.1
- better Qt5 support
- better synchronisation and seeking
- crash fixed when getting stream info
- crash fixed when replaying a music
- drag & drop, simple internal gui and internal event filter
- videowall works better

version 1.1.7 2013-01-30

- scale image without qt support!
- buggy ipp support.
- thread safe capture
- Fix first frame not correctly decoded!
- new API
- tests and examples: clockcontrol, videowall

version 1.1.6 2013-01-23

- fix video blocking and crash when seeking
- add tests: network, shared renderer
- update frames when seeking in a paused state
- avoid seeking too frequently
- capture sync/async
- playing music support
- Auto select a suitable clock

version 1.1.5 2013-01-18

- playing single stream support. i.e. playing video without audio or playing music
- plannar audio support
- output can be shared with multiple player
- g++ compile error fix
- external clock
- optimizations and bug fix

Send to a friend
Other  Apps  from wangbin
Report inappropriate content


 Nice works

 by aupark on: Mar 18 2014
Score 50%

simple to use yet powerful.
good job!

Is there any api for thumbnail?

Reply to this


 Re: Nice works

 by wangbin on: Mar 18 2014
Score 50%
shanghai university

Not yet. I can add it

Reply to this

Add commentBack

 Who we are
More about us
Frequently Asked Questions
Updates on identi.ca
Updates on Twitter
Content RSS   
Events RSS   

Add App
Public API
About Qt-Apps.org
Legal Notice
Spreadshirt Shop
CafePress Shop
Sponsor us
Report Abuse

Copyright 2006-2016 Qt-Apps.org Team  
All rights reserved. Qt-Apps.org is not liable for any content or goods on this site.
All contributors are responsible for the lawfulness of their uploads.
Qt is a trademarks of Nokia