全部产品
Search
文档中心

视频直播:生成推流地址和播放地址

更新时间:Aug 12, 2024

阿里云视频直播提供触发式推流与播放,您无需提前创建资源,只要添加经过备案的推流域名和播流域名,并完成域名解析、鉴权等操作,即可快速拼接生成推流地址和播放地址。通过阅读本文,您可以了解推流地址和播放地址的拼接规则及生成方法。

使用说明

  • 推流地址和播放地址可以根据规则创建多个,并同时执行直播活动。进行直播活动时需要注意每个直播推流域名的并发限制,详情请参见使用限制。进行直播活动前先确认当前限制是否满足您的需求。如果不满足,请联系我们

  • 使用转码模板或鉴权串时,需要将{***}整体替换为实际内容。鉴权串是根据鉴权算法得出的一个加密字符串,需开启鉴权功能才可以生成。您可以在视频直播控制台开启鉴权功能并获取鉴权串,请参见配置URL鉴权,也可通过MD5算法计算获取鉴权串,请参见鉴权URL组成

方法一:通过控制台生成

如果您希望快速生成推流地址和播放地址,可通过控制台工具生成。具体操作,请参见直播地址生成器

方法二:自定义拼接

通过自定义拼接生成推流地址和播放地址时,在拼接前需要自行判断直播流是否经过转码,是否进行鉴权,并准备好直播流的推流域名、播流域名、AppName(应用名称)、StreamName(直播流名称)、转码模板ID(如有)和鉴权串(如有)。拼接规则如下:

地址类别

拼接规则

地址示例

推流地址

推流域名+AppName+StreamName+鉴权串

  • RTMP:rtmp://demo.aliyundoc.com/app/stream?auth_key={鉴权串}

  • RTS:artc://demo.aliyundoc.com/app/stream?auth_key={鉴权串}

  • SRT:srt://demo.aliyundoc.com:1105?streamid=#!::h=demo.aliyundoc.com,r=/app/stream?auth_key={鉴权串},m=publish

    说明

    其中m=publish不在鉴权串中,例如:srt://demo.aliyunlive.com:1105?streamid=#!::h=demo.aliyunlive.com,r=/1/1?auth_key=1661312655-0-0-3fded78b61b14071****aa6e6d2,m=publish

播放地址

播流域名+AppName+StreamName+鉴权串

  • RTMP:rtmp://example.aliyundoc.com/app/stream?auth_key={鉴权串}

  • FLV:http://example.aliyundoc.com/app/stream.flv?auth_key={鉴权串}

  • M3U8:http://example.aliyundoc.com/app/stream.m3u8?auth_key={鉴权串}

  • RTS:artc://example.aliyundoc.com/app/stream?auth_key={鉴权串}

转码流地址

播流域名+AppName+StreamName_转码模板ID+鉴权串

转码流地址需要在StreamName后加_转码模板ID

  • RTMP:rtmp://example.aliyundoc.com/app/stream_{转码模板ID}?auth_key={鉴权串}

  • FLV:http://example.aliyundoc.com/app/stream_{转码模板ID}.flv?auth_key={鉴权串}

  • M3U8:http://example.aliyundoc.com/app/stream_{转码模板ID}.m3u8?auth_key={鉴权串}

  • RTS:artc://example.aliyundoc.com/app/stream_{转码模板ID}?auth_key={鉴权串}

延播播放地址

播流域名+AppName+StreamName-alidelay+鉴权串

延播播放地址需要在StreamName后加-alidelay

  • RTMP:rtmp://example.aliyundoc.com/app/stream-alidelay?auth_key={鉴权串}

  • FLV:http://example.aliyundoc.com/app/stream-alidelay.flv?auth_key={鉴权串}

  • M3U8:http://example.aliyundoc.com/app/stream-alidelay.m3u8?auth_key={鉴权串}

  • RTS:artc://example.aliyundoc.com/app/stream-alidelay?auth_key={鉴权串}

实时字幕播放地址

播流域名+AppName+StreamName_字幕模板名称+鉴权串

实时字幕播放地址需要在StreamName后加_字幕模板名称。

  • RTMP:rtmp://example.aliyundoc.com/app/stream_{字幕模板名称}?auth_key={鉴权串}

  • FLV:http://example.aliyundoc.com/app/stream_{字幕模板名称}.flv?auth_key={鉴权串}

  • M3U8:http://example.aliyundoc.com/app/stream_{字幕模板名称}.m3u8?auth_key={鉴权串}

说明
  • 表格中RTS地址,即超低延时直播RTS地址,使用前需开通超低延时直播功能

  • 视频直播根据StreamName而不是根据AppName来判断直播流是否唯一。如果您设置了不同的应用名称,还要保证直播流名称不同,才能保证最终的直播流不同。如果需要一个域名下不同的AppName推相同的流(StreamName),请联系我们开启App隔离功能。

  • 如果是纯拉流场景,您可以不需要生成推流域名。

  • 转码流地址需设置转码模板才可以生成。您可在控制台添加或查看转码模板的ID,具体操作,请参见通用转码,也可以通过调用AddCustomLiveStreamTranscodeDescribeLiveStreamTranscodeInfo接口添加或获取转码模板ID。

  • 延播播放地址需配置延播才可以生成,您可在控制台添加。具体操作,请参见延播配置。如果原播流域名未配置延播或未开播,则对应延播播放地址无法拉取到。

  • 通过代码生成地址可参见如何通过PHP或Java代码生成推流地址和播放地址?