• 2753阅读
  • 3回复

云信音视频常见问题FAQ(持续更新) [复制链接]

上一主题 下一主题
 

只看楼主 倒序阅读 使用道具 楼主  发表于: 2016-09-26


云信音视频常见问题
业务咨询类
1.   加上音视频后的SDK包体积为什么有60MB这么大?
因为音视频底层使用到的媒体处理相关的库文件,这些库文件体积较大,不过这只是SDK库文件的体积,正常编译后项目体积增加不大,实测在5MB~10MB左右。

2.   PC端开发工具有没有什么要求?VS2010?
PC端的SDK是基于VS2013开发的,建议使用VS2013及以上版本,不过VS2010也可以使用,在SDK中有VS2010的工程支持。

3.   服务端能不能录制两方到一个视频文件?
目前服务端录制是针对双方单独进行录制,暂时未提供合成功能,后续将进行开发支持。用户可获取录制文件后,自行后期合成处理。
update: 2016年12月后,服务端已支持录制合成,启用服务端合成后,抄送的录制文件地址增加合成文件的地址。

4.   服务端能不能录制多人的视频?
目前服务端还未提供支持,计划后续进行开发支持。多人视频时,可以使用客户端本地录制。

5.   录制好的文件我能不能拿到?
服务端录制好后,会将文件信息抄送给应用服务器。客户端录制好后,可以在相应的文件路径下拿到对应的文件,音频文件录制为aac格式,音视频文件录制为mp4文件。

6.   服务端能不能做文件的合成?
目前服务端暂时还未提供文件合成的支持,后续将安排开发支持。用户当前可在获取录制文件后,自行做后期合成处理。
update: 2016年12月后,服务端已支持录制合成,启用服务端合成后,抄送的录制文件地址增加合成文件的地址。

7.   本地录制的保存路径能不能修改?
可以,在开始本地录制时,可以指定录制文件的保存路径。具体参考SDK开发指南的相应接口。

8.   录制文件的长度有没有要求?录制文件的体积有没有要求?
录制文件的时长及体积大小,当前在客户端SDK或服务端均未做限制,持续录制时,客户端SDK会检测本地存储容量,若容量太低,会自动停止录制。

9.   能不能录制成其他我想要的格式?
暂时不支持,用户可在录制完成后,获取相应的文件自行进行转码。

10.服务端录制的文件会保存多久?
服务端的文件与历史消息的保存时限一样,都是默认保存一年。

11.我想自己处理视频怎么做?我想自己处理音频怎么做?
PC端提供了自定义视频数据模式,用户可以自定义视频YUV数据,然后通过SDK进行发送;iOS及Android端在2.9.0版本开始,提供了用户数据回调,用户可通过SDK接口获取到本地数据进行自行处理。

12.有没有美颜?有没和动效?
美颜及动效用户可以自行处理。PC端提供了自定义视频数据模式,用户可以自定义视频YUV数据,然后通过SDK进行发送;iOS及Android端在2.9.0版本开始,提供了用户数据回调,用户可通过SDK接口获取到本地数据进行自行处理。

13.语音通话的流量消耗怎么样?视频通话的流量消耗怎么样?
语音通话平均为4KB/s,一分钟约产生200~300KB流量;视频通话根据分辨率的不同,流量消耗会有差异,最低约每分钟750KB,最高约每分钟12MB。

14.视频码率是多少?帧率是多少?分辨率是多少?
视频码率和帧率SDK都是自适应可变的,根据不同的分辨率等级而不同,码率最大值可设置为100kbps~5Mbps之间,帧率范围可设置5~25fps之间,分辨率的级别如下:


分辨率等级

分辨率

建议码率

Low

176x144

250kbps(大约110MB/小时)

Medium

352x288

400kbps(大约170MB/小时)

High

480x320

600kbps(大约260MB/小时)

480P

640x480

800kbps(大约350MB/小时)

720P

1280x720

1Mbps(大约450MB/小时)


15.语音通话对网络的要求怎么样?视频通话对网络的要求怎么样?
语音通话对网络要求较低,一般有100kbps以上的上行带宽就已经能很好地满足(不考虑其他应用),下行带宽与上行带宽要求一样;视频通话依据不同的分辨率,对于网络带宽的要求不同,一般的网络带宽要求在250kbps~1.5Mbps的上行带宽,下行带宽一般推荐在1Mbps以上。

16.音视频对弱网的适应性怎么样?
云信在SDK层对音视频通话的弱网适应情况做了优化,采用私有二进制精简协议和压缩传输方案,并且在易信等网易自有的多款亿级用户产品上做了验证,能够覆盖绝大部分网络环境,我们可以保证是市面上最好的。

17.能不能支持国外的音视频通话?
云信音视频主要覆盖区域为中国大陆,在大陆外的地区也有所覆盖,国外音视频的效果建议实际测试。

18.我能不能控制一次通话的最大通话时间?控制用户最大流量?
SDK没有直接提供这样的接口,不过在应用中可以通过其他的方式来实现,例如在APP客户端做一些业务定时开启/关闭的逻辑;因为在APP中统计流量的方式并不准确(网络基础层次的流量统计不到),并不推荐使用流量的方式来做控制。

19.多人会议时,能不能控制其他人是否可以发言?能不能做排队发言?
SDK中有切换观众/非观众模式的接口,也有提供静音远端的接口,用户可利用此类型的接口来实现发言控制(控制策略由用户自己确定);排队发言可以在APP层面进行控制,比如让参与者先进入一个队列,然后按次序进行音视频通话。

20.通话过程中还能够跟对方发消息聊天吗?
可以的,在UI上自行处理即可,音视频通话并不会影响到普通消息的收发功能。

21.我能不能横屏聊天?能不能小窗口视频?能不能横竖屏自己切换?DEMO能不能换UI?是否支持对方旋转后我本地视频跟着旋转?
可以的,UI显示上的处理用户可以自行控制,DEMO只是提供一个参考,并不限制用户修改UI。

22.视频之前能不能预览?
音视频开始之前用户在本地进行预览后续将提供支持。可以使用多人通话接口,进入频道后可预览自己的画面。

23.电话拨通后能不能通知到应用服务端,让服务端知道已经接通了?
云信暂时未直接提供此功能,建议用户在APP中自行处理。

24.音频跟视频之间能随时切换吗?
可以,SDK中有提供相应的接口,并且在DEMO中也做了功能展示,可以参考我们DEMO来实现。

25.视频支持哪些清晰度?视频过程中能不能切换不同的清晰度?清晰度和网络的对应关系是什么?
分辨率的级别如下,根据不同的分辨率等级而不同,码率最大值可设置为100kbps~5Mbps之间。
分辨率等级分辨率
Low176x144
Medium352x288
High480x320
480P640x480
720P1280x720

在视频通话过程中,用户可以随时切在不同清晰度之间进行切换。

26.我们能不能自己控制码率?
SDK提供了接口,用户可以设置最大码率,范围在100kbps~5Mbps之间。

27.Android的音视频通话能不能支持机器人?门禁?航拍机器?智能设备?蓝牙耳机?外置相机? ……第三方硬件兼容性怎么样,对硬件有哪些要求?
音视频通话要求Android 4.0以上版本,当前SDK会对设备进行检查,需要设备具有摄像头,且能够被SDK检测到。
硬件配置的要求,目前SDK的硬解兼容测试主要是针对高通芯片进行,建议优先选择高通芯片方案,后续SDK会做更多的硬解兼容。

28.一方掉线了会不会自动结束通话?
通话频道中只要还有一个参与者在,频道就不会自动关闭,因此,当一方掉线时,另一方需要主动调用挂断接口来结束通话,否则会一直处理通话频道中不退出。

29.多人通话有没有人数限制?能不能放宽?多人音视频是用到几条通道?
多人音视频使用的是通过服务端的一个通道,多人通话限制如下:
人数上限
通话频道同时在线200人
视频画面同时显示5人
音频发言同时进行5人


若需要申请放宽限制,需要联系商务提交申请。

30.手游中间能不能用云信的语音?我是用unity/cocos2d开发的,能不能用云信的语音?
Cocos版本的SDK目前正在开发测试中,用户若需要在项目中使用,需要自行封装,可能会遇到一些我们还没验证过的问题,暂时不推荐使用,后续将上线cocos支持。
unity版本目前已经上线,地址:http://dev.netease.im/docs?doc=unity_guide

31.web端能不能用音视频聊天?web端能不能多人音视频?
Web端的音视频聊天将在后续上线相关SDK支持。

32.你们音视频通话支持软编还是硬编?android的硬编支持哪些机器?软编跟硬编的区别是什么?
SDK支持软编以及硬编,但硬编除了需要操作系统版本支持以外,还需要对应的硬件也支持才行。目前Android端的硬编支持主要是针对的高通系列的芯片方案,其他品牌的芯片也有一部分支持。
软编即软件编码,是利用纯CPU计算来实现音视频编码,因为是纯CPU运算,对CPU的资源消耗较大,因此发热及耗电较硬编要大,但兼容性好,没有特定的硬件型号要求。
硬编即硬件编码,是利用特定的硬件来实现音视频编码,对CPU的资源消耗较软编要少,发热及耗电情况较好,但兼容性差,需要对特定的硬件专门做适配。

33.通话时间长了之后会不会发热严重?
发热情况要依情况来确定,通话时间很长,不管是什么软件都会发热,同样的时长下,软编的CPU资源消耗比硬编的CPU资源消耗要多,因此发热量大不大,要根据不同的情况来判断。我们的SDK都是做过编码优化的,对于通话过程中的资源消耗、发热控制都有优化,正常使用下不会存在严重发热。

34.音频编码的格式是什么?视频编码格式是什么?
音频编码采用的是Opus,这是一种高效且适合网络通话的编码格式。视频编码我们采用的是H.264,这是一种使用广泛,编码效率高的视频编码格式。

35.支不支持在通话过程中播放背景音乐?
SDK暂时没有提供支持,正在开发中。
update: SDK 3.3.0版本开始支持伴音混音功能。

36.我能不能自己接收音视频?
云信的音视频传输使用的是私有的二进制精简协议,只能通过云信的SDK来发送和接收,安全性高,保密性好,而且传输稳定快速。

37.通话过程中能不能截图?
可以,demo只有提供相关的示例参考。

38.为什么云信的音视频通话没有QQ/微信清楚?
不同分辨率与码率下,画面的清晰程度是不同的,高清晰度、高码率的视频画面会看上去比低清晰度、低码率的视频更清楚。云信在SDK中提供了高清语音及多种清晰度的视频支持,用户可以在不同分辨率之间自由切换,当前最高支持到720P。

39.白板功能支持多人同时操作吗?可以使用PPT或者图片作为背景吗?
云信暂时支持一对一的白板功能,多人白板、PPT白板暂时未在SDK中提供,后续将更新。
update: SDK 3.2.0版本开始支持多人白板、PowerPoint文件转码等功能。

40.白板支持外接的手绘板之类的硬件吗?
云信白板功能默认采集的是鼠标操作,若手绘板可以模拟鼠标,在云信白板中就可以使用。

41.音视频通话卡顿是因为什么原因?
音视频卡顿一般的原因:
1、用户端网络不稳定,导致传输丢包;
2、在不支持硬解的机器上会用硬解导致丢帧;
3、Android端通话声音权限被占用。

42.为什么我看到自己的画面左右方向是反的?
这是在使用前置相机的时候才会出现的情况,因为人与相机是面对面的,所以相机中拍下来的方向与人的方向会是反的,导致了镜像的画面。SDK针对这样的情况,有提供镜像翻转的接口支持,需要实现镜像翻转的话可以调用接口来处理。


使用流程类
1.   多人音视频的流程是怎么样的?
按如下流程来进行多人音视频:
1、发起方创建多人音视频频道,需要确保频道名称没有重复;
2、发起方调用接口进入频道;
3、多人音视频参与者调用接口进入频道;
4、通话过程中可以进行静音、更改角色、关闭远端声音视频等操作;
5、参与者调用接口退出频道,只有所有频道中的人都退出频道之后,频道才会关闭。
若创建音视频频道后无人进入频道,服务端将保留此12小时后关闭此频道,在此期间,创建同名频道将失败。

2.   多人音视频如何实现邀请进入房间?
可以参考以下流程:
1、发起方创建好频道并进入频道;
2、APP应用服务端下发通知到被邀请人,通知中包含频道的相关信息,如频道名称、参与者等信息;
3、被邀请人从收到的通知中获取相应的频道信息,然后调用接口进入频道。
被邀请人接受/拒绝邀请的回应需要APP服务端自己来实现。

3.   音视频的排队功能如何实现?
排队功能与多人音视频邀请进入房间从实现步骤上来说是类似的,不同的在于控制策略上,用户可以使用一个队列,按序邀请,使参与者依次通话。

4.   在线教育我如何实现教师录屏学生观看?
PC端的SDK支持录制桌面、窗口或指定区域,用户可以录制屏幕发送给参与者,官网提供的在线教育demo可以参考。

5.   PC端如何截取窗口?如何截桌面?截区域?自己处理的数据?
用户可以通过自定义数据模式来实现。自定义视频数据模式是指音视频数据来源于用户(包括使用SDK采集摄像头后再处理的数据),此模式下SDK中的摄像头采集数据将和通话无关,不会直接编码发送。
使用自定义模式时,先在发起接口中的json_extension设置custom_video或custom_audio为非0,或者在通话过程中用接口nim_vchat_set_custom_data动态设置。其中音频和视频的自定义模式可以不同,如视频使用自定义数据,音频可以使用非自定义数据模式。在自定义数据模式下,发送音视频数据只能通过nim_vchat_custom_audio_data和nim_vchat_custom_video_data接口来实现数据传入。自定义视频数据接口nim_vchat_custom_video_data在调用时会检查数据类型、数据长度、画面宽高,其中宽高必须为偶数,数据长度必须和数据类型匹配,否则返回失败。
通过自定义模式,用户可以传入Windows窗口、桌面、自定义区域、图片、文字等各类数据。


6.   发起音视频回调Code 11001是为什么?
状态码11001的含义是通话不可达、对方处于离线状态,一般是对方不在线的时候发起音视频收到的回调,发起方可以自己结束呼叫。

7.   请问对方长时间未接听会自动挂断么?超时时间是多少?
长时间未接听时,会在至少45秒后收到超时回调,SDK自动挂断通话。

8.   多人音视频我创建了房间但是没进入,房间多久会释放?
若创建音视频频道后无人进入频道,服务端将保留此12小时后关闭此频道,在此期间,创建同名频道将失败。

9.   几个人同时进入了一个房间,怎么有一个人能看到别人,别人看不到他?
客户端可能选择了以观众模式加入房间,因此客户端不会发送音视频数据,但会接收音视频数据,因此可以看到别人的画面,但他人看不到自己的。

10.两个人视频,为什么A发了请求,B收不到A的请求通知?
B需要对音视频的请求做监听,A发起请求后,B需要对监听进行处理,选择接受或拒绝相应的呼叫请求。同样的,A也需要对音视频的相关状态做监听并进行处理。

11.接通后A能听到B的声音,但B听不到A的声音,为什么?
可能的情况有:1、A被静音,B在自己客户端上静音了A,或A自己静音了;2、A的客户端没的启用录音的权限,特别是在Android 6.0的系统中,要注意权限的申请。

12.为什么我静音了对方,对方没有收到通知?
在客户端上,静音自己会给对方一个通知,但静音对方不会有通知。

13.为什么会突然退出了通话频道?
可能的情况有:1、网络不好,掉线了没有处理;2、与其他功能结合使用时被踢出,如结合聊天室使用时聊天室被关闭,用户被踢出。


SDK问题类
1.   没有64位库,调试的时候报错了
此问题多出现于64位的Android中,云信暂时未直接提供64位版本的库文件,正在开发支持中。
64位系统是兼容32位库文件的,用户可以使用32位的库文件(引入库文件时,不使用arm64-v8a的文件),可以参考http://www.voidcn.com/blog/ouyang_peng/article/p-5779375.htmlhttp://bbs.netease.im/read-tid-267
update: Android SDK 3.2.0版本提供64位库文件,已支持64位。

2.   和视频云的SDK库文件冲突了
问题原因是iOS端云信实时音视频SDK和视频云客户端SDK中都使用了OpenH264.a的静态库,当个SDK同时都导入时,会出现库文件重复的报错。解决的办法:使用云信拆分库文件的SDK版本https://github.com/netease-im/NIM_iOS_SDK,导入到工程中后,统一使用视频云直播推流客户端SDK中的OpenH264.a,避免再次出现库文件重复。
update: 最新版本已无此问题。










只看该作者 沙发  发表于: 2016-09-26

只看该作者 板凳  发表于: 2016-12-22
啥时候支持web端啊

只看该作者 地板  发表于: 03-22
6.   服务端能不能做文件的合成?

这个需要做什么设置????