tencent cloud

文档反馈

自主拼装直播 URL

最后更新时间:2024-03-05 09:24:41

    注意事项

    本文主要说明拼装直播 URL 的规则,如果想快速生成推流和播放地址,可前往控制台生成,详情参见文档说明 地址生成器
    创建转码模板 并与播放域名进行 绑定 后,转码配置后的直播流,需将播放地址的 StreamName 拼接为 StreamName_转码模板名称,更多详情请参见 播放配置

    前提条件

    已注册腾讯云账号,并开通 腾讯云直播服务
    已在 域名注册 申请域名,并备案成功。
    已在云直播控制台 > 域名管理 中添加推流/播放域名,并 CNAME 成功。详细操作请参见 添加自有域名

    拼装推流 URL

    实际产品中,当直播间较多时,您不可能为每一个主播手工创建推流和播放 URL,您可通过服务器自行拼装推流和播放地址,只要符合腾讯云标准规范的 URL 就可以用来推流,如下是一条标准的推流 URL,它由四个部分组成:
    
    
    地址示例如下:
    rtmp://domain/AppName/StreamName?txSecret=Md5(key+StreamName+hex(time))&txTime=hex(time)
    webrtc://domain/AppName/StreamName?txSecret=Md5(key+StreamName+hex(time))&txTime=hex(time)
    srt://domain:9000?streamid=#!::h=domain,r=AppName/StreamName,txSecret=Md5(key+StreamName+hex(time)),txTime=hex(time)
    rtmp://domain:3570/AppName/StreamName?txSecret=Md5(key+StreamName+hex(time))&txTime=hex(time)
    domain
    推流域名,可使用腾讯云直播提供的默认推流域名,也可以用自有已备案且 CNAME 配置成功的推流域名。
    AppName
    直播的应用名称,默认为 live,可自定义。
    StreamName(流 ID)
    自定义的流名称,每路直播流的唯一标识符,推荐用随机数字或数字与字母组合。
    鉴权 Key(非必需)
    包含 txSecret 和 txTime 两部分:txSecret=Md5(key+StreamName+hex(time))&txTime=hex(time)
    开启推流鉴权后需使用包含鉴权 Key 的 URL 进行推流。若未开启推流鉴权,则推流地址中无需 “?” 及其后内容。
    txTime(地址有效期)
    表示何时该 URL 会过期,格式支持十六进制的 UNIX 时间戳(时间单位:秒)。
    说明:
    例如5867D600代表2017年1月1日0时0分0秒过期,我们的客户一般会将 txTime 设置为当前时间24小时以后过期,过期时间不要太短也不要太长,当主播在直播过程中遭遇网络闪断时会重新恢复推流,如果过期时间太短,主播会因为推流 URL 过期而无法恢复推流。
    txSecret(防盗链签名)
    用以防止攻击者伪造您的后台生成推流 URL,计算方法参见 最佳实践-防盗链计算

    拼装播放 URL

    播放地址主要由播放前缀、播放域名(domain)、应用名称(AppName)、流名称(StreamName)、转码模板名、播放协议后缀、鉴权参数以及其他自定义参数组成。
    地址示例如下:
    webrtc://domain/AppName/StreamName?txSecret=Md5(key+StreamName+hex(time))&txTime=hex(time)
    http://domain/AppName/StreamName.flv?txSecret=Md5(key+StreamName+hex(time))&txTime=hex(time)
    rtmp://domain/AppName/StreamName?txSecret=Md5(key+StreamName+hex(time))&txTime=hex(time)
    http://domain/AppName/StreamName.m3u8?txSecret=Md5(key+StreamName+hex(time))&txTime=hex(time)
    播放前缀
    播放协议
    播放前缀
    备注
    WebRTC
    webrtc://
    强烈推荐,秒开效果最好,支持超高并发。
    HTTP-FLV
    http:// 或 https://
    推荐,秒开效果好,支持超高并发。
    RTMP
    rtmp://
    不推荐,秒开效果差,不支持高并发
    HLS(m3u8)
    http:// 或 https://
    手机端和 Mac safari 浏览器推荐的播放协议。
    Domain
    播放域名,自有已备案且 CNAME 配置成功的播放域名。
    AppName
    直播的应用名称,用于区分直播流媒体文件存放路径,默认为 live,可自定义。
    StreamName(流名称)
    自定义的流名称,每路直播流的唯一标识符。推荐用随机数字或数字与字母组合,不建议带有“_”,若“_”后的字符串与转码模板名相同,则该字符串将被识别为转码模板名,而“_”前的字符串被识别为 StreamName,从而导致拉流异常。例如:test_a1_hd1 会识别 test_a1 是 StreamName,hd1是转码模板名。
    转码模板名
    以“_”后缀在StreamName后,程序将根据该转码模板拉取转码流。
    鉴权参数(非必需)
    包含 txSecret 和 txTime 两部分:txSecret=Md5(key+StreamName_转码模板名+hex(time))&txTime=hex(time)
    开启播放鉴权后需使用包含鉴权 Key 的 URL 进行播放。若未开启播放鉴权,则播放地址中无需 “?” 及其后内容。
    txTime(地址有效期): 表示何时该 URL 会过期,格式支持十六进制的 UNIX 时间戳(时间单位:秒)。
    txSecret(防盗链签名):用以防止攻击者伪造您的后台生成播放 URL,计算方法参见 最佳实践-防盗链计算

    查看推流示例代码

    进入云直播控制台 >域名管理,选中事先配置的推流域名, 管理 > 推流配置页面下半部分有推流地址示例代码(PHP 、Java 两个版本)演示如何生成防盗链地址。更多详情操作请参见 推流配置
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持