jpeg Error #60错误,急!急!急!(300分悬赏)((300分)

  • 主题发起人 主题发起人 slzhang_2000
  • 开始时间 开始时间
S

slzhang_2000

Unregistered / Unconfirmed
GUEST, unregistred user!
我用udp传输远程视频图像,服务器端用视频卡进行捕捉,然后将视频图像裁减,用udp
传输到客户端,然后进行数据流的合并,再将数据显示为jpeg格式图像,但在这过程中,正常
传输一段时间后,经常出现JPEG Error #60错误,该错误出现后,并不影响图像的显示,但
这个错误,我就是消除不掉,同时也捕捉不到。我是用Delphi写的,用到了Socket
项目期限将到,该问题一直解决不掉。
 
这个错误处理在JPEG.PAS中,但D5在正常安装时只装了JPEG.DCU在LIB下,所以你找不到,
在D5的安装盘上有这个文件,简单地把这个文件拷贝到Delphi/source/下,再报错代码
去掉。重编译,就一切OK!等项目完成后再重装Delphi,删除JPEG.Pas。: )
 
这其实解决了表面的文章,我觉得你的UDP传输可能还有问题,是不是数据丢了呀
 
我也碰到过这个问题,尤其是在广播的时候,错误的机率更高。UDP在数据传输时没有确认
机制,不是很安全。后来只好在发每幅图象之前先将图象的大小传过去,然后对每个数据
包编号,在接收端进行校验,如果数据包顺序不对或是图象大小不符的话就不显示。虽然
浪费了一点时间,但再也不会出错了,效果还是可以令人满意的。
 
对,我用udp空间时也发生了丢失数据的情况,而且传来的数据顺序不对了。你照eastson的办法试试吧。。
 
问题关键就是UDP传输的数据不一定正确,因此你应该在接收后判断每一帧的大小是否对.
如果不对,就不要显示.
如果只是想屏蔽掉错误提示,可以试试:
try
image1.loadfromstream(...);
except end;
 
文件格式不对!
 
就是UDP包丢失!
 
如果是JPEG包的问题,那还不如使用Intel JPEG Library库。我的测试结果是
对于同样大小的BMP文件压缩,Intel JPEG库所需时间为Delphi标准库的1/4!
而且兼容各种标准的JPEG文件,打开都没有问题。看看一个名为FastLIB的库,
那个里面有完整的使用IJL的例子,我做远程监控的时候就是使用这个库来压缩
截屏BMP的。
 
不如用clientsocket和serversocket可靠[:)]
 
Dick:
你好!Intel JPEG Library库在那里有?是delphi的吗?我怎么没有找到呢?
希望你能告之,先谢了!:)
 
多人接受答案了。
 

Similar threads

后退
顶部