实时抓取不同通道的视频数据流问题

bychgh 2012-05-22 10:29:40
最近在研究流媒体开发,其中要做到同时抓取不同通道的视频,然后录制保存到本地。

定义一个委托
public delegate int pDataRec(int sid, int iusrdata, int idatatype, IntPtr pdata, int ilen);

这里实现调用 封装在一个类中
class hkPlanRec
{
///回调函数在C#创建委托,需实例化,需要定义为全局变量
pDataRec MypDataRec = new pDataRec(pDataRec1);
public int HIKS_CreatePlayer()
{
m_hSesssion = hkclient.HIKS_CreatePlayer(null, (System.IntPtr)null, MypDataRec, MypMsgBack, 0);
...
}
private static int pDataRec1(int sid, int iusrdata, int idatatype, IntPtr pdata, int ilen)
{//pdata就是视频数据流,}
}

因为pDataRec 是一个回调函数,需要不停回调发数据,这里调阅一个视频然后抓数据是没问题的,
在程序中调用 hkPlanRec.HIKS_CreatePlayer() 就行了,
现在要同时抓取多路,就是要定义多个 pDataRec MypDataRec = new pDataRec(pDataRec1);不然就进程中就只有一份数据流,就是不论是什么视频,数据流就是第一次调用得到的视频的数据。

现在要在程序中,动态调用HIKS_CreatePlayer调阅不同视频,抓取各自的数据,互不影响,请问有什么解决办法




...全文
99 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧