我们针对实时音视频用户在后台提交的问题,归纳了近期咨询比较多的问答,供各位用户参考。
QUESTION1
Q :画面出现呼吸效应(一下清晰一下模糊),是什么原因?
A :呼吸效应产生主要有2种情况:
1.定焦镜头,I帧太小导致遇到I帧解码时模糊,想办法提高I帧的大小,可以尝试从vbr改为cbr,setVideoEncoderParam中设置videoBitrate=minVideoBitrate即为cbr。
2.变焦镜头,硬件不断聚焦。想办法改善拍摄环境,例如优化光源。
QUESTION2
Q :只想录制混合流,或者单路主播的流,该怎么处理?
A :使用:MCU混流方案-手动模式
只录混合流:云API3.0接口
StartMCUMixTranscode::OutputParams.RecordId,设定RecordId即可录制混合流;
只录单流:设置进房参数userDefineRecordId即可分别录制用户单流,目前各端都已支持 ;
局限性:不支持a b=a,不支持自定义模板 (MCU混流是房间维度的混流,只能a b=c)。
QUESTION3
Q :云端混流,A B C=D,如果A是第一层,B是第二层,C是第三层,如果A流断了,是不是混流就终止了;如果C流断了,A和B还能继续混流吗?
A :理论上是不会影响的,云直播侧默认是同时断开15分钟后才会自动取消混流。如果其中一路断开,不会补黑色画面,会停在最后一帧的画面。
QUESTION4
Q :目前是否支持私有化部署?
A :目前暂不支持私有化部署。
QUESTION5
Q :Web端在部分手机上使用,遇到黑屏、摄像头不识别、麦克风不识别、切换摄像头不成功等兼容性问题该如何解决?
A :可以参考官网文档,使用新版本的 Web SDK 在Android端特定浏览器内核支持使用。如果需要最好的效果,不建议 Web 在手机上使用。WebRTC的能力有赖浏览器本身,在手机端会遇到兼容性问题,建议使用小程序端SDK,或者Native SDK。详情请扫描下方二维码查看相关文档。
QUESTION6
Q :小程序端播放解码为什么有些机型用硬解,有些用软解,能不能强制软解?
A :受限于微信本身的限制,所以只有硬解。目前微信在逐步调整,所以出现部分机型可以走软解。后续微信完全支持后,小程序端也可以提供配置硬解、软解的参数配置。
QUESTION7
Q :发消息接口sendCustomCmdMsg,为什么发送成功了,但是对方没有接收到?
A :一款通话、会议类App,都有音视频数据通道、消息信令通道,这两个通道的设计架构是完全不同的。
TRTC SDK 属于音视频数据通道,用于发送实时的音视频数据流,所以有网络拥塞优化机制,当网络抖动时,会采取主动丢包的方式保证流畅性。
sendCustomCmdMsg是在音视频数据流协议中,插入少量消息,实现一些非必达的消息发送,比如定时发时间戳之类的。
如果客户场景是消息必达场景,比如进房、退房消息,房间内聊天消息,主播事件消息等,都不推荐使用sendCustomCmdMsg接口发送消息。
消息必达场景的消息,还是推荐使用专门的信令通道——腾讯云即时通信IM。详情请扫描下方二维码查看相关文档。
QUESTION8
Q :为什么客户端unpublish之后,旁路直播没有断流,在云直播控制台还能看到?
A :unpublish只会停止音视频数据上行,不会触发自动旁路断流,退房或者音视频数据70s无上行才会触发旁路断流,所以unpublish无数据上行70s后旁路才会断。
QUESTION9
Q :Web上行用户个数限制为20人,能不能实现20人以上的通话?
A :不能。
iOS/Android/Windows/Mac/Electron上限30路,Web上限20路,基于性能和通话质量推荐10路以内,性能受限于终端设备,每路视频编解码都需要消化CPU等硬件资源。
QUESTION10
Q :网络不好的卡的时候只有声音看不到画面,是什么原因?
A :目前 SDK 默认会优先保证音频的流畅性,弱网条件下可能会出现有声音没画面的情况。建议监听网络情况,网络不好时抛出提醒,尝试切换网络。
QUESTION11
Q :TRTC SDK 中有说通话前调用测速接口,有利于 SDK 选择服务器,如果测到一半发现测试到的服务器已经够用,停止测速,SDK 是否还会选择最佳的服务器,还是依旧是默认的服务器?
A :1、未手动测速的话,SDK 默认会选择服务端返回的最优节点;
2、如果手动测速了,SDK 会选择测试结果中最优的节点。中途停止测速,也会选择已测结果中最优节点。
3、测速会不断探测链路质量,所以不要在通话过程中使用,推荐通话前使用。
QUESTION12
Q :实时音视频移动端,软编、硬编,软解、硬解是如何切换的?
A :硬编硬解,软编软解切换规则:
根据进房时设置的appsence参数,
1. appscene为videocall
1.1 Android
- 分辨率小于720P,走软编软解
- 分辨率大于等于720P,走硬编硬解
1.2 iOS
- 分辨率小于720P,走软编,解码优先硬解,硬解失败走软解
- 分辨率大于等于720P,走硬编硬解
2. appScene为live
2.1 Android
- 分辨率小于720P,优先走软编软解
- 分辨率大于等于720P,优先走硬编硬解
- 软解码当CPU占用大于75%,或任务耗时大于60ms,切硬解
- 硬解失败,切软解
2.2 iOS
- 优先走硬编硬解
- 硬解失败,切软解
QUESTION13
Q :TRTC 是否支持音视频互通过程中的音频录制成文件?
A :支持,通过 startAudioRecording 接口可以将通话过程中的所有音频(包括本地音频,远端音频,BGM 等)录制到一个文件里,目前支持的音频格式有 PCM, WAV, AAC。
QUESTION14
Q :TRTC 是否支持音视频互通过程中的视频录制成文件?
A :暂不支持本地录制,可以用云端旁路录制视频。
QUESTION15
Q :TRTC 房间能不能支持踢人、禁止发言、静音?
A :可以。TRTC 有自定义信令接口 sendCustomCmdMsg,用户可以自己定义相应的控制信令,收到控制信令的通话方执行对应操作既可,比如"踢人"就是定义一个"踢人"的信令,收到此信令的用户就自行退出房间。
QUESTION16
Q :想做一个类似微信音视频通话的应用怎么实现?
A :微信音视频通话的流程是用户A呼叫用户B,用户B接通后开始音视频通话。这里呼叫其实就是一个信令交互的过程,可以使用腾讯云提供的即时通信方案,音视频通话其实就是进入同一个 TRTC 的房间就能实现交互。
腾讯云终端团队,结合 TRTC SDK 和 IM SDK,封装了一个开源组件,用于快速集成通话功能,参考官网 TRTCCalling 组件请扫描下方二维码查看相关文档。
QUESTION17
Q :TRTC SDK 怎么设置上行视频码率、分辨率、帧率?
A :可以通过TRTC Cloud里面的 setVideoEncoderParam()接口设置 TRTCVideoEncParam参数中 videoResolution(分辨率)、videoFps(帧率)、videoBitrate(码率)。
详情请扫描下方二维码查看相关文档。
QUESTION18
Q :TRTC SDK 要实现画面横竖屏切换, 控制画面角度与方向是怎么确定的?
A :音视频通话完整链路,大致是:本地采集、本地预览、编码输出、网络传输、接收解码渲染。
这几步中有四个环节,能捕获到视频的角度参数:本地采集、本地预览、编码输出、接收解码渲染,
其中本地采集是摄像头硬件默认的,而本地预览、编码输出、接收解码渲染这三步,可以改变音视频数据的角度。
TRTC 提供了这三个 API,满足您的画面横竖屏切换需求。
setLocalViewRotation可以改变本地渲染预览方向,支持调整4个方向。
setRemoteViewRotation可以远端视频的渲染方向,支持调整4个方向。
setVideoEncoderRotation可以改变sdk编码输出的方向,6.9版本的sdk开始支持4个方向
云 社区这里有两篇文章,图解了横竖屏切换效果,扫码查看相关文章。
QUESTION19
Q :接入 TRTC SDK 之前,已经集成了美颜功能,可否将三方美颜 SDK 的功能用到TRTC中?
A :可以的,8.1版本开始增加了setLocalVideoProcessListener使用这个监听,设置此方法后,SDK 内部会在本地渲染前,把采集到的视频纹理回调出来(onRenderVideoFrame),用于第三方美颜处理。详情请扫描下方二维码查看相关文档。
QUESTION20
Q :请问实时音视频支持海外业务么?例如中东地区、双印地区等。费用体系是否与国内一样?
A :1.实时音视频目前可以在海外使用。
2.计费标准只有一套,一般的通话和录制在国内和海外都是一样的。但是若因为旁路直播而引起的下行观看,则会根据国内国际带宽的费用而有所不同,请查看如下文档。
后续我们会整理更多关于常见的Q&A供大家参考,我们下期再见啦~
腾讯云通信
一直致力于
让每个企业
都享受智慧服务带来的改变
END
未来可期
长按扫码关注腾讯云通信官方微信公众号
以获取更多更专业的云通信知识