如何使用Azure Media Services实现电视信号流播放及视频片段下载
Azure Media Services 电视信号直播及片段调取下载解决方案
你提到的需求可以通过Azure Media Services(以下简称AMS)的实时直播+存档筛选组合方案实现,你之前尝试的Job Encoder是用于离线按需转码的组件,仅支持对已经存储的视频资产做转码,不能直接处理实时输入的直播流,所以找不到对应操作路径,具体实现方案如下:
1. 电视信号流媒体播放实现
- 首先将你的合法电视信号源推送到AMS的实时事件(Live Event),支持RTMP、SRT等主流广电信号输入协议,实时事件内置的编码器会自动将输入流转为HLS、DASH等标准流媒体格式,对外输出播放端点后即可实现公网/内网的流媒体播放需求
- 开启实时事件时必须勾选
存档(Archive)选项,根据业务需求设置存档窗口时长(最长支持25小时的滚动直播存档,需要更长时间存档可配合AMS资产自动存储配置实现),这是后续片段调取、下载的核心前提
2. 直播片段调取与下载实现
直播流的所有存档内容会自动写入AMS关联的存储资产中,不需要额外跑转码任务即可实现片段操作:
- 片段调取:调用AMS的
LiveOutput相关接口,指定要调取片段的开始、结束时间戳,接口会自动生成对应时间段的HLS/DASH播放地址,可直接在线播放指定片段 - 片段下载:有两种常用实现路径:
- 路径一:调用
Filters接口创建对应时间区间的资产筛选器(Asset Filter),绑定到直播存档资产后,直接调用AMS的Asset导出接口,即可导出该筛选器对应的视频文件,支持MP4等常用封装格式 - 路径二:如果需要批量导出多个指定片段,可提交
Job Encoder转码任务,输入源选择已经存档的直播资产,转码参数中指定需要截取的时间区间和输出格式即可,这也是Job Encoder适配该需求的正确使用方式
- 路径一:调用
3. 版权合规注意事项
- 所有直播存档、导出的片段均存储在你自有AMS关联的存储账户中,可自主配置访问权限,配合AMS的DRM加密功能可进一步管控传播范围,符合版权合规要求
内容的提问来源于stack exchange,提问作者Miguel Garcia Boriani
相关产品推荐
相关产品推荐

