我到处这里和谷歌 - 虽然对IE9的作品没有有效的命令。 一些如何IE9是失去了一些东西。 所有我曾试过其他地方:铬,Safari浏览器,移动设备等等......我想一个命令,将转换它,我可以假设,以支持HTML5视频标签MP4每台设备使用。
我用这个命令:
ffmpeg -i movie.mov -vcodec copy -acodec copy out.mp4
ffmpeg -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 -pix_fmt yuv420p outa.mp4
ffmpeg -i movie.mov -b:V 1500k -vcodec libx264 -preset fast -g 30 adel.mp4
ffmpeg -i movie.mov -acodec aac -strict experimental -ac 2 -ab 160k -vcodec libx264 -preset slow -f mp4 -crf 22 lamlam.mp4
ffmpeg -i movie.mov -acodec aac -strict experimental -ac 2 -ab 160k -vcodec libx264 -preset slow -profile:v baseline -level 30 -maxrate 10000000 -bufsize 10000000 -f mp4 -threads 0 adiel.mp4
等再次这一切命令产生有效的MP4文件,该文件适用于Chrome,Safari浏览器等..当我使用视窗媒体播放器的Windows本身启动它们也可使用。 当我把这个文件中的视频标签(我用http://videojs.com/ )在IE9它不工作!
<div class="vidoco-content" style="margin-top: 20px;">
<video id="divVid" class="video-js vjs-default-skin vidoco-center" controls preload="none" width="600" height="400" poster="<?php echo(DOMAIN); ?>static/test.jpg">
<source src="<?php echo(DOMAIN); ?>static/out.mp4" type="video/mp4" />
</video>
如果我使用的软件米罗视频转换到相同的MOV文件转换成MP4 -它转换很好,我可以在IE9中玩了! 米罗转换器还采用使嵌入的ffmpeg里面,所以我敢肯定它的唯一正确的ffmpeg的命令和参数的梅特。 在我的Apache的htaccess我设置了正确的MIME类型为我的文件,我看到它确实是正确的,在IE开发者工具看时:
AddType audio/aac .aac
AddType audio/mp4 .mp4 .m4a
AddType audio/mpeg .mp1 .mp2 .mp3 .mpg .mpeg
AddType audio/ogg .oga .ogg
AddType audio/wav .wav
AddType audio/webm .webm
AddType video/mp4 .mp4 .m4v
AddType video/ogg .ogv
AddType video/webm .webm
我与这个挣扎了很长一段时间,因此任何帮助,将不胜感激。
谢谢!
对于ffmpeg
:
ffmpeg -i {input}.mov -vcodec h264 -acodec aac -strict -2 {output}.mp4
您也可以添加-q:v
/ -q:a
参数来指定视频的质量。 您也可以使用手刹这是一个比简单的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代码:
<!DOCTYPE html>
<html>
<body>
<video width="320" height="240" controls>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>
</body>
</html>
我分析了工作测试视频是W3Schools的提供(它适用于IE),我发现他们用手刹来编码视频。
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'movie.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isomavc1
creation_time : 2010-05-11 10:32:06
encoder : HandBrake 0.9.4 2009112300
Duration: 00:00:12.61, start: 0.000000, bitrate: 202 kb/s
Chapter #0.0: start 0.000000, end 12.612000
Metadata:
title :
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 320x240, 80 kb/s, 29.65 fps, 29.97 tbr, 90k tbn, 59.31 tbc
Metadata:
creation_time : 2010-05-11 10:32:06
Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 115 kb/s
Metadata:
creation_time : 2010-05-11 10:32:06
Stream #0:2(und): Subtitle: mov_text (text / 0x74786574)
Metadata:
creation_time : 2010-05-11 10:32:06`
初步旅程的ffmpeg
下载最新的ffmpeg及其预设http://www.ffmpeg.org/download.html
按照说明来安装ffmpeg的二进制在Windows
说明:
- 从arrozcru autobuilds页面获取最新版本
- 文件夹解压到C:/ Program Files文件/的ffmpeg
- 添加C:/ Program Files文件/ ffmpeg的/ bin添加到系统的PATH环境变量
可选libx264预设设置:
如果你使用libx264预设(使用-vpre标志)你需要做以下设置。
- 为您的用户指向你的主目录HOME环境变量。 (例如为Vista / 7/8 C:/用户/驼鹿或XP C:/文件和设置/驼鹿)
- 在你的home目录下创建一个文件夹.ffmpeg
- 预设文件从C复制:。。/ Program Files文件/ ffmpeg的/股/ * ffpreset到%HOME%/的ffmpeg
- 现在,你可以打开一个命令提示符并使用的ffmpeg。 :d(例如这是我的Vimeo视频转换命令的ffmpeg -i input.mov -vcodec libx264 -vpre HQ -crf 24 -g 25 -acodec了libmp3lame -ab 192K -ar 44100 output.mp4。)
*注意:libfaac不包括在构建自libfaac被认为是一个非免费的插件
请记住,在Windows中设置的HOME环境变量
- 预置复制环境变量文件夹下
- 您需要使用下面的命令使用的ffmpeg转换:
针对MP4(H.264 / ACC):
ffmpeg -i INPUTFILE -b 1500k -vcodec libx264 -vpre slow -vpre baseline -g 30 "OUTPUTFILE.mp4"
对于WEBM(VP8 / Vorbis格式):
ffmpeg -i "INPUTFILE" -b 1500k -vcodec libvpx -acodec libvorbis -ab 160000 -f webm -g 30 "OUTPUTFILE.webm"
对于OGV(Theora格式/ Vorbis格式):
ffmpeg -i "INPUTFILE" -b 1500k -vcodec libtheora -acodec libvorbis -ab 160000 -g 30 "OUTPUTFILE.ogv"
从原稿链接...
WebM的是FFmpeg的0.6和更高版本完全支持。 在命令行中运行ffmpeg的不带任何参数,并验证它与VP8支持编译:
you@localhost$ ffmpeg
FFmpeg version SVN-r23197, Copyright (c) 2000-2010 the FFmpeg developers
built on May 19 2010 22:32:20 with gcc 4.4.3
configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc
--enable-pthreads --enable-libfaac --enable-libfaad --enable-libmp3lame
--enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora
--enable-libx264 --enable-libxvid --enable-x11grab --enable-libvorbis
--enable-libvpx
如果你没有看到咒语“ --enable-libvorbis
”和“ --enable-libvpx
”你没有的ffmpeg的正确版本。 (如果您编译自己的ffmpeg,请检查,如果你有安装了两种版本。这很好,他们不会互相冲突。你只需要使用的ffmpeg的启用VP8版本的完整路径。)
我要做一个双路编码。 第一遍只是通过输入的视频文件扫描(-i pr6.dv),并写了一些统计到日志文件(这将是自动命名pr6.dv-0.log)。 我指定与-vcodec参数的视频编解码器:
you@localhost$ ffmpeg -pass 1 -passlogfile pr6.dv -threads 16 -keyint_min 0 -g 250 -skip_threshold 0 -qmin 1 -qmax 51 -i pr6.dv -vcodec libvpx -b 614400 -s 320x240 -aspect 4:3 -an -y NUL
大多数ffmpeg的命令行无关,与VP8 WebM的或。 libvpx确实支持了许多,你可以传递给特定的ffmpeg VP8的选项,但我还不知道如何任何人的工作。 一旦我发现他们的一个很好的解释,我会在此处链接,并将其纳入了叙述,如果它是值得这样做。
对于第二遍,ffmpeg的会读它第一遍时写的统计数据和实际做的视频和音频的编码。 它会写出一个.webm文件。
you@localhost$ ffmpeg -pass 2 -passlogfile pr6.dv -threads 16 -keyint_min 0 -g 250 -skip_threshold 0 -qmin 1 -qmax 51 -i pr6.dv -vcodec libvpx -b 614400 -s 320x240 -aspect 4:3 -acodec libvorbis -y pr6.webm
这里有五个重要的参数:
-
-vcodec libvpx
规定,我们正在与VP8视频编解码器编码。 的WebM总是使用VP8视频。 -
-b 614400
指定的比特率。 与其他格式不同,libvpx预计实际比特,而不是千比特率。 如果你想有一个600 kbps的视频,600乘以1024得到614400。 -
-s 320x240
指定目标的大小,通过高度的宽度。 -
-aspect 4:3
指定视频的纵横比。 标准清晰度视频通常是4:3,但大多数的高清晰度视频为16:9或16:10。 在我的测试中,我发现,我不得不在命令行中明确指定,而不是依靠ffmpeg的自动检测它这个。 -
-acodec libvorbis
规定,我们正在与Vorbis音频编解码器编码。 WebM的总是使用Vorbis音频。
我花了很多时间试图搞懂这个问题。 我终于找到了如何做到这一点正确使用avconv(或ffmpeg)来
转换视频使用H.264编解码器MPEG4。 你不需要任何幻想,只是让avconv为你做的工作:
avconv -i video.mp4 -vcodec libx264 pre_out.mp4
将文件信息,以文件头,所以它开始下载浏览器就可以立即开始播放。 这是IE9的关键!
qt-faststart pre_out.mp4 out.mp4
qt-faststart
是一个QuickTime实用程序还支持H.264 / ACC文件格式。 这是一部分libav-tools
包。
我的问题是像素格式。
添加-pix_fmt yuv420p
固定在IE中对我来说。
有同样的问题前一段时间,我用这种方式成功地解决:
首先,下载最新版本的ffmpeg(或从官方的github仓库(建https://github.com/FFmpeg/FFmpeg ),如果你想要做一些实验)。
那么试试这个:
ffmpeg -i input.mov -c:v libx264 -c:a libfaac -strict experimental output.mp4
希望这将帮帮忙!