AnyChat技术支持论坛

标题: 视频数据处理 [打印本页]

作者: hk92    时间: 2015-12-9 11:29
标题: 视频数据处理
您好,如何得到本地视频采集的数据呢?能否对本地的视频进行处理后,再转发出去?

作者: 佰锐科技-李友勤    时间: 2015-12-9 11:53
您好,是可以的。请参考相关链接:音视频流问题
作者: hk92    时间: 2015-12-9 14:02
佰锐科技-李友勤 发表于 2015-12-9 11:53
您好,是可以的。请参考相关链接:音视频流问题

您好,是否可以使用视频回调函数把摄像头录下来的视频流保存在本地的某一个位置呢?
作者: 佰锐科技-李友勤    时间: 2015-12-9 14:40
hk92 发表于 2015-12-9 14:02
您好,是否可以使用视频回调函数把摄像头录下来的视频流保存在本地的某一个位置呢?

您好,AnyChatSDK提供录像功能,请参考 AnyChat音视频录制整体解决方案
作者: hk92    时间: 2015-12-9 15:24
佰锐科技-李友勤 发表于 2015-12-9 14:40
您好,AnyChatSDK提供录像功能,请参考 AnyChat音视频录制整体解决方案

那录好的视频可不可以通过外部音视频流输入功能在传给对方呢?

作者: 佰锐科技-邵光清    时间: 2015-12-9 15:32
hk92 发表于 2015-12-9 15:24
那录好的视频可不可以通过外部音视频流输入功能在传给对方呢?

您好,外部音视频输入功能是将音视频流传输给对方显示,参见:如何使用外部音视频数据输入功能?
如果需要将录好的视频传给对方就使用文件传输API:Transfile将视频文件传给目标用户。
作者: hk92    时间: 2015-12-9 17:10
佰锐科技-邵光清 发表于 2015-12-9 15:32
您好,外部音视频输入功能是将音视频流传输给对方显示,参见:如何使用外部音视频数据输入功能?
如果需 ...

您好,请问一下可以使用第三方的exe文件进行编码呢?
作者: 佰锐科技-邵光清    时间: 2015-12-9 18:59
hk92 发表于 2015-12-9 17:10
您好,请问一下可以使用第三方的exe文件进行编码呢?

请问您有什么业务需求和应用场景呢?
作者: hk92    时间: 2015-12-9 22:02
佰锐科技-邵光清 发表于 2015-12-9 18:59
请问您有什么业务需求和应用场景呢?

您好,需要一个会议视频系统,但需要使用第三方的编解码,第三方的编解码软件用c++已经写好了,我是需要把这个c++编码程序导出为DLL吗?还是可以直接用c++编译好的exe程序直接进行编解码?
作者: 佰锐科技-邵光清    时间: 2015-12-10 00:36
hk92 发表于 2015-12-9 22:02
您好,需要一个会议视频系统,但需要使用第三方的编解码,第三方的编解码软件用c++已经写好了,我是需要 ...

您好,AnyChat已经提供了会议视频解决方案,可以使用AnyChat开发一套会议视频系统。

AnyChat使用H.264编解码标准,是目前应用最广泛的编解码标准,这样就无需第三方编解码软件了。另外,AnyChat编解码程序是DLL方式。
如果需要使用第三方编解码,Anychat的 视频数据回调函数 获取到原始的视频采样帧数据(YUV、RGB),经过第三方编解码器进行编解码,可以保存为本地文件或者发送实时流;AnyChat默认支持将音频、视频播放出来(自动播放、显示模式);

作者: hk92    时间: 2015-12-10 09:45
佰锐科技-邵光清 发表于 2015-12-10 00:36
您好,AnyChat已经提供了会议视频解决方案,可以使用AnyChat开发一套会议视频系统。

AnyChat使用H.264 ...

您好,由于是初学,很多问题不是很懂,请您见谅,触发视频数据回调函数需要使用到UserCameraControl这个函数,但是具体怎么得到原始的数据帧呢?
作者: hk92    时间: 2015-12-10 09:49
佰锐科技-邵光清 发表于 2015-12-10 00:36
您好,AnyChat已经提供了会议视频解决方案,可以使用AnyChat开发一套会议视频系统。

AnyChat使用H.264 ...

您好,由于是初学,很多问题不是很懂,请您见谅,视频数据回调函数需要UserCameraControl去触发,但是怎样才能得到原始的视频数据帧呢?
typedef void (CALLBACK * BRAC_VideoData_CallBack)(DWORD dwUserid, LPVOID lpBuf, DWORD dwLen, BITMAPINFOHEADER bmiHeader, LPVOID lpUserValue);
参数:
dwUserid:        用户ID,指示该视频数据属于哪一个用户
lpBuf:                视频数据缓冲区
dwLen:                缓冲区大小
bmiHeader:        视频缓冲区相关参数,包含了该视频数据相关的信息,如视频的大小、颜色深度等
lpUserValue:        用户自定义参数,在设置回调函数时传入
作者: 佰锐科技-邵光清    时间: 2015-12-10 10:25
hk92 发表于 2015-12-10 09:49
您好,由于是初学,很多问题不是很懂,请您见谅,视频数据回调函数需要UserCameraControl去触发,但是怎 ...

您好,通过该视频数据回调函数就可以得到原始的视频数据帧,每一视频帧触发一次视频数据回调函数。
作者: hk92    时间: 2015-12-10 10:57
佰锐科技-邵光清 发表于 2015-12-10 10:25
您好,通过该视频数据回调函数就可以得到原始的视频数据帧,每一视频帧触发一次视频数据回调函数。

您好,电脑摄像头实时拍下来的视频流是否会缓存到某一个地方,然后再转发出去,如果是的话,我可不可以在这个缓存的视频上做一些处理(比如用一个exe程序处理之后)再转发出去呢?对方收到视频还是连续的,有延迟也没有关系。
作者: 佰锐科技-邵光清    时间: 2015-12-10 11:19
hk92 发表于 2015-12-10 10:57
您好,电脑摄像头实时拍下来的视频流是否会缓存到某一个地方,然后再转发出去,如果是的话,我可不可以在 ...

您好,摄像头的视频流保存到视频数据缓冲区,得到的数据是比较大的,需要使用编解码器对视频数据进行处理,比如Anychat将编解码程序封装成DLL的方式对视频数据编码。如果使用第三方编码,编码之后,通过UDP发送出去。这样一帧一帧传输出去,对方收到的视频之后也会触发视频数据回调函数,视频肯定是连续的。
作者: hk92    时间: 2015-12-10 11:32
佰锐科技-邵光清 发表于 2015-12-10 11:19
您好,摄像头的视频流保存到视频数据缓冲区,得到的数据是比较大的,需要使用编解码器对视频数据进行处理 ...

您好,现在anychat提供使用第三方编解码处理的示例程序吗(doc文件夹里的client文件夹下的关于使用第三方编解码器的示例程序只有一部分)?如果有的话,请问在哪里可以下载?
作者: 佰锐科技-邵光清    时间: 2015-12-10 11:47
hk92 发表于 2015-12-10 11:32
您好,现在anychat提供使用第三方编解码处理的示例程序吗(doc文件夹里的client文件夹下的关于使用第三方 ...

您好,我们暂时没有提供第三方编解码处理的示例程序,建议参考开发文档进行开发。
作者: hk92    时间: 2015-12-10 15:40
佰锐科技-邵光清 发表于 2015-12-10 11:47
您好,我们暂时没有提供第三方编解码处理的示例程序,建议参考开发文档进行开发。

您好,请问如何找到视频缓存存储的位置?
作者: 佰锐科技-邵光清    时间: 2015-12-10 16:09
您好,视频数据缓冲区lpBuf,是一块内存,可以通过内存地址访问到这块缓冲区。
作者: hk92    时间: 2015-12-13 16:57
佰锐科技-邵光清 发表于 2015-12-10 16:09
您好,视频数据缓冲区lpBuf,是一块内存,可以通过内存地址访问到这块缓冲区。

您好,由于是初学,还是有点不明白,比如 ret = AnyChatCoreSDK.UserCameraControl(-1, true);接下来,我想把视频的原始采样YUV导出到D盘的一个文件夹下,我具体该怎么操作视频数据回调函数呢?希望能用c#给出一个具体的例子,麻烦了。




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