qq529633582
V2EX  ›  问与答

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

  •  
  •   qq529633582 · Jul 9, 2014 · 3186 views
    This topic created in 4358 days ago, the information mentioned may be changed or developed.
    在在线播放视频时,当我们把进度条拖到还没下载到的部分时,播放器会直接跳过前面那段开始下载所需部分。

    但是对于还没下载到的部分,播放器是如何根据时间对应到offset的呢?求以flv和mp4为例的解释
    2 replies    2014-07-09 17:34:08 +08:00
    lsylsy2
        1
    lsylsy2  
       Jul 9, 2014
    可以用浏览器的工具看一下,我记得有些网站是把时间放在请求的URL里面
    http://example.com/a.mp4?time=12345 这样的,服务器将a.mp4拆开来,从时间戳12345(最近的I帧之类)开始重新封包数据发给你。
    视频封装和转码不一样,只是换个壳子,对服务器负载不是很大。
    qq529633582
        2
    qq529633582  
    OP
       Jul 9, 2014
    @lsylsy2 优酷的flash播放器是这么干的。但是如果用vlc直接放那个flv呢?另外用chrome直接播放mp4,浏览器会算出offset然后放弃之前的下载,发出一个header带Range的新请求。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2755 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 11:51 · PVG 19:51 · LAX 04:51 · JFK 07:51
    ♥ Do have faith in what you're doing.