前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >【最佳实践】巡检项:实时音视频 (TRTC) 原生平台 SDK 拉流时序是否正确

【最佳实践】巡检项:实时音视频 (TRTC) 原生平台 SDK 拉流时序是否正确

原创
作者头像
jackwlchen
修改于 2023-04-23 03:47:01
修改于 2023-04-23 03:47:01
50600
代码可运行
举报
文章被收录于专栏:腾讯云顾问腾讯云顾问
运行总次数:0
代码可运行

问题/风险描述:

客户业务侧调用mTRTCCloud.startRemoteView()接口订阅远端视频流,出现偶现的失败情况,具体操作是在用户进入房间的回调事件onEnterRoom之前调用startRemoteView(),大概率会出现黑屏现象。客户告知希望可以根据自己的业务逻辑去订阅远端流。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 提前订阅对方视频流
mTRTCCloud.startRemoteView(mUserId, TRTCCloudDef.TRTC_VIDEO_STREAM_TYPE_BIG, mTxcvvAnchorPreviewView);

mTRTCParams = new TRTCCloudDef.TRTCParams();
mTRTCParams.sdkAppId = GenerateTestUserSig.SDKAPPID;
mTRTCParams.userId = mUserId;
mTRTCParams.roomId = Integer.parseInt(mRoomId);
mTRTCParams.userSig = GenerateTestUserSig.genTestUserSig(mTRTCParams.userId);
mTRTCParams.role =TRTCCloudDef.TRTCRoleAudience;
// 进入房间
mTRTCCloud.enterRoom(mTRTCParams, TRTC_APP_SCENE_LIVE);

解决方案:

根据TRTC的推拉流规则,远端推视频流后,本地会收到远端推流的事件回 onUserVideoAvailable(userId,true),如果本地在远端推流之前订阅该流,会出现黑屏现象。为避免这个问题,可以通过以下步骤规避:

1、避免在远端用户推流前,或者推流结束之后调用startRemoteView拉视频流。

2、建议startRemoteView在远端流到达的事件回调 onUserVideoAvailable 之后调用。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//参考代码
public void onUserVideoAvailable(String mRemoteUserId, boolean available) {
    if (available) { 
        // 视频流可用事件,订阅对方视频流
        mTRTCCloud.startRemoteView(mRemoteUserId, TRTCCloudDef.TRTC_VIDEO_STREAM_TYPE_SMALL, mTxcvvAnchorPreviewView);
    } else {
        // 视频流不可用事件,取消订阅对方视频流
        mTRTCCloud.stopRemoteView(mRemoteUserId);
    }
}

注意事项:

TRTC SDK因为健壮性原因,会对部分时序错误问题进行兼容处理,在开发中轻微的拉流时序错乱,不一定对结果有影响,但是还是建议严格按照TRTC SDK的规则调用相关的接口。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【最佳实践】巡检项:实时音视频 (TRTC) 原生平台 SDK 退房逻辑是否正确
用户新进入A房间推流,过一段时间之后,用户退出A房间,然后进入B房,出现了预览画面黑屏现象,从仪表盘看没有视频推流数据。本地日志显示用户确实先从A房间退出(exitRoom A),然后再进入B房间(enterRoom B),同时日志有报glError 1282错误。
jackwlchen
2022/04/29
5310
【最佳实践】巡检项:实时音视频 (TRTC) 原生平台 SDK 的进入同一房间的用户是否设定相同的 应用场景(TRTCAppScene)参数
在视频通话场景(VideoCall),出现Android端推流绿屏现象,具体表现是,房间内其他用户拉流观看,显示该用户的画面出现绿色色块,并且在进房后一直持续出现。这种现象不是该用户每次进房都出现,是偶现的。
jackwlchen
2022/04/29
8910
TRTC零基础上手 -- 码上视频订阅篇
当作为拉流端,在远端推流后即可开始拉流,为了用户体验,建议按照规范要求,在收到SDK的事件回调后开始拉流,并在控件上显示远端画面
天上云间
2022/01/19
1.2K0
实时音视频SDK,如何实现类似微信的纯语音通话功能?
实时音视频TRTCSDK适用的业务场景是视频会议、坐席视频、在线教育等,如果您希望实现类似微信的语音通话、语音会议功能,TRTCSDK也是支持的,只需要微调几个参数就可以实现,将采集音视频的api,换成只采集音频。
腾讯云-chaoli
2019/03/05
8K2
实时音视频SDK,如何实现类似微信的纯语音通话功能?
TRTC终端混流示例
使用TRTCSDK直播时,如果角色都是大主播、小主播,类似会议场景,每个角色都是参与者,且人数较少(30以内),彼此通过渲染对方的view,来实现一屏多画面;
ppchao
2020/12/11
1.2K0
TRTC终端混流示例
iOS音视频接入 - TRTC接入实时视频通话
(前面我们已经了解TRTC的基本架构和功能,现在我们就来接入实时视频通话功能,此功能和微信的一对一视频通话是一致的,需要两个角色,一个角色是主动呼叫、一个为呼叫接听,结合使用场景我们来接入此功能。
小明同学接音视频
2020/10/13
5.9K0
iOS音视频接入 - TRTC接入实时视频通话
实时音视频(TRTC)常见问题
一般而言,媒体音量指播放音乐、视频的声音、游戏声音等的音量,而通话音量指打电话的音量,视频通话的音量。
腾讯云-yyuanchen
2019/09/27
13.5K1
TRTC 视频旋转场景方案
在网络会议、双人视频通话等场景时,将手机横屏、竖屏放置场景下,实现本地和远端都可以看到正常的画面效果。
erickyan
2022/04/12
1.8K0
TRTC 视频旋转场景方案
实时音视频V2版本,如何进行纯音频旁路直播
实时音视频TRTCSDK适用的业务场景是视频会议、坐席通话、在线教育等,也可以实现类似微信的语音通话、语音会议功能,
腾讯云-chaoli
2019/03/13
3.5K0
实时音视频V2版本,如何进行纯音频旁路直播
从零开始创建一个超简单的TRTC音视频通讯程序(小程序篇)
出于政策和合规的考虑,微信暂未放开所有小程序对实时音视频功能(即 <live-pusher> 和 <live-player> 标签)的支持:
F颜
2020/06/18
2.1K0
腾讯云实时音视频客户端实现A+B->A和A+B->C混流方式
上一篇文章介绍了腾讯云实时音视频的两种混流方式分别是A+B->A和A+B->C,本文重点介绍,客户端如何实现这两种混流的方式,代码附上
singleli
2022/11/28
1.5K0
从零开始创建一个超简单的TRTC音视频通讯程序(web篇)
WebRTC 技术由 Google 最先提出,目前主要在桌面版 Chrome 浏览器、桌面版 Safari 浏览器以及移动版的 Safari 浏览器上有较为完整的支持,其他平台(例如 Android 平台的浏览器)支持情况均比较差。
F颜
2020/06/19
4.5K7
iOS音视频接入 - TRTC多人视频会议
官方SDK中提供了可复用的UI和封装了TRTCCloud的model,具体位置见下图。
小明同学接音视频
2020/10/15
2.4K0
iOS音视频接入 - TRTC多人视频会议
实时音视频 TRTC 常见问题汇总---质量篇
如下代码所示,播放远端观众的画面渲染模式选择 TRTC_VIDEO_RENDER_MODE_FIT模式, 当渲染控件 View 的宽高比与视频宽高此不一致时,有黑边情况。
腾讯视频云-Zachary
2021/10/10
4K0
实时音视频开发学习14 - 常见问题
V1和V2主要区别在于IM的SDK是否内嵌于TRTC中,V1线路是内嵌,而V2则可选,默认不打包IM的SDK包。V2在通话质量、线路规格、接入难度以及功能扩展上均比V1更有优势。
金林学音视频
2020/08/30
2.7K0
实时音视频开发学习14 - 常见问题
TRTC零基础上手 -- 码上视频推流篇
视频画面来自于摄像头,TRTC SDK会采集摄像头的画面,然后编码打包发送至云端链路,开发者只需要调用采集接口和设置编码器视频参数(码率、分辨率、帧率等)完成摄像头画面的采集。
天上云间
2022/01/13
2.3K0
【最佳实践】巡检项:实时音视频 (TRTC) 检查原生平台 SDK 是否根据辅流/小流视频分辨率和帧率设置了合理的视频码率
在直播场景中,主播的推流分辨率已经设置为1080p,但观众端看到的画面还是很模糊。通过分析这个案例,发现问题不是出现在推流端分辨率过低导致的模糊。从仪表盘上观察推流数据发现,上行分辨率是1080p,但是推流的码率过低。1080p x 15fps的码率只有500kbps左右,在排除了推流端的网络带宽不足情况,跟客户确认了,应用侧设置码率是只有500kbps。
jackwlchen
2023/04/27
6030
体验腾讯云音视频
首次开通腾讯云音视频免费赠送10000分钟的免费试用套餐包,包含了视频通话、语音通话、视频互动直播、语音互动直播这些模块,另外说明一下腾讯云音视频是按照 1 : 2 : 4 : 9 : 16 : 36 分别抵扣语音、标清、高清、超高清、2K和4K时长,例如1分钟高清视频时长扣除4分钟免费套餐包时长。
就叫7620521吧
2022/11/25
8K0
TRTC Android端开发接入学习之视频会议(八)
视频会议是音视频通话的常见应用场景之一,TRTC对着这方面的支持必不可少,本次我们学习如何使用TRTC快速开发视频会议的功能。
腾讯云-hongyang
2020/09/15
1.8K0
实时音视频 TRTC 常见问题汇总---集成接入篇
TRTC 的日志默认压缩加密,后缀为 .xlog。日志是否加密是可以通过 setLogCompressEnabled 来控制,生成的文件名里面含 C(compressed) 的就是加密压缩的,含 R(raw) 的就是明文的。
腾讯视频云-Zachary
2019/11/01
14.2K1
实时音视频 TRTC 常见问题汇总---集成接入篇
推荐阅读
相关推荐
【最佳实践】巡检项:实时音视频 (TRTC) 原生平台 SDK 退房逻辑是否正确
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文