Welcome to the QtMEL project website.
QtMEL is a Qt library that wraps Libav, OpenCV and RtAudio libraries and allows you easily grab your desktop screen, your cameras, your audio input devices and finally encode audio/video streams.
Project description
Platform: currently only Windows (Linux version is partially done)
License: LGPL
Current version: 1.0 Alpha
Issue tracker: Here
Key features
- desktop screen capture with variable frame rate
- web-cameras capture with variable frame rate
- changing the image source on the fly (screen<->camera) while recording a video
- audio input devices capture
- video encoding with variable and fixed frame rate
- audio encoding
Dependencies to build the project
- Libav - Here is a git-14d94a1 version (**QtMEL** is tested only with this version). It contains inlude and lib folders.
- OpenCV - Download here.
- QtMultimediaKit - Download here. There are includes and dlls that were build using Qt 4.7.4/MinGW.
- RtAudio - you don't need to download anything it is in QtMEL.
Ready to use builds
Just download this archive and you will be able to use the QtMEL library in your projects!
All you need is to modify your .pro file like this:
#add QtMEL library
INCLUDEPATH += QTMEL_INCLUDE_PATH //just replace this with the actual path
LIBS += -LQTMEL_LIB_PATH //just replace this with the actual path
CONFIG(debug, debug|release) {
LIBS += -lqtmeld1
} else {
LIBS += -lqtmel1
}
Then you must to include the headers this way:
#include <AudioGrabber>
#include <CameraGrabber>
#include <ScreenGrabber>
#include <Recorder>
...
Happy coding!
Examples
In order to understand how to use the classes provided by QtMEL you can look at the examples folder in sources.
- EncoderExample - it is the first example that allows you to capture your desktop screen(or parts of it) and record the streams(video/audio) to a file. Also this example contains the code that generates 500 frames and then encodes them to a video using fixed frame rate.
- CameraExample - this example allows you to capture your web-cameras (with audio).
You can download these examples here(compiled).
Thanks
I want to thank Daniel Roggen for his QtFFmpegWrapper! It became the starting point for my QtMEL project.