音视频即时通讯—视频呼叫业务逻辑流程

 

视频呼叫业务逻辑主要实现两个终端PC、手机、Pad等之间的通话请求流程控制包括请求Request、回复Reply、开始Start以及结束Finish等过程可以形象理解为打电话的流程拨号、等待、通话、挂断。

以下以AnyChat视频呼叫业务逻辑为例说明

1、业务逻辑流程图

请参考http://bbs.anychat.cn/forum.php?mod=viewthread&tid=150&extra=page%3D1

2、API接口及常量定义

客户端相关API接口及事件回调

//视频通话消息通知回调函数定义

typedefvoid (CALLBACK * BRAC_VideoCallEvent_CallBack)(DWORD dwEventType, DWORDdwUserId, DWORD dwErrorCode, DWORD dwFlags, DWORD dwParam, LPCTSTR lpUserStr,LPVOID lpUserValue);

//设置视频通话消息通知回调函数

BRAC_APIDWORD BRAC_SetVideoCallEventCallBack(BRAC_VideoCallEvent_CallBack lpFunction,LPVOID lpUserValue);

//视频呼叫事件控制请求、回复、挂断等

BRAC_APIDWORD BRAC_VideoCallControl(DWORD dwEventType, DWORD dwUserId, DWORDdwErrorCode, DWORD dwFlags, DWORD dwParam, LPCTSTR lpUserStr);

服务器相关API接口及事件回调

//视频通话消息通知回调函数定义

typedefDWORD (CALLBACK * BRAS_OnVideoCallEvent_CallBack)(DWORD dwEventType, DWORDdwSrcUserId, DWORD dwTarUserId, DWORD dwErrorCode, DWORD dwFlags, DWORDdwParam, LPCTSTR lpUserStr, LPVOID lpUserValue);

//设置视频通话消息通知回调函数

BRAS_APIDWORD BRAS_SetOnVideoCallEventCallBack(BRAS_OnVideoCallEvent_CallBacklpFunction, LPVOID lpUserValue=NULL);

//视频呼叫事件控制请求、回复、挂断等

BRAS_APIDWORD BRAS_VideoCallControl(DWORD dwEventType, DWORD dwUserId, DWORDdwErrorCode, DWORD dwFlags, DWORD dwParam, LPCTSTR lpUserStr);

常量定义

/视频呼叫事件类型定义APIBRAS_VideoCallControl传入参数、OnVideoCallEvent回调参数

#defineBRAS_VIDEOCALL_EVENT_REQUEST 1 ///< 呼叫请求

#defineBRAS_VIDEOCALL_EVENT_REPLY 2 ///< 呼叫请求回复

#defineBRAS_VIDEOCALL_EVENT_START 3 ///< 视频呼叫会话开始事件

#defineBRAS_VIDEOCALL_EVENT_FINISH 4 ///< 挂断结束呼叫会话

3、相关说明

3.1、客户端APIBRAC_VideoCallControl和回调函数BRAC_VideoCallEvent_CallBack中的dwUserId均为对方被呼叫方的用户ID

3.2、被呼叫方拒绝通话时发送回复Reply指令dwErrorCode=100104

3.3、被呼叫方同意通话时发送回复Reply指令dwErrorCode=0然后服务器会向双方发送通话开始Start指令dwParam=RoomId房间号由核心服务器自动分配

3.4、结束通话时任何一方包括业务服务器均可以发送结束Finish指令然后服务器会向双方发送通话结束Finish指令

3.5、业务服务器可干预呼叫流程在BRAS_OnVideoCallEvent_CallBack收到呼叫请求指令后返回0表示允许呼叫否则为出错代码不允许呼叫在会话过程中可以发送结束Finish指令强制挂断指定用户的通话

3.6、API接口中的dwParam整型、lpUserStr字符串均为用户自定义用途

3.7、一个用户同时只能发起一路呼叫请求也同时只能被一个用户呼叫

3.8、视频呼叫业务流程可以脱离业务服务器由核心服务器独立支撑可以不需要在服务器端进行二次开发。

&4&通讯跨平台性为各种终端之间的交流提供了可能性

时间: 2024-10-03 05:37:10

音视频即时通讯—视频呼叫业务逻辑流程的相关文章

即时通讯 好友列表业务逻辑详解

在IM通讯中,通常需要管理自己的小伙伴,经常联系的,重要的用户需要标识在同一用户列表里,方便自己快速联系以及查看好友动态.那么如何可以做到类似QQ的好友列表功能呢,如 大厅好友解决方案包括: 1.业务服务器可以设置用户的好友列表,客户端可以获得好友列表,不需要进入房间: 2.客户端可以获得好友上线.下线的状态通知: 3.业务服务器可以自定义设置用户的任意属性(如名称.签名.性别.备注等)并能同步到客户端,客户端可以获取业务服务器自定义的用户属性: 下面以一款在市面(佰锐上科技)功能强大的SDK为

音视频即时通讯 功能需求汇总

即时通讯开发,也叫音视频即时通信开发.随着互联网的发展,人们之间的交流逐步从电话移向网络.每天都有相当多的人在使用各种网络交流工具,如Anychat,腾讯QQ,ICQ,MSN,新浪微博. 可以看出人们对于网络上即时的沟通方式是非常敏锐的,所能容纳的程度也远远超过我们的预计.然而目前大部分网络交流工具都还是以文字为主,语音视频功能大部分还是不够成熟,完全通过网络实现语音视频需要考虑到很多方面,如:硬件.软件.技术.网络:等等.纯文字沟通方式效率非常低而且也不符合人们平素的习惯,作为一种消遣的工具尚

音视频即时通讯SDK有什么技术?可以做什么?

AnyChat SDK(AnyChat音视频互动开发平台)是一套跨平台的(*)即时通讯解决方案,基于先进的H.264视频编码标准.AAC音频编码标准与P2P技术,支持高清视频,整合了佰锐科技在音视频编码.多媒体通讯领域领先的开发技术和丰富的产品经验而设计的高质量.宽适应性.分布式.模块化的网络音视频互动平台. AnyChat音视频互动开发平台(SDK)包含了音视频处理模块(采集.编解码).流媒体管理模块(丢包重传.抖动平滑.动态缓冲).流媒体播放模块(多路混音.音视频同步)以及P2P网络模块(N

2014年音视频即时通讯市场的割据

当腾讯微信几年下来获取了几亿用户量之后,上个月双11晚上,腾讯微信正式推出"微信电话本"应用,利用网络通信技术,微信一键登录之后使用流量便可与微信好友直接通话,整体交互界面.流程和体验与手机打电话别无二致,关键只需耗费不需要支付其他费用就可以实现高清免费视频通话功能.与IM应用的语音通话功能相比,微信电话本的通话质量更高,而且可以直接拨打手机通讯录好友,应用场景更广,微信挑战三大运营商的声音不绝于耳! 就这样,腾讯在用微信大力挫伤传统通信的短信业务之后,又开始了对语音通话新一轮的冲击.

在线客服 视频呼叫业务逻辑详解

视频呼叫业务逻辑主要实现两个终端(PC.手机.Pad等)之间的通话请求流程控制,包括请求(Request).回复(Reply).开始(Start)以及结束(Finish)等过程,可以形象理解为打电话的流程:拨号.等待.通话.挂断. 以下以Chat视频呼叫业务逻辑为例说明: 1.业务逻辑流程图 请参考 http://bbs.anychat.cn/forum.php?mod=viewthread&tid=150&extra=page%3D1 2.API接口及常量定义 客户端相关API接口及事件

iOS平台上的音视频即时通讯应用开发

现在IOS很是火热,一大堆开发人员在捣鼓IOS平台的开发,相信大家也使用过QQ的语音视频对话功能,但是不知道大家有没有试过自己来开发一个基于IOS平台的音视频即时通讯的应用,这个应用必须能够做到跨平台 支持iOS平台设备上的音频即时通讯应用开发 提供Objective-C语言API接口,开放示例源代码 集成H.264.AAC.AMR等编解码技术 封装音视频的采集.编解码.传输.显示和播放等模块 支持Android.Web.PC等设备和iOS之间的互联互通 想要在IOS平台下实现音视频通信,最快捷

如何设置视频的帧率、分辨率、码率来调节音视频即时通讯的质量

在通过网络进行音视频即使通讯的时候,选择合适的视频质量参数就需要根据实际的系统运行环境综合来决定,下面我们针对常见的网络环境给出一些建议供参考. 目前常见的网络主要有四种类型:ADSL拨号接入方式.光纤接入方式.3G拨号接入方式.局域网. ADSL拨号接入方式是一种非对称的网络接入,下行流量通常有2Mbps.4Mbps.6Mbps等,而上行流量通常都是512kbps,即上行速率和下行速率是不对称的.此时如果需要使用AnyChat进行音视频的交互,则上传流量只能用512kbps作为参考值,适合的分

音视频即时通讯—Android 视频开发

移动互联网随着智能手机的普及应用越来越广泛,所谓移动互联网是将移动通信和互联网整合在一起,使移动设备(包括手机和上网本.Pad平台)可以随时随地地访问互联网资源和应用获取相应的信息和处理. 从2011年开始,“三网融合”正式被国务院纳入十二五计划并开始实施.国务院十分明确的把三网融合作为全面提高信息化水平的重要手段进行定位,彰显出三网融合在国家战略层面发展不可替代的重要性,也为三网融合在十二五期间的发展提出了明确的方向和目标.在同一的治理平台下,实现音频.视频.数据信号的传输和管理,提供各种宽带

音视频即时通讯开发中音频模式的采集

在很多即时通讯应用中,会根据应用场景的不同,需要对音频输入源进行选择,不同的应用场景对应不同的音频工作模式.需要支持多种音频工作(采集)模式,包括:     1.发言模式(默认):自动选择麦克风为音频输入源设备,用户说话的声音被麦克风采集,启动音频特效处理(包括:回音消除.静音检测.噪音抑制.自动增溢),该模式通常应用于互动交流,用户发言讨论等场合:     2.放歌模式:自动选择立体声混音输入源设备,本地计算机所播放的声音被采集,同时SDK内部会自动屏蔽其它用户的声音(如果不屏蔽,则用户的声音