【发布时间】:2012-10-16 11:27:07
【问题描述】:
在 html5 的 video 标签中播放 mp4 文件时遇到问题。
我的服务器上有两个 mp4 文件。 我使用以下代码。
<video width="320" height="240" controls="controls">
<source src="input.mp4" type='video/mp4 '/>
</video>
这很好用。 之后,我使用 ffmpeg 连接两个 mp4。 拼接代码如下。
exec('ffmpeg -i input1.mp4 -qscale:v 1 intermediate1.mpg');
exec('ffmpeg -i input2.mp4 -qscale:v 1 intermediate2.mpg');
exec('cat intermediate1.mpg intermediate2.mpg | ffmpeg -f mpeg -i - -vcodec copy -acodec copy intermediate_all.mpg');
exec('ffmpeg -y -i intermediate_all.mpg -an -pass 1 -threads 2 $options temp.mp4');
exec('ffmpeg -y -i intermediate_all.mpg -acodec libfaac -ar 44100 -ab 96k -pass 2 -threads 2 $options temp.mp4');
exec('qt-faststart temp.mp4 new_output.mp4');
这种转换效果很好。 我可以使用每个播放器播放这个文件,但是当我在视频标签中使用这个转换后的文件时它不起作用。
任何帮助将不胜感激。
【问题讨论】:
-
看起来您正在转码为 mpeg2,然后尝试将 mpeg2 放回 mp4 容器中。这是故意的吗?
-
视频文件直接放到Chrome浏览器窗口会播放吗?
-
你在用什么浏览器试试这个?
-
@BlueVoodoo 是的,根据 ffmpeg 文档,我将其转换为 mpg,然后连接,然后再转换回 mp4。
-
@TimHayes 不是,当我直接将它放到 chrome 中时它不起作用。
标签: php html ffmpeg html5-video