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

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

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

10187 次点击
所在节点    程序员
57 条回复
FS1P7dJz
2020-03-07 01:43:59 +08:00
每个视频有个预览图
预览图直接在滑下一个的瞬间弹出来
之后才播放视频
视频提前缓冲到本地
mumbler
2020-03-07 06:42:40 +08:00
视频多长,体积多大? mp4 有一个 head,必须加载完 head 数据才能开始播放,所以越小视频 head 小,开播速度越快。把视频压缩小一些,用质量换速度
linhongye
2020-03-07 09:09:54 +08:00
前端去预加载, 后端不用改
leonme
2020-03-07 10:03:30 +08:00
CDN
预加载
newmlp
2020-03-07 11:12:58 +08:00
秒开只能预加载
laminux29
2020-03-07 15:23:08 +08:00
@luffyt

1.直接返回一个文件地址很正常。

2.抖音的视频,和优酷、爱奇艺相比,有什么特点?
laminux29
2020-03-07 15:29:07 +08:00
@GM

你还是先做个视频播放器,再来谈这些问题吧,不然你现在什么经验都没有,评论全靠想象力?
GM
2020-03-07 15:58:44 +08:00
@laminux29
你怎么知道我没做过视频播放器?
直播确实没做过,本地播放做过(基于开源项目修修改改就成了自己用的了)。
然后呢?卡几秒跟后台是 C 艹还是 Java 有一毛钱关系吗?

我估计你的意思是“在线转码对计算量要求非常高,所以只有 C 艹才能胜任”。
afeicool
2020-03-07 17:15:45 +08:00
@laminux29 小兄弟,慎言啊
laminux29
2020-03-07 17:45:34 +08:00
@GM 这里是讨论 h5 网页播放器,不是本地播放器。
laminux29
2020-03-07 17:45:58 +08:00
@afeicool 一个技术问题有啥慎不慎言的。
GM
2020-03-07 21:26:35 +08:00
@laminux29 大神,你做过什么牛逼项目,说说嘛。别告诉我还在读大学哦
geekvcn
2020-03-08 05:39:41 +08:00
限制 h5 的话,最简单的方式就是 quic
aguesuka
2020-03-08 09:40:52 +08:00
我干过摄像头的项目,在我走后安卓端改从 rtsp 改成 hls(理论 rtsp 更快但是既然选择了 hls 那说明 h5 是可以接受的),mp4 的视频放在 cdn 上,加上视频清晰度不高只给内部用,按照同事的说法就是秒开。
aguesuka
2020-03-08 09:53:34 +08:00
@simonlu9 hls 协议是下一个.ts 和.m3u8 文件,第一段视频的 io 时间就是两次 http 请求,你把每段视频的大小控制在 1m 试试?可以用 ffmpeg 推流到 nginx 上,环境搭起来很简单,选择合适的参数,全程只要部署改配置文件运行。
aguesuka
2020-03-08 10:42:54 +08:00
https://s2.ax1x.com/2020/03/08/3vRQfA.jpg
https://s2.ax1x.com/2020/03/08/3vRKFH.jpg

hls 如果提前分包后台就不需要解码,后台就是个静态 http 服务器,甚至你可以把视频全扔给 cdn。视频的延迟完全取决于服务器带宽和用户的网速。
flanche
2021-08-25 10:59:25 +08:00
m3u8

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

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

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

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

© 2021 V2EX