媒体上传的实质是将媒体资源注册到视频点播服务,因此也是使用视频点播其它服务(媒资管理、媒体处理、分发播放等)的前提。本文描述媒体上传需要关注的媒体格式、上传方式、上传相关设置以及上传后的注意事项等。
媒体格式
视频点播支持视频、音频、图片、辅助媒资(水印、字幕、素材文件)等媒体文件上传。文件可以是本地文件也可以是网络文件(网络文件采用URL拉取上传)。各类型文件的详细格式支持情况请参见下表。
上传时需要包含文件扩展名,大小写都支持,如MP4和mp4等同。
媒体类型 | 支持文件格式 |
视频 |
|
音频 | MP3、WMA、WAV、AAC、RA、M4A、FLAC、APE、AC3、AMR、CAF、ACM。 |
图片 | PNG、JPG、JPEG、GIF、HEIC。 |
辅助媒资 |
|
上传方式
视频点播针对不同操作场景,提供工具上传和开发上传两大类上传方式。
工具上传
为满足部分用户快速上传或在较低门槛的运营场景下上传大文件等需求,视频点播提供界面化的上传工具,包括视频点播控制台和PC端上传工具。两种工具的说明如下:
上传方式 | 适用场景 | 使用说明 |
快速、便捷地将媒体资源上传到点播的场景。 说明 控制台由于安全策略,长时间上传可能会登录失效导致大文件上传失败,大文件建议使用PC客户端工具上传,能有效避免此问题。 |
| |
大文件、长时间上传,以及低门槛的运营场景。 |
|
开发上传
为满足开发者用户的上传需求,视频点播提供SDK或API的上传方式,其基础流程为:
在视频点播服务内获取上传凭证和上传地址。
调用OSS上传能力上传媒体。
目前支持的开发者上传方式包括:
上传SDK(含服务端与客户端):上传SDK封装了获取上传凭证及地址的逻辑和OSS上传的逻辑。开发者仅需要简单配置就可以实现上传功能,推荐使用。
URL批量拉取上传:视频点播提供一个封装好的服务(URL批量拉取上传接口),帮助开发者将媒体文件通过公网访问的URL地址拉取并上传到视频点播的存储地址。这种方式可以免去先将文件下载到本地服务器或终端再使用上传SDK上传到点播的过程。
说明URL拉取上传是异步任务,非实时,不保证时效性,一般提交后会在数小时、甚至数天内完成迁移上传。如果对时效性要求较高,建议使用上传SDK上传。
基于OSS原生SDK:当上传SDK无法满足业务需求(如开发语言不匹配)时,开发者可以结合点播服务端SDK(获取上传凭证及地址)和OSS原生SDK(Base64解码获取到的上传凭证及地址,然后调用OSS接口)完成上传。
基于OSS服务端API(不推荐):开发者也可以直接调用点播服务端接口获取上传地址和凭证,再调用OSS原生API完成上传。考虑到上传效率和出错概率等因素,一般不推荐这种方式。
关于如何选择上传方式,请参见如何选择上传方式。
各开发者上传工具的说明如下:
上传方式 | 适用场景 | 使用说明 |
说明 推荐使用上传SDK。如果上传SDK支持的语言不满足要求,还可以使用OSS原生SDK完成上传。 |
| |
UGC(用户生产内容)、PGC(专业生产内容)等场景。 |
| |
文件没有存储在本地服务器或终端,需要通过公网访问的URL地址上传的场景。 |
| |
|
| |
不推荐 |
|
|
存储说明
存储地域
视频点播基于阿里云对象存储OSS(Object Storage Service)提供媒体资源存储服务。视频点播的存储节点遍布全球,每个存储节点为一个存储地域,每个存储地域由点播系统分配一个存储地址。
存储地址
视频点播默认同一账号不同地域数据不互通,上传文件前请确认您的上传地域和实际业务地域一致,否则可能导致找不到文件。
存储地址设置 | 说明 |
启用点播系统存储地址 | 开通视频点播服务后,不同的服务地域会默认分配一个独立的存储Bucket(类型为点播系统Bucket),通过启用该Bucket,无需其他配置即可进行上传和媒体资源管理。详情请参见启用点播系统Bucket。 |
添加新地址 | 支持将自有的OSS Bucket添加到视频点播服务中,以实现对存储在OSS Bucket中的媒体文件进行转码、截图、播放等操作。详情请参见添加OSS自有Bucket。 |
修改默认地址 | 启用多个存储地域的存储地址或添加多个存储地址后,可修改默认存储地址。上传文件时可以指定存储地址或不指定存储地址,不指定时点播系统将选用默认存储地址。详情请参见设置默认存储地址。 |
视频点播支持的存储地域及对应的存储地域标识如下。
使用视频点播控制台或PC端上传工具上传时根据登录(或选择)的地域使用存储地址。使用SDK或API上传时,可通过参数(如URL拉取上传接口的StorageLocation
参数)指定存储地址。
存储地域 | 存储地域标识 |
华东2(上海) | cn-shanghai |
华北2(北京) | cn-beijing |
华南1(深圳) | cn-shenzhen |
中国香港 | cn-hongkong |
日本(东京) | ap-northeast-1 |
新加坡 | ap-southeast-1 |
印度尼西亚(雅加达) | ap-southeast-5 |
德国(法兰克福) | eu-central-1 |
美国(硅谷) | us-west-1 |
存储计费
上传设置
视频点播支持多种上传时的功能设置,如媒资管理、音视频转码、上传事件通知、上传控制等。
功能列表
各上传方式支持上传时功能设置的详情如下:
分组 | 详细功能 | |||||||
媒资管理 | 设置媒体标题 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
指定媒体分类 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | |
设置媒体标签 | 不支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | |
设置视频封面 | 不支持 | 不支持 | 支持 | 支持 | 支持 | 支持 | 支持 | |
音视频转码 | 转码模板组 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
工作流 | 支持 | 不支持 | 支持 | 支持 | 支持 | 支持 | 支持 | |
不转码 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | |
上传控制 | 获取上传进度 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
断点续传 | 不支持 | 不支持 | 仅Java上传SDK支持 | 支持 | 不支持 | 仅Java语言支持 | 不支持 | |
分片上传 | 默认启用 | 默认启用 | 默认启用 | 默认启用 | 默认启用 | 默认启用 | 默认启用 |
媒资管理(上传时)
设置媒体标题:上传时设置音视频、图片的标题。
指定媒体分类:创建好分类后,上传时指定媒体文件属于某个分类。
设置媒体标签:上传时设置媒体标签。
设置视频封面:上传视频时附带一张图片作为该视频的封面。
音视频转码
上传音视频文件时设置转码(通过指定转码模板组或指定工作流),上传完成后自动触发转码。也可以设置不转码,但需要注意的是目前仅以下格式支持不转码直接播放:MP4、FLV、M3U8、MP3、WEBM。
指定转码模板组转码:指定转码模板组是点播的默认处理方式,上传时选择转码模板组处理方式。上传完成后点播系统会自动触发转码。
指定工作流转码:创建好含转码任务的工作流后,上传时选择工作流处理方式。上传完成后,点播系统会自动执行指定的工作流完成转码任务。
不转码:如果上传时不需要转码,可通过选择转码模板组中的不转码模板实现。
上传控制
分片上传:将待上传的文件分成多个碎片(Part)分别上传,上传完成之后将这些Part组合成一个Object。视频点播上传功能默认采用分片上传的方式上传文件。
说明使用分片上传时,若上传失败则可能会产生碎片文件,一般7天后会自动清除。开发者用户还可以调用删除上传中的碎片文件接口手动清除碎片文件。
获取上传进度或状态。
断点续传:如果上传过程中出现网络错误导致上传失败,视频点播支持从最后一块成功上传的碎片(Part)开始继续上传,从而实现断点续传效果。
说明上传SDK(客户端)内部会完成断点续传的功能,用户不需要关心任何断点和片段恢复,因为异常情况导致的视频上传失败重新上传都会从断点处开始上传。
上传事件通知
在媒体文件上传完成后,可通过事先配置的回调地址及时获取处理进展和状态。视频点播支持HTTP回调(兼容HTTPS)、MNS回调两种方式获取事件通知。了解回调配置请参见事件通知概述。完成回调配置请参见回调设置。所有上传方式均支持上传事件通知。上传相关的事件如下表所示。
关于每个事件的内容详情,请参见事件通知。
事件名称 | 事件类型 | 说明 |
视频上传完成 | FileUploadComplete | 点播服务端接收完上传的音视频文件后,会产生FileUploadComplete事件。 说明 对于不转码的音视频(或音频)接收到视频上传完成事件通知后方可获取播放地址播放。 如果上传时设置了不转码,接收到视频上传完成事件通知后,还可再调用提交媒体转码作业接口转码。 |
图片上传完成 | ImageUploadComplete | 点播服务端接收完上传的图片文件上传后,会产生ImageUploadComplete事件。 |
辅助媒资上传完成 | AttachedMediaUploadComplete | 点播服务端接收完上传的辅助媒资文件后,会产生AttachedMediaUploadComplete事件。 |
URL上传视频完成 | UploadByURLComplete | 调用URL批量拉取上传任务后,云端拉取视频上传完成会产生UploadByURLComplete事件。 |
单个清晰度转码完成 | StreamTranscodeComplete | 视频的某个清晰度、某种格式的流(如:标清的MP4格式)转码完成时会产生此事件。 说明 对于转码的音视频,接收到单个清晰度转码完成事件通知后方可获取播放地址播放。未收到回调前播放可能会导致播放失败。 |
视频转码完成 | TranscodeComplete | 视频所有流转码完成会产生TranscodeComplete事件。 说明 若要确保播放前所有清晰度都能获取到,可接收到视频转码完成事件通知后再处理。未收到回调前播放可能会导致播放失败。 |
上传授权
在开发上传场景下,通过上传凭证和STS方式都能解决上传中的授权和安全问题,防止媒体文件被恶意上传和播放。
两种方式的适用场景请参见凭证方式与STS方式对比。
具体使用请参见各开发者上传方式的操作文档。
自2024年01月31日起,视频点播将不再支持通过OSS Header x-oss-object-acl的方式修改文件权限,可有效避免您直接上传公共读的文件从而导致您的媒体资源外泄或被恶意访问导致费用激增等问题。在此之前,您可以通过下述权限管理的方法来限制上传公共读文件到点播的OSS自有Bucket中的行为,具体方法如下:
授权视频点播服务访问您的OSS等资源,可点击云资源访问授权页面进行授权。
创建禁止上传Object ACL权限为公共读的文件到OSS自有Bucket中的自定义权限策略,具体操作及权限策略内容请参见禁止上传Object ACL权限为公共读的文件到OSS自有Bucket中。
为AliyunVODDefaultRole角色授予上一步创建的禁止上传Object ACL权限为公共读的文件到OSS自有Bucket中的权限。
上传加速
功能说明
视频点播服务提供上传加速的功能,以提升远距离文件传输和GB、TB级大文件的上传性能。上传加速适用于跨区域(如跨海情况)上传,例如在中国内地将视频上传到新加坡存储地域的存储地址。
开通方式
开通上传加速功能需提交工单,您需要提供阿里云账号UID和需要使用上传加速的存储地址。
计费说明
上传加速是点播的增值功能,按使用情况收费。具体计费详情,请参见存储传输加速计费。
只开通不使用不收费。
使用限制及支持的上传方式
上传加速仅限于上传视频。各上传方式的支持情况如下:
上传方式 | 上传加速 |
不支持 | |
支持 | |
支持 | |
支持 | |
支持 | |
支持 | |
支持 |
上传之后
媒体资源上传到视频点播之后,根据业务处理的情况和阶段不同,会处于不同的媒体状态。处于不同媒体状态的音视频等媒体资源在视频点播中可以执行的操作不同,例如:处于上传中、上传失败、屏蔽状态的音视频仅可以删除,无法进行其他操作,即无法发起转码处理、视频截图、媒资审核等操作;而处于正常状态的音视频可以进行所有操作,包括发起转码处理、视频截图、媒资审核、播放等其他操作。有关媒体状态的详细信息,请参见Status:视频状态和Status:图片状态。
媒体上传完成后可使用的视频点播服务及后续分发播放的注意事项如下:
点播服务 | 描述 | 相关文档 |
媒资管理(上传后) | 上传完成后,可使用点播服务管理媒体文件,如视频源文件、转码后的流文件、图片文件等。 | |
媒体处理 | 点播支持媒体文件上传后的音视频转码、智能审核、云剪辑、AI处理等。 说明 上传到点播存储的音视频文件会默认提取Meta信息(如视频分辨率、时长、码率等),对视频也会默认截取封面图,且这部分预处理完全免费。 | |
音视频播放 | 用户上传音视频完成后,并不代表音视频已准备就绪,还需点播服务端确认接收完成,可根据事件通知来确定上传的音视频何时能播放。
|