All Projects → wang-bin → Qtav

wang-bin / Qtav

A cross-platform multimedia framework based on Qt and FFmpeg(https://github.com/wang-bin/avbuild). High performance. User & developer friendly. Supports Android, iOS, Windows store and desktops. 基于Qt和FFmpeg的跨平台高性能音视频播放框架

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
QMake
1090 projects
python
139335 projects - #7 most used programming language
shell
77523 projects
CMake
9771 projects

Projects that are alternatives of or similar to Qtav

Player
FFmpeg and SDL2 video player
Stars: ✭ 119 (-96.03%)
Mutual labels:  ffmpeg, player
Mpv
🎥 Command line video player
Stars: ✭ 17,018 (+467.83%)
Mutual labels:  ffmpeg, multimedia
Ffmpeg Video Player
An FFmpeg and SDL Tutorial.
Stars: ✭ 149 (-95.03%)
Mutual labels:  ffmpeg, multimedia
Ksplayer
iOS/macOS/tvOS video player
Stars: ✭ 86 (-97.13%)
Mutual labels:  ffmpeg, player
mpz
Music player for big local collections
Stars: ✭ 50 (-98.33%)
Mutual labels:  player, multimedia
Thumbnail
Thumbnail for a given video using FFMpeg
Stars: ✭ 96 (-96.8%)
Mutual labels:  ffmpeg, multimedia
Ffplayer
a video player based on ffmpeg for win32 and android platform.
Stars: ✭ 210 (-92.99%)
Mutual labels:  ffmpeg, player
Fijkplayer
ijkplayer for flutter. ijkplayer 的 flutter 封装。 Flutter video/audio player. Flutter media player plugin for android/iOS based on ijkplayer. fijkplayer 是基于 ijkplayer 封装的 flutter 媒体播放器,开箱即用,无需编译 ijkplayer
Stars: ✭ 943 (-68.54%)
Mutual labels:  ffmpeg, player
player-ffmpeg
Up to date tutorial of ffmpeg
Stars: ✭ 17 (-99.43%)
Mutual labels:  player, ffmpeg
Swiftffmpeg
A Swift wrapper for the FFmpeg API
Stars: ✭ 243 (-91.89%)
Mutual labels:  ffmpeg, multimedia
ffmpeg-commander
🛠️ FFmpeg Command Generator Web UI
Stars: ✭ 136 (-95.46%)
Mutual labels:  ffmpeg, multimedia
X1Player
iOS端封装的视频播放器.支持直播,录播视频的播放,支持常用的播放界面控制,类似于ijkplayer 优点是体积更小,使用快捷
Stars: ✭ 21 (-99.3%)
Mutual labels:  player, ffmpeg
Mt
yet another media thumber. Generate Video Contat Sheets easily. http://mutschler.github.io/mt
Stars: ✭ 76 (-97.46%)
Mutual labels:  ffmpeg, multimedia
Screen Recorder Ffmpeg Cpp
*Multimedia project* A screen recording application to capture your desktop and store in a video format. Click here to watch the demo
Stars: ✭ 98 (-96.73%)
Mutual labels:  ffmpeg, multimedia
Playernx
First homebrew video player for Nintendo Switch! (using ffmpeg libraries)
Stars: ✭ 63 (-97.9%)
Mutual labels:  ffmpeg, player
Sgplayer
A powerful media play framework for iOS, macOS, and tvOS.
Stars: ✭ 1,974 (-34.13%)
Mutual labels:  ffmpeg, player
Mlt
MLT Multimedia Framework
Stars: ✭ 836 (-72.11%)
Mutual labels:  ffmpeg, multimedia
Ijkplayer
Android/iOS video player based on FFmpeg n3.4, with MediaCodec, VideoToolbox support.
Stars: ✭ 29,752 (+892.73%)
Mutual labels:  ffmpeg, player
Fanplayer
A portable video player based on ffmpeg for windows and android platform.
Stars: ✭ 229 (-92.36%)
Mutual labels:  ffmpeg, player
aplayer
ffplay友好版本. 对ffplay裁剪重构以适合初学者阅读、理解
Stars: ✭ 41 (-98.63%)
Mutual labels:  player, ffmpeg

QtAV Build Status Appveyor

Join the chat at https://gitter.im/QtAV/Lobby

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

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

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 (>=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

For Developers

Requirements

Qt FFmpeg Libav OpenAL

The required development files to build QtAV can be found in sourceforge page: depends

Build

See the wiki Build QtAV and 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 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 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 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

Alt text

QMLPlayer

Alt text


Donate 捐赠

Copyright © Wang Bin [email protected]

2013-01-21

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].