边转边播实时转码

通过生成边转边播播放列表生成m3u8文件后,使用本功能可以对尚未生成的ts文件进行实时转码并读取数据。同时对于已经生成的ts文件则可以直接读取数据,无需重新转码。

使用场景

  • 网盘:用户上传视频后,网盘客户端根据网络情况选择分辨率播放,确保实时性和设备兼容性。冷视频未播放不转码,降低存储成本。

  • 聊天软件视频预览:在即时通讯或社交媒体中,视频发送完成后接收方可立即播放,提高实时性。历史聊天记录中的视频可定期清理,随时可立即播放。

  • 网络论坛与博客交流:在论坛和博客中分享视频时,使用边转边播技术,用户无需等待转码即可观看,保持流畅性和清晰度。

注意事项

  • 本功能是给定制化播放器使用。而使用常见的HLS播放器,无需直接使用本功能。您生成边转边播播放列表之后,使用hls/sign处理能力,在HLS播放器中能自动触发调用本接口。

  • 边转边播实时转码能力需要结合生成边转边播播放列表才能正常使用。只有通过生成边转边播播放列表生成m3u8文件,才能对m3u8文件内描述的ts文件进行实时转码并读取数据。

  • 使用边转边播前,需要先绑定IMM Project。关于控制台和API如何绑定,请参见快速入门AttachOSSBucket

  • 不支持匿名访问。

  • 必须拥有IMM处理所需的相关权限。更多信息,请参见权限

参数说明

操作说明:hls/ts

具体参数如下表所示:

名称

类型

是否必须

描述

from

string

m3u8文件的Object名称,Object名称需进行Base64编码。

例如,oss://outbucket/output/media.m3u8地址需要编码的内容为output/media.m3u8,编码后的字符串为b3V0cHV0L21lZGlhLm0zdTg

重要

不同于其他数据处理能力,本操作需要结合OSS的条件处理表达式才能正常触发转码并读取到数据内容。条件处理表达式的格式为:

x-oss-process=if_status_eq_404{${数据处理操作}},其中if_status_eq_404{}为固定的格式,数据处理操作为hls/ts。

使用REST API

读取TS文件如果文件没有生成则实时转码生成

请求信息

  • 读取ts文件地址:

    oss://outbucket/outobjprefix-c14709808479b31566b50f2f8b93fe1a-1.ts

  • m3u8文件地址:

    oss://outbucket/output/media.m3u8

请求示例

GET /outobjprefix-c14709808479b31566b50f2f8b93fe1a-1.ts?x-oss-process=if_status_eq_404{hls/ts,from_b3V0cHV0L21lZGlhLm0zdTg}  HTTP/1.1
Host: video-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS LTAI**************:77Dv****************
说明

请求参数from的值“b3V0cHV0L21lZGlhLm0zdTg”为“output/media.m3u8” 的Base64编码格式。

使用SDK

生成边转边播播放列表仅支持同步处理,SDK使用方法请参见使用SDK