PDA

View Full Version : Qt Media Encoding Library 1.0 alpha1 available!



KIBSOFT
21st June 2013, 12:45
Hi everyone

I want to present you my own Qt library, here is description:

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.

Platform: currently only Windows (Linux version is partially done)
License: LGPL
Current version: 1.0 Alpha1
Website: http://kibsoft.ru
Source code: Here (https://github.com/kibsoft/QtMEL)
Issue tracker: Here (https://github.com/kibsoft/QtMEL/issues)
Ready to use build: Here (http://goo.gl/1n6yH)
Examples(binaries): Here (http://goo.gl/sOMgX)

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



For more information go to the website above.

Thanks,
Kirill

KIBSOFT
27th June 2013, 19:09
I have great news! Today I want to offer you the next version of Qt Media Encoding Library – 1.0 Alpha2.

Changes:

Linux support (tested on Ubuntu 12.04)
Qt5 support
Fixed crashes, small bugs and etc.


Here are ready to use packages for Windows and Linux:

Qt 5 RC1 MinGW 4.8 – Download (http://goo.gl/NbxFy)
Qt 5 RC1 MSVC 2010 – Download (http://goo.gl/AGJlg)


Just unpack it and add paths to your .pro file.

FFmpeg for QtMEL(deb package) – Download (http://goo.gl/9tF1M)
OpenCV for QtMEL(deb package) – Download (http://goo.gl/7BjS0)
QtMEL(deb package) – Download (http://goo.gl/h3qu2)


You must install them by turns. After that you can just include needed headers to our project.

NOTE: Not all dependencies are include to the “Requires” section of debs, so no guarantee that it will work on systems other than Ubuntu 12.04. In this case you should install required packages manually.

Sorry for that, these packages are just for test. I think I will put it in order when I have more free time.

If you have any suggestions I will be glad to know :)

seany
28th July 2013, 00:15
Hi Kirill and all readers

I should have found your project earlier ! But I missed this and rolled my own OpenCV and then added FFMPEG.
I have a compiler error which I would appreciate your help.

Summary
Windows 32 bit Development environment

#1 Download QT MingGW version
#2 Build MingW Libs using cmake

(#1 & #2 details in http://embeddedprogrammer.blogspot.in/2012/10/how-to-opencv-in-qt-creator-and-imageq.html)

#3 added FFMPEG Development Includes and Library by :
a) Download Windows "32 bit Dev" from zeranoe Windows build http://ffmpeg.zeranoe.com/builds/
b) setup .pro path accordingly to lib and include in that downloaded directory

#4 added FFMPEG run time shared DLLs
a) Download "32 bit Shared" from zeranoe http://ffmpeg.zeranoe.com/builds/
b) Set PATH (Via Control Panel->System->Advanced Settings PATH to bin in that downloaded directory

.pro is below

#-------------------------------------------------
#
# Project created by QtCreator 2013-06-10T09:06:49
#
#-------------------------------------------------

QT += core gui xml

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = VideoEditor2
TEMPLATE = app



SOURCES += main.cpp\
mainwindow.cpp



HEADERS += mainwindow.h


FORMS += mainwindow.ui


RESOURCES += \
images.qrc



//OPENCV Cmake generated include in C:\OpenCV-2.4.6\install\include
INCLUDEPATH += "C:\OpenCV-2.4.6\install\include"

//OPENCV Cmake generated install in C:\OpenCV-2.4.6\install\lib
LIBS += -LC:\\OpenCV-2.4.6\\install\\lib \
-lopencv_core246.dll \
-lopencv_highgui246.dll \
-lopencv_imgproc246.dll \
-lopencv_features2d246.dll \
-lopencv_calib3d246.dll


//FFMPEG 32-Bit Dev Lib
LIBS += "C:\Users\seanyiu\FFMPEG\ffmpeg_zeranoe_latest-win32-dev\lib\avformat.lib"
LIBS += "C:\Users\seanyiu\FFMPEG\ffmpeg_zeranoe_latest-win32-dev\lib\avcodec.lib"
LIBS += "C:\Users\seanyiu\FFMPEG\ffmpeg_zeranoe_latest-win32-dev\lib\swscale.lib"
LIBS += "C:\Users\seanyiu\FFMPEG\ffmpeg_zeranoe_latest-win32-dev\lib\avutil.lib"
LIBS += "C:\Users\seanyiu\FFMPEG\ffmpeg_zeranoe_latest-win32-dev\lib\avutil.lib"

//FFMPEG 32-Bit Dev Include
INCLUDEPATH += "C:\Users\seanyiu\FFMPEG\ffmpeg_zeranoe_latest-win32-dev\include"

---------------------------------------------------------------------------------

Path Info:
echo %PATH%
...............
\;C:\Program Files (x86)\CMake 2.8\bin; << Cmake required
C:\Users\seanyiu\FFMPEG\ffmpeg-20130706-git-63d7684-win32-shared\bin; << FFMPEG 32-Bit Shared run time required
C:\Qt\5.1.0\mingw48_32\bin;C:\qt\Tools\MinGW\bin << QT MingW run time required
C:\OpenCV-2.4.6\install\bin << OpenCV run time required

When I compile, I get this error in inttypes from the FFMPEG package:
C:\Users\seanyiu\FFMPEG\ffmpeg_zeranoe_latest-win32-dev\include\inttypes.h:34: error: #error "Use this header only with Microsoft Visual C++ compilers!"

The workaround which I get around it is to just do a #define MSC_VER 1600 in FFMPEG Dev's include/inttypes to signify this is
is Microsoft Visual Studio 2010 compiler and problem goes way.

#define _MSC_VER 1600
#ifndef _MSC_VER // [
#error "Use this header only with Microsoft Visual C++ compilers!"
#endif // _MSC_VER ]

I am not sure this is the right way as the QT I am using is QT MingGW which uses g++ or gcc and not the Visual Studio 2010 compiler.
However, my workaround compiles FFMPEG as if it were Visual Studio 2010 compiler. As to why I chose MSVC 2010, it's because I was using QT MSVC 2010 before I was
forced to go to QT MingW version to compile OpenCV.

Appreciate if you have any insight on right approach

Thanks

Sean

rohanroy123
24th December 2013, 06:33
This is better than other sites. Always so inteesting to visit your site. What a grat info thank you for sharing this will help me so much in my learning