VOD

上传一次,什么画质都能播。

已经做完的视频,上传一次,按每位观众的网络能承载的画质提供给他们。你只需要把一个地址交给播放器;观看期间你这边不必运行任何东西。

01

从一个文件到一个播放器

文件进来,各档画质出去上传的文件在我们自己的节点上转码一次,生成一套清晰度梯度,存入存储,再由离每位观众最近的位置分发;播放器会随网络状况在各档之间切换。你的文件在我们的节点上转码只在文件到达时做一次播放器可选的清晰度2160p1080p720p480p存一份,由每个位置对外提供观众观众观众
转码只在文件到达时做一次,观众观看期间不会再做。每个位置只从存储取一次某个分片,之后就用这份副本应答附近的所有人。
02

它是什么

点播是一个已经做完的文件,谁来要就给谁播 —— 这和正在进行的直播是两回事。你上传文件,我们据此生成套餐允许的每一档画质和一张封面,你拿到一个交给播放器的地址,以及一段可以贴进页面的代码。

03

它如何运作

文件分片上传,因此中断的上传会从停下的那一片继续,而不是从头再来。最后一片到达后,转码任务排进承载平台其余部分的同一批节点:一次处理生成整套梯度,并切成 6 秒一片。产物存入存储,经 Shield 分发 —— 所以每个分片在每个位置只从存储取一次,之后由该位置应答附近的所有人:在存储这一端,一个观众和一万个观众的成本相同。

04

画质

梯度从你上传的分辨率开始,向下展开。我们从不向上拉伸:720p 的文件最高就是 720p,选择 4K 也不会凭空造出画面里原本没有的细节。每一档都是一次独立编码,所以一个视频能有几档由套餐决定。播放器在第一个分片时选定一档,并随网络变化在各档之间切换,画面不会因此中断。

05

各套餐的画质上限

套餐最高画质每个视频的档数
Free720p2
Pro1080p4
Business2160p(4K)6
Unlimited2160p(4K)6
06

播放

播放端是一个 HLS 清单,任何支持 HLS 的播放器都能直接用,包括 Safari 与各家移动浏览器内置的那个。我们自己的播放器只需两行代码,额外提供清晰度菜单、画中画,以及观众在觉得不对劲时可以打开的统计面板。私有视频只能通过带签名且会过期的地址访问:可以让控制台替你签,也可以持有播放密钥自己签,这样每位观众都能拿到不同的链接。

07

通过 API

创建视频、上传文件、播放
curl -X POST https://dash.yunzheng.space/api/v1/vod/assets \
  -H "Authorization: Bearer $ORBIT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"title":"Launch keynote","visibility":"unlisted"}'
# -> {"asset_id":"ovd_...","state":"uploading"}

curl -X POST .../vod/assets/$ID/upload \
  -d '{"size":734003200,"content_type":"video/mp4"}'
# -> {"upload_id":"ovu_...","part_size":8388608}
curl -X PUT  .../vod/assets/$ID/upload/$UPLOAD/parts/1 --data-binary @part-001
curl -X POST .../vod/assets/$ID/upload/$UPLOAD/complete

https://vod.yunzheng.space/a/$ID/master.m3u8
08

各套餐包含什么

套餐视频数存储每月转码时长每月分发流量
Free105 GB60 分钟20 GB
Pro200200 GB3,000 分钟1 TB
Business2,0002 TB30,000 分钟10 TB
Unlimited不计量不计量不计量不计量
09

常见问题

有免费额度吗?

有。每个账号起步就有 10 个视频、5 GB 存储、每月 60 分钟转码与 20 GB 分发流量,画质上限 720p。

转码要多久?

在生成四档画质的套餐上,大致与视频本身的时长相当;档数更多则更久,因为每一档都是一次独立编码。运行期间控制台会显示状态,最后一档完成的那一刻,播放地址就开始应答。

原始文件会保留吗?

会。重新转码就是以它为源,它与由它生成的各档画质一起计入你的存储用量。删除视频时两者一并删除。

能用自己的播放器吗?

可以。那个地址就是标准的 HLS 清单,里面没有任何私有的东西。我们提供播放器是为了省掉你自己写清晰度菜单,而不是因为必须用它。

它和 Stream 有什么区别?

Stream 承载的是正在进行的直播;VOD 提供的是已经做完的文件。两者共用播放器和同一张边缘网络 —— 区别在于:被观看的东西,在有人来要之前是否已经完整存在。

不公开的视频需要密钥吗?

不需要。不公开的含义是地址无法被猜到,拿到地址的人都能观看。需要签名地址的是「私有」,而那个地址会过期。