产品百科 |直播转点播最佳实践

简介: 直播转点播(直转点)是将直播流同步录制为点播视频,并支持媒资管理、媒体处理(转码及内容审核 / 智能首图等 AI 处理)、内容制作(云剪辑)、CDN 分发加速等一系列操作,可配置工作流自动处理,也可通过 API/SDK 灵活触发。

直播转点播(直转点)是将直播流同步录制为点播视频,并支持媒资管理、媒体处理(转码及内容审核 / 智能首图等 AI 处理)、内容制作(云剪辑)、CDN 分发加速等一系列操作,可配置工作流自动处理,也可通过 API/SDK 灵活触发。

准备工作

上述准备工作完成后,即可开始进行接入。

说明 下文中仅存储、仅合成模板组需联系点播进行激活。

名词解释

直转点,结合视频点播的转码、云剪辑、AI 处理、事件通知等功能,可适应多种业务场景。

名词解释:

  • 录制转码模板组:直播录制到点播同时,点播会使用该模板组对视频进行转码操作。
  • 合成转码模板组:多个录制视频进行自动合成时,点播会使用该模板组对视频进行合成 + 转码操作。
  • 仅存储:对直播内容进行录制后,不进行任何后续操作。
  • 仅合成:对直播内容进行合成后,不进行任何后续操作。
  • 直播录制周期:直播录制到点播的周期,如一场直播 3 个小时,如果需要在直播过程中就可提供已录制内容的点播服务,则可设置录制周期为 1 小时,即直播 1 小时过后,点播可提供前一小时内容的点播观看服务。

实践 1

直播录制 + 自动转码 + CDN 加速

直播录制后快速将录制文件进行转码和 CDN 加速,供用户进行点播播放,适用于大部分直播场景 (不需要对内容进行二次加工)

流程如下:

image.png

  1. 客户进行直播推流
  2. 推流达到一个录制周期,则会自动将录制文件添加到点播系统。
  3. 点播记录完成后,会生成点播系统的唯一视频 ID,并将该视频信息回调给用户,即 AddLiveRecordVideoComplete 通知,并附带直播相关的 DomainName、AppName、StreamName 信息。客户收到回调后,需记录该视频信息,并以该 VideoId 作为索引进行后续视频状态更新。
  4. 点播系统检测用户录制配置中的录制转码组 ID (该转码组中含有具体码流转码任务),进行对应的转码操作。
  5. 截图完成、单个码流转码完成、全部码流转码完成时,会给用户进行回调 (回调顺序无时序),用户需根据回调信息中的 VideoId 进行视频状态更新。转码完成后,即可进行后续的播放操作 (转码回调信息中含播放地址或后续通过 GetPlayInfo 接口根据 VideoId 进行播放地址获取,该播放地址已经经过 CDN 加速)。

实践 2

直播录制 + 仅存储到点播 + 手动发起转码 + CDN 加速

部分用户希望将直播录制的视频仅先存储到点播,且先不进行后续的转码操作,则可在新建录制配置时,将录制转码组选择为仅存储模板组 (注:仅存储模板组需联系点播进行激活)。如果后续希望对视频进行转码,则可进行手动触发转码操作。同时,可配合点播云剪辑功能进行使用,效果更佳。

适用场景:直播完成后,需要对内容进行二次加工,如体育赛事、游戏直播剪辑等,后续由用户主动发起转码和 CDN 加速全流程 (转码完成后点播会自动对输出文件进行 CDN 加速)

流程如下:

image.png

  1. 客户进行直播推流。
  2. 推流达到一个录制周期,则会自动将录制文件添加到点播系统。
  3. 点播记录完成后,会生成点播系统的唯一视频 ID,并将该视频信息回调给用户,即 AddLiveRecordVideoComplete 通知,并附带直播相关的 DomainName、AppName、StreamName 信息。客户收到回调后,需记录该视频信息,并以该 VideoId 作为索引进行后续视频状态更新。
  4. 点播系统检测用户录制配置中的录制转码组 ID (此时为仅存储模板组),则点播系统不进行后续转码操作。
  5. 用户对该视频手动触发转码操作 (调用转码任务 API),在此之前可进行云剪辑等操作。
  6. 截图完成、单个码流转码完成、全部码流转码完成时,会给用户进行回调 (回调顺序无时序),用户需根据回调信息中的 VideoId 进行视频状态更新。转码完成后,即可进行后续的播放操作 (转码回调信息中含播放地址或后续通过 GetPlayInfo 接口根据 VideoId 进行播放地址获取,该播放地址已经经过 CDN 加速)。

实践 3

直播录制 + 多周期视频自动合并

部分用户希望将自己录制周期生成的多个文件 (如录制周期为 20 分钟,一次直播 1 个小时,则会生成三个视频) 进行视频合成,再将合成后的视频进行处理,点播提供了自动合成的功能。可在新建直播录制配置时,将自动合成开关打开,并且配置进行合成时所使用的合成转码模板组 (也可配置为仅合成,后续由用户触发转码,与前两节所述区别相同)。点播会在用户断流超过指定时间 (可由直播进行配置断流超时时间) 后,进行本次直播的视频自动合成并根据转码配置进行后续操作。

合成 + 自动转码

适用场景:一场直播完成后,需要对所有录制周期内的分段进行自动合并,同时发起转码等全流程。如体育赛事、教育多节授课合并等

流程如下:

image.png

  1. 客户进行直播推流。
  2. 推流达到一个录制周期,则会自动将录制文件添加到点播系统。
  3. 点播记录完成后,会生成点播系统的唯一视频 ID,并将该视频信息回调给用户,即 AddLiveRecordVideoComplete 通知,并附带直播相关的 DomainName、AppName、StreamName 信息。客户收到回调后,需记录该视频信息,并以该 VideoId 作为索引进行后续视频状态更新。
  4. 客户断流超时或主动触发断流。
  5. 点播收到直播发送的本次直播结束消息。
  6. 点播系统检测用户录制配置中的合成配置,判断是否需要发起自动合成。如果需要,则按照录制配置中的合成转码组进行合成和转码。
  7. 视频开始合成,点播会生成一个合成后视频的唯一视频 ID,并将该视频信息回调给用户,即 LiveRecordVideoComposeStart 通知,并附带直播相关的 DomainName、AppName、StreamName 信息。客户收到回调后,需记录该视频信息,并以该 VideoId 作为索引进行后续视频状态更新。
  8. 视频源文件合成完成后,点播会将该状态回调给用户,即 FileUploadComplete 通知。
  9. 截图完成、单个码流转码完成、全部码流转码完成时,会给用户进行回调 (回调顺序无时序),用户需根据回调信息中的 VideoId 进行视频状态更新。转码完成后,即可进行后续的播放操作 (转码回调信息中含播放地址或后续通过 GetPlayInfo 接口根据 VideoId 进行播放地址获取,该播放地址已经经过 CDN 加速)。

合成 + 手动发起转码

可在新建直播录制配置时,将自动合成开关打开,并且配置进行合成时所使用的合成转码模板组 (本情况配置成仅合成,后续由用户触发转码)。

适用场景:一场直播完成后,需要对所有录制周期内的分段进行自动合并,合并后文件不做任何处理,由用户进行二次加工,如云剪辑等,后续再进行手动转码,如视频内嵌广告、体育赛事空挡部分内容剪切等。

流程如下:

image.png

  1. 客户进行直播推流。
  2. 推流达到一个录制周期,则会自动将录制文件添加到点播系统。
  3. 点播记录完成后,会生成点播系统的唯一视频 ID,并将该视频信息回调给用户,即 AddLiveRecordVideoComplete 通知,并附带直播相关的 DomainName、AppName、StreamName 信息。客户收到回调后,需记录该视频信息,并以该 VideoId 作为索引进行后续视频状态更新。
  4. 客户断流超时或主动触发断流。
  5. 点播收到直播发送的本次直播结束消息。
  6. 点播系统检测用户录制配置中的合成配置,判断是否需要发起自动合成。如果需要,则按照录制配置中的合成转码组进行合成和转码,由于本场景配置的仅合成,则点播系统不会自动发起转码。
  7. 视频开始合成,点播会生成一个合成后视频的唯一视频 ID,并将该视频信息回调给用户,即 LiveRecordVideoComposeStart 通知,并附带直播相关的 DomainName、AppName、StreamName 信息。客户收到回调后,需记录该视频信息,并以该 VideoId 作为索引进行后续视频状态更新。
  8. 视频源文件合成完成后,点播会将该状态回调给用户,即 FileUploadComplete 通知。此时,代表本次录制合成的源文件已经处于正常就绪状态,用户可对该视频进行后续的转码触发等操作。
  9. 用户对该视频手动触发转码操作 (调用转码任务 API),在此之前可进行云剪辑等操作。
  10. 截图完成、单个码流转码完成、全部码流转码完成时,会给用户进行回调 (回调顺序无时序),用户需根据回调信息中的 VideoId 进行视频状态更新。转码完成后,即可进行后续的播放操作 (转码回调信息中含播放地址或后续通过 GetPlayInfo 接口根据 VideoId 进行播放地址获取,该播放地址已经经过 CDN 加速)。


「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实践技术文章,在这里与音视频领域一流工程师交流切磋。

image.png


相关文章
|
消息中间件 机器学习/深度学习 存储
字节跳动大数据开发面试题-附答案 (一)
此面试题来自牛客网友分享的字节跳动应届一面,面试时长一小时。 网友情况:985 本硕。
2330 0
字节跳动大数据开发面试题-附答案 (一)
|
3月前
|
域名解析 弹性计算 安全
零基础也会!阿里云建站完整流程,看完直接上手
阿里云建站全流程指南(2026最新版):零基础也能上手!涵盖域名注册与实名认证、ECS服务器选购配置、ICP备案(1-20工作日)、网站部署、DNS解析及HTTPS证书配置六大步骤,全程合规安全,助你快速上线个人或企业网站。
798 2
|
12月前
|
运维 监控 网络协议
物联网设备状态监控全解析:从告警参数到静默管理的深度指南-优雅草卓伊凡
物联网设备状态监控全解析:从告警参数到静默管理的深度指南-优雅草卓伊凡
379 11
物联网设备状态监控全解析:从告警参数到静默管理的深度指南-优雅草卓伊凡
|
8月前
|
监控 安全 算法
快递查询API|一次接通2700+快递服务商的物流轨迹
在物流数字化的浪潮中,企业对接多家快递服务商的痛点日益凸显:每新增一家合作物流商,技术团队就要投入 5-7 个工作日进行接口开发,不同服务商的接口协议差异导致系统稳定性差,物流轨迹数据分散在各平台难以整合分析。快递鸟快递查询 API 通过标准化接口架构,创新性地实现了 2700 + 国内外快递服务商的一键接入,将传统模式下的周级开发周期压缩至小时级,彻底重构了物流数据对接的技术范式。
494 0
|
监控 测试技术
【亮剑】理解CPU负载对服务器稳定性的重要性,并提供了诊断和解决CPU负载过高问题的步骤
【4月更文挑战第30天】本文阐述了理解CPU负载对服务器稳定性的重要性,并提供了诊断和解决CPU负载过高问题的步骤:1) 使用监控工具分析CPU使用率和系统负载;2) 深入排查运行队列、进程占用、系统调用和硬件状态;3) 根据排查结果进行代码优化、调整进程优先级或限制CPU使用率,必要时升级硬件。建议建立监控体系,定期性能测试,并持续优化以保证服务器高效运行。
785 1
|
存储 前端开发 JavaScript
rsa前端加密后端解密的使用
rsa前端加密后端解密的使用
739 0
|
存储 编解码 弹性计算
云存储-对象存储的介绍和使用场景 | 学习笔记
快速学习云存储-对象存储的介绍和使用场景
云存储-对象存储的介绍和使用场景 | 学习笔记
|
Ubuntu 索引
Ubuntu 安装 ROS 详细教程(以最后一个ROS1版本Noetic为例)
Ubuntu 安装 ROS 详细教程(以最后一个ROS1版本Noetic为例)
6002 0
|
存储 缓存 NoSQL
漫谈 LevelDB 数据结构(一):跳表(Skip List)
漫谈 LevelDB 数据结构(一):跳表(Skip List)
612 0
漫谈 LevelDB 数据结构(一):跳表(Skip List)
|
前端开发 API 调度
TextureView 的血与泪
越来越多的应用需要使用自己的绘制引擎进行复杂内容的绘制,比如需要使用 GL 绘制 3D 的内容,或者绘制复杂的文档,图表时不希望阻塞 UI 线程,或者部分内容是通过类似 Flutter 这样的第三方 UI Toolkit 进行绘制。通常这部分内容会通过 SurfaceView 或者 TextureView 呈现在 UI 界面上。 一般来说 SurfaceView 能够提供更好的性能,但是因为
2596 1