Html AVI到MP4的ffmpeg转换

Html AVI到MP4的ffmpeg转换,html,video,ffmpeg,Html,Video,Ffmpeg,我正在运行一台Debian7.5机器,上面安装了ffmpeg-2.2,如下所示 问题 我正在尝试在浏览器中显示mp4视频。原始文件具有AVI容器格式。我可以成功地将其转换为mp4,并且使用图腾电影播放器可以读取目标文件(视频+声音)。所以我想在显示下面的页面时一切都会好起来 HTML5网页 转换 $ffmpeg-y-fflags+genpts-i input.avi-acodec copy-vcodec copy output.mp4 Html浏览器 打开上面的html文件会播放声音,但不会显示

我正在运行一台Debian7.5机器,上面安装了ffmpeg-2.2,如下所示

问题 我正在尝试在浏览器中显示mp4视频。原始文件具有AVI容器格式。我可以成功地将其转换为mp4,并且使用图腾电影播放器可以读取目标文件(视频+声音)。所以我想在显示下面的页面时一切都会好起来

HTML5网页 转换 $ffmpeg-y-fflags+genpts-i input.avi-acodec copy-vcodec copy output.mp4

Html浏览器 打开上面的html文件会播放声音,但不会显示视频

当我使用其他.mp4文件时,视频会成功地显示出来,因此我肯定会面临转换问题

不是:我尝试过很多其他ffmpeg选项,但都没有成功

有什么想法吗


提前感谢。

我建议使用WebM格式而不是MP4。如果你看一下,WebM似乎是一个很好的兼容性选择

事实上,我自己做了一个类似的测试

<!DOCTYPE html><html>
<head>
    <title>Play a file</title>
</head>
<body>
<video width="640" height="480" controls>
  <source src="vid/output.webm" type="video/webm">
<h3>Your browser does not support the video tag</h3>
</video>

<video width="640" height="480" controls>
  <source src="vid/output.mp4" type="video/mp4">
<h3>Your browser does not support the video tag</h3>
</video>

</body></html>

播放文件
您的浏览器不支持视频标记
您的浏览器不支持视频标记
我使用了一个视频,由以下内容转换:

  • ffmpeg-if:\Videos\bbb_1sec.ts./vid/output.mp4 及
  • ffmpeg-if:\Videos\bbb_1sec.ts./vid/output.webm
MP4视频在Firefox 29下无法运行。。。但是WebM版本还可以

另一方面,由于到VP8/vorbis的转码,转换将花费更多的时间。 但是您复制(转换)到mp4文件my中的输入视频流可能不符合规范(视频:mpeg4(高级简单配置文件)(XVID/0x44495658)

您的命令是(将)MPEG-4第2部分视频重新多路复用到mp4容器中,但浏览器可能无法播放此格式。MP4容器应改用H.264视频:

ffmpeg -i input.avi -c:v libx264 <... more options ...> -c:a libfaac \
-movflags +faststart output.mp4
另见:


您当然是对的,但由于我的目标是将ffmpeg与python ffmpegwrapper 0.1-dev结合使用,因此我需要找到符合我主要需求的ffmgeg常规设置Shello Igor,这就是我在简化客户端视频显示时发现的细微差别:for.webm编码:ffmpeg-y-I输入。avi-c:v libvpx-c:a libvorbis-minrate 512K-maxrate 512K-b:v 512K-f webm输出。webm和for.mp4编码:ffmpeg-y-I输入。avi-c:v libx264-preset slow-crf 18-c:a libmp3lame-b:a 128k-f mp4输出.mp4。对于后者,我使用MP音频编解码器,而不是AAC编解码器。如果需要,我已经写了一份备忘录,总结了我在互联网上找到的关于这个主题的信息。它托管在我的服务器上:@EmmanuelBrunet我在这个答案中添加了一些额外的信息。您不应该使用
-minrate
。请参阅答案中的VPx链接。感谢您的建议,您能解释为什么不应设置lin费率吗?老实说,我真的不明白它是怎么工作的。。。
<!DOCTYPE html><html>
<head>
    <title>Play a file</title>
</head>
<body>
<video width="640" height="480" controls>
  <source src="vid/output.webm" type="video/webm">
<h3>Your browser does not support the video tag</h3>
</video>

<video width="640" height="480" controls>
  <source src="vid/output.mp4" type="video/mp4">
<h3>Your browser does not support the video tag</h3>
</video>

</body></html>
ffmpeg -i input.avi -c:v libx264 <... more options ...> -c:a libfaac \
-movflags +faststart output.mp4
<video width="640" height="480" controls>
  <source src="/path/to/output.mp4" type="video/mp4">
  <source src="/path/to/output.webm" type="video/webm">
  <source src="/path/to/output.ogv" type="video/ogg">
  ...
</video>