在线视频的“Hi-speed scrubbing”是怎么做到的呢?

2014-07-09 17:20:35 +08:00
 qq529633582
在在线播放视频时,当我们把进度条拖到还没下载到的部分时,播放器会直接跳过前面那段开始下载所需部分。

但是对于还没下载到的部分,播放器是如何根据时间对应到offset的呢?求以flv和mp4为例的解释
2508 次点击
所在节点    问与答
2 条回复
lsylsy2
2014-07-09 17:29:41 +08:00
可以用浏览器的工具看一下,我记得有些网站是把时间放在请求的URL里面
http://example.com/a.mp4?time=12345 这样的,服务器将a.mp4拆开来,从时间戳12345(最近的I帧之类)开始重新封包数据发给你。
视频封装和转码不一样,只是换个壳子,对服务器负载不是很大。
qq529633582
2014-07-09 17:34:08 +08:00
@lsylsy2 优酷的flash播放器是这么干的。但是如果用vlc直接放那个flv呢?另外用chrome直接播放mp4,浏览器会算出offset然后放弃之前的下载,发出一个header带Range的新请求。

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

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

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

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

© 2021 V2EX