
1 iseki 2024-03-03 09:46:34 +08:00 via Android 一般都是切好的,这样也利于缓存 |
2 iseki 2024-03-03 09:46:48 +08:00 via Android 此外给视频切片是个很重的工作 |
3 a282810 2024-03-03 09:59:59 +08:00 视频上传到平台就开始切片 |
4 shuiduoduo 2024-03-03 10:03:30 +08:00 via Android 切片也是需要时间的 |
5 k9982874 2024-03-03 10:27:39 +08:00 via iPad 不是应该视频上传开始自动切片最后生成 m3u8 ,整个过程自动化 |
6 mightybruce 2024-03-03 10:30:44 +08:00 录播视频时先切片好再播放,切片也需要花费大量计算的。 播放的时候,如果 m3u8 是级联索引,那么会先返回相应分辨率的 m3u8 ,再通过 m3u8 找相应视频切片。 |
7 kkk9 2024-03-03 10:30:49 +08:00 通用三队列 1. 上传队列:支持断点续传,上传完毕之后进入切片队列 2. 切片队列:切片,各种清晰度等的版本,完成之后进入缓存队列 3. 缓存队列:分发到各个存储 Peer/OSS 等,CDN 执行预热…… |
8 expy 2024-03-03 10:59:12 +08:00 转码切片肯定提前做好。 |
9 expy 2024-03-03 11:01:28 +08:00 好像是苹果开发的 hls 协议,https://developer.apple.com/documentation/http-live-streaming |
11 CorgiDuu OP 感谢解答,那比如说切片好的视频,后端是以什么形式返回给前端呢?还是说后端不做处理,就充当是个文件服务器就好?如果是文件服务器是不是也可以用对象存储这种保存呢? |
12 treblex 2024-03-03 12:31:17 +08:00 对象存储的话,可以用服务商提供的服务,自动转码 |
13 foxhunt 2024-03-03 13:03:56 +08:00 切片任务时,会指定生成 m3u8 文件的文件名,根据文件名和 CDN 路径生成播放 URL ,扔给前端就行了 播放器拿到 m3u8 文件后,根据列表取分片后的 ts 文件逐个播放 |
15 joynvda 2024-03-03 17:49:03 +08:00 分直播和点播。 直播是实时切片,同时输出 m3u8 索引和视频文件片。如果需要,还有实时转码 - 输入码流变为不同格式(分辨率等)的文件片。 (个人不关注点播这块。)点播有可能预先切好。如果需要 DRM 版权版权,估计是实时处理。 |
16 DefoliationM 2024-03-03 20:28:39 +08:00 一般大厂应该都是提前转好的,但是 jellyfin 这种都是实时转码的,点击的时候才会去转码和切片。 |
17 CorgiDuu OP @iseki 那前端如果采用 hls.js 是不是也不需要什么额外的手动处理,只要给一个 m3u8 文件名,他就会自己按照顺序播放 ts ? |
18 nguyenminhhuong6 2024-03-04 10:22:01 +08:00 m3u8 url 获取的就是切片列表,切片提前处理好的 |
19 johnmichael09 2024-03-21 15:46:30 +08:00 m3u8 文件其实是一系列视频的链接,返回前端后,前端按照时间点读取一个个视频的地址,然后播放 |