我遇到一个问题,MediaElement.js(我的 Flash 视频播放器)在视频完全加载之前不会播放我的 .m4V 视频文件(使用 ffmpeg 编码)。
我已经用各种第三方视频文件进行了测试,这些文件似乎在完全加载之前就可以立即播放。只有我的文件没有:(
当使用 html5 视频解决方案播放时,它们会立即播放,而不是在 flash 后备上。
这可能与视频编码的设置有关吗?我看不出任何其他原因。
代码:
<video id="player1" src='BriefTour.m4v' type="video/mp4" preload="none"></video>
<script>
var videoPlayer = MediaElement('player1',{
success:function(me){me.play();}
});
</script>
如您所见,我没有指定任何选项,播放器处于默认设置。
希望有人以前遇到过这个问题并能帮助我!
最佳答案
当您编码自己的视频并使用 FFmpeg 时,我建议使用“qt-faststart”。
这是一个包含在 FFmpeg 中的有用工具,它可以重新排列带有 H.264 视频的文件,“这样 moov 原子就在数据前面,从而促进网络流式传输”。基本上,它允许网络电影在完全下载之前开始播放。
使用以下 ffmpeg 目录启用它:
cd ~/ffmpeg
make tools/qt-faststart
用法(在你的 ffmpeg 编码之后):
qt-faststart input.foo output.foo
这应该允许您的播放器在视频仍在下载时播放它。
关于javascript - MediaElement.js - Flash 视频在完全加载之前不会播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5058917/