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.
* Hardware decoding suppprt: DXVA2, VAAPI, VDA, CedarX, CUDA.
* OpenGL and ES2 support for Hi10P and other 16-bit YUV videos.
* Video capture in rgb and yuv format.
* OSD and custom filters.
* filters in libavfilter, for example stero3d, blur.
* Transform video using GraphicsItemRenderer. (rotate, shear, etc)
* Playing frame by frame (currently support forward playing).
* Playback 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.
* 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, hue.
* QML support as a plugin. Most playback APIs are compatible with QtMultiMedia