Php 仅从html5视频/音频加载元数据

Php 仅从html5视频/音频加载元数据,php,javascript,html5-video,html5-audio,Php,Javascript,Html5 Video,Html5 Audio,首先,我想问这个问题。如果没有任何其他视频内容,我无法加载元数据preload=“metadata”不起作用。我在Win Chrome上测试,不知道它在Safari/FF/IE/Opera上是如何工作的。因此,我无法快速加载六个或更多视频剪辑。Chrome可能在类似的端口/协议/域中只保留六个打开的连接。如果我加载了六个以上的视频,那么最后一个视频不会开始加载,而前六个视频完全完成加载 JSFIDLE需要什么?我可以创造,但我认为这是没有必要的。例如HTML:10个html5每个大约100mb,

首先,我想问这个问题。如果没有任何其他视频内容,我无法加载元数据
preload=“metadata”
不起作用。我在Win Chrome上测试,不知道它在Safari/FF/IE/Opera上是如何工作的。因此,我无法快速加载六个或更多视频剪辑。Chrome可能在类似的端口/协议/域中只保留六个打开的连接。如果我加载了六个以上的视频,那么最后一个视频不会开始加载,而前六个视频完全完成加载

JSFIDLE需要什么?我可以创造,但我认为这是没有必要的。例如HTML:10个html5
每个大约100mb,并且
预加载=元数据
属性。JS(为了清晰起见使用jQuery):

然后打开Chrome开发工具中的“网络”选项卡并重新加载页面。六个视频将开始加载并加载全部内容,而其他四个视频将等待
(待定)
标记。首先,在控制台中会出现6条消息。新消息将在完全加载任何第一个视频后出现

我试了很多东西,但都失败了。现在,我开始考虑在服务器端获取元数据。有没有关于PHP的解决方案?但JS解决方案会更好

我还知道使用Youtube的解决方案,可能是Vimeo和其他一些网站。这就是在一些子域(s1.youtube.com、s2.youtube.com等)上保存视频。但是我不能用它。我做网站模板,它有一些要求


我有很多视频的视频库。在第一次视频播放之前,播放器必须显示持续时间并知道宽度/高度。此外,我想从视频中间的视频海报帧。任何停止视频加载和关闭连接的解决方案都是我所需要的最佳解决方案。而且它确实解决了获取元数据的问题。

如果你想在chrome中加载6个以上的视频,你需要使用
.webm
格式

注意:如果您的视频标签中有很多源,如:

<video width="320" height="240" controls autoplay>
    <source src="vid.webm" type="video/webm">
    <source src="vid.mp4" type="video/mp4">
</video>


我认为chrome将默认为
mp4
,而不是
webm
。您必须执行一些jquery魔术才能让它工作

v42现在的情况会更糟(目前是beta版-希望能够修复)

它现在尊重
preload='metadata'
,但不会释放回池的连接,因此在加载6个视频后,它会完全卡住


请参阅错误报告:

为什么会出现这种情况?刚刚发布的v42现在“在野外”存在此问题。它已经被修复,希望v43在谷歌CanaryLooks中得到验证,就像这个bug今天仍然存在一样。它4岁了,拒绝死亡。preload=“metadata”在第7次网络请求时暂停。
<video width="320" height="240" controls autoplay>
    <source src="vid.webm" type="video/webm">
    <source src="vid.mp4" type="video/mp4">
</video>