前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【最佳实践】巡检项:实时音视频 (TRTC) 检查 web SDK 混流接口中的子画面布局是否超出编码输出的画面

【最佳实践】巡检项:实时音视频 (TRTC) 检查 web SDK 混流接口中的子画面布局是否超出编码输出的画面

原创
作者头像
jackwlchen
修改2023-05-11 18:03:30
2950
修改2023-05-11 18:03:30
举报

问题/风险描述:

在使用 腾讯实时音视频(TRTC) web端进行云端混流转推时,可能会出现混流失败的情况,其中一种错误的情况是发起client.startMixTranscode混流的时候,子画面的布局超出了编码输出的画面了,导致混流失败。

混流转推错误的信息
混流转推错误的信息

解决方案:

为了解决以上的混流失败错误情况,我们建议您采取以下措施:

1. 在业务程序端在计算 子画面的坐标和宽高的时候,需要根据大画面的宽度来进行计算,参考代码如下

代码语言:javascript
复制
/*
- 总输出画面大小为 1920x1080 像素
- 9 个子画面要均匀分布在总输出画面中
- 子画面之间的间距为 10 像素
- 每行显示 3 个子画面
*/
function calculateSubframePositions(totalWidth, totalHeight, subframeSpacing, subframesPerRow, subframeCount) {
  const subframeWidth = (totalWidth - (subframesPerRow - 1) * subframeSpacing) / subframesPerRow;
  const subframeHeight = (totalHeight - (Math.ceil(subframeCount / subframesPerRow) - 1) * subframeSpacing) / Math.ceil(subframeCount / subframesPerRow);
  const subframePositions = [];

  for (let i = 0; i < subframeCount; i++) {
    const row = Math.floor(i / subframesPerRow);
    const col = i % subframesPerRow;
    const x = col * (subframeWidth + subframeSpacing);
    const y = row * (subframeHeight + subframeSpacing);
    subframePositions.push({ x, y, width: subframeWidth, height: subframeHeight });
  }

  return subframePositions;
}

// 调用函数并传入参数
const subframePositions = calculateSubframePositions(1920, 1080, 10, 3, 9);

2. 时刻关注您的Web端发起混流后返回的接口,如果发现有相关的错误情况的话,需要及时的修复并发布,以免影响您业务正常使用。

注意事项:

混流失败会影响到从CDN拉流的观众和回放录制,请及时关注相关的错误。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题/风险描述:
  • 解决方案:
  • 注意事项:
相关产品与服务
实时音视频
实时音视频(Tencent RTC)基于腾讯21年来在网络与音视频技术上的深度积累,以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放,致力于帮助开发者快速搭建低成本、低延时、高品质的音视频互动解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档