MediaElement.js - Flash视频播放惯于直到完全加载

我有一个问题会MediaElement.js(我的Flash视频播放器)不是在玩我的.m4v视频文件(使用ffmpeg的编码),直到视频完全加载。

我与那些看起来马上他们已经完全加载之前玩各种第三方的视频文件进行测试这一点。 只有我的文件不:(

当使用HTML5视频解决方案发挥他们玩直线距离,只是没有闪光灯备用。

难道这是与视频在被编码的设置呢? 我没有看到任何其他原因。

码:

<video id="player1" src='BriefTour.m4v' type="video/mp4" preload="none"></video> <script> var videoPlayer = MediaElement('player1',{ success:function(me){me.play();} }); </script>

正如你所看到的,我不指定任何选项,玩家默认设置。

希望有人以前encoutered这一点,可以帮我!

--------------解决方案-------------

当你在编码自己的视频,并使用FFmpeg的,我建议使用“QT-的fastStart”。

这是包含在FFmpeg的重新排列与H.264视频文件一个有用的工具,“这样的MOOV原子是在数据的前面,以便于网络流媒体”。 基本上,它允许在完全下载之前网络电影开始播放。

用下面的FFmpeg的目录启用它:

cd ~/ffmpeg
make tools/qt-faststart

用法(后你的ffmpeg编码):

qt-faststart input.foo output.foo

这应该让你的播放器来播放视频,而它仍然下载。

闪光不能总是发挥MP4S如果它们不是在它想要的方式进行索引。

要修复您的文件,只需下载这个:QTIndexSwapper

我试图QT-的fastStart与我自己的MP4(H264 + AAC)编码的文件,总是得到一个“ 文件中的最后一个原子不是moov atom的 ”错误消息(没有输出文件)。 当时我假设我的文件是确定并寻找问题elsewere。 经过测试的时间,我的假设被证明是错误的-事实上,它似乎我的文件没有MOOV乐原子可言,而不是在开始也没有底!

为了成功地解决这个问题我用的ffmpeg先以“再生”的文件 - 也就是说,REMUX原H264 + AAC曲目到一个新的MP4文件,而无需重新编码是:

ffmpeg -i souce_file.mp4 -acodec copy -vcodec copy target_file_1.mp4

此后,新的文件应该具有在结束其适当MOOV原子。 所以,现在你可以使用QT-的fastStart,以便将其移动到开始,如在包他的回答解释说:

qt-faststart target_file_1.mp4 target_file_2.mp4

这样做之后,MediaElement的发挥我所有的影片只需点击播放按钮,当文件开始下载后马上! :)

如果你的问题是你已经有了一个类似YouTube的网站上所有的文件,你的主机是基于Linux的,ffmpeg的是不存在的,你不能编译你自己,你是我发现它很有用获得的ffmpeg的静态版本。 你可以在这里找到:

http://ffmpeg.gusari.org/static/(32位),或在这里:http://dl.dropbox.com/u/24633983/ffmpeg/index.html(64位)

不幸的是,在32位的构建我用没有QT-的fastStart,而不是作为二进制也不是源代码。 在这种情况下,你可以从FFmpeg的SVN下载,并直接用gcc编译。 我做到了成功地在我的超EL-小气鬼共同主办。 它似乎没有任何编译依赖。 或者你甚至可以尝试我自己的QT-的fastStart二进制版本,看看它是否适合你。

编辑:我刚刚发现,在新版本中没有必要对QT-的fastStart可言。 可以使用以下选项的ffmpeg直接编码:

-movflags +faststart

我想扩大约翰·戴尔的评论一点,并说,使用QTIndexSwapper不仅仅是 MediaElement.js 的Flash后备 / fallfoward的功能,但也适用于非Flash播放器。

我的问题是在非Flash播放器我.MP4文件无需加载完整的视频前,它会开始播放(我没有检查Flash版本,直到后,我收到了没有Flash的工作),并QTIndexSwapper解决了问题。

我想指出这一点,当我第一次读到我认为这仅适用于Flash和没有尝试马上注释。 我不能说我秋毫从约翰代尔,因为这是他的意见而得到解决,最终我的问题,我只是想添加到它,所以希望别人不会使我的错误。

如果有人有兴趣我写了一篇博客文章中针对此问题,大约一个PHP类,它应该修复它。

分类:JavaScript的 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.685 (s). 10 q(s)