MediaElement.js - Flash视频无法播放直到完全加载

wil*_*age 8 javascript flash video video-streaming m4v

我有一个问题是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>
Run Code Online (Sandbox Code Playgroud)

如您所见,我没有指定选项,播放器处于默认设置.

希望有人之前已经有过这样的经历,可以帮助我!

Kit*_*Kit 10

当您编码自己的视频并使用FFmpeg时,我建议使用'qt-faststart'.

这是FFmpeg附带的有用工具,它使用H.264视频重新排列文件,"这样moov原子就在数据前面,从而促进网络流".基本上,它允许网络电影在完全下载之前开始播放.

使用以下ffmpeg目录启用它:

cd ~/ffmpeg
make tools/qt-faststart
Run Code Online (Sandbox Code Playgroud)

用法(在你的ffmpeg编码之后):

qt-faststart input.foo output.foo
Run Code Online (Sandbox Code Playgroud)

这应该允许您的播放器在下载时播放视频.


小智 6

如果没有按照自己想要的方式编制索引,则Flash无法始终播放MP4.

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