【问题标题】:mp4 Videos not playing on Websitemp4 视频无法在网站上播放
【发布时间】:2015-07-30 21:03:31
【问题描述】:

我正在将 mp4 视频上传到服务器并在嵌入 HTML 视频标签的前端播放它们。下面是使用的代码。

<video width="480" height="294" controls="controls">
    <source src="http://server.com/user_data/machine/133/videos/1_2.mp4" type="video/mp4">
    <source src="http://server.com/user_data/machine/133/videos/1_2.mp4" type="video/webm">
    <source src="http://server.com/user_data/machine/133/videos/1_2.mp4" type="video/ogg">      
</video>

问题是,它会播放一些视频,而有些则不能。两者都是 mp4,但它播放一些视频,而另一些则不播放。对一些人来说,他们没有视频,只有音频。

你能帮我看看检查什么以及如何解决这个问题吗?

谢谢,

【问题讨论】:

  • 检查源类型
  • 正如 zan 所说,后两个视频的源文件扩展名 (.mp4) 与类型(web 和 ogg)不匹配。
  • @Mick,那么我是否还需要找到一种方法将它们转换为另外两个扩展才能播放它们,例如使用 ffmpeg 库。或者有没有其他解决方案。
  • @Purushottamzende - 如果您真的希望视频在尽可能多的浏览器和设备上可用,那么不幸的是,是的。有基于云的转换服务,例如 cloudconvert.com/mp4-to-ogg 作为自己使用 ffmpeg 的替代方案。如果您不需要获取所有人,那么 mp4 可能是使用单一格式进行大多数报道的最佳选择。

标签: php video mp4


【解决方案1】:

还要确保您的网站为文件提供正确的 MIME 类型。如果您使用的是 nginx,则需要安装 http_mp4_module

【讨论】:

  • 是的,我检查了它,我希望拥有 mp4 文件所需的所有 mime 类型。但它仍然没有播放。
【解决方案2】:

Zende 如果您想在网站中嵌入 .webm 或 .ogg 格式的视频,则必须将视频转换为 .webm 或 .ogg 格式

【讨论】:

  • 是的,我考虑过,但是将每个视频转换成其他类型的扩展需要时间和空间。我想我将需要为此使用“ffmpeg”文件。
【解决方案3】:

对于不同的来源,您应该有不同类型的视频

File    Type
MP4     video/mp4
WebM    video/webm
Ogg     video/ogg

【讨论】:

    最近更新 更多