【问题标题】:HTML5 <video> element - buffering size, starting video quicklyHTML5 <video> 元素 - 缓冲大小,快速启动视频
【发布时间】:2012-01-13 01:01:09
【问题描述】:

有什么方法可以指定元素的缓冲数据大小?是否在某处指定了浏览器需要缓冲多少数据/秒?

我问是因为我们需要尽快显示视频,即使这意味着将缓冲区大小降至绝对最小值...

我们不使用任何流式传输协议(例如 HLS)。它是大型视频文件的简单渐进式下载...

谢谢

斯特恩

【问题讨论】:

  • “让视频尽快显示”到底是什么意思?确保可以播放?还是自动开始播放?
  • 如果你想让东西下载得更快,那就把它变小。
  • 我们在私人 WiFi 网络上,速度非常快 - 我想要更多以降低初始缓冲区大小,但似乎不可能。拥有更糟糕的视频不是我们的选择。
  • 浏览器有一些初始缓冲区,在播放视频之前由视频数据填充 - 我的问题是我们是否可以操纵初始缓冲区大小以使视频在第一帧开始时立即开始解码,不等到例如预缓冲 5 秒的数据。

标签: html video-streaming html5-video


【解决方案1】:
  1. 您当前无法更改浏览器的缓冲区大小

  2. 在视频元素可用于 DOM 后,只需执行以下操作(即使用 jQuery 的 onLoad 函数来运行它)

    myVideo = document.getElementById("myVideoId");
    myVideo.load();
    myVideo.play();
    

    这将尽快开始视频 - 除非您尝试在 iOS 设备上提供它。 Apple 禁止自动播放并实际上修复了过去可能的解决方法。

【讨论】:

  • 嗨,我正在做的是,一旦 DOM 可用,我就会打电话:this.player.src = this.movieUrl;this.player.load(); this.player.play();,所以我似乎不能更快......谢谢
  • 您可以使用服务器端脚本跳过 this.player.src 命令以进一步提高速度(直接在视频标签中设置 src,例如通过 PHP)。哦,不要等待 DOM 准备好。在视频元素下方包含您的 JavaScript 函数 (this.player.load(); this.player.play();)
  • 想一想,您可能还想通过服务器端脚本添加属性“preload”。应该在 DOM-ready 之前开始下载
猜你喜欢
  • 1970-01-01
  • 2011-12-27
  • 2020-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-01
  • 1970-01-01
  • 2017-04-22
相关资源
最近更新 更多