ffmpeg 将 mov 文件转换为 mp4 用于 HTML5 视频标签 IE9 [英] ffmpeg convert mov file to mp4 for HTML5 video tag IE9
问题描述
我在这里和谷歌上到处查看 - 没有适用于 IE9 的有效命令.IE9 缺少一些东西.我尝试过的所有方法都适用于其他任何地方:chrome、safari、移动设备等......我想要一个可以转换它的命令,我可以在假设支持 HTML5 视频标签中的 mp4 的每个设备中使用它.
我使用这个命令:
ffmpeg -i movie.mov -vcodec copy -acodec copy out.mp4ffmpeg -i movie.mov -vcodec libx264 -vprofile high -preset slow -b:v 500k -maxrate 500k -bufsize 1000k -vf scale=-1:480 -threads 0 -acodec libvo_aacenc -b:a 128k -piuv4.fmt outamp4ffmpeg -i movie.mov -b:V 1500k -vcodec libx264 -preset fast -g 30 adel.mp4ffmpeg -i movie.mov -acodec aac -strict Experimental -ac 2 -ab 160k -vcodec libx264 -preset slow -f mp4 -crf 22 lamlam.mp4ffmpeg -i movie.mov -acodec aac -strict Experimental -ac 2 -ab 160k -vcodec libx264 -preset slow -profile:v 基线 -level 30 -maxrate 10000000 -bufsize 10000000 -f mp4 -threads 0 adiel.mp4
等等.所有这些命令再次生成一个有效的 mp4 文件,它可以在 chrome、safari 等上运行……并且即使我使用窗口媒体播放器在 Windows 本身中启动它们也可以正常工作.当我将此文件放在 IE9 中的视频标签中时(我使用的是 http://videojs.com/),它不起作用!
<video id="divVid" class="video-js vjs-default-skin vidoco-center" 控件 preload="none" width="600" height="400" poster="<?php echo(DOMAIN); ?>static/test.jpg"><source src="<?php echo(DOMAIN); ?>static/out.mp4" type="video/mp4"/></视频>如果我使用软件 miro 视频转换器 将相同的 mov 文件转换为 mp4 - 它转换得很好,我可以在IE9!miro 转换器也在其中使用了 embedd ffmpeg,所以我确信它只是一米正确的 ffmpeg 命令和参数.在我的 apache htaccess 中,我为我的文件设置了正确的 mime 类型,并且在查看 IE 开发人员工具时我看到它确实正确:
AddType 音频/aac .aacAddType 音频/mp4 .mp4 .m4aAddType 音频/mpeg .mp1 .mp2 .mp3 .mpg .mpegAddType 音频/ogg .oga .oggAddType 音频/wav .wavAddType 音频/webm .webmAddType 视频/mp4 .mp4 .m4v添加类型视频/ogg .ogv添加类型视频/webm .webm
我为此苦苦挣扎了很长时间,因此非常感谢您的帮助.
谢谢!
解决方案对于ffmpeg
:
ffmpeg -i {input}.mov -vcodec h264 -acodec aac -strict -2 {output}.mp4
您还可以添加 -q:v
/-q:a
参数来指定视频的质量.您也可以使用 HandBrake,它是一个比 ffmpeg 更简单的编码器.
对于HandBrake
:
handbrakecli -i {input}.mov -e x264 -E facc -o {output}.mp4
我找到了解决方案!这是我在 IE 9 和 Firefox 上测试过的带有工作演示的 ZIP!
http://www.mediafire.com/download/kyavlpudybg0bc1/HTML5_video.zip
另外,上面的演示有一个闪退,所以它应该适用于 IE8 及更低版本.
使用相同的 ffmpeg
命令.
我不得不重新上传视频,因为我的托管服务目前已关闭.现在它托管在 mediafire 上.我发现它们是最好的文件共享服务.最少广告,无需注册,无需 30 秒等待.
另外,在 videojs 网站上查看这个讨论: http://help.videojs.com/discussions/problems/1020-ffmpeg-command-produce-your-demonstration-video.
非常重要!请务必点击允许活动内容"按钮以允许视频在本地运行!
我遇到的问题和我的解决方案的视频:参见我上面提到的演示.
测试时使用的 HTML 代码:
<身体><video width="320" height="240" 控件><source src="movie.mp4" type="video/mp4"><source src="movie.ogg" type="video/ogg">您的浏览器不支持 video 标签.</视频>