视频监控项目中遇到的各种问题

来源:互联网 发布:sql server 2016 介绍 编辑:程序博客网 时间:2024/05/11 19:04

1 Tried to create an RTP packet which whould exceed the specified maximum packet size

2 WINDOWS上用CMAKE编译jrtplib时 报错src/rtptimeutilities.h invaild suffix ui64 on integer constant
 ui64 ->ull
3 同上,继续编译时,int jrtplib::RTPComoundPacketBuilder::AddReportBlock(uint32_t,uint8_t,...):
 /src/rtcpcompoundpacketbuilder.cpp:239 error:no matching function for call to 'operator new [](unsigned int,jrtplib::rtpmemorymanager*,int)'

最后在linux下编译成功。

4 指针使用前一定要 new;

5 ARM6410上:pixmap.load("test1.jpg");//执行这一句时段错误

6 glibc detected *** ./facecheck: malloc(): memory corruption: 0x000b2ac8
 原因:数组越界或像我这种情况:glibc detected *** ./facecheck: malloc(): memory corruption: 0x000b2ac8


7 OpenCV Error: Bad argument (Unknown array type) in cvarrToMat, file /home/src/OpenCV-2.3.1/modules/core/src/matrix.cpp, line 646
terminate called after throwing an instance of 'cv::Exception'
  what():  /home/src/OpenCV-2.3.1/modules/core/src/matrix.cpp:646: error: (-5) Unknown array type in function cvarrToMat


Aborted

8 this function is not available when using the rtp poll thread feature

9 RTP接收不到数据,原因防火墙没关。

10 linux X11下打包QT应用程序时,出现:error while loading shared libraries:
 libjrtp.so.3.9.1:cannot open shared object file:No such file or directory
 原因,错把ARM版的.so 当X86版本的so

11. 获得本机IP Qsting msg = hostinfo.addresses().first().tostring() //结果是127。0。0。1
    clientsocket->peeraddress().tostring(); 

12 session.AddDestination(ADDR)后,客户端没有收到数据。the specified address is not a multicast address.

13 之前,调用session.poll()时,运行时报错:this function is not available when using the rtp poll thead feature,可能是因为没有支持多播。

14 RTP不能组播,原因是RTP 发送者的transmitparams的端口号(非组播端口号)被TCP Server占用, 另外注意组播IP地址224.0.0.0 ~239.255.255.255 其中224.0.0.0 ~224.0.0.255是被保留的地址。

15 unable to join the specified multicast group...

16 AddDestination("10.10.10.229:8800"); AddDestination("10.10.10.230:8880") ;//只有10.10.10.229能收到数据。

17 V4L2图像采集时,一帧图片的真实大小保存在V4L2_burrer结构的bytesused成员里。但QImage 显示时仍存在以下几种错误:
 Corrupt JPEG data: premature end of data segment:数据无效
 Invalid JPEG file structure: two SOI markers:两个图像开始标记smybol of image;
 Corrupt JPEG data: 17 extraneous bytes before marker 0xd9 :结束标记后面存在17个额外的字节

> This is caused by QNetworkReplyImplPrivate never getting
"_q_copyReadyRead()"
> triggered again after assigning the IODevice. If there's more than 32k
of
> data, the function "nextDownstreamBlockSize()" still returns 32k. So
one would
> expect this function to be called again until the whole copy is
completed, but
> it's not.
>
> This makes the cache useless because it could only be used on small
files,
> which defeat its purpose.
最后用memcpy解决,深层原因还不清楚。

18:RTP session' portbase must be a even number.

19 configure ffmpeg时提示:c compiler test faild ,查看config.log 发现mcpu=arm is bad 将cpu=arm改成cpu=armv6解决

20 panitEvent 中 qpixmap->loadfromdata & qpixmap->drawpixmap 段错误。估计是内存溢出,改用QIMAGE 也是这样,没加入侵探测之前用的好好的。

21 输出的AVI文件不能播放。
  用UE一看,发现AVI文件头没有写入,写入文件头是在avi_close_output_file函数里完成的,为什么要在关闭文件是才写入文件头?应该是在关闭文件时才能确认AVI文件的某些参数,如帧数。OPENCV 的用createVideoWriter(先写文件头)和cvWriteFrame 方法最后也要releasevideo 这样输出的文件头才是正确的。

22 程序运行一段时间后程序异常退出OpenCV Error: Bad argument (Unknown array type) in cvarrToMat, file /home/src/OpenCV-2.3.1/modules/core/src/matrix.cpp, line 646
terminate called after throwing an instance of 'cv::Exception'
  what():  /home/src/OpenCV-2.3.1/modules/core/src/matrix.cpp:646: error: (-5) Unknown array type in function cvarrToMat
Aborted
It appears you need to create your output matrix. In your example, change the declaration of Mc from CvMat to CvMat* and initialize it: CvMat *Mc = cvCreateMat( 2, 2, CV_32FC1); I think this will work. The compiler can't catch uninitialized array, since static type checking will pass


23 编写PWM驱动的测试程序时,这样编译的话 arm-linux-gcc -o xxx -c xxx.c 程序在ARM上运行将出现这种错误:Syntax error: word unexpected (expecting ")") -c的意思是生成目标文件而不是可执行文件,-O指定目标文件名。

24 ARM应用程序传一个结构体到内核驱动时,发现结构成员的值不对。例如传一个pwm{unsgined long id,unsgind long freq,unsigned long duty}的结构到内核空间,后面两个参数不对。 解决:以指针的方式传递。

25 段错误 编译器版本原因。

原创粉丝点击