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

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

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

10171 次点击
所在节点    程序员
57 条回复
surewen
2020-03-06 12:01:47 +08:00
秒开很简单,预加载数据就行。不够快就预解封装、解码,还不够快就再加上预渲染
sobigfish
2020-03-06 12:38:43 +08:00
h5 一样可以预加载啊 可以把视频 切 2 片,前部分 2~3s 预加载,2~3s 耗费又不大,在播放这部分时加载下一部分
DoveAz
2020-03-06 13:18:17 +08:00
https://demo.doveaz.xyz/ 5m 小水管,别点下一个太快,就不卡,使用了高端大气的障眼法技术
tengyoubiao
2020-03-06 13:37:10 +08:00
@DoveAz 都挤进去,加载不出来了
rrfeng
2020-03-06 13:59:22 +08:00
楼上基本上没说到点子上的。
如果是公司业务的话,直接去找你们的 CDN 提供商,他们可以给你提供建议和支持。
zyEros
2020-03-06 14:36:27 +08:00
H5 可以做到的,比如这个: http://h5.haohuimai1.com/#/
使用了 WXInlinePlayer 这个库
Semidio
2020-03-06 16:03:24 +08:00
DASH
laminux29
2020-03-06 17:27:42 +08:00
@afpro

没误解。

每种语言都有自己的优劣,在这个问题上,java 就是劣势。
laminux29
2020-03-06 17:29:00 +08:00
@lihailewodeji

有关系。

C++与 Java 存在性能上的较为显著的差异,特别是在视频处理上,这种差异会被放大。
laminux29
2020-03-06 17:30:57 +08:00
@GM

无论什么年代,C++与 Java 在性能问题上都存在差异,这是语言特性注定的。

你让我 keep learning,我倒想问问你,jre 各版本与 C++在变量自增这个简单问题上的性能差距是多少,你有没有跟踪过?
laminux29
2020-03-06 17:34:04 +08:00
@efaun

那你把最新世纪,最新年代,最新版本的 jre 或 jdk,与 C++在变量自增这个简单问题上的性能差距,做个简单的性能对比测试?
luffyt
2020-03-06 17:42:33 +08:00
@laminux29 看视频需要处理视频么??
itmyhome126
2020-03-06 17:44:58 +08:00
@laminux29 看你说了这么多, 你倒是贴个对比图啊, 是你说 java 慢的
laminux29
2020-03-06 17:57:43 +08:00
@luffyt

你是不是觉得,在线看视频的本质,就是浏览器下载视频文件?

建议你有空做个在线播放器,包括后台的那种,你就知道这玩意水有多深了。
laminux29
2020-03-06 17:59:15 +08:00
@itmyhome126

我把关键都说了,居然还要我去贴图,你咋不上天呢?
luffyt
2020-03-06 18:33:44 +08:00
@laminux29 我看抖音也是直接返视频文件地址的,带水印的、不带水印的等等
GM
2020-03-06 21:33:28 +08:00
@laminux29
我不会去跟踪这种见树木不见森林的行为。
你说的这种场景叫做“计算密集型”,楼主说的这种场景属于“IO 密集型”,跟你一个自变量自增速度基本没关系。
GM
2020-03-06 21:37:31 +08:00
@laminux29 水再深,也不会影响播放速度。影响速度最大的原因在于网速,也就是 IO,而不是什么变量自增速度快慢。

楼主碰到的问题,根源在于他没有做“预加载”,跟后台是 C 艹还是 C 井还是 Java 基本没关系。
wdlth
2020-03-06 22:28:07 +08:00
可以通过一个小文件预载起始的部分,Google Developers 有说明:
https://developers.google.com/web/fundamentals/media/fast-playback-with-video-preload
ljpCN
2020-03-07 00:54:54 +08:00
CDN+转码+预加载?

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

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

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

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

© 2021 V2EX