问下大家短视频实现秒开一般用什么方案的

2020-03-06 09:23:14 +08:00
 simonlu9

新到的公司要搞短视频,之前没搞过这块,现在用 h5 搞发现切换总是有延迟,卡个两三秒,看过大厂的做法都是自己定义播放 sdk,预加载,本地代理,但实在是时间有限,问下有没有一些开源方案。

10452 次点击
所在节点    程序员
57 条回复
opengps
2020-03-06 09:25:19 +08:00
视频源服务器的带宽多大?如果带宽够大你不做预加载都感觉不到慢多少
yorkyoung
2020-03-06 09:31:35 +08:00
预加载
simonlu9
2020-03-06 09:40:46 +08:00
@opengps 用的是腾讯云视频的 sdk,应该不存在带宽问题
laminux29
2020-03-06 09:40:48 +08:00
说白了就是钱的问题。

大厂是就近 CDN,并且 CDN 整套后台都是 C++。

小厂既没有 CDN,又是蜗牛 java 后台,速度怎么会快。
delectate
2020-03-06 09:42:00 +08:00
先说结论:h5 做不到。

再说原理:根据你的选择,生成一个动态的列表,因为你只有三个选择:上一个、下一个、退出。
只要预加载下一个就行了。
simonlu9
2020-03-06 09:46:00 +08:00
@delectate 我也觉得 h5 做不到,提供的 api 根本做不到上面的优化,如果又改善,估计只有用原生的 api
lzihua
2020-03-06 10:36:31 +08:00
@delectate H5 做不到 只能原生 预加载下一个视频
ETiV
2020-03-06 10:41:22 +08:00
不信 h5 做不到
但是 iOS 不让纯 webview 的 app 上架
afpro
2020-03-06 10:41:22 +08:00
@laminux29 感觉你对 java 有误解。。。。。。
lihailewodeji
2020-03-06 10:42:50 +08:00
@laminux29 这和后台什么语言有什么关系
Jooooooooo
2020-03-06 10:44:34 +08:00
预加载
xsen
2020-03-06 10:48:31 +08:00
是否秒开,跟采用的语言,是不是 h5 没有关系。关键是流媒体传输的方式,若是传统的直播类协议,如 hls、rtmp 这些,延迟 2-3s 是正常的情况

若要秒开,可以直接基于 rtp/rtcp 进行传输,或者采用 webrtc 这样的方式
GM
2020-03-06 10:49:28 +08:00
@laminux29 你这都什么年代的观念了,keep learning 啊同学。
fgodt
2020-03-06 10:56:53 +08:00
预加载 H5 使用 MSE 喂数据就可以了 不过需要自己开发个播放器
fancy111
2020-03-06 11:15:59 +08:00
啥的秒开不秒开啊,很多用的障眼法而已。 要么就是带宽管够。
efaun
2020-03-06 11:28:01 +08:00
@laminux29 #4 你这个观念还停留在上个世纪 80 年代吧
KuroNekoFan
2020-03-06 11:30:30 +08:00
hls 分片越小响应速度越快吧,tradeoff,衡量一下呗
simonlu9
2020-03-06 11:33:10 +08:00
@KuroNekoFan 试过 m3u8,对比过不明显
tongyang
2020-03-06 12:00:23 +08:00
预加载,还有就是可以根据当前带宽加载不同码率的,一般为了 kpi 前三秒都是地滑知的
tongyang
2020-03-06 12:00:28 +08:00
低画质

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/650281

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX