AnyChat技术支持论坛

标题: 外部视频输入问题 [打印本页]

作者: hk92    时间: 2016-1-5 21:11
标题: 外部视频输入问题
您好,请问一下有什么方法可以让外部视频输入和本地视频采集同时使用呢?

作者: 佰锐科技-李友勤    时间: 2016-1-6 09:12
本帖最后由 佰锐科技-李友勤 于 2016-1-7 09:11 编辑

您好,如果是外部视频流与本地摄像头的话是可以的
可以参考链接多路音视频输入
作者: hk92    时间: 2016-1-6 19:56
佰锐科技-李友勤 发表于 2016-1-6 09:12
您好,如果是外部视频流与本地摄像头的话是可以的
可以参考链接AnyChat新增多路视频流支持

您好,您给的这个链接打不开
作者: hk92    时间: 2016-1-6 20:12
佰锐科技-李友勤 发表于 2016-1-6 09:12
您好,如果是外部视频流与本地摄像头的话是可以的
可以参考链接AnyChat新增多路视频流支持

您好,
  1. // 操作用户视频(扩展)
  2. BRAC_API DWORD BRAC_UserCameraControlEx(DWORD dwUserid, BOOL bOpen, DWORD dwStreamIndex=0, DWORD dwFlags=0, LPCTSTR lpStrParam=NULL);
  3. // 操作用户语音(扩展)
  4. BRAC_API DWORD BRAC_UserSpeakControlEx(DWORD dwUserid, BOOL bOpen, DWORD dwStreamIndex=0, DWORD dwFlags=0, LPCTSTR lpStrParam=NULL);
  5. // 设置视频显示位置(扩展)
  6. BRAC_API DWORD BRAC_SetVideoPosEx(DWORD dwUserid, HWND hWnd, DWORD dwLeft=0, DWORD dwTop=0, DWORD dwRight=0, DWORD dwBottom=0, DWORD dwStreamIndex=0, DWORD dwFlags=0);

  7. // 设置指定用户音视频流相关参数(主要针对本地用户)
  8. BRAC_API DWORD BRAC_SetUserStreamInfo(DWORD dwUserId, DWORD dwStreamIndex, int infoname, char FAR* infoval, int infolen);
  9. // 获取指定用户音视频流相关参数
  10. BRAC_API DWORD BRAC_GetUserStreamInfo(DWORD dwUserId, DWORD dwStreamIndex, int infoname, char FAR* infoval, int infolen);
复制代码
这个在BRanychatcoresdk.cs里面没有这方面的定义,需要我自己去写吗?在这里只有
  1. [DllImport(AnyChatCoreSDKDll, EntryPoint = "BRAC_UserCameraControl", CallingConvention = CallingConvention.Cdecl)]
  2.         public static extern int UserCameraControl(int userid, bool open);
复制代码
引入,如果需要引入,我该怎么引入(c#)?
作者: hk92    时间: 2016-1-6 20:50
佰锐科技-李友勤 发表于 2016-1-6 09:12
您好,如果是外部视频流与本地摄像头的话是可以的
可以参考链接AnyChat新增多路视频流支持

您好,您的意思是
  1. AnyChatCoreSDK.InputVideoData(buffer, 320 * 240 * 3, 0);
复制代码
  1. AnyChatCoreSDK.UserCameraControl(-1, true);
复制代码
可以同时使用?
作者: 佰锐科技-李友勤    时间: 2016-1-7 09:32
hk92 发表于 2016-1-6 20:50
您好,您的意思是和可以同时使用?

您好,不能同时使用
您可以选择其中一种同时传入多路视频流。
作者: hk92    时间: 2016-1-7 11:03
本帖最后由 hk92 于 2016-1-7 11:06 编辑
佰锐科技-李友勤 发表于 2016-1-7 09:32
您好,不能同时使用
您可以选择其中一种同时传入多路视频流。

您好,我遇到这样一种问题,我首先用anychat启动本地的摄像头采集视频数据,然后我利用视频数据回调函数把视频保存到了D:\a.yuv;然后我对这个yuv进行了处理,变成了b.yuv,我想把这个b.yuv再次送入anychat的一个窗口进行显示,不需要传送给对方,只在本地显示就行,您看我该怎么解决呢?(就是,我想观察从摄像头采集的视频和经过数据处理的视频有啥区别,摄像头一个窗口,我输入的视频一个窗口)
作者: 佰锐科技-李永星    时间: 2016-1-7 11:09
hk92 发表于 2016-1-7 11:03
您好,我遇到这样一种问题,我首先用anychat启动本地的摄像头采集视频数据,然后我利用视频数据回调函数 ...

您好,你这个需求属于C# YUV播放器,没有相关Demo,可以查询百度“YUV播放器”查询相关信息,我们也会去查找相关解决方案,如有将会及时回复你。
作者: 佰锐科技-李友勤    时间: 2016-1-7 11:09
hk92 发表于 2016-1-7 11:03
您好,我遇到这样一种问题,我首先用anychat启动本地的摄像头采集视频数据,然后我利用视频数据回调函数 ...

在采集的时候,就可以预览了,不会影响回调与保存帧。
您为什么要从保存的帧里面再读取呢?这种播放文件需要的是播放模块
作者: hk92    时间: 2016-1-7 11:14
佰锐科技-李友勤 发表于 2016-1-7 11:09
在采集的时候,就可以预览了,不会影响回调与保存帧。
您为什么要从保存的帧里面再读取呢?这种播放文件 ...

其实,我是对采集到的yuv进行了信息处理,然后需要回放,进行两个视频的对比,播放这一块我想到了用directx编写一个播放器,不过好像不支持yuv的播放,所以现在就遇到了这样一个问题,希望能得到您的解答,如何把预览视频和我外部输入的视频同时显示出来?
作者: hk92    时间: 2016-1-7 11:16
佰锐科技-李永星 发表于 2016-1-7 11:09
您好,你这个需求属于C# YUV播放器,没有相关Demo,可以查询百度“YUV播放器”查询相关信息,我们也会去查 ...

您好,我也找度娘了,但是根据网上说的利用directx也没有实现出来。好像directx不支持yuv这个格式
作者: 佰锐科技-陈伟    时间: 2016-1-7 11:23
hk92 发表于 2016-1-7 11:16
您好,我也找度娘了,但是根据网上说的利用directx也没有实现出来。好像directx不支持yuv这个格式

您好  我们也会去查找相关解决方案,如有将会及时回复你。
作者: 佰锐科技-李永星    时间: 2016-1-7 11:23
本帖最后由 佰锐科技-李永星 于 2016-1-7 11:25 编辑
hk92 发表于 2016-1-7 11:16
您好,我也找度娘了,但是根据网上说的利用directx也没有实现出来。好像directx不支持yuv这个格式

您好,这个可能需要根据YUV格式,自己来写了,如:YUV格式详解




欢迎光临 AnyChat技术支持论坛 (http://bbs.anychat.cn/) Powered by Discuz! X3