音视频常见问题

0.0.1. Q. 音视频如何排查问题?

A. 仔细阅读音视频的文档,基本上就能解决您的问题。大致分为以下两点:

  1. IM必须是可用的,能够收发消息。信令是建立在消息的基础之上的,如果消息不通,音视频就无从谈起。
  2. TURN服务必须满足文档中的要求,既“Relay”服务的成功。不能说有时能打通,就可以忽略掉“Relay”的失败,因为即使不部署TURN服务,确实有时也能打通,但在某些情况下,没有TURN服务的”Relay“功能,一定会打不通的。所以必须Relay功能可用才行。

如果您的音视频出现问题,可以使用我们提供的TRUN服务,验证是不是您的TURN服务出的问题。

0.0.2. Q. 如何更改音视频通话的质量?

A. 音视频默认的质量是640*360/15FPS,可以对此进行修改,Android/iOS都有个setVideoProfile方法,根据函数注释来更改不同的配置。注意越高的质量需要越高的带宽,需要考虑一个平衡问题。

0.0.3. Q. 免费的单人音视频能够平滑升级到多人音视频或音视频高级版吗?

A. 所有的音视频SDK都具有相同的接口,如果使用我们提供的原生iOS/Android Demo应用,购买多人音视频库或音视频高级版后,直接替换即可使用。如果您已经对UI进行过修改,需要进行验证,可能问题也不大。另外就是不同版本的互通问题,多人音视频可以与单人音视频版本进行单人的音视频通话;音视频高级版无法与单人版和多人版互通。

0.0.4. Q. 网页端音视频工作不正常?

A. 请先到WEBRTC能力测试进行测试,看浏览器是否支持。

0.0.5. Q. 用户如何主动加入群音视频通话?

A. 微信的群音视频通话中,在会话界面会有提示,用户可以点击主动加入。野火没有实现这个原因是在办公环境中,有些通话可能并不能开放用户随便加入。如果您需要这个功能的话可以二次开发来实现,只需要通话中的某个成员把当前用户拉入进去即可。具体实现方法如下:

音视频通话的Session中有个发起人(Initiator)的角色,他负责以3秒每条的频率向群里发送广播消息,这个广播消息是自定义消息。进入群会话的用户收到此广播后就在上面显示正在通话的提示,用户点击加入只有,再给发起人发送一条要加入的消息,发起人端收到消息后弹出提示是否允许加入,当用户点击允许后邀请申请用户加入,或者直接邀请申请用户加入。当通话结束时,发送一条结束的自定义消息通知到群里。需要注意几点:

  1. 自定义消息flag要设置为透传。这样只有在线用户能收到,服务器不存储此类消息。减少消息量。
  2. 发起人可能会变动,当发起人退出群通话时,会自动选举出下一个发起人,会有通知回调到上层,上层需要处理这种变化。

0.0.6. Q. 会议功能的会控如何实现?

A. 野火音视频高级版提供的会议功能中关于会控的接口仅有踢出成员这一个功能,其它所有功能都需要自己来实现。会控的自定义需要在应用服务保存会议的状态,比如入会是否要静音,是不是允许成员手动切换打开静音等信息,当管理会议时,修改这个状态值,然后再发送自定义通知有变更,会议成员收到通知后更新会议状态根据会议状态在操作是否静音。如果是大规模会议,建议可以设置用户静音入会,控制用户切换成主播的权力,避免发出通知导致所有人同时操作静音。

此外还有举手等功能,如果设置不允许用户自主切换发言,可以开发举手功能,当用户要发言时,点击举手按钮计给其他人发送举手自定义消息,其他人就可以看见举手状态,当管理员点击同意时给举手成员发同意自定义消息,举手成员收到同意切换为主播发言。如果没有操作计时超时举手结束。

自定义消息建议使用透传消息,这样不会积累为用户的历史消息,减少服务器和客户端的消息压力。

2018 © wildfirechat.net 京ICP备18060403号-1 all right reserved,powered by Gitbook该文件修订时间: 2021-11-04 16:33:40

results matching ""

    No results matching ""