加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 云计算 > 正文

实时音视频 其他问题 - 常见问题

发布时间:2021-11-01 19:18:21 所属栏目:云计算 来源:互联网
导读:直播、互动直播、实时音视频以及旁路直播有什么区别和关系?直播(关键词:一对多,RTMP/HLS/HTTP-FLV,CDN)直播分为推流端、播放端以及直播云服务,云服务使用 CDN 进行直播流的分发。推流使用的是通用标准的协议 RTMP,经过 CDN 分发后,播放时一般可以
直播、互动直播、实时音视频以及旁路直播有什么区别和关系? 直播(关键词:一对多,RTMP/HLS/HTTP-FLV,CDN) 直播分为推流端、播放端以及直播云服务,云服务使用 CDN 进行直播流的分发。推流使用的是通用标准的协议 RTMP,经过 CDN 分发后,播放时一般可以选择 RTMP、HTTP-FLV 或 HLS(H5 支持)等方式进行观看。 互动直播(关键词:连麦、PK) 互动直播是一种业务形式,指主播与观众之间进行互动连麦,主播与主播之间进行互动PK的一种直播类型。 实时音视频(关键词:多人互动,UDP 私有协议,低延时) 实时音视频(Real-Time Communication, RTC)主要应用场景是音视频互动和低延时直播,使用基于 UDP 的私有协议,其延迟可低至100ms,典型的场景就是 QQ 电话、腾讯会议、大班课等。 腾讯云实时音视频(TRTC)覆盖全平台,除了iOS/Android/Windows之外,还支持小程序以及 WebRTC 互通,并且支持通过云端混流的方式将画面旁路直播到 CDN。 旁路直播(关键词:云端混流,RTC 旁路转推,CDN) 旁路直播是一种技术,指的是将低延时连麦房间里的多路推流画面复制出来,在云端将画面混合成一路,并将混流后的画面推流给直播 CDN 进行分发播放。 两台设备同时运行 Demo,为什么看不到彼此的画面? 请确保两台设备在运行 Demo 时使用的是不同的 UserID,TRTC 不支持同一个 UserID (除非 SDKAppID 不同)在两个设备同时使用。   为什么使用 CDN 直播观看时房间里只有一个人时画面又卡又模糊? 请将 enterRoom 中 TRTCAppScene 参数指定为 TRTCAppSceneLIVE。 VideoCall 模式针对视频通话做了优化,所以在房间中只有一个用户时,画面会保持较低的码率和帧率以节省用户的网络流量,看起来会感觉又卡又模糊。   为什么线上的房间都进不去了? 可能因为房间权限控制已开启。房间权限控制开启后,当前 SDKAppID 下的房间将需要在 TRTCParamEnc 中设置 privateMapKey 才能进入。如果您线上业务正在运营中,并且线上版本并没有加入 privateMapKey 的相关逻辑,请不要开启该功能,更多详情请参见 进房权限保护。   如何查看 TRTC 日志? TRTC 的日志默认压缩加密,后缀为 .xlog。日志是否加密是可以通过 setLogCompressEnabled 来控制,生成的文件名里面含 C(compressed) 的就是加密压缩的,含 R(raw) 的就是明文的。   iOS&Mac:sandbox的Documents/log Android: 6.7及之前的版本:/sdcard/log/tencent/liteav 6.8之后的版本:/sdcard/Android/data/包名/files/log/tencent/liteav/ Windows:%appdata%/tencent/liteav/log Web:打开浏览器控制台,或使用 vConsole 记录 SDK 打印信息 小程序:启用 <live-pusher> 和 <live-player> 标签的 debug 属性,使用 vConsole 记录打印信息 说明: 查看 .xlog 文件需要下载解密工具,在python 2.7环境中放到 xlog 文件同目录下直接使用 python decode_mars_log_file.py 运行即可。 日志解密工具下载地址:dldir1.qq.com/hudongzhibo/log_tool/decode_mars_log_file.py,日志相关详情参考 日志输出配置。 出现10006 error 该如何处理? 如果出现"Join room failed result: 10006 error: service is suspended,if charge is overdue,renew it",请确认您的实时音视频应用的服务状态是否为可用状态。 登录【实时音视频控制台】>【应用管理】,选择您创建的应用,单击【应用信息】,在应用信息面板即可确认服务状态。     进入房间返回错误码-100018是什么原因? 原因是 UserSig 校验失败,可能情况如下:   参数 SDKAppID 传入不正确,可登录实时音视频控制台,选择【应用管理】并查看对应的 SDKAppID。 参数 UserID 对应的验证签名 UserSig 传入不正确,可登录实时音视频控制台,选择【开发辅助】>【UserSig生成&校验】校验 UserSig。 如何跨房连麦(主播 PK)? 可以使用 connectOtherRoom 接口。主播调用 connectOtherRoom() 后,可以通过 onConnectOtherRoom 回调得到跨房 PK 的结果。主播一所在房间里的所有人,都会通过 onUserEnter 的回调,得到主播二进房的通知。主播二所在房间的所有人,也都会通过 onUserEnter 的回调得到主播一进房的通知。   为什么设备摄像头或麦克风出现被占用等异常现象? 调用 exitRoom() 接口会执行退出房间的相关逻辑,例如释放音视频设备资源和编解码器资源等,硬件设备的释放是异步操作,待资源释放完毕,SDK 会通过 TRTCCloudListener 中的 onExitRoom() 回调通知上层。如果您要再次调用 enterRoom() 或切换到其他的音视频 SDK,请等待 onExitRoom() 回调到来之后再执行相关操作。   离开房间接口 exitRoom() 是否必须调用? 不管进房是否成功,enterRoom 都必须与 exitRoom 配对使用,在调用 exitRoom 前再次调用 enterRoom 函数会导致不可预期的错误问题。   TRTC 视频画面出现黑边怎么去掉? 设置 TRTCVideoFillMode_Fill(填充)即可解决,TRTC 视频渲染模式分为填充和适应,本地渲染画面可以通过 setLocalViewFillMode() 设置,远端渲染画面可以通过 setRemoteViewFillMode 设置:   TRTCVideoFillMode_Fill:图像铺满屏幕,超出显示视窗的视频部分将被截掉,所以画面显示可能不完整。 TRTCVideoFillMode_Fit:图像长边填满屏幕,短边区域会被填充黑色,但画面的内容肯定是完整的。 TRTC 自己的本地画面和远端画面左右相反? 本地默认采集的画面是镜像的。App 端可以通过 setLocalViewMirror 接口设置,该接口只改变本地摄像头预览画面的镜像模式;也可以通过 setVideoEncoderMirror 接口设置编码器输出的画面镜像模式,该接口不改变本地摄像头的预览画面,但会改变另一端用户看到的(以及服务器录制下来的)画面效果。Web 端可以通过 createStream 接口修改 mirror 参数来设置。   TRTC 设置视频编码输出的方向没有效果? 需要设置 setGSensorMode() 为 TRTCGSensorMode_Disable,关闭重力感应,否则调用 setVideoEncoderRotation 后远端用户观看到的画面不会变化。   TRTC 的通话同时用了点播播放器 TXVodPlayer 播放,为什么播放声音很小? 通过 setSystemVolumeType 接口设置通话时使用的系统音量类型,设置为媒体音量模式 TRTCSystemVolumeTypeMedia 即可解决。   TRTC 正常上行有数据,为什么旁路拉流失败看不到画面? 请确认是否已在 【应用管理】>【功能配置】中开启自动旁路推流。   旁路录制的各种场景下生成录制文件是什么格式的? 以 实时音视频控制台 中配置录制文件格式为准。   如何选择媒体音量和通话音量? 通过 setSystemVolumeType 接口,支持自主选择通话音量和媒体音量。   TRTCAudioVolumeTypeAuto :默认类型,麦上通话音量、麦下媒体音量; TRTCAudioVolumeTypeVOIP :始终使用通话音量 TRTCAudioVolumeTypeMedia :始终使用媒体音量。 如何判断打开摄像头成功? 通过回调方法 onCameraDidReady,当收到该回调时表示摄像头已经准备就绪。   如何判断打开麦克风成功? 通过回调方法 onMicDidReady,当收到该回调时表示麦克风已经准备就绪。   如何判断音视频通话是否推流成功? 通过回调方法 onSendFirstLocalVideoFrame,在 enterRoom 并 startLocalPreview 成功后开始摄像头采集,并将采集到的画面进行编码。 当 SDK 成功向云端送出第一帧视频数据后,会抛出这个回调事件。   如何判断纯音频通话是否推流成功? 通过回调方法 onSendFirstLocalAudioFrame,在 enterRoom 并 startLocalPreview 成功后开始麦克风采集,并将采集到的声音进行编码。 当 SDK 成功向云端送出第一帧音频数据后,会抛出这个回调事件。   我能否查询所有的 UserID? 暂不支持统计所有 UserID,可以在客户端用户注册帐号成功后将用户信息一并写入 SQL 中进行管理或查询。   相同 UserID 是否支持同时进入多个房间? TRTC 同一时间不支持两个相同的 userId 进入房间,否则会相互干扰。   为什么调用 setAudioRoute 设置音频路由(听筒/扬声器)不生效? 只能在通话音量模式下切换听筒/扬声器,即仅在2个及以上用户连麦时调用才生效。   TRTC 只支持腾讯云控制台开启自动录制吗?怎么实现手动开启录制? TRTC 支持手动录制,具体操作办法如下:   进入【应用管理】>【功能配置】,开启【自动旁路推流】,不开启【启动云端录制】。 用户进房间后,按照流 ID 生成规则,计算出 userid 对应的 streamid。 使用云直播的 创建录制任务 API,对 streamid 启动录制任务。 DomainName 为 [bizid].livepush.myqcloud.com。 AppName 为 trtc_[sdkappid]。 StreamName 为 streamid。 录制任务完成后,云直播会将文件写入到云点播,并通过 录制回调事件通知。 TRTC 怎么校验生成的 UserSig 是否正确?进房报错-3319、-3320错误怎么排查? 可登录实时音视频控制台,选择【开发辅助】>【UserSig生成&校验】校验 UserSig。   TRTC 如何查看通话时长和使用量? 可在实时音视频控制台的【用量统计】页面查看。   TRTC 如何维护用户列表、统计直播间的观看人数? 如果开发者项目工程中有集成 即时通信IM,可以直接通过 IM 群人数统计接口进行统计。但该方案统计出的人数不是很准确,如果开发者对在线人数要求不高,可以直接上述方案。 如果开发者需要很准确的统计在线人数,建议自行实现统计逻辑:   增加观众数(Client -> Server)当有新的观众加入时,意味着某个房间的观众数要 + 1,可以让 App 的观众端在进入房间时向 Server 发送一次累加请求。 减少观众数(Client -> Server)当有观众退出房间时,意味着某个房间的观众数要 - 1,可以让 App 的观众端在退出房间时向 Server 发送一次累减请求。 进房时报-100013错误码,错误信息为 ERR_SERVER_INFO_SERVICE_SUSPENDED,是什么问题? 该错误表示服务不可用。请检查:   套餐包剩余分钟数是否大于0。 腾讯云账号是否欠费。 TRTC 怎么监测网络状态,实现信号强弱展示功能? 可以使用 onNetworkQuality() 监听当前网络的上行和下行质量,可以参考 官方 Demo 实现信号强弱功能。   TRTC 如何知道自己用的是新的 mcu 混流还是老的云端混流? 满足下述条件,且客户端日志打印 mcumix = 1,则使用的是新的 mcu 混流。   2020年01月09日及此后新建的应用。 TRTC SDK 版本在6.9之后。 TRTC 调用混流接口失败,没有效果怎么排查? 确保已在 实时音视频控制台 开启【自动旁路推流】。 监听 onSetMixTranscodingConfig() 接口,根据返回的错误信息修改。 若通过 SDK 接口自定义了旁路流 ID,老的云端混流方式会混流失败。 若 onSetMixTranscodingConfig() 返回成功但旁路 CDN 拉流仍没有效果,可能是播放域名没有配置所导致的,建议检查播放域名相关配置。 TRTC 启动云端录制但没有生成录制文件怎么排查? 确保已在 实时音视频控制台 开启【自动旁路推流】和【启动云端录制】。 TRTC 房间中有用户正常上行音视频数据才会开始录制。 旁路 CDN 拉流正常才会有录制文件生成。 若刚开始只有音频,中途切换了视频,根据录制模板的不同可能会只生成视频时间段的录制文件,或只生成音频时间段的录制文件。 TRTC 出现卡顿怎么排查? 可以通过对应的 RoomID、UserID 在实时音视频控制台的【监控仪表盘】页面查看通话质量:   通过接受端视角查看发送端和接收端用户情况。 查看发送端和接收端是否丢包率比较高,如果丢包率过高一般是网络状况不稳定导致卡顿。 查看帧率和 CPU 占用率,帧率比较低和 CPU 使用率过高都会导致卡顿现象。 TRTC 出现画质不佳,模糊、马赛克等现象怎么排查? 清晰度主要和码率有关,检查 SDK 码率是否配置的比较低,如果高分辨率低码率容易产生马赛克现象。 TRTC 会通过云端 QOS 流控策略,根据网络状况动态调整码率、分辨率,网络比较差时容易降低码率导致清晰度下降。 检查进房时使用的 VideoCall 模式还是 Live 模式,针对通话场景 VideoCall 模式主打低延时和保流畅,所以在弱网情况下会更容易牺牲画质确保流畅,对画质更加看重的场景建议使用 Live 模式。 邀请嘉宾连线如何告知嘉宾房间号? 告知嘉宾房间号的操作可以加在自定义消息中,解析消息内容获取roomid,相关说明请参见 创建自定义消息 、 TIMMsgSendNewMsg。   是否可以至少两个人进入房间,才开始录音? 可以。若您需获取录制混流后的音频数据,您可在 启动云端混流 后,制定输出流 ID,并调用直播接口 创建录制任务。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读