请选择 进入手机版 | 继续访问电脑版
查看: 9760|回复: 2

【新手入门指南】点对点实时音视频

[复制链接]

6

主题

123

帖子

598

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
598
发表于 2018-9-11 16:53:20 | 显示全部楼层 |阅读模式


点对点通话的文档:
SDK的下载、即时通讯Demo的总入口:https://yunxin.163.com/im-sdk-demo
注意:"即时通讯Demo"中的点对点通话,是在单聊界面发起。

客户端API文档:   https://dev.yunxin.163.com/docs/product/%E9%9F%B3%E8%A7%86%E9%A2%91%E9%80%9A%E8%AF%9D/%E5%AE%A2%E6%88%B7%E7%AB%AFAPI%E6%96%87%E6%A1%A3

服务端API文档:   https://dev.yunxin.163.com/docs/product/%E9%9F%B3%E8%A7%86%E9%A2%91%E9%80%9A%E8%AF%9D/%E6%9C%8D%E5%8A%A1%E7%AB%AFAPI%E6%96%87%E6%A1%A3

各端更新日志:  https://dev.yunxin.163.com/docs/product/%E9%9F%B3%E8%A7%86%E9%A2%91%E9%80%9A%E8%AF%9D/%E6%9B%B4%E6%96%B0%E6%97%A5%E5%BF%97/iOS%E7%AB%AF%E6%9B%B4%E6%96%B0%E6%97%A5%E5%BF%97

各端开发指南文档https://dev.yunxin.163.com/docs/product/%E9%9F%B3%E8%A7%86%E9%A2%91%E9%80%9A%E8%AF%9D/SDK%E5%BC%80%E5%8F%91%E9%9B%86%E6%88%90/Android%E5%BC%80%E5%8F%91%E9%9B%86%E6%88%90/%E6%A6%82%E8%A6%81%E4%BB%8B%E7%BB%8D

点对点音视频通话Android端Demo(非官方哦~):https://github.com/NicalDai/AVChatDemo

点对点通话的接口流程:
Android
双人视频通话流程示例:       1、注册本地各种监听器 AVChatManagerLite.observeAVChatState(AVChatStateObserverLite, boolean) 等等。
    2、开启音视频引擎, AVChatManagerLite.enableRtc()。
    3、设置通话场景, 如没有特殊需求不用设置 AVChatManagerLite.setChannelProfile(int) 。
    4、打开视频模块 AVChatManagerLite.enableVideo()。
    5、设置视频采集模块 AVChatManagerLite.setupVideoCapturer(AVChatVideoCapturer)。
    6、设置本地预览画布 AVChatManagerLite.setupLocalVideoRender(IVideoRender, boolean, int)。
    7、设置视频通话可选参数[可以不设置] AVChatManagerLite.setParameter(AVChatParameters.Key, Object), AVChatManagerLite.setParameters(AVChatParameters)。
    8、打开本地视频预览 AVChatManagerLite.startVideoPreview()。
    9、呼叫或者接听通话 AVChatManagerLite.call2(String, AVChatType, AVChatNotifyOption, AVChatCallback), AVChatManagerLite.accept2(long, AVChatCallback)。
    10、等待对方进入开始通话, 各种音视频控制。
    11、收到AVChatStateObserverLite回调onUserJoined,AVChatManagerLite.setupRemoteVideoRender(java.lang.String account, IVideoRender render, boolean mirror, int scalingType)播放远端视频画面。
    12、关闭本地预览 AVChatManagerLite.stopVideoPreview()。
    13、关闭视频模块 AVChatManagerLite.disableVideo() ()} 。
    14、离开挂断会话 AVChatManagerLite.hangUp2(long, AVChatCallback)。
    15、关闭音视频引擎, AVChatManagerLite.disableRtc()。


iOS
双人视频通话流程示例:
    1、添加音视频相关代理 - (void)addDelegate:  (  id< NIMNetCallManagerDelegate>)delegate
    2、开始视频采集- (BOOL)startVideoCapture:  (NIMNetCallVideoCaptureParam *)param,用于需要在开始音视频通话之前开启视频采集的场景,如无此场景可在发起呼叫的参数中指定NIMNetCallVideoCaptureParam
    3、监听本地视频数据回调- (void)onLocalDisplayviewReady:  (UIView *)displayView
    4、设置音视频通话相关参数NIMNetCallOption
    5、呼叫或者接听通话, 呼叫:(void)start:  (NSArray<NSString*> *)callees type:  (NIMNetCallMediaType)type option:  (nullable NIMNetCallOption *)option completion:  (nullable NIMNetCallStartHandler)completion; 接听:(void)response:  (UInt64)callID accept:  (BOOL)accept option:  (nullable NIMNetCallOption *)option completion:  (nullable NIMNetCallResponseHandler)completion
    6、等待对方进入开始通话, 各种音视频控制。
    7、收到onRemoteYUVReady回调播放远端视频数据
    8、关闭本地预览- (void)stopVideoCapture
    9、挂断通话- (void)hangup:  (UInt64)callID

常见问题:
标题:音视频的唯一标识channelid,要怎么获取通话ID
链接:https://faq.yunxin.163.com/#KB0237

标题:关于音视频通话服务器录制
链接:https://faq.yunxin.163.com/#KB0097

F:1对1视频需要第三方进入观察,需要怎么实现?
Q:云信的1对1视频目前不支持第三方介入,若要实现第三方观察的场景,需要接入多人音视频的方案。相当于A和B在多人视频的房间里面进行视频通话,第三方C需要观察的时候,就加入到房间内观看A和B的通话。开发者若不希望A和B感知到C的加入,只需要A和B忽略C加入的通知即可。需要注意的是,多人音视频云信没有直接提供邀请(或呼叫)的接口,开发者可以结合IM实现(参考即时通讯demo,结合自定义系统通知实现),也可以自行实现,实际就是服务器转发一个通知。

更多FAQ,参考:http://faq.yunxin.163.com/





回复

使用道具 举报

0

主题

1

帖子

10

积分

云客

Rank: 1

积分
10
发表于 2018-12-29 14:02:23 | 显示全部楼层
有没有web 端和安卓客户端点对点视频的完整demo?
回复

使用道具 举报

6

主题

123

帖子

598

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
598
 楼主| 发表于 2019-1-3 10:06:05 | 显示全部楼层
江枫 发表于 2018-12-29 14:02
有没有web 端和安卓客户端点对点视频的完整demo?

Android端,可以参考:https://github.com/NicalDai (非官方)
Web端的,可以参考:https://netease.im/im-sdk-demo  这个页面下方的,即时通讯Demo
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表