• 125201阅读
  • 268回复

视频监控系统 V0.0.3 [复制链接]

上一主题 下一主题
离线mileden
 

图酷模式  只看楼主 倒序阅读 楼主  发表于: 2008-12-27
— 本帖被 XChinux 执行加亮操作(2008-12-27) —
version 0.0.3
  增加了MPEG4视频的录制与播放

源程序下载地址: vms-0.0.3.zip (1380 K) 下载次数:8456

version 0.0.2
  增加了相片的拍照,预览与管理功能。

源程序下载地址: vms-0.0.2.zip (1200 K) 下载次数:3371



version 0.0.1
  本系统从摄像头实时采集视频并显示。系统使用Qt开发。
  本系统支持多平台多操作系统,在Windows系统下使用OpenCV的一些库函数进行视频采集。在Linux系统下使用V4L进行视频采集。
  在以下环境测试运行:Windows: Qt 4.4.3,Linux: qt-embedded-linux-opensource-src-4.4.1

源程序下载地址: vms-0.0.1.zip (1068 K) 下载次数:4392
[ 此帖被mileden在2010-02-26 09:14重新编辑 ]
4条评分好评度+1贡献值+1金钱+5威望+1
裴维新 好评度 +1 - 2018-10-01
裴维新 贡献值 +1 - 2018-10-01
裴维新 威望 +1 - 2018-10-01
裴维新 金钱 +5 - 2018-10-01
离线xjcook

只看该作者 1楼 发表于: 2008-12-30
沙发
看看
支持楼主
里面带的几个库是干啥的?谁写的?
离线mileden

只看该作者 2楼 发表于: 2008-12-31
OpenCV: intel 开发的计算机视觉方面的工具包。实现了几乎所有的图像处理方面的功能。
离线mileden

只看该作者 3楼 发表于: 2009-01-09
下一版本将增加  MPEG4 视频的录制与播放。可跨平台运行,包括嵌入式设备。欢迎测试与建议。 
离线sodwell

只看该作者 4楼 发表于: 2009-01-11
这个不顶 不行了!期待你的MPEG4
哈哈哈  向你学习
本人是做嵌入式开发的 也很想搞视频方面的
离线mileden

只看该作者 5楼 发表于: 2009-02-14
速度有点慢,还需进一步优化
离线lazybone
只看该作者 6楼 发表于: 2009-02-14
恩 挺不错 记得大学时一同学去北京接回一个类似的项目
但做的不好
离线mysuli312
只看该作者 7楼 发表于: 2009-03-11
很好的东西
离线socae
只看该作者 8楼 发表于: 2009-03-29
超好的东西
谢谢
离线xiamenxw
只看该作者 9楼 发表于: 2009-04-28
因为有了你们的无私,我的世界才变得丰富多彩!
我很菜,但是我想我可以!
离线ychb9623
只看该作者 10楼 发表于: 2009-05-07
哇,第一眼看到就知道是好东西,请问楼主这个可以移植到WINCE上么?刚开始老是说不是有效WINCE程序,后来终于生成了可执行文件,一运行,说:该程序执行了一个非法操作,请问是怎么回事呢?如果可以,请Q我下,谢谢!!我Q:702098466
离线hehui

只看该作者 11楼 发表于: 2009-05-23
支持楼主~~~~~~~~~~~~
离线jmone
只看该作者 12楼 发表于: 2009-05-24
jmone@jmone-laptop:/media/MEDIA/program/QT/vms-0.0.3$ make
/usr/bin/uic-qt4 camerabase.ui -o ui_camerabase.h
/usr/bin/uic-qt4 vmsmainwindow.ui -o ui_vmsmainwindow.h
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -Iopencv/include -Ixvid -I. -I. -o camerasettings.o camerasettings.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -Iopencv/include -Ixvid -I. -I. -o cvvideocapturedevice.o cvvideocapturedevice.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -Iopencv/include -Ixvid -I. -I. -o main.o main.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -Iopencv/include -Ixvid -I. -I. -o v4l1videocapturedevice.o v4l1videocapturedevice.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -Iopencv/include -Ixvid -I. -I. -o videocapturedevicefactory.o videocapturedevicefactory.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -Iopencv/include -Ixvid -I. -I. -o videocaptureview.o videocaptureview.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -Iopencv/include -Ixvid -I. -I. -o vmsmainwindow.o vmsmainwindow.cpp
vmsmainwindow.cpp: In member function ‘void VMSMainWindow::init()’:
vmsmainwindow.cpp:70: 警告: 建议在‘for’空语句体的‘;’前添加一个空格或者在其周围显式地加上花括号
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -Iopencv/include -Ixvid -I. -I. -o xvidencode.o xvidencode.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -Iopencv/include -Ixvid -I. -I. -o xvidvideocapturedevice.o xvidvideocapturedevice.cpp
/usr/bin/moc-qt4 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -Iopencv/include -Ixvid -I. -I. camerasettings.h -o moc_camerasettings.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -Iopencv/include -Ixvid -I. -I. -o moc_camerasettings.o moc_camerasettings.cpp
/usr/bin/moc-qt4 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -Iopencv/include -Ixvid -I. -I. thumbbutton.h -o moc_thumbbutton.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -Iopencv/include -Ixvid -I. -I. -o moc_thumbbutton.o moc_thumbbutton.cpp
/usr/bin/moc-qt4 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -Iopencv/include -Ixvid -I. -I. videocaptureview.h -o moc_videocaptureview.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -Iopencv/include -Ixvid -I. -I. -o moc_videocaptureview.o moc_videocaptureview.cpp
/usr/bin/moc-qt4 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -Iopencv/include -Ixvid -I. -I. vmsmainwindow.h -o moc_vmsmainwindow.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -Iopencv/include -Ixvid -I. -I. -o moc_vmsmainwindow.o moc_vmsmainwindow.cpp
g++ -Wl,-O1 -o vms-0 camerasettings.o cvvideocapturedevice.o main.o v4l1videocapturedevice.o videocapturedevicefactory.o videocaptureview.o vmsmainwindow.o xvidencode.o xvidvideocapturedevice.o moc_camerasettings.o moc_thumbbutton.o moc_videocaptureview.o moc_vmsmainwindow.o    -L/usr/lib -lQtGui -lQtCore -lpthread
xvidencode.o: In function `XvidEncode::enc_stop()':
xvidencode.cpp:(.text+0x28): undefined reference to `xvid_encore'
xvidencode.o: In function `XvidEncode::encode(unsigned char*, unsigned char*)':
xvidencode.cpp:(.text+0x126): undefined reference to `xvid_encore'
xvidencode.o: In function `XvidEncode::enc_init()':
xvidencode.cpp:(.text+0x18f): undefined reference to `xvid_global'
xvidencode.cpp:(.text+0x1e4): undefined reference to `xvid_encore'
xvidvideocapturedevice.o: In function `camera::XvidVideoCaptureDevice::dec_stop()':
xvidvideocapturedevice.cpp:(.text+0x228): undefined reference to `xvid_decore'
xvidvideocapturedevice.o: In function `camera::XvidVideoCaptureDevice::decode(unsigned char*, int, xvid_dec_stats_t*)':
xvidvideocapturedevice.cpp:(.text+0x3af): undefined reference to `xvid_decore'
xvidvideocapturedevice.o: In function `camera::XvidVideoCaptureDevice::dec_init()':
xvidvideocapturedevice.cpp:(.text+0x41a): undefined reference to `xvid_global'
xvidvideocapturedevice.cpp:(.text+0x44f): undefined reference to `xvid_decore'
collect2: ld 返回 1
make: *** [vms-0] 错误 1
==================================
编译的时候,大家看看是什么原因?
离线mileden

只看该作者 13楼 发表于: 2009-05-25
linux 下需自行添加库文件路径,参考如下:

在 vms.pro 中添加 XviD 库文件路径如下(参考)
unix:LIBS += -L/usr/local/lib
然后 qmake, make
离线xiaoyan124
只看该作者 14楼 发表于: 2009-06-07
回 12楼(jmone) 的帖子
我的也出现了同样的错误,解决的话相互学习一下!
离线sikylori

只看该作者 15楼 发表于: 2009-06-30
真的是不顶不行啊,感谢
离线taomic

只看该作者 16楼 发表于: 2009-06-30
好东西,顶一个
离线鱼在在藻
只看该作者 17楼 发表于: 2009-07-05
感谢楼主:)
离线haixia
只看该作者 18楼 发表于: 2009-08-15
我想看效果,下下来在我的QT4.5.2运行时报“Running build steps for project vms...
Starting: D:/Qt/2009.03/qt/bin/qmake.exe E:/QT/视频播放器/vms-0.0.1/vms.pro -spec win32-g++ -r
Cannot find file: e:\QT\视频播放器\vms-0.0.1\vms.pro.
Exited with code 2.
Error while building project vms
When executing build step 'QMake'”
请问应该怎么解决?
任何事情都有简单和难的时候,只是时间的问题
离线mileden

只看该作者 19楼 发表于: 2009-08-16
文件路径不要带 中文或空格字符
离线naidix
只看该作者 20楼 发表于: 2009-08-17
楼主好:
我的这部分一直有问题
// Set the desired picture mode to RGB32.
    struct video_picture pict;
    memset( &pict, 0, sizeof( pict ) );
    ioctl( fd, VIDIOCGPICT, &pict );
    pict.palette = VIDEO_PALETTE_RGB32;
    if ( ioctl( fd, VIDIOCSPICT, &pict ) < 0 ) {
        qWarning( "%s: could not set the picture mode", VIDEO_DEVICE );
        close( fd );
        fd = -1;
        return;
    }
编译时说不能could not set the picture mode,怎么办,我也修改成其他格式,但是还是没什么用,请问是我的摄像头问题,还是什么,麻烦楼主解决
   谢谢了
离线naidix
只看该作者 21楼 发表于: 2009-08-17
还想我的ioctl( fd, VIDIOCSPICT, &pict ) 一直是小于0的,请问什么问题
离线mo_gui
只看该作者 22楼 发表于: 2009-08-19
厉害
离线timyu
只看该作者 23楼 发表于: 2009-09-11
这是个好东西,我希望楼主能够坚持做下去。
离线guitao_w
只看该作者 24楼 发表于: 2009-10-16
谢谢分享
离线uuleon

只看该作者 25楼 发表于: 2009-10-20
请问楼主:
              你的程序用了几个线程呢?    视频接收数据显示和程序界面相应怎么协调的啊?  我的程序一开始接受数据,界面就死掉了。。。
离线phelps
只看该作者 26楼 发表于: 2009-10-20
帮顶哈哈
喜欢你,有道理
CI PHP开发
QT业务开发中
网络回拨Asterisk
Centswitch
离线cjsh2005
只看该作者 27楼 发表于: 2009-10-20
好像下载不了呀!
离线tangji612

只看该作者 28楼 发表于: 2009-11-05
楼主太强了,学习中,谢谢分享!!
离线tangji612

只看该作者 29楼 发表于: 2009-11-06
非常感谢楼主,正学习中!
离线tangji612

只看该作者 30楼 发表于: 2009-11-06
怎么在linux底下编译通不过啊?哪位碰到如下问题?楼主指点一下(用的是QT-4.5.2)。

make
g++ -Wl,-O1 -Wl,-rpath,/usr/local/Trolltech/Qt-4.5.2/lib -o vms main.o vmsmainwindow.o v4l1videocapturedevice.o videocapturedevicefactory.o videocaptureview.o cvvideocapturedevice.o camerasettings.o xvidencode.o xvidvideocapturedevice.o moc_vmsmainwindow.o moc_videocaptureview.o moc_camerasettings.o moc_thumbbutton.o    -L/usr/local/Trolltech/Qt-4.5.2/lib -L/usr/local/lib -lQtGui -L/usr/local/Trolltech/Qt-4.5.2/lib -L/usr/X11R6/lib -pthread -lpng -lfreetype -lgobject-2.0 -lSM -lICE -pthread -pthread -lXrender -lfontconfig -lXext -lX11 -lQtCore -lz -lm -pthread -lgthread-2.0 -lrt -lglib-2.0 -ldl -lpthread
xvidencode.o: In function `XvidEncode::encode(unsigned char*, unsigned char*)':
xvidencode.cpp:(.text+0xb6): undefined reference to `xvid_encore'
xvidencode.o: In function `XvidEncode::enc_stop()':
xvidencode.cpp:(.text+0x108): undefined reference to `xvid_encore'
xvidencode.o: In function `XvidEncode::enc_init()':
xvidencode.cpp:(.text+0x18f): undefined reference to `xvid_global'
xvidencode.cpp:(.text+0x1e4): undefined reference to `xvid_encore'
xvidvideocapturedevice.o: In function `camera::XvidVideoCaptureDevice::decode(unsigned char*, int, xvid_dec_stats_t*)':
xvidvideocapturedevice.cpp:(.text+0x27f): undefined reference to `xvid_decore'
xvidvideocapturedevice.o: In function `camera::XvidVideoCaptureDevice::dec_stop()':
xvidvideocapturedevice.cpp:(.text+0x2b8): undefined reference to `xvid_decore'
xvidvideocapturedevice.o: In function `camera::XvidVideoCaptureDevice::dec_init()':
xvidvideocapturedevice.cpp:(.text+0x31a): undefined reference to `xvid_global'
xvidvideocapturedevice.cpp:(.text+0x34f): undefined reference to `xvid_decore'
collect2: ld 返回 1
make: *** [vms] 错误 1
离线tangji612

只看该作者 31楼 发表于: 2009-11-07
问题还是没有解决??郁闷啊。。。。楼主,在linux底下到底怎么编译运行呢?就是找不到xvid库啊
请教楼主如何解决,急于看看楼主的实现效果,拜托啦!!!
离线hnhkj
只看该作者 32楼 发表于: 2009-11-11
值得学习!
离线goonman

只看该作者 33楼 发表于: 2009-11-19
不知道30楼的问题解决了没有,我也碰到了相同的问题
离线mileden

只看该作者 34楼 发表于: 2009-11-20
再加上参数  -lxvid  试下
离线tangji612

只看该作者 35楼 发表于: 2009-11-21
Re:视频监控系统 V0.0.2
求助啊!版主!在你的视频监控系统 V0.0.2中,编译通过了,可是运行没有图像,只有一片雪花,查了很多资料,还是找不到问题所在。本人的系统为   fedora 10 +qt4.5.2下编译运行出现如上问题?十分不解啊?
望版主请教一下在linux下,此程序的编译运行详细过程,顺便问一下有没有详细的开发说明文档?望版主不吝指教!!!谢谢啦!
本人QQ:36203826   邮箱:tangji612@163.com
离线visitorone

只看该作者 36楼 发表于: 2009-12-17
linux下调试运行了一下LZ的代码,运行良好,目前有个问题:
压缩出来的视频如何保存为avi格式的视频哦?我看LZ的代码的m4v格式的视频没有写头文件信息的代码好像,我自己就更改成avi,结果出来的视频可以播放,但是检测不出来视频的信息(比如视频长度等等),所以请教下LZ,如果想保存成avi格式的视频应该怎么弄。
离线mileden

只看该作者 37楼 发表于: 2009-12-17
系统原型设计参考源码 qtopia-opensource-4.3.1\src\applications\camera

Linux 下视频采集使用 V4L 或 V4L2

可能有的系统只支持其中之一
离线tears1134

只看该作者 38楼 发表于: 2009-12-19
谢了先,不知在AMD上能用不,试下
明天会更好!
离线jwqacqy
只看该作者 39楼 发表于: 2009-12-19
那个XVID解码的安装貌似很复杂哦  呵呵
快速回复
限100 字节
 
上一个 下一个