当前位置:主页>销售管理软件> 列表

视频捕捉回调函数function FrameCallBac 找管家婆软件使用说明

库存管理软件版1楼: 在捕捉USB摄像头中用function FrameCallBack(hWnd: HWND; lpVHdr: PVIDEOHDR): LongInt; stdcall;做回调函数。进行捕捉发送到对方电脑。新问题如下:
[red] 如果捕捉窗口可见一切正常。但是如果捕捉窗口最小化或被别的窗口档住。在function FrameCallBack(hWnd: HWND; lpVHdr: PVIDEOHDR):函数中就捕捉不到图象数据。[/red]
有遇到过并且解决的大富翁朋友请给个提示!

2楼: UDP 发送数据不应该大于2048,大于2048的丢包率很高. 如销售管理

3楼: 是lan还是wan?

4楼: 2048

5楼: 做成可设置的,一是检测,二是使用起来灵活

6楼: 在局域网内2048和4096都很快。就不知道在互联网上那个更好。
各位在互联网用UDP发送时(比如视频帧图象)。一般把大图象分割成多大发送?效果如何?包丢的厉害不厉害?因为我是发送视频帧。如果丢太多的包就有不连续的感觉。

库存管理软件版7楼: 还是2048吧!我就用得这个呀!

8楼: 谢谢各位就决定用2048了。还有个新问题。我是用API发送的。代码如下
var ////多线程自动循环发送
BlockBuf:Array[0..2047] of Byte;
dw: dword;
ss:TsockAddrIn;
begin
............
sendto(udpapisock,BlockBuf,RemainLen,0,ss,dw);//RemainLen为实际数据大小
end;
问题是:如果接收方的程序打开一切正常。如果没有停止多线程接收方的程序关闭
发送程序会出现错误自动退出。但是捕捉句柄没有释放。请问有朋友遇到过吗?如何解决?
[red]问题已经解决。上面代码正确的。问题出在接收代码部分。[/red]

9楼: 1468 最好
在TCP/IP应用协议中基于UDP的 一都是 1468
因为以太网 mtu = 1468

10楼: try
sendto(udpapisock,BlockBuf,RemainLen,0,ss,dw);//RemainLen为实际数据大小
except
//do something
end;

11楼: 最好做一下包检测,可以参考微软的流媒体播放。

12楼: 哇。问题解决了。送分都没有人要啊!谁以后送分我可都要。 如管家婆软件使用说明

13楼: 多人接受答案了。