全部产品
Search
文档中心

智能媒体服务:直播封装

更新时间:Jan 14, 2026

本文介绍直播封装功能。

功能介绍

直播封装功能可以对直播流播放协议进行封装,同时支持时移功能(时移功能可以让直播观众在直播过程中回看直播内容。比如在进行赛事直播时,通过时移功能可以让观众像观看点播内容一样,回看赛事内容。),也支持对直播内容进行保存,将直播内容存储至OSS。

重要

使用直播封装功能会产生费用,计费说明请参见直播封装计费

功能配置

使用直播封装功能需要创建封装配置。

  1. 登录智能媒体服务控制台

  2. 在左侧导航栏选择媒体封装 > 直播封装,创建频道组。

    image

    参数说明:

    参数名

    说明

    频道组名称

    自定义输入。

    描述信息

    自定义输入。

    说明
    • 功能内涉及频道的信息和频道组装功能无关。

    • 配置完成后,会自动分配一个源站域名

  3. 点击频道组名称,进入频道列表页,创建频道。

    image

    参数说明:

    参数名

    说明

    频道名称

    自定义输入。

    输入协议

    源流协议,支持HLS或HLS_CMAF协议的源流。

    切片时长

    封装流中单个切片文件的时长。

    建议设置该值为6,不建议设置过大或过小。设置越大,单个切片的内容越多,延迟越高。设置越小,单个切片内容越少,会间接增加请求次数导致资源开销增加。

    切片个数

    封装流播放时返回的m3u8文件中包含的切片文件个数。

    建议设置该值为3。个数越多,播放器直播的时间轴越大,请求m3u8的流量和延迟也会增加。

  4. 点击频道名称,进入频道详情页,点击Endpoints页签,创建Endpoints。

    image

    参数说明:

    参数名

    说明

    端点名称

    自定义端点名称。

    协议

    封装后的播放协议,支持HLS、HLS_CMAF或DASH。

    播放列表名称

    播放清单文件名。比如填写index,则播放地址为:https://example.aliyundoc.com/index.m3u8。

    授权码

    设置之后,在播放封装流或使用CDN加速回源时需要增加请求头参数。参数名:Authorization,参数值:授权码。阿里云CDN设置回源请求头参数请参见修改出站请求头

    IP白名单

    支持IPv4和IPv6地址,以及子网掩码。

    IP黑名单

    支持IPv4和IPv6地址,以及子网掩码。

    时移天数

    • 当设置>0时表示开启了时移功能,时移功能可以让直播观众在直播过程中回看直播内容。比如在进行赛事直播时,通过时移功能可以让观众像观看点播内容一样,回看赛事内容。使用方法请参见时移播放

    • 只有开启时移功能,才能对该节点使用直转点(搜集任务)功能,将时移内容存储至OSS中。若未开启时移功能,则无法对该节点使用直转点(搜集任务)功能。

    切片时长

    封装流中单个切片文件的时长。

    音频分离

    视频流和音频流是否分离。

    切片个数

    封装流中切片文件个数。

    插入时间标签间隔

    在m3u8中加入时间戳(标签为EXT-X-PROGRAM-DATE-TIME)的时间间隔。

    流排序

    可选:

    • 原始排序:用于按传入源使用的相同顺序对输出流进行排序。

    • 视频码率升序:对输出流进行排序,从最低比特率开始,到最高比特率结束。

    • 视频码率降序:对输出流进行排序,从最高比特率开始,到最低比特率结束。

    最小视频码率

    输入最小比特率阈值(单位:比特/秒),视频轨道必须大于或者等于此阈值才能从此端点播放。这样可以确保轨道至少达到一定的比特率。

    最大视频码率

    输入最大比特率阈值(单位:比特/秒),视频轨道必须小于等于此阈值才能从此端点播放。这样可以确保轨道不会超过一定的比特率。

    创建完成后,会生成封装流播放地址(列表中URL地址)。到此即完成直播封装功能配置。

功能使用

推流

在创建频道后,已为您生成输入地址和密钥。您可以进入频道详情页Input页签查看。

image

ingest1:主输入地址。

ingest2:备用输入地址。

点击Authentication可获取账号名称/密码。

实时打包频道提供主备摄取端点(Ingest URL),用于接收上游转码服务的HLS输出流。当一个摄取端点异常时,打包服务将使用另一个端点作为输入,以提升打包频道可用性。地址示例:

http://xxxxxx-1.packagepush-9eji12.ap-southeast-1.ice.aliyundoc.com/v1/dfjtest/1/test01/manifest

上游转码工具可配置输出到该地址,请使用Basic Auth鉴权并使用PUT方法上传m3u8和ts文件,文件的请求URL必须以输入地址为前缀,如:

http://xxxxx-1.packagepush-9eji12.ap-southeast-1.ice.aliyundoc.com/v1/dfjtest/1/test01/manifest.m3u8
http://xthcfa-1.packagepush-9ejigb.ap-southeast-1.ice.aliyundoc.com/v1/dfjtest/1/test01/manifest-hd-1001.ts

说明:

  1. Basic Auth鉴权即请求Header增加Authorization:Basic BASE64_ENCODE(username:password)

  2. 您必须按直播要求上传合乎规范的主m3u8,子m3u8和ts切片文件。输入HLS内容不支持加密。

  3. 如推送HLS流到主备推流地址,请确保主备流内容相同,且切片的时间戳对齐,否则主备切换时可能无法保证播放流畅。

您也可以使用媒体直播简介功能进行推流。

播放

使用创建Endpoint时生成的封装流播放地址进行播放。

如果是用于调试,您可将内部IP加入端点的IP白名单进行测试,或者为播放器设置请求头参数:参数名:Authorization,参数值:Endpoint配置的授权码。

如需提供给外部用户播放,建议使用CDN配置回源加速(需要设置请求头参数,参数名:Authorization,参数值:Endpoint配置的授权码)。使用方法请联系您的CDN厂商。

image

时移播放

开启时移功能后,封装服务将对直播切片文件进行保存,观众端可发起时移播放请求进行直播内容回看。

时移播放请求示例:

https://xxxxx-1.packagepush-9eji12.ap-southeast-1.ice.aliyundoc.com/v1/group01/ch01/endpoint01/index.m3u8?start=2024-11-06T00:00:00Z&vodend=2024-11-06T02:00:00Z

在该示例中,我们实现了回看2024-11-06T00:00:00Z至2024-11-06T02:00:00Z的直播内容。可以发现,时移请求相较于m3u8的播放地址多了两个参数。start为时移播放开始时间,vodend为时移播放结束时间,请求URL为Endpoint的播放URL。

时移播放支持的参数如下:

参数名

说明

start

时移播放开始时间,UTC时间格式,时区为GMT。示例值:2024-11-06T00:00:00Z

end

时移播放结束时间,UTC时间格式,时区为GMT。示例值:2024-11-06T02:00:00Z

vodend

以点播形式指定时移播放结束时间,UTC时间格式,时区为GMT。示例值:2024-11-06T02:00:00Z

说明

设置vodend表示使用点播模式回看,点播模式会一次性返回所有切片,可以使用播放器进度条控制播放前进回退。

offset

按偏移时间播放时移内容,单位。以偏移量请求会根据当前时间向过去时间偏移作为时移播放点。

播放示例:

https://xxxxx-1.packagepush-9eji12.ap-southeast-1.ice.aliyundoc.com/v1/group01/ch01/endpoint01/index.m3u8?offset=300

使用说明:

  • startoffset必须指定其中一个。

  • 如果指定了end,时移播放会以直播模式播放直到指定的end时间点。

  • 如果指定了vodend,时移播放会以点播模式播放直到指定的vodend时间点(点播模式会一次性返回所有切片,可以使用播放器进度条控制播放前进回退)。

  • 如果同时指定endvodend,时移播放将以vodend为准。

创建搜集任务

直播封装功能创建搜集任务可以将直播内容存储至OSS。在直播结束后,可以通过OSS中的内容对直播内容进行回放。

前提条件:

  • 您需要开通OSS服务并且拥有至少一个Bucket用于存储这些文件。开通OSS服务以及创建Bucket可参见开通OSS服务创建存储空间,Bucket必须与频道组同地域。

    重要

    文件存储在OSS中,会产生存储费用,在OSS中计费请参见OSS存储费用

  • 频道Endpoint需要开启时移功能(设置的时移天数>0)。

进入频道详情页,点击搜集任务页签,创建搜集任务。

image

参数说明:

参数名

说明

Endpoint

选择频道内的Endpoint,Endpoint需要开启时移功能(设置的时移天数>0)。

搜集时间

时间段内如果开启了时移功能,直播内容将会存储至OSS。

存储路径

选择OSSBucket,搜集结果(m3u8格式文件)将会存储至对应位置。

说明
  • 搜集任务创建完成后,会自动开始搜集任务。若要查看搜集文件,请进入OSS中查看。

  • 如果您为一个Endpoint创建了多个搜集任务,每个搜集任务将会生成单独的文件。

常见问题

直播封装应该怎样去推流

您可以使用支持HLS输出的第三方直播转码工具进行推流,直播封装服务接收上游转码服务的HLS输出。您也可以使用媒体直播简介功能推流。

如何播放封装流

您可以使用Endpoints生成的播流地址进行播放。

如果是用于调试,您可将内部IP加入端点的IP白名单进行测试,或者为播放器设置请求头参数:参数名:Authorization,参数值:Endpoint配置的授权码。

如需提供给外部用户播放,建议使用CDN配置回源加速(需要设置请求头参数:参数名:Authorization,参数值:Endpoint配置的授权码)。使用方法请联系您的CDN厂商。

搜集任务创建完成,但没有搜集到文件

请检查频道Endpoint是否开启了时移功能(配置的时移天数是否>0)。

直转点创建搜集任务和直播封装创建搜集任务有什么区别

两者都可以实现直转点功能。直转点功能展示的是所有的搜集任务,直播封装搜集任务展示的是当前封装配置内的搜集任务。