2

尝试使用 HTML5 视频设置 jPlayer,并为同一视频设置 Flash 后备。

HTML5 视频播放速度快如闪电(只有大约 1 秒的“缓冲”时间)!

我遇到的问题是 Flash 后备。使用 HTML5 版本在 1 秒内开始播放的完全相同的视频,使用 Flash 版本开始播放需要 50 多秒(我使用的是 1.5 Mbps DSL 连接)。在这段时间里,根本没有“进度”栏……只是黑屏。

就好像它试图在开始播放之前下载整个视频一样。我已经在 Firefox、Chrome、IE9、IE8 和 IE7 中对此进行了测试。在所有浏览器中都是一样的。Flash 播放器在所有浏览器中都是最新的。此外,我总是在每次测试之间清除浏览器的缓存,以确保每次测试都是准确的。

有什么想法可能导致这种情况吗?

我尝试了很多不同的视频编码器... Sony Vegas、Handbrake、Miro、Super、Freemake、Any Video Converter,但我得到的结果或多或少都相同(使用 HTML5 视频时即时播放,但非常使用 Flash 后备时的缓冲时间长)。

然后我想我的服务器可能存在 MIME 问题,所以我将以下代码添加到根目录中的 .htaccess 文件中......

    # AddType TYPE/SUBTYPE EXTENSION  
    AddType audio/mpeg mp3
    AddType audio/mp4 m4a
    AddType audio/ogg ogg
    AddType audio/ogg oga
    AddType audio/webm webma
    AddType audio/wav wav
    AddType video/mp4 mp4
    AddType video/mp4 m4v
    AddType video/ogg ogv
    AddType video/webm webm
    AddType video/webm webmv

但这并没有什么不同。

然后作为测试,我从jPlayer服务器下载了“Big Buck Bunny”视频(m4v、ogv、webm),然后上传到我的服务器,令我惊讶的是,连Flash版本都可以立即播放!(1 秒内)。很奇怪。

因此,对于另一次测试,我使用我拥有的每个编码器(Sony Vegas、Handbrake、Miro、Super、Freemake、Any Video Converter)将 Big Buck Bunny 视频重新编码为 mp4/m4v,将所有这些文件上传到我的服务器,然后分别使用每个文件测试 Flash 后备。对于每一个,Flash 播放都需要很长时间才能开始(即使是我编码为超小文件大小的那些)。然而,所有 HTML5 版本仍然可以立即播放。

我真的很想知道是什么导致 Flash 回退需要这么长时间才能开始播放。在过去的几天里,我尝试了所有我能想到的可能的测试来查明问题,但仍然无法弄清楚。

有任何想法吗?

如果有帮助,下面是我用来测试的页面之一。在那个特定的页面上,我使用了与其中一个 jPlayer 演示完全相同的 HTML 代码,并将默认解决方案设置为“flash”。唯一不同的是我重新编码了 m4v 文件,以演示 Flash 延迟(对于这个特定的视频,我的延迟大约是 30 秒)......

http://thebestinfo.org/jplayer/flash.html

就像我上面提到的,无论我使用什么编码器,或者我压缩文件有多小,使用 Flash 回退时总是会有很大的延迟。

我将非常感谢任何帮助解决这个问题!提前致谢!!

4

1 回答 1

1

根据jPlayer 开发指南的服务器响应部分,您所描述的行为可能是由于服务器无法接受字节范围请求或文件头中缺少媒体长度元数据引起的。

字节范围请求

您的服务器必须启用 Range 请求。这很容易通过查看服务器的响应是否在其标头中包含 Accept-Ranges 来检查。大多数 HTML5 浏览器允许在下载期间寻找新的文件位置,因此服务器必须允许请求新的 Range。

无法接受字节范围请求会导致某些 HTML5 浏览器出现问题。通常无法从文件中读取持续时间,因为某些格式要求读取文件的开头和结尾以了解其持续时间。如果服务器上没有启用 Range 请求,Chrome 往往是问题最多的浏览器,但所有浏览器都会有一些问题,即使只是您必须等待所有媒体加载完毕才能跳到最后.

已知此问题会影响使用默认配置的 Jetty 6 服务器。

jPlayer 社区已经编写了一个 PHP 函数,它可以提供支持 Range 请求的媒体文件。请参阅有关该主题的此jPlayer 支持组帖子

于 2013-02-20T07:13:12.733 回答