视频开发技术之文件传输

AnyChat具有缓冲区及文件传输功能,可以实现客户端与客户端之间的缓冲区和文件传输,也可以实现客户端与服务器之间的缓冲区和文件传输功能(V4.1版本新增功能)。

AnyChat客户端之间的缓冲区及文件传输通道有:

1、透明通道API接口:BRAC_TransBuffer

2、透明通道扩展API接口:BRAC_TransBufferEx

3、文件传输API接口:BRAC_TransFile

AnyChat客户端与服务器之间的缓冲区及文件传输通道有:

1、SDK Filter Data API接口:BRAC_SendSDKFilterDataBRAS_SendBufToUserBRAS_SendBufToRoom

2、透明通道API接口:BRAC_TransBufferBRAS_TransBuffer

3、透明通道扩展API接口:BRAC_TransBufferExBRAS_TransBufferEx

4、文件传输API接口:BRAC_TransFileBRAS_TransFile

一、客户端之间使用透明通道传输数据


A、B两用户登录服务器成功之后,便可使用透明通道API接口传输数据,当A使用API接口:BRAC_TransBuffer向B发送数据时,B收到数据后,将触发B的回调函数:透明通道数据回调函数(参考:BRAC_SetTransBufferCallBack)。

内核使用TCP通道传输,保证接收方收到的顺序与发送的顺序相同,且保证数据可达,不会丢包;

二、客户端之间使用透明通道扩展传输数据


A、B两用户登录服务器成功之后,便可使用透明通道扩展API接口传输数据,当A使用API接口:BRAC_TransBufferEx向B发送数据时,B收到数据后,将触发B的回调函数:透明通道数据扩展回调函数(参考:BRAC_SetTransBufferExCallBack)。

内核使用UDP通道传输,不保证接收方收到的顺序与发送顺序相同,但是保证数据可达,丢包自动重传;

三、客户端之间传输文件


A、B两用户登录服务器成功之后,便可使用文件传输API接口传送文件,当A使用API接口:BRAC_TransFile向B发送文件时,B收到文件后,将触发B的回调函数:文件传输回调函数(参考:BRAC_SetTransFileCallBack

内核使用UDP通道传输,不保证接收方收到的顺序与发送顺序相同,但是保证数据可达,丢包自动重传;

四、客户端与服务器之间传输缓冲区数据(SDK Filter Data接口)


客户端A登录服务器成功之后,便可使用SDK Filter Data接口传输数据

1、当客户端使用API接口:BRAC_SendSDKFilterData向服务器发送数据时,将触发服务器的回调函数:上层业务自定义数据回调函数定义(参考:BRAS_SetOnRecvUserFilterDataCallBack

2、当服务器使用API接口:BRAS_SendBufToUserBRAS_SendBufToRoom向客户端发送数据时,将触发客户端的回调函数:SDK Filter通信数据回调函数(参考:BRAC_SetSDKFilterDataCallBack

内核使用TCP通道传输,保证接收方收到的顺序与发送的顺序相同,且保证数据可达,不会丢包;

五、客户端与服务器之间传输缓冲区数据(透明通道接口)

客户端A登录服务器成功之后,便可使用透明通道接口与服务器传输数据

1、当客户端使用API接口:BRAC_TransBuffer向服务器发送数据时,将触发服务器的回调函数:透明通道数据回调函数

(参考:BRAS_SetTransBufferCallBack

2、当服务器使用API接口:BRAS_TransBuffer向客户端发送数据时,将触发客户端的回调函数:透明通道数据回调函数

内核使用TCP通道传输,保证接收方收到的顺序与发送的顺序相同,且保证数据可达,不会丢包;

(注:SDK Filter Data接口和透明通道接口效率相同,透明通道接口主要是为了兼容客户端API而设计的,为V4.1版本服务器新增接口,需要注意的是两者所对应的回调函数是不同的)

六、客户端与服务器之间使用扩展缓冲区通道传输数据

客户端A登录服务器成功之后,便可使用扩展缓冲区通道与服务器传输数据

1、当客户端使用API接口:BRAC_TransBufferEx向服务器发送数据时,将触发服务器的回调函数:透明通道数据扩展回调函数(参考:BRAS_SetTransBufferExCallBack

2、当服务器使用API接口:BRAS_TransBufferEx向客户端发送数据时,客户端收到数据后,将触发客户端的回调函数:透明通道数据扩展回调函数(参考:BRAC_SetTransBufferExCallBack)。

内核使用UDP通道传输,不保证接收方收到的顺序与发送顺序相同,但是保证数据可达,丢包自动重传;

七、客户端与服务器之间传输文件

客户端A登录服务器成功之后,便可使用文件传输接口与服务器传输文件

1、当客户端A使用API接口:BRAC_TransFile向服务器发送文件时,服务器收到文件后,将触发服务器端的回调函数:文件传输回调函数(参考:BRAS_SetTransFileCallBack);

2、当服务器使用API接口:BRAS_TransFile向客户端发送文件时,客户端收到文件数据后,将触发客户端的回调函数:文件传输回调函数(参考:BRAC_SetTransFileCallBack);

内核使用UDP通道传输,不保证接收方收到的顺序与发送顺序相同,但是保证数据可达,丢包自动重传;

注:上文所提及的“服务器”是指采用AnyChat Server SDK所开发的业务层服务器。

视频开发技术之文件传输

时间: 2024-10-01 07:58:14

视频开发技术之文件传输的相关文章

音视频开发技术之排查故障信息

在开发,或是使用AnyChat Platform Core SDK的过程中,特别是在对AnyChat SDK不熟悉的情况下,遇到问题通常无从下手,这里我们给出较通用的故障分析.排查和解决方案: 一.服务器部分 服务器程序启动后,会在服务器程序所在目录生成一个日志文件:“AnyChatCoreServer.log”,典型的日志文件内容如下: 1.---------------------------Init Service--------------------------- 2.Current 

音视频 开发技术,让智能家居更智能!

智能家居是在物联网的影响之下物联化体现.智能家居通过物联网技术将家中的各种设备(如音视频设备.照明系统.窗帘控制.空调控制.安防系统.数字影院系统.网络家电以及三表抄送等)连接到一起,提供家电控制.照明控制.窗帘控制.电话远程控制.室内外遥控.防盗报警.环境监测.暖通控制.红外转发以及可编程定时控制等多种功能和手段. 定义 智能家居是一个居住环境,是以住宅为平台安装有智能家居系统的居住环境,实施智能家居系统的过程就称为智能家居集成.以住宅为平台,利用综合布线技术.网络通信技术. 智能家居-系统设

音视频开发技术之自主集成第三方编解码器

AnyChat Platform Core SDK支持加载外部音视频的编码.解码模块(简称AnyChat Codec库),增强系统的可扩展性,同时也满足一些特定应用环境的特殊需求,如与特定的硬件平台(android.pad)集成时,可以调用硬件编解码器,实现更高效率的即时通讯应用. AnyChat Platform Core SDK内核已经实现了部分常用的音视频编码.解码模块,如H.264视频编码.解码算法,ARM-WB.AAC.SPEEX.CELT等音频编码.解码算法.上层应用可以自己定义新的

视频通讯工具的文件传输

现在人们之间的交流大多通过即时通讯工具完成,而这些工具都有文件传输的基本功能.那么在自行通过即时通讯工具进行二次开发后使用该功能呢,下面以国内领先音视频技术的AnyChat互动开发平台为例,实现文件传输功能. 自AnyChat SDK V4.1.0.1版本开始,AnyChat支持文件传输限速功能.默认设置下,AnyChat的文件传输以及缓冲区传输都是自动检测网络可用带宽,并按"以最短的时间,最快的速度传输"的原则进行网络传输,这种原则可以适应大部分的应用,但在部分应用中,需要预留一些带

H.264视频开发技术

音视频即时通信开发 ,也叫即时通讯开发. 简而言之,音视频即时通信开发就是通过开发一套跨平台的即时通讯解决方案,基于先进的H.264视频编码标准.AAC音频编码标准与P2P技术,整合音视频编码.多媒体通讯开发技术而设计的高质量.宽适应性.分布式.模块化的网络音视频互动平台来满足人们的即时通讯需求. 随着互联网的发展,人们之间的交流逐步从电话移向网络.每天都有相当多的人在使用各种网络交流工具,如QQ,ICQ,MSN,新浪微博.可以看出人们对于网络上即时的沟通方式是非常敏锐的,所能容纳的程度也远远超

移动视频开发技术 Android iOS

AnyChat手机视频开发包是面向集成或软件开发商使用,用于开展手机视频相关的产品开发和系统集成. 开发包提供手机端音视频采集.编码.压缩.音视频传输等功能:通过与后端服务器对接,优先P2P通讯,实现手机视频即拍即传.手机视频直播,手机视频录制和手机视频通话. 当前手机视频SDK开发包支持iOS和Android平台. .  提供手机视频采集直播的开发接口 通过视频参数设置接口,设置拍摄视频的分辨率.编码方式.码流.媒体流类别等 通过视频拍摄,实现视频的采集,编码和传输 ·   提供语音.文字通讯

视频开发技术 视频设备枚举 C#

由于小编之前使用过BR_Chat的音视频解决方案作视频会议系统开发,所以这里也就以当时的环境和处理机制简单做一个介绍. 1.BR_Chat-枚举本地视频采集设备-方法概述: DWORD BRAC_EnumVideoCapture(TCHAR** lpDeviceName, DWORD& dwDeviceNum); 功能:枚举本地视频采集设备 返回值:0 表示成功,否则为出错代码 参数: lpDeviceName 视频设备名称,可为空,表示只获取设备数量: dwDeviceNum 视频设备数量;

音视频开发技术 时间戳叠加显示

在进行视频聊天.拍照甚至在视频录像时,能够增加一个当时的拍照或者录像时间,是非常有必要的.例如视频录像,当在翻看视频时,想要清楚事情发生在什么时间点,那么时间就是一个最好的证明. 如果是使用BRAChat的第三方音视频解决方案,则需要BRAChat r4245版本以后才支持,支持在本地视频上迭加时间戳,时间戳默认迭加在视频右上角,显示位置可更改,格式为"年-月-日 时:分:秒". 该功能在所有平台,包括Windows.Web.Android.iOS.Linux等均能支持. 开启本地视频

音视频开发技术 单例模式

小编在做即时通讯项目时候,并且是使用BRAChat提供的SDK音视频解决方案,但是对于"BRAChatCoreSDK对象能否使用单例模式.不想在每个需要使用BR_ChatCoreSDK对象的地方都new一个实例"的问题,对此做以下说明: 一.定义和调用 BR_ChatCoreSDK对象是可以使用单例模式的,可以在BR_ChatCoreSDK类中添加如下代码,提供单例对象(仅供参考,可以是其他定义方式) private static AnyChatCoreSDK anychat; pub