急!基于采集卡的二次开发与directshow相关的问题
极深研几 2004-04-22 03:58:29 有一个mpeg4的视音频采集卡,及相应的sdk包。
在sdk里封装了,硬件的采集,编码,实时录制,媒体格式等色彩控制的格式.但是相关的参数非常奇怪,比如说视频预览OpenPreview(MXDEV *pDev, int lPitch, void *lpSurface, int streamType, int width, int heigth)分别是指向设备采集卡的指针,表面相关的相邻两行的距离。指向一个表面的指针,后来我通过在外部建立一个overlay surface,然后才实现预览。后面的参数就不用解释了。
另外存储文件是BeginRecord(MXDEV *pDev, char *szFileName)也仅仅是一个文件名。
还有两个视频和音频回调函数第一个参数是指向视音频缓冲的指针,还有相应的长度,侦数。用于图像和音频处理,解释说可以做马赛克处理。
给的demo程序(没有源代码),用udp组播来传送实时的影音流,然后在客户端软件解码,实现实时监控和存盘。问题时我想使用udp组播来实现时,我不知道该发送那里的数据,因为没有数据流的指针,sdk也没有相关的函数。组播时服务器端肯定发送的压缩的影音流。
另外接受时如何数据打包是不是也跟具体的媒体格式有关系。奇怪的是对demo进行输入库分析(用dumpbin)时没有使用winsock库,那么它的网络组播又是如何实现的呢?客户端的例子到有winsock32库。
本来以为可以避开directshow的,看来现在不得不自己写一个network source filter了。我做的项目要实现采集,预览,实时录制,网络组播,客户端存盘等功能,当然采集,预览,实时录制都是直接调用sdk包的函数来实现的。
后面两个功能该如何实现,希望高手能指点迷津。分可再加!
同时也欢迎大家讨论,帮忙分析一下思路。我刚接触directdraw,directshow,上面又逼得紧。那个板卡是高创Gotron的MP4x流媒体大师采集卡,不知哪位比较熟悉。