详情页标题前

腾讯云云直播HttpDNS 调度

详情页1

方案背景

云直播海外的推流和播放调度默认使用域名的 DNS 解析调度,它是一种最常见、最简单的接入方式。由于国内外的网络环境较为复杂,导致域名解析错误或流量跨网的问题普遍存在,云直播推荐您使用 HTTPDNS 方案来优化直播调度。运营商 LocalDNS 的出口根据权威 DNS 目标 IP 地址进行 NAT,或者将解析请求转发至其他 DNS 服务器,导致权威 DNS 无法正确识别运营商的 LocalDNS IP,从而引发域名解析错误和流量跨网等问题。腾讯云 HTTPDNS 具有全球领先的 DNS 集群技术,可支持多运营商和自定义线路,进行优化调度。详细请参见 移动解析 HTTPDNS说明 本文为您阐述如何将 HTTPDNS 调度方案用于腾讯云国内和海外直播推流和播放的调度加速,HTTPDNS 接口请参见 移动解析 HTTPDNS

前期准备

1. 开通 HTTPDNS 服务,请参见腾讯云移动解析 HTTPDNS 控制台的服务 开通步骤2. 前往 开发配置页,查看鉴权信息:授权 ID、 DES 密钥。n

腾讯云云直播HttpDNS 调度



上行推流使用 HTTPDNS 进行调度

请求上行接入点 IP

HTTPDNS 请求:http://119.29.29.98/d?dn={$push_domain DES加密字符串}&ip={$ip DES加密字符串}&id=$id ,HTTP Get 请求,参数的含义如下:push_domain 代表推流域名,该字段需要经过 DES 加密,密钥信息通过HTTPDNS开发配置页获取,具体请参见 DES 加解密说明ip 字段代表请求端的外网出口 IP,这个 IP 代表最终会调度到的接入点 IP 所在的地区和运营商,该字段也同样需要经过 DES 加密。id 字段代表用户鉴权标识,唯一标识每个用户。

解密接入点IP

通过 HTTPDNS 获取到的数据为 DES 密文,需要经过 DES 解密,得到 server_ip,具体请参见 DES 加解密说明

拼接上行推流 URL

这里的 server_ip 为请求上行接入点 IP 中获取到的 IP,那么拼接的推流 URL 如下:rtmp://server_ip/live/streamname?txTime=xxx&txSecret=xxx&txHost=domain,最重要的是在原有的推流参数中新增代表业务推流域名的字段 txHost。

下行播放使用 HTTPDNS 进行调度

请求下行接入点 IP

HTTPDNS 请求:http://119.29.29.98/d?dn={$domain DES加密字符串}&ip={$ip DES加密字符串}&id=$id ,HTTP Get 请求,参数的含义如下:

字段 含义
push_domain 播放域名,该字段需要经过 DES 加密,密钥信息通过 HTTPDNS开发配置页 获取,具体请参见 DES 加解密说明
ip 请求端的外网出口 IP,这个 IP 代表最终会调度到的接入点 IP 所在的地区和运营商,该字段也同样需要经过 DES 加密。
id 用户鉴权标识,唯一标识每个用户。

解密接入点IP

通过 HTTPDNS 获取到的数据为 DES 密文,需要经过 DES 解密,得到 server_ip,具体请参见 DES 加解密说明

拼接下行播放 URL

HTTP:包含 FLV 以及 HLS 的播放协议,这里的 server_ip 为请求下行接入点 IP 中获取到的 IP,play_domain 代表播放域名,则 HTTP 的播放 URL 拼接如下:

http://server_ip/play_domain/live/streamname.flv?xxxxxxxxxxhttp://server_ip/play_domain/live/ streamname.m3u8?xxxxxxxxxxhttp://server_ip/play_domain/live/ streamname -123.ts?xxxxxxxxxx

HTTPS:包含 FLV 以及 HLS 的播放协议,这里的 server_ip 为请求下行接入点 IP 中获取到的 IP,play_domain 代表播放域名,HTTPS 的拼接规则依赖于播放器逻辑,要求在 TCP 建立连接的目标 IP 为 HTTPDNS 调度的 server_ip,具体请求的播放 URL 需要是常规的播放请求:

https://server_ip/play_domain/live/ streamname.flv?xxxxxxxxxxhttps://server_ip/play_domain/live/ streamname.m3u8?xxxxxxxxxxhttps://server_ip/play_domain/live/ streamname -123.ts?xxxxxxxxxx

RTMP:这里的 server_ip 为请求下行接入点 IP 中获取到的 IP,play_domain 代表播放域名,则 RTMP 的播放 URL 拼接如下:

rtmp://server_ip/play_domain/live/ streamname?xxxxxxxxxx

说明 由于 HTTPDNS 请求有小概率异常,如 HTTPDNS 访问超时,或者返回的结果非 IP 格式,或者返回为空等等,请兜底至 LocalDNS 进行域名解析。
云直播官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/143005.html

(0)
上一篇 2023年12月9日 上午1:31
下一篇 2023年12月9日
详情页2

相关推荐

  • 腾讯云容器服务更改集群操作系统同尘科技

    操作系统说明 修改操作系统只影响后续新增的节点或重装的节点,对存量节点的操作系统无影响。同一集群下节点使用不同版本操作系统,不会对集群功能产生影响。同一脚本不一定适用于所有操作系统,建议您对节点进行脚本配置之后,验证该节点操作系统是否与此脚本相适配。如需使用自定义镜像功能,请 在线咨询 申请。注意如果您需要使用自定义镜像功能,请使用容器服务提供的基础镜像来制…

    2023年12月9日
  • 大数据计算MaxCompute有人知道是什么原因吗?-云小二-阿里云

    大数据计算MaxCompute有人知道是什么原因吗?com.aliyuncs.exceptions.ClientException: InvalidApi.NotFound : Specified api is not found, please check your url and method. Java调用dataworks 以下为热心网友提供的参考意…

    阿里云 2023年12月19日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云TDSQL-C MySQL版TDSQL-C MySQL 版和云数据库 MySQL 有什么区别

    TDSQL-C MySQL 版和云数据库 MySQL 都是腾讯云的关系型数据库产品,其中,TDSQL-C MySQL 版基于云原生架构设计,融合了传统数据库、云计算与新硬件技术的优势,支持较多的高级功能和特性,为用户提供具备高弹性、高性能、最高 PB 级海量存储、安全可靠的数据库服务;而云数据库 MySQL 是腾讯云基于开源数据库 MySQL 专业打造的高性…

    2023年12月9日
  • 腾讯云轻量应用服务器添加域名云小二

    操作场景 该任务指导您通过轻量应用服务器控制台,添加新购域名或已有域名。后续您可将添加的域名解析到任何轻量应用服务器。 注意事项 添加的域名必须使用腾讯云 云解析 DNS 服务才可正常使用,未使用 云解析 DNS 服务,添加域名解析后将提示“未生效”。所有对中国大陆境内提供服务的网站都必须先进行 ICP 备案,详情请查看 网站备案。 操作步骤 1. 登录轻量…

    2023年12月9日
  • 腾讯云对象存储同步请求接口

    简介 本文档提供关于文档预览的相关的 API 概览以及 SDK 示例代码。 API 操作名 操作描述 文档转码 文档转码同步请求 获取文档转码的请求 URL 文档转码同步请求 功能说明 文档转码同步请求,获取文档转码的请求 URL。注意:使用此接口前,请确保已打开官网控制台中数据处理下的文档处理开关,否则会报错 doc bucket unbinded, bu…

    腾讯云 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。