Giter VIP home page Giter VIP logo

econsysqtcam / qtcam Goto Github PK

View Code? Open in Web Editor NEW
179.0 179.0 94.0 2.74 MB

QtCAM is a free, Open Source Linux Webcamera Software with more than 10 image control settings, extension settings and Color space switching.

Home Page: http://www.e-consystems.com/opensource-linux-webcam-software-application.asp

License: GNU General Public License v3.0

C++ 28.40% JavaScript 0.06% QML 68.54% QMake 0.28% C 2.72%

qtcam's People

Contributors

m-vishnumurali avatar navyaammisetti avatar nivedhajana avatar ramsonjehu avatar sankareswari avatar sushanth172 avatar sushanth317 avatar test555 avatar vishnukumarts avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qtcam's Issues

No extensions available for the selected camera

I have a See3Cam_CU20 (HDR). I compiled from source and Qtcam runs, but when I select 'Extension Settings', I get the message 'No Extensions available for the selected camera.'

It is the 2nd camera in my device list.

I can change the standard camera settings fine (capture resolution, frame rate...).

Issue when compiling the source

I get this error when compiling the source as per your INTALL instruction

videoencoder.cpp:216:85: error: ‘av_packet_rescale_ts’ was not declared in this scope
             av_packet_rescale_ts(&pkt, pCodecCtx->time_base, pVideoStream->time_base);
                                                                                     ^
videoencoder.cpp: In member function ‘bool VideoEncoder::initFrame()’:
videoencoder.cpp:300:31: error: ‘av_frame_alloc’ was not declared in this scope
     ppicture = av_frame_alloc();
                               ^
make: *** [videoencoder.o] Error 1

qtcam with error QEGLPlatformContext

Hello
I have Jetson-TK1 and 2 cameras See3CAM_11CUG
I use Tegra124_Linux_R21.7.0_armhf.tbz2
and Tegra_Linux_Sample-Root-Filesystem_R21.7.0_armhf.tbz2
and Ubuntu 14.4

I tried to get video from cameras. I installed QTCAM. Ang get next Error
QEGLPlatformContext::makeCurrent: eglError: 3009, this: 0x7a9d90

What I must to do for correct getting video ?

warnings during compilation

During compilation on Fedora, with the following patches applied

diff --git a/src/qtcam.pro b/src/qtcam.pro
index 1be3479..49bb261 100644
--- a/src/qtcam.pro
+++ b/src/qtcam.pro
@@ -59,7 +59,8 @@ HEADERS += \


 INCLUDEPATH +=  $$PWD/v4l2headers/include \
-                /usr/include
+                /usr/include \
+               /usr/include/ffmpeg \
+               /usr/include/qt5/QtCore \
+               /usr/include/qt5/QtGui


diff --git a/src/videoencoder.h b/src/videoencoder.h
index b04238b..c4953e3 100644
--- a/src/videoencoder.h
+++ b/src/videoencoder.h
@@ -38,6 +38,7 @@
 //    #define AV_CODEC_ID_VP8 CODEC_ID_VP8
 //    #define AVCodecID CodecID
 //#endif
+#define AVCodecID CodecID

 extern "C" {
 #include "libavcodec/avcodec.h" 

I get the following make log, containing a few warnings

g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o main.o main.cpp
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o logger.o logger.cpp
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o about.o about.cpp
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o cameraproperty.o cameraproperty.cpp
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o videostreaming.o videostreaming.cpp
videostreaming.cpp: In constructor ‘Videostreaming::Videostreaming()’:
videostreaming.cpp:68:15: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11
     sf = {1, 1};
               ^
videostreaming.cpp:68:8: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11
     sf = {1, 1};
        ^
videostreaming.cpp: In member function ‘void Videostreaming::capFrame()’:
videostreaming.cpp:208:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int l=0; l<(width*height*2); l=l+2) /* Y16 to YUYV conversion */
                       ^
videostreaming.cpp:224:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(x = 0; x < width; x += 2)  /* Nearest neighbour interpolation algorithm - y16 to RGB24 conversion */
                      ^
videostreaming.cpp:226:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for(y = 0; y < height; y += 2)
                          ^
videostreaming.cpp:39:22: warning: comparison is always false due to limited range of data type [-Wtype-limits]
 #define CLIP(x) ((x) < 0? 0 :((x) >= 255)? 255 : (x))
                      ^
videostreaming.cpp:228:100: note: in expansion of macro ‘CLIP’
                B(x, y, width) = B(x + 1, y, width) = B(x, y + 1, width) = B(x + 1, y + 1, width) = CLIP(Bay(x, y, width));
                                                                                                    ^
videostreaming.cpp:39:22: warning: comparison is always false due to limited range of data type [-Wtype-limits]
 #define CLIP(x) ((x) < 0? 0 :((x) >= 255)? 255 : (x))
                      ^
videostreaming.cpp:229:100: note: in expansion of macro ‘CLIP’
                G(x, y, width) = G(x + 1, y, width) = G(x, y + 1, width) = G(x + 1, y + 1, width) = CLIP(Bay(x + 1, y, width));
                                                                                                    ^
videostreaming.cpp:39:22: warning: comparison is always false due to limited range of data type [-Wtype-limits]
 #define CLIP(x) ((x) < 0? 0 :((x) >= 255)? 255 : (x))
                      ^
videostreaming.cpp:230:100: note: in expansion of macro ‘CLIP’
                R(x, y, width) = R(x + 1, y, width) = R(x, y + 1, width) = R(x + 1, y + 1, width) = CLIP(Bay(x + 1, y + 1, width));
                                                                                                    ^
videostreaming.cpp: In member function ‘bool Videostreaming::extractIRImage(short unsigned int*, unsigned char*)’:
videostreaming.cpp:432:42: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int imgHeight = 1; imgHeight < height; imgHeight += 2)
                                          ^
videostreaming.cpp:434:44: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for(int imgWidth = 0; imgWidth < width; imgWidth += 2)
                                            ^
videostreaming.cpp: In member function ‘void Videostreaming::freeBuffers(unsigned char*, unsigned char*, unsigned char*)’:
videostreaming.cpp:652:75: warning: parameter ‘destBuffer’ set but not used [-Wunused-but-set-parameter]
 void Videostreaming::freeBuffers(unsigned char *srcBuffer, unsigned char *destBuffer, unsigned char *copyBuffer)
                                                                           ^
videostreaming.cpp: In member function ‘QString Videostreaming::getSettings(unsigned int)’:
videostreaming.cpp:1269:103: warning: ‘qctrl.v4l2_queryctrl::default_value’ may be used uninitialized in this function [-Wmaybe-uninitialized]
         emit logCriticalHandle("Unable to get the Value, setting the Default value: "+ QString::number(qctrl.default_value,10));
                                                                                                       ^
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o uvccamera.o uvccamera.cpp
uvccamera.cpp:44:44: warning: unused parameter ‘econCamera’ [-Wunused-parameter]
 int uvccamera::findEconDevice(QStringList *econCamera,QString parameter)
                                            ^
uvccamera.cpp: In member function ‘bool uvccamera::initExtensionUnit(QString)’:
uvccamera.cpp:217:10: warning: unused variable ‘i’ [-Wunused-variable]
     uint i;
          ^
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o v4l2-api.o v4l2-api.cpp
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o seecam_10cug_m.o seecam_10cug_m.cpp
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o seecam_10cug_bayer.o seecam_10cug_bayer.cpp
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o seecam_11cug.o seecam_11cug.cpp
seecam_11cug.cpp: In member function ‘bool See3CAM_11CUG::setWbValues(See3CAM_11CUG::camRGBcolor, uint)’:
seecam_11cug.cpp:208:21: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
         if(rgbValue >= 0 && rgbValue <= 255)
                     ^
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o seecam_cu80.o seecam_cu80.cpp
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o seecam_cu50.o seecam_cu50.cpp
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o seecam_ar0130.o seecam_ar0130.cpp
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o videoencoder.o videoencoder.cpp
videoencoder.cpp: In member function ‘bool VideoEncoder::initFrame()’:
videoencoder.cpp:344:16: warning: ‘AVFrame* avcodec_alloc_frame()’ is deprecated [-Wdeprecated-declarations]
     ppicture = avcodec_alloc_frame();
                ^
In file included from videoencoder.h:44:0,
                 from videoencoder.cpp:23:
/usr/include/ffmpeg/libavcodec/avcodec.h:3622:10: note: declared here
 AVFrame *avcodec_alloc_frame(void);
          ^
videoencoder.cpp:344:16: warning: ‘AVFrame* avcodec_alloc_frame()’ is deprecated [-Wdeprecated-declarations]
     ppicture = avcodec_alloc_frame();
                ^
In file included from videoencoder.h:44:0,
                 from videoencoder.cpp:23:
/usr/include/ffmpeg/libavcodec/avcodec.h:3622:10: note: declared here
 AVFrame *avcodec_alloc_frame(void);
          ^
videoencoder.cpp:344:36: warning: ‘AVFrame* avcodec_alloc_frame()’ is deprecated [-Wdeprecated-declarations]
     ppicture = avcodec_alloc_frame();
                                    ^
In file included from videoencoder.h:44:0,
                 from videoencoder.cpp:23:
/usr/include/ffmpeg/libavcodec/avcodec.h:3622:10: note: declared here
 AVFrame *avcodec_alloc_frame(void);
          ^
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o seecam_cu51.o seecam_cu51.cpp
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o see3cam_cu130.o see3cam_cu130.cpp
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o h264decoder.o h264decoder.cpp
h264decoder.cpp: In member function ‘bool H264Decoder::initH264Decoder(unsigned int, unsigned int)’:
h264decoder.cpp:70:20: warning: ‘AVFrame* avcodec_alloc_frame()’ is deprecated [-Wdeprecated-declarations]
     pH264picture = avcodec_alloc_frame();
                    ^
In file included from h264decoder.h:34:0,
                 from h264decoder.cpp:22:
/usr/include/ffmpeg/libavcodec/avcodec.h:3622:10: note: declared here
 AVFrame *avcodec_alloc_frame(void);
          ^
h264decoder.cpp:70:20: warning: ‘AVFrame* avcodec_alloc_frame()’ is deprecated [-Wdeprecated-declarations]
     pH264picture = avcodec_alloc_frame();
                    ^
In file included from h264decoder.h:34:0,
                 from h264decoder.cpp:22:
/usr/include/ffmpeg/libavcodec/avcodec.h:3622:10: note: declared here
 AVFrame *avcodec_alloc_frame(void);
          ^
h264decoder.cpp:70:40: warning: ‘AVFrame* avcodec_alloc_frame()’ is deprecated [-Wdeprecated-declarations]
     pH264picture = avcodec_alloc_frame();
                                        ^
In file included from h264decoder.h:34:0,
                 from h264decoder.cpp:22:
/usr/include/ffmpeg/libavcodec/avcodec.h:3622:10: note: declared here
 AVFrame *avcodec_alloc_frame(void);
          ^
h264decoder.cpp:77:5: warning: ‘void avcodec_get_frame_defaults(AVFrame*)’ is deprecated [-Wdeprecated-declarations]
     avcodec_get_frame_defaults(pH264picture);
     ^
In file included from h264decoder.h:34:0,
                 from h264decoder.cpp:22:
/usr/include/ffmpeg/libavcodec/avcodec.h:3632:6: note: declared here
 void avcodec_get_frame_defaults(AVFrame *frame);
      ^
h264decoder.cpp:77:5: warning: ‘void avcodec_get_frame_defaults(AVFrame*)’ is deprecated [-Wdeprecated-declarations]
     avcodec_get_frame_defaults(pH264picture);
     ^
In file included from h264decoder.h:34:0,
                 from h264decoder.cpp:22:
/usr/include/ffmpeg/libavcodec/avcodec.h:3632:6: note: declared here
 void avcodec_get_frame_defaults(AVFrame *frame);
      ^
h264decoder.cpp:77:44: warning: ‘void avcodec_get_frame_defaults(AVFrame*)’ is deprecated [-Wdeprecated-declarations]
     avcodec_get_frame_defaults(pH264picture);
                                            ^
In file included from h264decoder.h:34:0,
                 from h264decoder.cpp:22:
/usr/include/ffmpeg/libavcodec/avcodec.h:3632:6: note: declared here
 void avcodec_get_frame_defaults(AVFrame *frame);
      ^
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o qtquick2applicationviewer.o qtquick2applicationviewer/qtquick2applicationviewer.cpp
/usr/lib64/qt5/bin/moc -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I/usr/lib64/qt5/mkspecs/linux-g++ -I/home/caterpillar/qtcam/src -I/home/caterpillar/qtcam/src/qtquick2applicationviewer -I/home/caterpillar/qtcam/src/v4l2headers/include -I/usr/include -I/usr/include/ffmpeg -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtCore -I/usr/include/qt5/QtGui -I/usr/include/qt5 -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/c++/5.1.1 -I/usr/include/c++/5.1.1/x86_64-redhat-linux -I/usr/include/c++/5.1.1/backward -I/usr/lib/gcc/x86_64-redhat-linux/5.1.1/include -I/usr/local/include -I/usr/include qtquick2applicationviewer/qtquick2applicationviewer.h -o moc_qtquick2applicationviewer.cpp
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o moc_qtquick2applicationviewer.o moc_qtquick2applicationviewer.cpp
/usr/lib64/qt5/bin/moc -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I/usr/lib64/qt5/mkspecs/linux-g++ -I/home/caterpillar/qtcam/src -I/home/caterpillar/qtcam/src/qtquick2applicationviewer -I/home/caterpillar/qtcam/src/v4l2headers/include -I/usr/include -I/usr/include/ffmpeg -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtCore -I/usr/include/qt5/QtGui -I/usr/include/qt5 -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/c++/5.1.1 -I/usr/include/c++/5.1.1/x86_64-redhat-linux -I/usr/include/c++/5.1.1/backward -I/usr/lib/gcc/x86_64-redhat-linux/5.1.1/include -I/usr/local/include -I/usr/include about.h -o moc_about.cpp
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o moc_about.o moc_about.cpp
/usr/lib64/qt5/bin/moc -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I/usr/lib64/qt5/mkspecs/linux-g++ -I/home/caterpillar/qtcam/src -I/home/caterpillar/qtcam/src/qtquick2applicationviewer -I/home/caterpillar/qtcam/src/v4l2headers/include -I/usr/include -I/usr/include/ffmpeg -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtCore -I/usr/include/qt5/QtGui -I/usr/include/qt5 -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/c++/5.1.1 -I/usr/include/c++/5.1.1/x86_64-redhat-linux -I/usr/include/c++/5.1.1/backward -I/usr/lib/gcc/x86_64-redhat-linux/5.1.1/include -I/usr/local/include -I/usr/include cameraproperty.h -o moc_cameraproperty.cpp
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o moc_cameraproperty.o moc_cameraproperty.cpp
/usr/lib64/qt5/bin/moc -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I/usr/lib64/qt5/mkspecs/linux-g++ -I/home/caterpillar/qtcam/src -I/home/caterpillar/qtcam/src/qtquick2applicationviewer -I/home/caterpillar/qtcam/src/v4l2headers/include -I/usr/include -I/usr/include/ffmpeg -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtCore -I/usr/include/qt5/QtGui -I/usr/include/qt5 -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/c++/5.1.1 -I/usr/include/c++/5.1.1/x86_64-redhat-linux -I/usr/include/c++/5.1.1/backward -I/usr/lib/gcc/x86_64-redhat-linux/5.1.1/include -I/usr/local/include -I/usr/include videostreaming.h -o moc_videostreaming.cpp
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o moc_videostreaming.o moc_videostreaming.cpp
/usr/lib64/qt5/bin/moc -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I/usr/lib64/qt5/mkspecs/linux-g++ -I/home/caterpillar/qtcam/src -I/home/caterpillar/qtcam/src/qtquick2applicationviewer -I/home/caterpillar/qtcam/src/v4l2headers/include -I/usr/include -I/usr/include/ffmpeg -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtCore -I/usr/include/qt5/QtGui -I/usr/include/qt5 -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/c++/5.1.1 -I/usr/include/c++/5.1.1/x86_64-redhat-linux -I/usr/include/c++/5.1.1/backward -I/usr/lib/gcc/x86_64-redhat-linux/5.1.1/include -I/usr/local/include -I/usr/include uvccamera.h -o moc_uvccamera.cpp
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o moc_uvccamera.o moc_uvccamera.cpp
/usr/lib64/qt5/bin/moc -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I/usr/lib64/qt5/mkspecs/linux-g++ -I/home/caterpillar/qtcam/src -I/home/caterpillar/qtcam/src/qtquick2applicationviewer -I/home/caterpillar/qtcam/src/v4l2headers/include -I/usr/include -I/usr/include/ffmpeg -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtCore -I/usr/include/qt5/QtGui -I/usr/include/qt5 -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/c++/5.1.1 -I/usr/include/c++/5.1.1/x86_64-redhat-linux -I/usr/include/c++/5.1.1/backward -I/usr/lib/gcc/x86_64-redhat-linux/5.1.1/include -I/usr/local/include -I/usr/include seecam_10cug_m.h -o moc_seecam_10cug_m.cpp
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o moc_seecam_10cug_m.o moc_seecam_10cug_m.cpp
/usr/lib64/qt5/bin/moc -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I/usr/lib64/qt5/mkspecs/linux-g++ -I/home/caterpillar/qtcam/src -I/home/caterpillar/qtcam/src/qtquick2applicationviewer -I/home/caterpillar/qtcam/src/v4l2headers/include -I/usr/include -I/usr/include/ffmpeg -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtCore -I/usr/include/qt5/QtGui -I/usr/include/qt5 -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/c++/5.1.1 -I/usr/include/c++/5.1.1/x86_64-redhat-linux -I/usr/include/c++/5.1.1/backward -I/usr/lib/gcc/x86_64-redhat-linux/5.1.1/include -I/usr/local/include -I/usr/include seecam_10cug_bayer.h -o moc_seecam_10cug_bayer.cpp
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o moc_seecam_10cug_bayer.o moc_seecam_10cug_bayer.cpp
/usr/lib64/qt5/bin/moc -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I/usr/lib64/qt5/mkspecs/linux-g++ -I/home/caterpillar/qtcam/src -I/home/caterpillar/qtcam/src/qtquick2applicationviewer -I/home/caterpillar/qtcam/src/v4l2headers/include -I/usr/include -I/usr/include/ffmpeg -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtCore -I/usr/include/qt5/QtGui -I/usr/include/qt5 -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/c++/5.1.1 -I/usr/include/c++/5.1.1/x86_64-redhat-linux -I/usr/include/c++/5.1.1/backward -I/usr/lib/gcc/x86_64-redhat-linux/5.1.1/include -I/usr/local/include -I/usr/include seecam_11cug.h -o moc_seecam_11cug.cpp
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o moc_seecam_11cug.o moc_seecam_11cug.cpp
/usr/lib64/qt5/bin/moc -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I/usr/lib64/qt5/mkspecs/linux-g++ -I/home/caterpillar/qtcam/src -I/home/caterpillar/qtcam/src/qtquick2applicationviewer -I/home/caterpillar/qtcam/src/v4l2headers/include -I/usr/include -I/usr/include/ffmpeg -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtCore -I/usr/include/qt5/QtGui -I/usr/include/qt5 -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/c++/5.1.1 -I/usr/include/c++/5.1.1/x86_64-redhat-linux -I/usr/include/c++/5.1.1/backward -I/usr/lib/gcc/x86_64-redhat-linux/5.1.1/include -I/usr/local/include -I/usr/include seecam_cu80.h -o moc_seecam_cu80.cpp
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o moc_seecam_cu80.o moc_seecam_cu80.cpp
/usr/lib64/qt5/bin/moc -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I/usr/lib64/qt5/mkspecs/linux-g++ -I/home/caterpillar/qtcam/src -I/home/caterpillar/qtcam/src/qtquick2applicationviewer -I/home/caterpillar/qtcam/src/v4l2headers/include -I/usr/include -I/usr/include/ffmpeg -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtCore -I/usr/include/qt5/QtGui -I/usr/include/qt5 -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/c++/5.1.1 -I/usr/include/c++/5.1.1/x86_64-redhat-linux -I/usr/include/c++/5.1.1/backward -I/usr/lib/gcc/x86_64-redhat-linux/5.1.1/include -I/usr/local/include -I/usr/include seecam_cu50.h -o moc_seecam_cu50.cpp
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o moc_seecam_cu50.o moc_seecam_cu50.cpp
/usr/lib64/qt5/bin/moc -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I/usr/lib64/qt5/mkspecs/linux-g++ -I/home/caterpillar/qtcam/src -I/home/caterpillar/qtcam/src/qtquick2applicationviewer -I/home/caterpillar/qtcam/src/v4l2headers/include -I/usr/include -I/usr/include/ffmpeg -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtCore -I/usr/include/qt5/QtGui -I/usr/include/qt5 -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/c++/5.1.1 -I/usr/include/c++/5.1.1/x86_64-redhat-linux -I/usr/include/c++/5.1.1/backward -I/usr/lib/gcc/x86_64-redhat-linux/5.1.1/include -I/usr/local/include -I/usr/include seecam_ar0130.h -o moc_seecam_ar0130.cpp
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o moc_seecam_ar0130.o moc_seecam_ar0130.cpp
/usr/lib64/qt5/bin/moc -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I/usr/lib64/qt5/mkspecs/linux-g++ -I/home/caterpillar/qtcam/src -I/home/caterpillar/qtcam/src/qtquick2applicationviewer -I/home/caterpillar/qtcam/src/v4l2headers/include -I/usr/include -I/usr/include/ffmpeg -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtCore -I/usr/include/qt5/QtGui -I/usr/include/qt5 -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/c++/5.1.1 -I/usr/include/c++/5.1.1/x86_64-redhat-linux -I/usr/include/c++/5.1.1/backward -I/usr/lib/gcc/x86_64-redhat-linux/5.1.1/include -I/usr/local/include -I/usr/include seecam_cu51.h -o moc_seecam_cu51.cpp
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o moc_seecam_cu51.o moc_seecam_cu51.cpp
/usr/lib64/qt5/bin/moc -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I/usr/lib64/qt5/mkspecs/linux-g++ -I/home/caterpillar/qtcam/src -I/home/caterpillar/qtcam/src/qtquick2applicationviewer -I/home/caterpillar/qtcam/src/v4l2headers/include -I/usr/include -I/usr/include/ffmpeg -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtCore -I/usr/include/qt5/QtGui -I/usr/include/qt5 -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/c++/5.1.1 -I/usr/include/c++/5.1.1/x86_64-redhat-linux -I/usr/include/c++/5.1.1/backward -I/usr/lib/gcc/x86_64-redhat-linux/5.1.1/include -I/usr/local/include -I/usr/include see3cam_cu130.h -o moc_see3cam_cu130.cpp
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/ffmpeg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o moc_see3cam_cu130.o moc_see3cam_cu130.cpp
g++ -Wl,-O1 -Wl,-z,relro -o Qtcam main.o logger.o about.o cameraproperty.o videostreaming.o uvccamera.o v4l2-api.o seecam_10cug_m.o seecam_10cug_bayer.o seecam_11cug.o seecam_cu80.o seecam_cu50.o seecam_ar0130.o videoencoder.o seecam_cu51.o see3cam_cu130.o h264decoder.o qtquick2applicationviewer.o moc_qtquick2applicationviewer.o moc_about.o moc_cameraproperty.o moc_videostreaming.o moc_uvccamera.o moc_seecam_10cug_m.o moc_seecam_10cug_bayer.o moc_seecam_11cug.o moc_seecam_cu80.o moc_seecam_cu50.o moc_seecam_ar0130.o moc_seecam_cu51.o moc_see3cam_cu130.o   -lv4l2 -lv4lconvert -lavutil -lavcodec -lavformat -lswscale -ludev -L/usr/lib/ -lturbojpeg -lQt5Widgets -lQt5Quick -lQt5Gui -lQt5Qml -lQt5Network -lQt5Core -lGL -lpthread

UVC CAMERA

Hi!

we try to use the UVC camera project
we are working with android 9 and usb camera from missumi
with USB Camera application from play store we can see the video
we can read the usb camera information
but from the UVC camera project there is message “check no usb camera”
we found that the interfacecount it is zero!!!

final int count = device.getInterfaceCount();   for (int i = 0; i < count; i++) {      final UsbInterface intf = device.getInterface(i);      if (matches(intf.getInterfaceClass(), intf.getInterfaceSubclass(), intf.getInterfaceProtocol())) {         return true;      }   }   return false;}

can you help us please
thanks in advanced

[email protected]

Multiple images capture

I have wanted to capture multiple images for an indefinite time for which I thought I would put the system call imageCapture(CommonEnums.TRIGGER_SHOT) in qtcam.qml under a continuous loop which would result in the trigger pressing again and again with burstlength=1. But upon build, this does not work and the trigger just captures 1 picture.
Why is that?

uvccamera::sendHidCmd seems wrong

I'm tracing through the see3CAM_CU135::setFrameRateCtlValue (btw, love that the name for the doxygen comment doesn't agree with the function name)

// Monitor read file descriptor for 5 secs

if(0 > select(1, &rfds, NULL, NULL, &tv)){

should the 1 be hid_fd + 1 instead?
The way this is written, I think it just waits 5 seconds. Turns out, tracing, hid_fd was 0 in my instance (so this worked).

We return true/false, how does the caller know how many bytes were read? Should it?

Incorrect frame rate for video recording

I want to draw your attention to the part of file "videostreaming.cpp", function "Videostreaming::recordBegin(int, QString, QString)":

    v4l2_frmivalenum frmival;
    enum_frameintervals(frmival, m_pixelformat, m_width, m_height);
#if LIBAVCODEC_VER_AT_LEAST(54,25)
    bool tempRet = videoEncoder->createFile(fileName,(AVCodecID)videoEncoderType, m_capDestFormat.fmt.pix.width,m_capDestFormat.fmt.pix.height,frmival.discrete.denominator,frmival.discrete.numerator,10000000);
#else
    bool tempRet = videoEncoder->createFile(fileName,(CodecID)videoEncoderType, m_capDestFormat.fmt.pix.width,m_capDestFormat.fmt.pix.height,frmival.discrete.denominator,frmival.discrete.numerator,10000000);
#endif

Video recording is independent of the FPS, which we choose in the ComboBox "frame rate", in the section "Video Capture Settings".

You can see an example:
If you run Qtcam, and then select the minimum value of "frame rate" (5-10 FPS), and start to record video, then the video will be recording with the basic (standard) FPS, but the camera itself will work with the FPS which we have pointed out earlier "frame rate". Because of this, the video file with an incorrect value FPS: video recording will be slower, and playing video file will be accelerated.
The same problem can be obtained by selecting a different value in comboBox "frame rate", different from the standard...

I think that part of the code, which I quoted above, should be replaced by this:

    v4l2_fract temp_interval;
    if (m_has_interval) {
        temp_interval = m_interval;
    }
    else {
        v4l2_frmivalenum frmival;
        enum_frameintervals(frmival, m_pixelformat, m_width, m_height);
        temp_interval = frmival.discrete;
    }
#if LIBAVCODEC_VER_AT_LEAST(54,25)
    bool tempRet = videoEncoder->createFile(fileName,(AVCodecID)videoEncoderType, m_capDestFormat.fmt.pix.width,m_capDestFormat.fmt.pix.height,temp_interval.denominator,temp_interval.numerator,10000000);
#else
    bool tempRet = videoEncoder->createFile(fileName,(CodecID)videoEncoderType, m_capDestFormat.fmt.pix.width,m_capDestFormat.fmt.pix.height,temp_interval.denominator,temp_interval.numerator,10000000);
#endif

startup problem and display issue on high resolution video

when using QTCam I am facing 2 issues:

1- the program startup takes a long time. also i have the following warning :
libpng warning: iCCP: known incorrect sRGB profile

second issue, when using ECON C80, C130 cameras or a logitech camera and i go to a high resolution (1920x1080 and higher) the camera display begin to lag and "framed" (frames are not continuous). even when i use mjpeg on high fps (30)

i am building the code on QT 5.9.2

Failure to build on 4.1+

videoencoder.cpp:302:5: warning: "/*" within comment [-Wcomment]
  302 |     /* buffer - input buffer to encode
      |      
videoencoder.cpp: In member function ‘bool VideoEncoder::createFile(QString, AVCodecID, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, int, int, int)’:
videoencoder.cpp:104:26: warning: ‘AVFormatContext::filename’ is deprecated [-Wdeprecated-declarations]
  104 |     snprintf(pFormatCtx->filename, sizeof(pFormatCtx->filename), "%s", fileName.toStdString().c_str());
      |                          ^~~~~~~~
In file included from videoencoder.h:38,
                 from videoencoder.cpp:22:
/usr/include/libavformat/avformat.h:1419:10: note: declared here
 1419 |     char filename[1024];
      |          ^~~~~~~~
videoencoder.cpp:104:26: warning: ‘AVFormatContext::filename’ is deprecated [-Wdeprecated-declarations]
  104 |     snprintf(pFormatCtx->filename, sizeof(pFormatCtx->filename), "%s", fileName.toStdString().c_str());
      |                          ^~~~~~~~
In file included from videoencoder.h:38,
                 from videoencoder.cpp:22:
/usr/include/libavformat/avformat.h:1419:10: note: declared here
 1419 |     char filename[1024];
      |          ^~~~~~~~
videoencoder.cpp:104:26: warning: ‘AVFormatContext::filename’ is deprecated [-Wdeprecated-declarations]
  104 |     snprintf(pFormatCtx->filename, sizeof(pFormatCtx->filename), "%s", fileName.toStdString().c_str());
      |                          ^~~~~~~~
In file included from videoencoder.h:38,
                 from videoencoder.cpp:22:
/usr/include/libavformat/avformat.h:1419:10: note: declared here
 1419 |     char filename[1024];
      |          ^~~~~~~~
videoencoder.cpp:104:55: warning: ‘AVFormatContext::filename’ is deprecated [-Wdeprecated-declarations]
  104 |     snprintf(pFormatCtx->filename, sizeof(pFormatCtx->filename), "%s", fileName.toStdString().c_str());
      |                                                       ^~~~~~~~
In file included from videoencoder.h:38,
                 from videoencoder.cpp:22:
/usr/include/libavformat/avformat.h:1419:10: note: declared here
 1419 |     char filename[1024];
      |          ^~~~~~~~
videoencoder.cpp:104:55: warning: ‘AVFormatContext::filename’ is deprecated [-Wdeprecated-declarations]
  104 |     snprintf(pFormatCtx->filename, sizeof(pFormatCtx->filename), "%s", fileName.toStdString().c_str());
      |                                                       ^~~~~~~~
In file included from videoencoder.h:38,
                 from videoencoder.cpp:22:
/usr/include/libavformat/avformat.h:1419:10: note: declared here
 1419 |     char filename[1024];
      |          ^~~~~~~~
videoencoder.cpp:104:55: warning: ‘AVFormatContext::filename’ is deprecated [-Wdeprecated-declarations]
  104 |     snprintf(pFormatCtx->filename, sizeof(pFormatCtx->filename), "%s", fileName.toStdString().c_str());
      |                                                       ^~~~~~~~
In file included from videoencoder.h:38,
                 from videoencoder.cpp:22:
/usr/include/libavformat/avformat.h:1419:10: note: declared here
 1419 |     char filename[1024];
      |          ^~~~~~~~
videoencoder.cpp:127:33: warning: ‘AVStream::codec’ is deprecated [-Wdeprecated-declarations]
  127 |         pCodecCtx=pVideoStream->codec;
      |                                 ^~~~~
In file included from videoencoder.h:38,
                 from videoencoder.cpp:22:
/usr/include/libavformat/avformat.h:880:21: note: declared here
  880 |     AVCodecContext *codec;
      |                     ^~~~~
videoencoder.cpp:127:33: warning: ‘AVStream::codec’ is deprecated [-Wdeprecated-declarations]
  127 |         pCodecCtx=pVideoStream->codec;
      |                                 ^~~~~
In file included from videoencoder.h:38,
                 from videoencoder.cpp:22:
/usr/include/libavformat/avformat.h:880:21: note: declared here
  880 |     AVCodecContext *codec;
      |                     ^~~~~
videoencoder.cpp:127:33: warning: ‘AVStream::codec’ is deprecated [-Wdeprecated-declarations]
  127 |         pCodecCtx=pVideoStream->codec;
      |                                 ^~~~~
In file included from videoencoder.h:38,
                 from videoencoder.cpp:22:
/usr/include/libavformat/avformat.h:880:21: note: declared here
  880 |     AVCodecContext *codec;
      |                     ^~~~~
videoencoder.cpp:130:33: error: ‘CODEC_FLAG_GLOBAL_HEADER’ was not declared in this scope; did you mean ‘AV_CODEC_FLAG_GLOBAL_HEADER’?
  130 |             pCodecCtx->flags |= CODEC_FLAG_GLOBAL_HEADER;
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~
      |                                 AV_CODEC_FLAG_GLOBAL_HEADER
videoencoder.cpp:162:49: warning: narrowing conversion of ‘fpsNumerator’ from ‘unsigned int’ to ‘int’ [-Wnarrowing]
  162 |             pCodecCtx->time_base = (AVRational){fpsNumerator, fpsDenominator};
      |                                                 ^~~~~~~~~~~~
videoencoder.cpp:162:63: warning: narrowing conversion of ‘fpsDenominator’ from ‘unsigned int’ to ‘int’ [-Wnarrowing]
  162 |             pCodecCtx->time_base = (AVRational){fpsNumerator, fpsDenominator};
      |                                                               ^~~~~~~~~~~~~~
videoencoder.cpp: In member function ‘bool VideoEncoder::closeFile()’:
videoencoder.cpp:268:33: warning: ‘AVStream::codec’ is deprecated [-Wdeprecated-declarations]
  268 |     avcodec_close(pVideoStream->codec);
      |                                 ^~~~~
In file included from videoencoder.h:38,
                 from videoencoder.cpp:22:
/usr/include/libavformat/avformat.h:880:21: note: declared here
  880 |     AVCodecContext *codec;
      |                     ^~~~~
videoencoder.cpp:268:33: warning: ‘AVStream::codec’ is deprecated [-Wdeprecated-declarations]
  268 |     avcodec_close(pVideoStream->codec);
      |                                 ^~~~~
In file included from videoencoder.h:38,
                 from videoencoder.cpp:22:
/usr/include/libavformat/avformat.h:880:21: note: declared here
  880 |     AVCodecContext *codec;
      |                     ^~~~~
videoencoder.cpp:268:33: warning: ‘AVStream::codec’ is deprecated [-Wdeprecated-declarations]
  268 |     avcodec_close(pVideoStream->codec);
      |                                 ^~~~~
In file included from videoencoder.h:38,
                 from videoencoder.cpp:22:
/usr/include/libavformat/avformat.h:880:21: note: declared here
  880 |     AVCodecContext *codec;
      |                     ^~~~~
videoencoder.cpp:273:25: warning: ‘void av_free_packet(AVPacket*)’ is deprecated [-Wdeprecated-declarations]
  273 |      av_free_packet(&pkt);
      |                         ^
In file included from /usr/include/libavcodec/avcodec.h:46,
                 from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/packet.h:538:6: note: declared here
  538 | void av_free_packet(AVPacket *pkt);
      |      ^~~~~~~~~~~~~~
videoencoder.cpp:273:25: warning: ‘void av_free_packet(AVPacket*)’ is deprecated [-Wdeprecated-declarations]
  273 |      av_free_packet(&pkt);
      |                         ^
In file included from /usr/include/libavcodec/avcodec.h:46,
                 from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/packet.h:538:6: note: declared here
  538 | void av_free_packet(AVPacket *pkt);
      |      ^~~~~~~~~~~~~~
videoencoder.cpp:283:43: warning: ‘AVStream::codec’ is deprecated [-Wdeprecated-declarations]
  283 |         av_freep(&pFormatCtx->streams[i]->codec);
      |                                           ^~~~~
In file included from videoencoder.h:38,
                 from videoencoder.cpp:22:
/usr/include/libavformat/avformat.h:880:21: note: declared here
  880 |     AVCodecContext *codec;
      |                     ^~~~~
videoencoder.cpp:283:43: warning: ‘AVStream::codec’ is deprecated [-Wdeprecated-declarations]
  283 |         av_freep(&pFormatCtx->streams[i]->codec);
      |                                           ^~~~~
In file included from videoencoder.h:38,
                 from videoencoder.cpp:22:
/usr/include/libavformat/avformat.h:880:21: note: declared here
  880 |     AVCodecContext *codec;
      |                     ^~~~~
videoencoder.cpp:283:43: warning: ‘AVStream::codec’ is deprecated [-Wdeprecated-declarations]
  283 |         av_freep(&pFormatCtx->streams[i]->codec);
      |                                           ^~~~~
In file included from videoencoder.h:38,
                 from videoencoder.cpp:22:
/usr/include/libavformat/avformat.h:880:21: note: declared here
  880 |     AVCodecContext *codec;
      |                     ^~~~~
videoencoder.cpp: In member function ‘int VideoEncoder::encodePacket(uint8_t*, uint8_t)’:
videoencoder.cpp:348:27: warning: ‘void av_free_packet(AVPacket*)’ is deprecated [-Wdeprecated-declarations]
  348 |        av_free_packet(&pkt);
      |                           ^
In file included from /usr/include/libavcodec/avcodec.h:46,
                 from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/packet.h:538:6: note: declared here
  538 | void av_free_packet(AVPacket *pkt);
      |      ^~~~~~~~~~~~~~
videoencoder.cpp:348:27: warning: ‘void av_free_packet(AVPacket*)’ is deprecated [-Wdeprecated-declarations]
  348 |        av_free_packet(&pkt);
      |                           ^
In file included from /usr/include/libavcodec/avcodec.h:46,
                 from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/packet.h:538:6: note: declared here
  538 | void av_free_packet(AVPacket *pkt);
      |      ^~~~~~~~~~~~~~
videoencoder.cpp:359:75: warning: ‘int avcodec_encode_video2(AVCodecContext*, AVPacket*, const AVFrame*, int*)’ is deprecated [-Wdeprecated-declarations]
  359 |     int ret = avcodec_encode_video2(pCodecCtx, &pkt, ppicture, &got_packet);
      |                                                                           ^
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:4271:5: note: declared here
 4271 | int avcodec_encode_video2(AVCodecContext *avctx, AVPacket *avpkt,
      |     ^~~~~~~~~~~~~~~~~~~~~
videoencoder.cpp:359:75: warning: ‘int avcodec_encode_video2(AVCodecContext*, AVPacket*, const AVFrame*, int*)’ is deprecated [-Wdeprecated-declarations]
  359 |     int ret = avcodec_encode_video2(pCodecCtx, &pkt, ppicture, &got_packet);
      |                                                                           ^
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:4271:5: note: declared here
 4271 | int avcodec_encode_video2(AVCodecContext *avctx, AVPacket *avpkt,
      |     ^~~~~~~~~~~~~~~~~~~~~
videoencoder.cpp:364:28: warning: ‘void av_free_packet(AVPacket*)’ is deprecated [-Wdeprecated-declarations]
  364 |         av_free_packet(&pkt);
      |                            ^
In file included from /usr/include/libavcodec/avcodec.h:46,
                 from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/packet.h:538:6: note: declared here
  538 | void av_free_packet(AVPacket *pkt);
      |      ^~~~~~~~~~~~~~
videoencoder.cpp:364:28: warning: ‘void av_free_packet(AVPacket*)’ is deprecated [-Wdeprecated-declarations]
  364 |         av_free_packet(&pkt);
      |                            ^
In file included from /usr/include/libavcodec/avcodec.h:46,
                 from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/packet.h:538:6: note: declared here
  538 | void av_free_packet(AVPacket *pkt);
      |      ^~~~~~~~~~~~~~
videoencoder.cpp:390:21: warning: suggest parentheses around comparison in operand of ‘|’ [-Wparentheses]
  390 |         if(pts_prev == pkt.pts | pkt.pts < pts_prev){
      |            ~~~~~~~~~^~~~~~~~~~
videoencoder.cpp:395:23: warning: ‘AVCodecContext::coded_frame’ is deprecated [-Wdeprecated-declarations]
  395 |         if(pCodecCtx->coded_frame->key_frame)
      |                       ^~~~~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1908:35: note: declared here
 1908 |     attribute_deprecated AVFrame *coded_frame;
      |                                   ^~~~~~~~~~~
videoencoder.cpp:395:23: warning: ‘AVCodecContext::coded_frame’ is deprecated [-Wdeprecated-declarations]
  395 |         if(pCodecCtx->coded_frame->key_frame)
      |                       ^~~~~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1908:35: note: declared here
 1908 |     attribute_deprecated AVFrame *coded_frame;
      |                                   ^~~~~~~~~~~
videoencoder.cpp:395:23: warning: ‘AVCodecContext::coded_frame’ is deprecated [-Wdeprecated-declarations]
  395 |         if(pCodecCtx->coded_frame->key_frame)
      |                       ^~~~~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1908:35: note: declared here
 1908 |     attribute_deprecated AVFrame *coded_frame;
      |                                   ^~~~~~~~~~~
videoencoder.cpp: In member function ‘bool VideoEncoder::initCodec()’:
videoencoder.cpp:492:21: warning: ‘void av_register_all()’ is deprecated [-Wdeprecated-declarations]
  492 |     av_register_all();
      |                     ^
In file included from videoencoder.h:38,
                 from videoencoder.cpp:22:
/usr/include/libavformat/avformat.h:2052:6: note: declared here
 2052 | void av_register_all(void);
      |      ^~~~~~~~~~~~~~~
videoencoder.cpp:492:21: warning: ‘void av_register_all()’ is deprecated [-Wdeprecated-declarations]
  492 |     av_register_all();
      |                     ^
In file included from videoencoder.h:38,
                 from videoencoder.cpp:22:
/usr/include/libavformat/avformat.h:2052:6: note: declared here
 2052 | void av_register_all(void);
      |      ^~~~~~~~~~~~~~~
videoencoder.cpp: In member function ‘bool VideoEncoder::initFrame()’:
videoencoder.cpp:549:90: warning: ‘int avpicture_get_size(AVPixelFormat, int, int)’ is deprecated [-Wdeprecated-declarations]
  549 |     int size = avpicture_get_size(pCodecCtx->pix_fmt, pCodecCtx->width, pCodecCtx->height);
      |                                                                                          ^
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:4319:5: note: declared here
 4319 | int avpicture_get_size(enum AVPixelFormat pix_fmt, int width, int height);
      |     ^~~~~~~~~~~~~~~~~~
videoencoder.cpp:549:90: warning: ‘int avpicture_get_size(AVPixelFormat, int, int)’ is deprecated [-Wdeprecated-declarations]
  549 |     int size = avpicture_get_size(pCodecCtx->pix_fmt, pCodecCtx->width, pCodecCtx->height);
      |                                                                                          ^
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:4319:5: note: declared here
 4319 | int avpicture_get_size(enum AVPixelFormat pix_fmt, int width, int height);
      |     ^~~~~~~~~~~~~~~~~~
videoencoder.cpp:559:110: warning: ‘int avpicture_fill(AVPicture*, const uint8_t*, AVPixelFormat, int, int)’ is deprecated [-Wdeprecated-declarations]
  559 |     avpicture_fill((AVPicture *)ppicture, picture_buf,pCodecCtx->pix_fmt, pCodecCtx->width, pCodecCtx->height);
      |                                                                                                              ^
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:4304:5: note: declared here
 4304 | int avpicture_fill(AVPicture *picture, const uint8_t *ptr,
      |     ^~~~~~~~~~~~~~
videoencoder.cpp:559:110: warning: ‘int avpicture_fill(AVPicture*, const uint8_t*, AVPixelFormat, int, int)’ is deprecated [-Wdeprecated-declarations]
  559 |     avpicture_fill((AVPicture *)ppicture, picture_buf,pCodecCtx->pix_fmt, pCodecCtx->width, pCodecCtx->height);
      |                                                                                                              ^
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:4304:5: note: declared here
 4304 | int avpicture_fill(AVPicture *picture, const uint8_t *ptr,
      |     ^~~~~~~~~~~~~~
videoencoder.cpp: In member function ‘int VideoEncoder::encodeH264Packet(void*, int)’:
videoencoder.cpp:692:19: warning: ‘AVCodecContext::coded_frame’ is deprecated [-Wdeprecated-declarations]
  692 |     if(pCodecCtx->coded_frame->key_frame)
      |                   ^~~~~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1908:35: note: declared here
 1908 |     attribute_deprecated AVFrame *coded_frame;
      |                                   ^~~~~~~~~~~
videoencoder.cpp:692:19: warning: ‘AVCodecContext::coded_frame’ is deprecated [-Wdeprecated-declarations]
  692 |     if(pCodecCtx->coded_frame->key_frame)
      |                   ^~~~~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1908:35: note: declared here
 1908 |     attribute_deprecated AVFrame *coded_frame;
      |                                   ^~~~~~~~~~~
videoencoder.cpp:692:19: warning: ‘AVCodecContext::coded_frame’ is deprecated [-Wdeprecated-declarations]
  692 |     if(pCodecCtx->coded_frame->key_frame)
      |                   ^~~~~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1908:35: note: declared here
 1908 |     attribute_deprecated AVFrame *coded_frame;
      |                                   ^~~~~~~~~~~
videoencoder.cpp:701:17: warning: suggest parentheses around comparison in operand of ‘|’ [-Wparentheses]
  701 |     if(pts_prev == pkt.pts | pkt.pts < pts_prev){
      |        ~~~~~~~~~^~~~~~~~~~
videoencoder.cpp:715:28: warning: ‘void av_free_packet(AVPacket*)’ is deprecated [-Wdeprecated-declarations]
  715 |         av_free_packet(&pkt);
      |                            ^
In file included from /usr/include/libavcodec/avcodec.h:46,
                 from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/packet.h:538:6: note: declared here
  538 | void av_free_packet(AVPacket *pkt);
      |      ^~~~~~~~~~~~~~
videoencoder.cpp:715:28: warning: ‘void av_free_packet(AVPacket*)’ is deprecated [-Wdeprecated-declarations]
  715 |         av_free_packet(&pkt);
      |                            ^
In file included from /usr/include/libavcodec/avcodec.h:46,
                 from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/packet.h:538:6: note: declared here
  538 | void av_free_packet(AVPacket *pkt);
      |      ^~~~~~~~~~~~~~
videoencoder.cpp: In member function ‘AVStream* VideoEncoder::add_audio_stream(AVFormatContext*, AVCodecID, int, int)’:
videoencoder.cpp:760:13: warning: ‘AVStream::codec’ is deprecated [-Wdeprecated-declarations]
  760 |     c = st->codec;
      |             ^~~~~
In file included from videoencoder.h:38,
                 from videoencoder.cpp:22:
/usr/include/libavformat/avformat.h:880:21: note: declared here
  880 |     AVCodecContext *codec;
      |                     ^~~~~
videoencoder.cpp:760:13: warning: ‘AVStream::codec’ is deprecated [-Wdeprecated-declarations]
  760 |     c = st->codec;
      |             ^~~~~
In file included from videoencoder.h:38,
                 from videoencoder.cpp:22:
/usr/include/libavformat/avformat.h:880:21: note: declared here
  880 |     AVCodecContext *codec;
      |                     ^~~~~
videoencoder.cpp:760:13: warning: ‘AVStream::codec’ is deprecated [-Wdeprecated-declarations]
  760 |     c = st->codec;
      |             ^~~~~
In file included from videoencoder.h:38,
                 from videoencoder.cpp:22:
/usr/include/libavformat/avformat.h:880:21: note: declared here
  880 |     AVCodecContext *codec;
      |                     ^~~~~
videoencoder.cpp:783:21: error: ‘CODEC_FLAG_GLOBAL_HEADER’ was not declared in this scope; did you mean ‘AV_CODEC_FLAG_GLOBAL_HEADER’?
  783 |         c->flags |= CODEC_FLAG_GLOBAL_HEADER;
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~
      |                     AV_CODEC_FLAG_GLOBAL_HEADER
videoencoder.cpp: In member function ‘int VideoEncoder::open_audio(AVStream*)’:
videoencoder.cpp:792:26: warning: ‘AVStream::codec’ is deprecated [-Wdeprecated-declarations]
  792 |     pAudioCodecCtx = st->codec;
      |                          ^~~~~
In file included from videoencoder.h:38,
                 from videoencoder.cpp:22:

Control exposure time on ECON camera

I have this ECON camera: https://www.e-consystems.com/industrial-cameras/ov2311-monochrome-global-shutter-camera.asp

Following V4L2 doc https://www.kernel.org/doc/html/v4.9/media/uapi/v4l/control.html#example-enumerating-all-user-controls, the device tells me the only control available is BRIGTHNESS.

I expected to have control also on EXPOSURE_TIME. Is there a way to get control over it?

  • If yes, does this needs playing with hidraw-device-like properties? Is there a code sample in this repo related to this specific use case (modifying EXPOSURE TIME)?
  • If no, is EXPOSURE TIME control not supported on ov2311? Is this documented or intended?

Build issues

ffmpeg 5.1.2

videoencoder.cpp: In member function ‘bool VideoEncoder::createFile(QString, AVCodecID, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, int, int, int)’:
videoencoder.cpp:88:36: error: invalid conversion from ‘const AVOutputFormat*’ to ‘AVOutputFormat*’ [-fpermissive]
   88 |     pOutputFormat = av_guess_format(NULL, fileName.toStdString().c_str(), NULL);
      |                     ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                    |
      |                                    const AVOutputFormat*
videoencoder.cpp:90:40: error: invalid conversion from ‘const AVOutputFormat*’ to ‘AVOutputFormat*’ [-fpermissive]
   90 |         pOutputFormat = av_guess_format("mpeg", NULL, NULL);
      |                         ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
      |                                        |
      |                                        const AVOutputFormat*
videoencoder.cpp:106:26: error: ‘AVFormatContext’ {aka ‘struct AVFormatContext’} has no member named ‘filename’
  106 |     snprintf(pFormatCtx->filename, sizeof(pFormatCtx->filename), "%s", fileName.toStdString().c_str());
      |                          ^~~~~~~~
videoencoder.cpp:106:55: error: ‘AVFormatContext’ {aka ‘struct AVFormatContext’} has no member named ‘filename’
  106 |     snprintf(pFormatCtx->filename, sizeof(pFormatCtx->filename), "%s", fileName.toStdString().c_str());
      |                                                       ^~~~~~~~
videoencoder.cpp:116:38: error: invalid conversion from ‘const AVCodec*’ to ‘AVCodec*’ [-fpermissive]
  116 |         pCodec = avcodec_find_encoder(pOutputFormat->video_codec);
      |                  ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                      |
      |                                      const AVCodec*
videoencoder.cpp:129:33: error: ‘AVStream’ {aka ‘struct AVStream’} has no member named ‘codec’
  129 |         pCodecCtx=pVideoStream->codec;
      |                                 ^~~~~
videoencoder.cpp:165:49: warning: narrowing conversion of ‘fpsNumerator’ from ‘unsigned int’ to ‘int’ [-Wnarrowing]
  165 |             pCodecCtx->time_base = (AVRational){fpsNumerator, fpsDenominator};
      |                                                 ^~~~~~~~~~~~
videoencoder.cpp:165:63: warning: narrowing conversion of ‘fpsDenominator’ from ‘unsigned int’ to ‘int’ [-Wnarrowing]
  165 |             pCodecCtx->time_base = (AVRational){fpsNumerator, fpsDenominator};
      |                                                               ^~~~~~~~~~~~~~
videoencoder.cpp: In member function ‘bool VideoEncoder::closeFile()’:
videoencoder.cpp:271:33: error: ‘AVStream’ {aka ‘struct AVStream’} has no member named ‘codec’
  271 |     avcodec_close(pVideoStream->codec);
      |                                 ^~~~~
videoencoder.cpp:276:9: error: ‘av_free_packet’ was not declared in this scope; did you mean ‘av_new_packet’?
  276 |         av_free_packet(&pkt);
      |         ^~~~~~~~~~~~~~
      |         av_new_packet
videoencoder.cpp:286:43: error: ‘AVStream’ {aka ‘struct AVStream’} has no member named ‘codec’
  286 |         av_freep(&pFormatCtx->streams[i]->codec);
      |                                           ^~~~~
videoencoder.cpp: In member function ‘int VideoEncoder::encodePacket(uint8_t*, uint8_t)’:
videoencoder.cpp:351:8: error: ‘av_free_packet’ was not declared in this scope; did you mean ‘av_new_packet’?
  351 |        av_free_packet(&pkt);
      |        ^~~~~~~~~~~~~~
      |        av_new_packet
videoencoder.cpp:357:19: warning: ‘void av_init_packet(AVPacket*)’ is deprecated [-Wdeprecated-declarations]
  357 |     av_init_packet(&pkt);
      |     ~~~~~~~~~~~~~~^~~~~~
In file included from /usr/include/libavcodec/avcodec.h:45,
                 from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/packet.h:512:6: note: declared here
  512 | void av_init_packet(AVPacket *pkt);
      |      ^~~~~~~~~~~~~~
videoencoder.cpp:362:15: error: ‘avcodec_encode_video2’ was not declared in this scope; did you mean ‘avcodec_encode_subtitle’?
  362 |     int ret = avcodec_encode_video2(pCodecCtx, &pkt, ppicture, &got_packet);
      |               ^~~~~~~~~~~~~~~~~~~~~
      |               avcodec_encode_subtitle
videoencoder.cpp:367:9: error: ‘av_free_packet’ was not declared in this scope; did you mean ‘av_new_packet’?
  367 |         av_free_packet(&pkt);
      |         ^~~~~~~~~~~~~~
      |         av_new_packet
videoencoder.cpp:393:21: warning: suggest parentheses around comparison in operand of ‘|’ [-Wparentheses]
  393 |         if(pts_prev == pkt.pts | pkt.pts < pts_prev){
      |            ~~~~~~~~~^~~~~~~~~~
videoencoder.cpp:398:23: error: ‘AVCodecContext’ {aka ‘struct AVCodecContext’} has no member named ‘coded_frame’
  398 |         if(pCodecCtx->coded_frame->key_frame)
      |                       ^~~~~~~~~~~
videoencoder.cpp: In member function ‘bool VideoEncoder::initCodec()’:
videoencoder.cpp:495:5: error: ‘av_register_all’ was not declared in this scope
  495 |     av_register_all();
      |     ^~~~~~~~~~~~~~~
videoencoder.cpp: In member function ‘bool VideoEncoder::initFrame()’:
videoencoder.cpp:552:16: error: ‘avpicture_get_size’ was not declared in this scope
  552 |     int size = avpicture_get_size(pCodecCtx->pix_fmt, pCodecCtx->width, pCodecCtx->height);
      |                ^~~~~~~~~~~~~~~~~~
videoencoder.cpp:562:21: error: ‘AVPicture’ was not declared in this scope; did you mean ‘QPicture’?
  562 |     avpicture_fill((AVPicture *)ppicture, picture_buf,pCodecCtx->pix_fmt, pCodecCtx->width, pCodecCtx->height);
      |                     ^~~~~~~~~
      |                     QPicture
videoencoder.cpp:562:32: error: expected primary-expression before ‘)’ token
  562 |     avpicture_fill((AVPicture *)ppicture, picture_buf,pCodecCtx->pix_fmt, pCodecCtx->width, pCodecCtx->height);
      |                                ^
videoencoder.cpp:562:5: error: ‘avpicture_fill’ was not declared in this scope
  562 |     avpicture_fill((AVPicture *)ppicture, picture_buf,pCodecCtx->pix_fmt, pCodecCtx->width, pCodecCtx->height);
      |     ^~~~~~~~~~~~~~
videoencoder.cpp: In member function ‘int VideoEncoder::encodeH264Packet(void*, int)’:
videoencoder.cpp:691:19: warning: ‘void av_init_packet(AVPacket*)’ is deprecated [-Wdeprecated-declarations]
  691 |     av_init_packet(&pkt);
      |     ~~~~~~~~~~~~~~^~~~~~
In file included from /usr/include/libavcodec/avcodec.h:45,
                 from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/packet.h:512:6: note: declared here
  512 | void av_init_packet(AVPacket *pkt);
      |      ^~~~~~~~~~~~~~
videoencoder.cpp:695:19: error: ‘AVCodecContext’ {aka ‘struct AVCodecContext’} has no member named ‘coded_frame’
  695 |     if(pCodecCtx->coded_frame->key_frame)
      |                   ^~~~~~~~~~~
videoencoder.cpp:704:17: warning: suggest parentheses around comparison in operand of ‘|’ [-Wparentheses]
  704 |     if(pts_prev == pkt.pts | pkt.pts < pts_prev){
      |        ~~~~~~~~~^~~~~~~~~~
videoencoder.cpp:718:9: error: ‘av_free_packet’ was not declared in this scope; did you mean ‘av_new_packet’?
  718 |         av_free_packet(&pkt);
      |         ^~~~~~~~~~~~~~
      |         av_new_packet
videoencoder.cpp: In member function ‘AVStream* VideoEncoder::add_audio_stream(AVFormatContext*, AVCodecID, int, int)’:
videoencoder.cpp:750:39: error: invalid conversion from ‘const AVCodec*’ to ‘AVCodec*’ [-fpermissive]
  750 |     paudioCodec = avcodec_find_encoder(AV_CODEC_ID_MP2);
      |                   ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
      |                                       |
      |                                       const AVCodec*
videoencoder.cpp:763:13: error: ‘AVStream’ {aka ‘struct AVStream’} has no member named ‘codec’
  763 |     c = st->codec;
      |             ^~~~~
videoencoder.cpp:778:8: warning: ‘AVCodecContext::channels’ is deprecated [-Wdeprecated-declarations]
  778 |     c->channels    = channels;
      |        ^~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1015:9: note: declared here
 1015 |     int channels;
      |         ^~~~~~~~
videoencoder.cpp:778:8: warning: ‘AVCodecContext::channels’ is deprecated [-Wdeprecated-declarations]
  778 |     c->channels    = channels;
      |        ^~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1015:9: note: declared here
 1015 |     int channels;
      |         ^~~~~~~~
videoencoder.cpp:778:8: warning: ‘AVCodecContext::channels’ is deprecated [-Wdeprecated-declarations]
  778 |     c->channels    = channels;
      |        ^~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1015:9: note: declared here
 1015 |     int channels;
      |         ^~~~~~~~
videoencoder.cpp:779:12: warning: ‘AVCodecContext::channels’ is deprecated [-Wdeprecated-declarations]
  779 |     if (c->channels < 2)
      |            ^~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1015:9: note: declared here
 1015 |     int channels;
      |         ^~~~~~~~
videoencoder.cpp:779:12: warning: ‘AVCodecContext::channels’ is deprecated [-Wdeprecated-declarations]
  779 |     if (c->channels < 2)
      |            ^~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1015:9: note: declared here
 1015 |     int channels;
      |         ^~~~~~~~
videoencoder.cpp:779:12: warning: ‘AVCodecContext::channels’ is deprecated [-Wdeprecated-declarations]
  779 |     if (c->channels < 2)
      |            ^~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1015:9: note: declared here
 1015 |     int channels;
      |         ^~~~~~~~
videoencoder.cpp:780:12: warning: ‘AVCodecContext::channel_layout’ is deprecated [-Wdeprecated-declarations]
  780 |         c->channel_layout = AV_CH_LAYOUT_MONO;
      |            ^~~~~~~~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1069:14: note: declared here
 1069 |     uint64_t channel_layout;
      |              ^~~~~~~~~~~~~~
videoencoder.cpp:780:12: warning: ‘AVCodecContext::channel_layout’ is deprecated [-Wdeprecated-declarations]
  780 |         c->channel_layout = AV_CH_LAYOUT_MONO;
      |            ^~~~~~~~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1069:14: note: declared here
 1069 |     uint64_t channel_layout;
      |              ^~~~~~~~~~~~~~
videoencoder.cpp:780:12: warning: ‘AVCodecContext::channel_layout’ is deprecated [-Wdeprecated-declarations]
  780 |         c->channel_layout = AV_CH_LAYOUT_MONO;
      |            ^~~~~~~~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1069:14: note: declared here
 1069 |     uint64_t channel_layout;
      |              ^~~~~~~~~~~~~~
videoencoder.cpp:782:12: warning: ‘AVCodecContext::channel_layout’ is deprecated [-Wdeprecated-declarations]
  782 |         c->channel_layout = AV_CH_LAYOUT_STEREO;
      |            ^~~~~~~~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1069:14: note: declared here
 1069 |     uint64_t channel_layout;
      |              ^~~~~~~~~~~~~~
videoencoder.cpp:782:12: warning: ‘AVCodecContext::channel_layout’ is deprecated [-Wdeprecated-declarations]
  782 |         c->channel_layout = AV_CH_LAYOUT_STEREO;
      |            ^~~~~~~~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1069:14: note: declared here
 1069 |     uint64_t channel_layout;
      |              ^~~~~~~~~~~~~~
videoencoder.cpp:782:12: warning: ‘AVCodecContext::channel_layout’ is deprecated [-Wdeprecated-declarations]
  782 |         c->channel_layout = AV_CH_LAYOUT_STEREO;
      |            ^~~~~~~~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1069:14: note: declared here
 1069 |     uint64_t channel_layout;
      |              ^~~~~~~~~~~~~~
videoencoder.cpp: In member function ‘int VideoEncoder::open_audio(AVStream*)’:
videoencoder.cpp:795:26: error: ‘AVStream’ {aka ‘struct AVStream’} has no member named ‘codec’
  795 |     pAudioCodecCtx = st->codec;
      |                          ^~~~~
videoencoder.cpp: In member function ‘int VideoEncoder::encodeAudio(void*)’:
videoencoder.cpp:849:19: warning: ‘void av_init_packet(AVPacket*)’ is deprecated [-Wdeprecated-declarations]
  849 |     av_init_packet(&audioPkt);
      |     ~~~~~~~~~~~~~~^~~~~~~~~~~
In file included from /usr/include/libavcodec/avcodec.h:45,
                 from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/packet.h:512:6: note: declared here
  512 | void av_init_packet(AVPacket *pkt);
      |      ^~~~~~~~~~~~~~
videoencoder.cpp:857:71: warning: ‘AVCodecContext::channels’ is deprecated [-Wdeprecated-declarations]
  857 |     int bufferSize = av_samples_get_buffer_size(NULL, pAudioCodecCtx->channels, pAudioCodecCtx->frame_size,
      |                                                                       ^~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1015:9: note: declared here
 1015 |     int channels;
      |         ^~~~~~~~
videoencoder.cpp:857:71: warning: ‘AVCodecContext::channels’ is deprecated [-Wdeprecated-declarations]
  857 |     int bufferSize = av_samples_get_buffer_size(NULL, pAudioCodecCtx->channels, pAudioCodecCtx->frame_size,
      |                                                                       ^~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1015:9: note: declared here
 1015 |     int channels;
      |         ^~~~~~~~
videoencoder.cpp:857:71: warning: ‘AVCodecContext::channels’ is deprecated [-Wdeprecated-declarations]
  857 |     int bufferSize = av_samples_get_buffer_size(NULL, pAudioCodecCtx->channels, pAudioCodecCtx->frame_size,
      |                                                                       ^~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1015:9: note: declared here
 1015 |     int channels;
      |         ^~~~~~~~
videoencoder.cpp:863:29: warning: ‘AVCodecContext::channels’ is deprecated [-Wdeprecated-declarations]
  863 |             pAudioCodecCtx->channels, pAudioCodecCtx->sample_fmt);
      |                             ^~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1015:9: note: declared here
 1015 |     int channels;
      |         ^~~~~~~~
videoencoder.cpp:863:29: warning: ‘AVCodecContext::channels’ is deprecated [-Wdeprecated-declarations]
  863 |             pAudioCodecCtx->channels, pAudioCodecCtx->sample_fmt);
      |                             ^~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1015:9: note: declared here
 1015 |     int channels;
      |         ^~~~~~~~
videoencoder.cpp:863:29: warning: ‘AVCodecContext::channels’ is deprecated [-Wdeprecated-declarations]
  863 |             pAudioCodecCtx->channels, pAudioCodecCtx->sample_fmt);
      |                             ^~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1015:9: note: declared here
 1015 |     int channels;
      |         ^~~~~~~~
videoencoder.cpp:868:65: warning: ‘AVCodecContext::channels’ is deprecated [-Wdeprecated-declarations]
  868 |     ret = avcodec_fill_audio_frame(pAudioFrame, pAudioCodecCtx->channels, pAudioCodecCtx->sample_fmt,
      |                                                                 ^~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1015:9: note: declared here
 1015 |     int channels;
      |         ^~~~~~~~
videoencoder.cpp:868:65: warning: ‘AVCodecContext::channels’ is deprecated [-Wdeprecated-declarations]
  868 |     ret = avcodec_fill_audio_frame(pAudioFrame, pAudioCodecCtx->channels, pAudioCodecCtx->sample_fmt,
      |                                                                 ^~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1015:9: note: declared here
 1015 |     int channels;
      |         ^~~~~~~~
videoencoder.cpp:868:65: warning: ‘AVCodecContext::channels’ is deprecated [-Wdeprecated-declarations]
  868 |     ret = avcodec_fill_audio_frame(pAudioFrame, pAudioCodecCtx->channels, pAudioCodecCtx->sample_fmt,
      |                                                                 ^~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1015:9: note: declared here
 1015 |     int channels;
      |         ^~~~~~~~
videoencoder.cpp:875:29: warning: ‘AVCodecContext::channels’ is deprecated [-Wdeprecated-declarations]
  875 |             pAudioCodecCtx->channels, pAudioCodecCtx->sample_fmt);
      |                             ^~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1015:9: note: declared here
 1015 |     int channels;
      |         ^~~~~~~~
videoencoder.cpp:875:29: warning: ‘AVCodecContext::channels’ is deprecated [-Wdeprecated-declarations]
  875 |             pAudioCodecCtx->channels, pAudioCodecCtx->sample_fmt);
      |                             ^~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1015:9: note: declared here
 1015 |     int channels;
      |         ^~~~~~~~
videoencoder.cpp:875:29: warning: ‘AVCodecContext::channels’ is deprecated [-Wdeprecated-declarations]
  875 |             pAudioCodecCtx->channels, pAudioCodecCtx->sample_fmt);
      |                             ^~~~~~~~
In file included from videoencoder.h:37,
                 from videoencoder.cpp:22:
/usr/include/libavcodec/avcodec.h:1015:9: note: declared here
 1015 |     int channels;
      |         ^~~~~~~~
videoencoder.cpp:880:11: error: ‘avcodec_encode_audio2’ was not declared in this scope; did you mean ‘avcodec_encode_subtitle’?
  880 |     ret = avcodec_encode_audio2(pAudioCodecCtx, &audioPkt, pAudioFrame, &got_packet);
      |           ^~~~~~~~~~~~~~~~~~~~~
      |           avcodec_encode_subtitle
videoencoder.cpp:883:9: error: ‘av_free_packet’ was not declared in this scope; did you mean ‘av_new_packet’?
  883 |         av_free_packet(&audioPkt);
      |         ^~~~~~~~~~~~~~
      |         av_new_packet
videoencoder.cpp:899:28: error: ‘AVCodecContext’ {aka ‘struct AVCodecContext’} has no member named ‘coded_frame’
  899 |         if(pAudioCodecCtx->coded_frame->key_frame)
      |                            ^~~~~~~~~~~
videoencoder.cpp:909:9: error: ‘av_free_packet’ was not declared in this scope; did you mean ‘av_new_packet’?
  909 |         av_free_packet(&audioPkt);
      |         ^~~~~~~~~~~~~~
      |         av_new_packet
videoencoder.cpp: At global scope:
videoencoder.cpp:32:16: warning: ‘audioPts’ defined but not used [-Wunused-variable]
   32 | static int64_t audioPts = 0;
      |                ^~~~~~~~
make: *** [Makefile:2106: videoencoder.o] Error 1


'make install' installs into wrong qml directory

I compiled from source which proceeded fine, but when I ran 'make install' it does the following:

cp -f -R /home/jseng/qtcam/src/qml/qtcam /usr//qml/

It seems to not install into the /usr/share/qml directory. When I try to start the program, I then get an error that it cannot find /usr/share/qml/qtcam/Views/qtcam.qml

When I fix the makefile manually, the install works.

Can't compile on Debian Sid

Hi, currently on Debian 9 and completely unable to compile from source. There's an instruction to download a .run file for qt dependencies, and the file just doesn't work. A more detailed compiled instruction would be useful, or if possible to supply compiled deb packages would also be great.

Building on 16.10

Makefile:773: warning: overriding recipe for target 'install_itemfolder_01'
Makefile:764: warning: ignoring old recipe for target 'install_itemfolder_01'
Makefile:777: warning: overriding recipe for target 'uninstall_itemfolder_01'
Makefile:768: warning: ignoring old recipe for target 'uninstall_itemfolder_01'
g++ -c -m64 -pipe -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_CONCURRENT_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/libusb-1.0 -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtQuick -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtConcurrent -isystem /usr/include/x86_64-linux-gnu/qt5/QtQml -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -o main.o main.cpp
In file included from /usr/include/c++/6/bits/stl_algo.h:59:0,
from /usr/include/c++/6/algorithm:62,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:88,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:37,
from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:37,
from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
from main.cpp:21:
/usr/include/c++/6/cstdlib:75:25: fatal error: stdlib.h: No such file or directory
#include_next <stdlib.h>
^
compilation terminated.
Makefile:582: recipe for target 'main.o' failed
make: *** [main.o] Error 1

Build source Package fails

Hi,
I try to build qtcam for Pisi Linux, but compiling fails with this error, i hope you can help me further.
Here my Terminal output:

groni@groni_pisilinux2 src $ qmake
groni@groni_pisilinux2 src $ make clean
rm -f moc_qtquick2applicationviewer.cpp moc_about.cpp moc_cameraproperty.cpp moc_videostreaming.cpp moc_uvccamera.cpp moc_seecam_10cug_m.cpp moc_seecam_10cug_bayer.cpp moc_seecam_11cug.cpp moc_seecam_cu80.cpp moc_seecam_cu50.cpp moc_seecam_ar0130.cpp moc_seecam_cu51.cpp moc_see3cam_cu130.cpp
rm -f main.o logger.o about.o cameraproperty.o videostreaming.o uvccamera.o v4l2-api.o seecam_10cug_m.o seecam_10cug_bayer.o seecam_11cug.o seecam_cu80.o seecam_cu50.o seecam_ar0130.o videoencoder.o seecam_cu51.o see3cam_cu130.o h264decoder.o qtquick2applicationviewer.o moc_qtquick2applicationviewer.o moc_about.o moc_cameraproperty.o moc_videostreaming.o moc_uvccamera.o moc_seecam_10cug_m.o moc_seecam_10cug_bayer.o moc_seecam_11cug.o moc_seecam_cu80.o moc_seecam_cu50.o moc_seecam_ar0130.o moc_seecam_cu51.o moc_see3cam_cu130.o
rm -f _~ core *.core
groni@groni_pisilinux2 src $ make
x86_64-pc-linux-gnu-g++ -c -pipe -mtune=generic -march=x86-64 -O2 -pipe -fstack-protector -D_FORTIFY_SOURCE=2 -g -fPIC -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtCore -I. -I/usr/lib/qt5/mkspecs/linux-g++ -o main.o main.cpp
In file included from videostreaming.h:41:0,
from cameraproperty.h:42,
from main.cpp:29:
videoencoder.h:60:38: error: ‘CodecID’ has not been declared
bool createFile(QString filename, CodecID encodeType, unsigned width,unsigned height,unsigned fpsDenominator, unsigned fpsNumerator, unsigned bitRate);
^
Makefile:963: the rule for destination "main.o" failed
make: *_* [main.o] Fehler 1
groni@groni_pisilinux2 src $

Thanks in advanced for an Answer
greetings
groni

ov5640 camera not detected

Hi
we have a ov5640 camera and we want to use it on a banana pi m64 board.
qtcam can always show capture using a usb camera we connected to our board but it doesen't recognize the ov5640 and it shows the name wrong and error "resource is busy".
we used another app (guvcview) to capture frame and it recognized the camera without any problem but for some reasons we can't use that app.
could you please tell us how to define the camera for your application?

Create Github release

Hello, Void Linux is interested in packaging qtcam.
I see that you have releases described in Release.ini and I was just wondering if you could tag a release on Github for the build infrastructure to pull from.

Thanks

missing binary operator

After I runned qmake-qt5 I runned make and I got many errors messages that i attach here

    g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -O2 -Wall -W -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -isystem /usr/include -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtCore -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o main.o main.cpp
    In file included from /usr/include/qt5/QtWidgets/QApplication:1:0,
                     from main.cpp:21:
    /usr/include/qt5/QtWidgets/qapplication.h:100:24: error: missing binary operator before token "("
     #if QT_DEPRECATED_SINCE(5, 0)
                            ^
    /usr/include/qt5/QtWidgets/qapplication.h:136:24: error: missing binary operator before token "("
     #if QT_DEPRECATED_SINCE(5, 0)
                            ^
    /usr/include/qt5/QtWidgets/qapplication.h:166:24: error: missing binary operator before token "("
     #if QT_DEPRECATED_SINCE(5, 0)
                            ^
    In file included from /usr/include/qt5/QtCore/QDateTime:1:0,
                     from main.cpp:24:
    /usr/include/qt5/QtCore/qdatetime.h:89:24: error: missing binary operator before token "("
     #if QT_DEPRECATED_SINCE(5,0)
                            ^
    /usr/include/qt5/QtCore/qdatetime.h:286:24: error: missing binary operator before token "("
     #if QT_DEPRECATED_SINCE(5, 2)
                            ^
    In file included from /usr/include/qt5/QtGui/QIcon:1:0,
                     from main.cpp:26:
    /usr/include/qt5/QtGui/qicon.h:95:24: error: missing binary operator before token "("
     #if QT_DEPRECATED_SINCE(5, 0)
                            ^
    In file included from /usr/include/qt5/QtCore/QStandardPaths:1:0,
                     from main.cpp:27:
    /usr/include/qt5/QtCore/qstandardpaths.h:88:24: error: missing binary operator before token "("
     #if QT_DEPRECATED_SINCE(5, 2)
                            ^
    In file included from /usr/include/qt5/QtGui/qsurface.h:38:0,
                     from /usr/include/qt5/QtGui/qwindow.h:44,
                     from /usr/include/qt5/QtQuick/qquickwindow.h:40,
                     from /usr/include/qt5/QtQuick/qquickview.h:37,
                     from /usr/include/qt5/QtQuick/QQuickView:1,
                     from qtquick2applicationviewer/qtquick2applicationviewer.h:14,
                     from main.cpp:28:
    /usr/include/qt5/QtGui/qsurfaceformat.h:123:24: error: missing binary operator before token "("
     #if QT_DEPRECATED_SINCE(5, 2)

Unable to capture image in E-CAM80_MI8825_MOD E88E0025 camera

logs through dmesg

[ 7166.025385] usb 3-2: new high-speed USB device number 6 using xhci_hcd
[ 7166.166708] usb 3-2: New USB device found, idVendor=2560, idProduct=c080
[ 7166.166714] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 7166.166717] usb 3-2: Product: e-con's 8MP Camera
[ 7166.166720] usb 3-2: Manufacturer: e-consystems
[ 7166.167408] uvcvideo: Found UVC 1.00 device e-con's 8MP Camera (2560:c080)
[ 7166.174644] uvcvideo 3-2:1.0: Entity type for entity Extension 3 was not initialized!
[ 7166.174650] uvcvideo 3-2:1.0: Entity type for entity Processing 2 was not initialized!
[ 7166.174653] uvcvideo 3-2:1.0: Entity type for entity Camera 1 was not initialized!

[ 7166.174920] input: e-con's 8MP Camera as /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:1.0/input/input21
[ 7166.177529] hid-generic 0003:2560:C080.0009: hiddev0,hidraw0: USB HID v1.11 Device [e-consystems e-con's 8MP Camera] on usb-0000:00:14.0-2/input2


sudo qtcam
read: Resource temporarily unavailable
read: Resource temporarily unavailable
read: Resource temporarily unavailable
read: Resource temporarily unavailable
read: Resource temporarily unavailable
read: Resource temporarily unavailable
read: Resource temporarily unavailable
read: Resource temporarily unavailable

I have v4l drivers installed, when I try capturing qtcam gets hanged.


I have also tried with command line utility fswebcam which uses v4l driver directly this the error received

fswebcam -d /dev/video1 img.raw
--- Opening /dev/video1...
Trying source module v4l2...
/dev/video1 opened.
No input was specified, using the first.
Adjusting resolution from 384x288 to 640x480.
--- Capturing frame...
Timed out waiting for frame!
No frames captured.

QT 6.30 migrations broke some things.

See email from QT support regarding issue in file.

Also the error being caused.

/home/john/qtcam/src/audioinput.h:8: error: QtMultimedia/QAudioDeviceInfo: No such file or directory
In file included from ../qtcam/src/audioinput.cpp:47:
../qtcam/src/audioinput.h:8:10: fatal error: QtMultimedia/QAudioDeviceInfo: No such file or directory
8 | #include <QtMultimedia/QAudioDeviceInfo>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Qt Support
6:17 PM (3 hours ago)
to me

Hi

From what I can tell the uses for QAudioDeviceInfo were split up between QMediaDevices, QAudioDevice, QMediaFormat, and maybe some others.
There is a blog post detailing the overall changes to Qt Multimedia going into QT6 here:
https://www.qt.io/blog/qt-multimedia-in-qt-6

I would look through this post along with the Qt6 documentation for Qt Multimedia classes.

What is the update then ?
On Fri, Aug 5, 2022 at 12:25 PM Qt Support <[email protected] [[email protected]]>
wrote:

Hi

Thank you for contacting Qt Account Support.

According to documentation, the QAudioDeviceInfo class was deprecated
going into Qt6.
You can see here https://doc.qt.io/qt-5/qaudiodeviceinfo.html
[https://doc.qt.io/qt-5/qaudiodeviceinfo.html] that the dropdown to the
left only has 5.15 LTS as an option, the absence of Qt6 versions means
it is no longer included.

Regards,
Kevin

Kevin Zhang
Software Engineer,
The Qt Company

Qt Support FAQs - https://wiki.qt.io/KnowledgeBase:SupportFAQ
[https://wiki.qt.io/KnowledgeBase:SupportFAQ]

When in trigger mode, the video feed is not working?

I was wondering why the updated video feed does not update when I am in trigger mode? Is there a specific design consideration that I just don't understand? I think that feature would improve your application.

Build fails to CODIC_IDs not declared in scope.

I'm trying to build the current revision on Arch Linux, and it's failing with:

videostreaming.cpp: In member function ‘void Videostreaming::recordBegin(int, QString, QString)’:
videostreaming.cpp:1359:28: error: ‘CODEC_ID_RAWVIDEO’ was not declared in this scope
         videoEncoderType = CODEC_ID_RAWVIDEO;
                            ^
videostreaming.cpp:1362:28: error: ‘CODEC_ID_MJPEG’ was not declared in this scope
         videoEncoderType = CODEC_ID_MJPEG;
                            ^
videostreaming.cpp:1365:28: error: ‘CODEC_ID_H264’ was not declared in this scope
         videoEncoderType = CODEC_ID_H264;
                            ^
videostreaming.cpp:1368:28: error: ‘CODEC_ID_VP8’ was not declared in this scope
         videoEncoderType = CODEC_ID_VP8;
                            ^
Makefile:1007: recipe for target 'videostreaming.o' failed
make: *** [videostreaming.o] Error 1

Unable to change exposure

In the latest update we are unable to change the exposure of the camera in-app. I have tried testing it on multiple different devices using multiple different USB 2.0 cameras. Please look into this issue at the earliest.
Given below is a screen grab of the issue
Screenshot from 2023-06-30 18-10-37

Problems with enableTriggerMode()

Hello!
I'm developing program for capturing images from two See3CAM_11CUG cameras. In my project I'm using Qtcam source code.
I'm trying to switch cameras to the Trigger mode using following method from uvccamera.h.
But write function returns -1 with error EINVAL.
Before switching to trigger mode camera is opened:
fd = open(device.c_str(), O_RDWR | O_NONBLOCK, 0);
After that the camera is initialized with the necessary exposure value and the pixel format is set to V4L2_PIX_FMT_YUYV.
Could you please tell, what could be the reason of such error? Maybe there are some necessary conditions that must be met before switching to the trigger mode?

Thank you in advance.

Camera USB 3.0 in Python

Hello,

I bought a camera USB 3.0 but when I am reading via python and OpenCV. It doesn't work. How can I run it in python and get the correct video from the camera?

Thanks

How to install qtcam on raspberry pi

I just started a project that uses See3CAM_CU51 that requires QtCam to open. I need to open it on a raspberry pi. However, I cannot use apt-add-repository on a raspberry pi. May I ask how I can install qtcam from the source code.

Thank you very much

trigger does not work

I have see3cam_CU51 model and I wired a few wires to some external GPIO pins to send triggering signals. Once in trigger mode on Windows e-camview software, sending the pulses triggers the camera and images are stored. But doing the same exact thing on QtCam software has no effect (same camera, same wiring etc.). Why QtCam does not respond to hardware triggering but Windows software does? Thanks

qtcam keep crashing when Color Space/Compression stay at MPEG

The default setting of qtcam was fine the view the camera image correctly.
However, when I try to change the "Color Space/Compression" under Video Capture Settings from YUVU to MPEG, the program crash.

And because the program kept the setting, so even if I restart the qtcam and select the camera, it crash immediatly.

I tried to purge the program setting by sudo apt-get purge qtcam, but this didn't works.

How can I remove the config to default?

QTCam not working with See3CAM_CU30.

Hello,
QTCam is not working with See3CAM_CU30.
Initially QTCam starts normally and i see image from camera, but when I try to change Color Space/Compression from UYVY to MJPG or Output size camera freezes and i get on terminal this error:

xxx@xxx-F5VL:$ sudo qtcam
[sudo] password for xxx:
file:///usr/share/qml/qtcam/Views/qtcam.qml:530: TypeError: Cannot call method 'toString' of undefined
xxx@xxx-F5VL:
$ sudo qtcam
read: Resource temporarily unavailable
read: Resource temporarily unavailable
read: Resource temporarily unavailable
... repeats cca 50 times ...
read: Resource temporarily unavailable
read: Resource temporarily unavailable
read: Resource temporarily unavailable
Try Capture Format: Input/output error
Set Capture Format: Input/output error
Try Capture Format: Input/output error
Set Capture Format: Input/output error
Set Capture Format: Input/output error

I have this problem on Ubuntu 16.4 and 14.4 and on two different computers, but with same camera.

QtCam Application Build issue in Ubuntu 18.04

when building the application as mentioned in INSTALL doc:

Using Console:

  1. Goto your git clone path.
  2. cd src/
  3. Set LAUNCHPAD macro in common.h to 0.
  4. qmake --->

response obtained is
No LSB modules are available.
Project MESSAGE: x86_64 bit libs
Project ERROR: Unknown module(s) in QT: multimedia qml quick

Similarly when installing dependencies the following error is obtained:
E: Unable to locate package qtdeclarative5-dialogs-plugin
E: Unable to locate package qtdeclarative5-qtmultimedia-plugin

Compile instructions

I think that more detailed and decoupled from Ubuntu/Debian compilation instructions should be provided into the INSTALL instructions.
Thanks in advance.

QML file contains feature which are not supported by QT Quick Designer

I'm trying to modify QTCam using the QT Creator application.

When I try to view the design tab on most of the Views images, I get the following warning:

Line: 193: This type (Timer) is not supported in the Qt Quick Designer. (M204)

as well as

Line: 220: Imperative code is not supported in the Qt Quick Designer. (M203).
Line: 223: ""
Line: 315: ""

Etc.

I'm using the community edition of Qt Creator found here: https://www1.qt.io/download-open-source/?hsCtaTracking=f977210e-de67-475f-a32b-65cec207fd03%7Cd62710cd-e1db-46aa-8d4d-2f1c1ffdacea

fatal error: libavcodec/avcodec.h (Opensuse Tumbleweed Qt version 5.15.10)

22:56:47: Running steps for project qtcam...
22:56:47: Configuration unchanged, skipping qmake step.
22:56:47: Starting: "/usr/bin/make" -j16
Makefile:2093: warning: overriding recipe for target 'install_itemfolder_01'
Makefile:2084: warning: ignoring old recipe for target 'install_itemfolder_01'
Makefile:2097: warning: overriding recipe for target 'uninstall_itemfolder_01'
Makefile:2088: warning: ignoring old recipe for target 'uninstall_itemfolder_01'
g++ -c -pipe -O2 -Wall -Wextra -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_CONCURRENT_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -I/usr/include -I/usr/include/libusb-1.0 -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtMultimedia -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtConcurrent -I/usr/include/qt5/QtQmlModels -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtCore -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o main.o main.cpp
g++ -c -pipe -O2 -Wall -Wextra -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_CONCURRENT_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -I/usr/include -I/usr/include/libusb-1.0 -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtMultimedia -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtConcurrent -I/usr/include/qt5/QtQmlModels -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtCore -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o cameraproperty.o cameraproperty.cpp
g++ -c -pipe -O2 -Wall -Wextra -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_CONCURRENT_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -I/usr/include -I/usr/include/libusb-1.0 -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtMultimedia -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtConcurrent -I/usr/include/qt5/QtQmlModels -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtCore -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o videostreaming.o videostreaming.cpp
g++ -c -pipe -O2 -Wall -Wextra -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_CONCURRENT_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -I/usr/include -I/usr/include/libusb-1.0 -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtMultimedia -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtConcurrent -I/usr/include/qt5/QtQmlModels -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtCore -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o seecam_cu50.o seecam_cu50.cpp
g++ -c -pipe -O2 -Wall -Wextra -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_CONCURRENT_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -I/usr/include -I/usr/include/libusb-1.0 -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtMultimedia -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtConcurrent -I/usr/include/qt5/QtQmlModels -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtCore -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o videoencoder.o videoencoder.cpp
g++ -c -pipe -O2 -Wall -Wextra -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_CONCURRENT_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -I/usr/include -I/usr/include/libusb-1.0 -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtMultimedia -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtConcurrent -I/usr/include/qt5/QtQmlModels -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtCore -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o h264decoder.o h264decoder.cpp
g++ -c -pipe -O2 -Wall -Wextra -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_CONCURRENT_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -I/usr/include -I/usr/include/libusb-1.0 -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtMultimedia -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtConcurrent -I/usr/include/qt5/QtQmlModels -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtCore -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o uvcExtCx3sni.o uvcExtCx3sni.cpp
g++ -c -pipe -O2 -Wall -Wextra -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_CONCURRENT_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -I/usr/include -I/usr/include/libusb-1.0 -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtMultimedia -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtConcurrent -I/usr/include/qt5/QtQmlModels -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtCore -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o keyEventReceive.o keyEventReceive.cpp
g++ -c -pipe -O2 -Wall -Wextra -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_CONCURRENT_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -I/usr/include -I/usr/include/libusb-1.0 -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtMultimedia -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtConcurrent -I/usr/include/qt5/QtQmlModels -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtCore -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o see3cam_27cug.o see3cam_27cug.cpp
g++ -c -pipe -O2 -Wall -Wextra -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_CONCURRENT_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -I/usr/include -I/usr/include/libusb-1.0 -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtMultimedia -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtConcurrent -I/usr/include/qt5/QtQmlModels -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtCore -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o h264camera.o h264camera.cpp
g++ -c -pipe -O2 -Wall -Wextra -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_CONCURRENT_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -I/usr/include -I/usr/include/libusb-1.0 -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtMultimedia -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtConcurrent -I/usr/include/qt5/QtQmlModels -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtCore -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o audioinput.o audioinput.cpp
g++ -c -pipe -O2 -Wall -Wextra -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_CONCURRENT_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -I/usr/include -I/usr/include/libusb-1.0 -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtMultimedia -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtConcurrent -I/usr/include/qt5/QtQmlModels -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtCore -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o fscam_cu135.o fscam_cu135.cpp
g++ -c -pipe -O2 -Wall -Wextra -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_CONCURRENT_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -I/usr/include -I/usr/include/libusb-1.0 -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtMultimedia -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtConcurrent -I/usr/include/qt5/QtQmlModels -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtCore -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o ecam51_usb.o ecam51_usb.cpp
g++ -c -pipe -O2 -Wall -Wextra -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_CONCURRENT_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -I/usr/include -I/usr/include/libusb-1.0 -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtMultimedia -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtConcurrent -I/usr/include/qt5/QtQmlModels -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtCore -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o ecam82_usb.o ecam82_usb.cpp
g++ -c -pipe -O2 -Wall -Wextra -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_CONCURRENT_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -I/usr/include -I/usr/include/libusb-1.0 -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtMultimedia -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtConcurrent -I/usr/include/qt5/QtQmlModels -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtCore -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o ecam83_usb.o ecam83_usb.cpp
g++ -c -pipe -O2 -Wall -Wextra -D__STDC_CONSTANT_MACROS -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_CONCURRENT_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Iqtquick2applicationviewer -Iv4l2headers/include -I/usr/include -I/usr/include/libusb-1.0 -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtMultimedia -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtConcurrent -I/usr/include/qt5/QtQmlModels -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtCore -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o moc_cameraproperty.o moc_cameraproperty.cpp
In file included from videoencoder.cpp:22:
videoencoder.h:37:10: fatal error: libavcodec/avcodec.h: No such file or directory
37 | #include "libavcodec/avcodec.h"
| ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:1569: videoencoder.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from h264decoder.cpp:22:
h264decoder.h:26:10: fatal error: libavcodec/avcodec.h: No such file or directory
26 | #include "libavcodec/avcodec.h"
| ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:1583: h264decoder.o] Error 1
In file included from videostreaming.h:78,
from videostreaming.cpp:21:
videoencoder.h:37:10: fatal error: libavcodec/avcodec.h: No such file or directory
37 | #include "libavcodec/avcodec.h"
| ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:1515: videostreaming.o] Error 1
In file included from videostreaming.h:78,
from ecam51_usb.h:4,
from ecam51_usb.cpp:1:
videoencoder.h:37:10: fatal error: libavcodec/avcodec.h: No such file or directory
37 | #include "libavcodec/avcodec.h"
| ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:1811: ecam51_usb.o] Error 1
In file included from videostreaming.h:78,
from uvcExtCx3sni.h:6,
from uvcExtCx3sni.cpp:21:
videoencoder.h:37:10: fatal error: libavcodec/avcodec.h: No such file or directory
37 | #include "libavcodec/avcodec.h"
| ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
In file included from videostreaming.h:78,
from h264camera.h:7,
from h264camera.cpp:23:
videoencoder.h:37:10: fatal error: libavcodec/avcodec.h: No such file or directory
37 | #include "libavcodec/avcodec.h"
| ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:1641: uvcExtCx3sni.o] Error 1
make: *** [Makefile:1712: h264camera.o] Error 1
In file included from videostreaming.h:78,
from see3cam_27cug.cpp:21:
videoencoder.h:37:10: fatal error: libavcodec/avcodec.h: No such file or directory
37 | #include "libavcodec/avcodec.h"
| ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
In file included from videostreaming.h:78,
from ecam83_usb.h:4,
from ecam83_usb.cpp:1:
videoencoder.h:37:10: fatal error: libavcodec/avcodec.h: No such file or directory
37 | #include "libavcodec/avcodec.h"
| ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
In file included from videostreaming.h:78,
from ecam82_usb.h:4,
from ecam82_usb.cpp:1:
videoencoder.h:37:10: fatal error: libavcodec/avcodec.h: No such file or directory
37 | #include "libavcodec/avcodec.h"
| ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:1857: ecam83_usb.o] Error 1
make: *** [Makefile:1679: see3cam_27cug.o] Error 1
make: *** [Makefile:1829: ecam82_usb.o] Error 1
In file included from videostreaming.h:78,
from fscam_cu135.cpp:23:
videoencoder.h:37:10: fatal error: libavcodec/avcodec.h: No such file or directory
37 | #include "libavcodec/avcodec.h"
| ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:1753: fscam_cu135.o] Error 1
In file included from audioinput.h:10,
from audioinput.cpp:47:
videoencoder.h:37:10: fatal error: libavcodec/avcodec.h: No such file or directory
37 | #include "libavcodec/avcodec.h"
| ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:1728: audioinput.o] Error 1
In file included from videostreaming.h:78,
from cameraproperty.h:42,
from seecam_cu50.cpp:22:
videoencoder.h:37:10: fatal error: libavcodec/avcodec.h: No such file or directory
37 | #include "libavcodec/avcodec.h"
| ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:1560: seecam_cu50.o] Error 1
In file included from videostreaming.h:78,
from cameraproperty.h:42,
from keyEventReceive.h:24,
from keyEventReceive.cpp:20:
videoencoder.h:37:10: fatal error: libavcodec/avcodec.h: No such file or directory
37 | #include "libavcodec/avcodec.h"
| ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:1661: keyEventReceive.o] Error 1
In file included from videostreaming.h:78,
from cameraproperty.h:42,
from main.cpp:28:
videoencoder.h:37:10: fatal error: libavcodec/avcodec.h: No such file or directory
37 | #include "libavcodec/avcodec.h"
| ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:1470: main.o] Error 1
In file included from videostreaming.h:78,
from cameraproperty.h:42,
from cameraproperty.cpp:21:
videoencoder.h:37:10: fatal error: libavcodec/avcodec.h: No such file or directory
37 | #include "libavcodec/avcodec.h"
| ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:1497: cameraproperty.o] Error 1
In file included from videostreaming.h:78,
from cameraproperty.h:42,
from moc_cameraproperty.cpp:10:
videoencoder.h:37:10: fatal error: libavcodec/avcodec.h: No such file or directory
37 | #include "libavcodec/avcodec.h"
| ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:1917: moc_cameraproperty.o] Error 1
22:56:48: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project qtcam (kit: Qt 5.15.10 (qt5))
When executing step "Make"
22:56:48: Elapsed time: 00:00.

Opensuse Tumbleweed
/usr/lib64/qt5/bin/qmake -v
QMake version 3.1
Using Qt version 5.15.10 in /usr/lib64

Es un fallo de la libreria libavcodec/avcodec.h

En este caso tengo instalado el ffmpeg-4-libavcodec-devel-4.4.4-1699.4.pm.1-x86_64.rpm
/usr/include/ffmpeg
/usr/include/ffmpeg/libavcodec
/usr/include/ffmpeg/libavcodec/ac3_parser.h
/usr/include/ffmpeg/libavcodec/adts_parser.h
/usr/include/ffmpeg/libavcodec/avcodec.h
/usr/include/ffmpeg/libavcodec/avdct.h
/usr/include/ffmpeg/libavcodec/avfft.h
/usr/include/ffmpeg/libavcodec/bsf.h
/usr/include/ffmpeg/libavcodec/codec.h
/usr/include/ffmpeg/libavcodec/codec_desc.h
/usr/include/ffmpeg/libavcodec/codec_id.h
/usr/include/ffmpeg/libavcodec/codec_par.h
/usr/include/ffmpeg/libavcodec/d3d11va.h
/usr/include/ffmpeg/libavcodec/dirac.h
/usr/include/ffmpeg/libavcodec/dv_profile.h
/usr/include/ffmpeg/libavcodec/dxva2.h
/usr/include/ffmpeg/libavcodec/jni.h
/usr/include/ffmpeg/libavcodec/mediacodec.h
/usr/include/ffmpeg/libavcodec/packet.h
/usr/include/ffmpeg/libavcodec/qsv.h
/usr/include/ffmpeg/libavcodec/vaapi.h
/usr/include/ffmpeg/libavcodec/vdpau.h
/usr/include/ffmpeg/libavcodec/version.h
/usr/include/ffmpeg/libavcodec/videotoolbox.h
/usr/include/ffmpeg/libavcodec/vorbis_parser.h
/usr/include/ffmpeg/libavcodec/xvmc.h
/usr/lib64/libavcodec.so
/usr/lib64/pkgconfig/libavcodec.pc
/usr/share/man/man3/libavcodec.3.gz
29 archivos en total

He probado todas las versiones y ninguna funciona, todas dan el mismo error

ffmpeg-2-libavcodec-devel, ffmpeg-3-libavcodec-devel, ffmpeg-4-libavcodec-devel, ffmpeg-5-libavcodec-devel y ffmpeg-6-libavcodec-devel

¿alguno sabe como solucionarlo?

See3cam cannot work on a Laptop with integrated webcam

Hi

I have successfully operated the see3cam on a desktop using OpenCVcam. But when I move it to a laptop with an integrated camera. I cannot communicate with the camera.

Results of using qtcam

QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-thachdo'
Cannot open /dev/video2
Cannot open /dev/video3
Cannot open /dev/video2
Cannot open /dev/video3

Results of using OpenCVcam

Can't open camera device : No such file or directory
Can't open camera device : No such file or directory
Unable to find parent usb device.

Output of dmesg command

[    3.351057] videodev: Linux video capture interface: v2.00
[    3.412352] uvcvideo: Found UVC 1.00 device Integrated_Webcam_HD (0bda:568c)
[    3.419242] usbcore: registered new interface driver uvcvideo
[ 2493.667185] uvcvideo: Found UVC 1.00 device See3CAM_130 (2560:c0d0)
[12972.473428] uvcvideo: Found UVC 1.00 device See3CAM_130 (2560:c0d0)
[13054.064415] uvcvideo: Found UVC 1.00 device See3CAM_130 (2560:c0d0)
[13077.071787] uvcvideo: Found UVC 1.00 device See3CAM_130 (2560:c0d0)
[13216.193870] uvcvideo: Found UVC 1.00 device See3CAM_130 (2560:c0d0)
[14741.621534] usbcore: deregistering interface driver uvcvideo
[14760.773911] videodev: Linux video capture interface: v2.00
[14778.388306] uvcvideo: Found UVC 1.00 device Integrated_Webcam_HD (0bda:568c)
[14778.400308] uvcvideo: Found UVC 1.00 device See3CAM_130 (2560:c0d0)
[14778.406033] usbcore: registered new interface driver uvcvideo
[17022.999887] uvcvideo: Found UVC 1.00 device See3CAM_130 (2560:c0d0)

Any suggestions plz?

See3CAM_CU51: "Trigger Mode Enabling Failed"

I have used the See3CAM_CU51 camera and every time I attempt to go to click the button 'Trigger Mode' in the 'Extension Settings' tab and I get a Failure error of, "Trigger Mode enabling failed". What is the issue? I tried with 2 cameras and I still get this error.

Using the github qtcam I followed the instructions by compiling the code in the commandline:

  • change common.h LAUNCHPAD to 0
  • $ qmake
  • $ make

triggerfail

qtcam bundles various libraries

Hi. I am interested in packaging qtcam for Fedora and push it into Fedora official repository. I would like to ask you one thing about your software: the reasons why qtcam bundles various libraries. All main Linux distributions guidelines avoid shipping bundled libraries that already are shipped inside distribution's repository. Basically, the prohibition on bundling is there for several reasons:

  • security - we can fix the vulnerabilities in one place, the shared library, and every package depending on it is not vulnerable anymore;
  • forking - if everyone is bundling their own fork, it gets harder to fix bugs, including security vulnerabilities and it creates more work for every maintainer involved as the forks diverge;
  • general bug fixes and features - every package depending on a shared library gets the benefits of bugfixes and new features instantly (and we have the option to package a parallel-installable older version if a depending package can't be updated/fixed to work with the latest library version).

Concerning Fedora, the packaging guidelines are explained at https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries

Best regards

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.