tencent cloud

文档反馈

推流配置

最后更新时间:2022-07-07 17:04:32

    为了保护直播推流的信息安全,云直播推流域名默认开启推流鉴权。您可通过推流地址详情页中的推流地址生成器,在线生成对应的推流地址。通过使用推流地址在线推流,实现直播流传输到云直播服务,即实现直播视频上传。

    注意事项

    • 云直播默认提供测试域名 xxxx.tlivepush.com,您可通过该域名进行推流测试,但不建议您在正式业务中使用这个域名作为推流域名。
    • 生成的推流地址在设定的过期时间内均可使用,过期后需要重新生成新的推流地址。

    前提条件

    已开通云直播服务。

    鉴权配置

    1. 进入 域名管理,单击需配置的推流域名管理 进入域名详情页。
    2. 单击 推流配置 ,查看 鉴权配置 标签,单击右侧的 编辑
    3. 进入推流鉴权配置页,单击按钮选择开启/关闭推流鉴权。
    4. 修改主 KEY 和备 KEY 信息,单击 保存 即可成功生效。
      说明:

      主 KEY 为必填、备 KEY 为选填,主备 KEY 可实现当 KEY 泄露时平滑更换 KEY 不影响业务。

    推流地址生成器

    操作步骤

    1. 进入 域名管理 选择需配置的推流域名或单击 管理 ,进入域名详情页。
    2. 选择 推流配置 > 推流地址生成器 ,进行如下配置:
      1. 选择过期时间,例如:2021-06-30 19:26:02
      2. 填写自定义的流名称 StreamName,例如:liveteststream
      3. 单击 生成推流地址 即可生成带着 StreamName 的 RTMP 推流地址。
    3. 若您的推流域名未开启推流鉴权,您还可以在 推流配置 > 推流地址解析 标签下,查看该推流域名下 RTMP、UDP 这两种推流地址。替换播放地址中的 StreamName(流名称)关联推流地址,关联后即可通过播放地址查看直播画面。

    推流地址说明

    RTMP 推流地址格式为:

    rtmp://domain/AppName/StreamName?txSecret=Md5(key+StreamName+hex(time))&txTime=hex(time)
    

    其中:

    • domain:直播推流域名。
    • AppName:直播的应用名称,默认为 live,可自定义。
    • StreamName:流名称,用户自定义,用于标识直播流。
    • txSecret:开启推流鉴权后生成的鉴权串。
    • txTime:推流地址设置的时间戳,是控制台推流地址的有效时间。
    注意:

    • 若您开启了域名鉴权,实际过期时间等于 txTime + Key 有效时间。
    • 控制台为了方便使用,设置的时间即为实际过期时间。若您开启了域名鉴权,计算推流地址时会按照公式倒推出 txTime
    • 在过期时间前进行了推拉流,只要推拉流正常没有断开或停止,即使过期时间到了也能正常保持推拉流状态。

    推流地址示例代码

    腾讯云为您提供的 PHP、Java 和 Go 语言的推流地址示例代码,您可直接参考示例代码完成推流地址的接入。具体查看操作如下:

    1. 进入 **域名管理**。
    2. 选择推流域名或单击右侧的 管理 ,进入域名详情页。
    3. 选择 推流配置 ,下拉到底查看 推流地址示例代码 标签。
    4. 单击切换标签按钮查看 PHP、Java、Go 示例代码,如下所示:
      /**
      * 获取推流地址
      * 如果不传key和过期时间,将返回不含防盗链的url
      * @param domain 您用来推流的域名
      * streamName 您用来区别不同推流地址的唯一流名称
      * key 安全密钥
      * time 过期时间 sample 2016-11-12 12:00:00
      * @return String url
      */

      function getPushUrl($domain, $streamName, $key = null, $time = null){
      if($key && $time){
      $txTime = strtoupper(base_convert(strtotime($time),10,16));
      //txSecret = MD5( KEY + streamName + txTime )
      $txSecret = md5($key.$streamName.$txTime);
      $ext_str = "?".http_build_query(array(
      "txSecret"=> $txSecret,
      "txTime"=> $txTime
      ));
      }
      return "rtmp://".$domain."/live/".$streamName . (isset($ext_str) ? $ext_str : "");
      }

      echo getPushUrl("123.test.com","123456","69e0daf7234b01f257a7adb9f807ae9f","2016-09-11 20:08:07");

    后续操作

    生成推流地址后,可根据业务场景使用直播推流,具体操作请参见 直播推流

    联系我们

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

    技术支持

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

    7x24 电话支持