API 文档

推流配置

最近更新时间:2021-09-13 11:50:06

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

注意事项

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

前提条件

已开通云直播服务,并完成实名认证。

鉴权配置

  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 有效时间。

推流地址示例代码

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

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

后续操作

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

目录