【问题标题】:Get the dimensions of a H.264 MP4获取 H.264 MP4 的尺寸
【发布时间】:2010-12-15 16:01:51
【问题描述】:

有没有人知道一种现成的、可靠的方法来判断使用 H.264 编解码器编码的 MP4 的尺寸(宽度 x 高度),无需 ffmpeg 或类似扩展,在纯 PHP 中?

感谢所有回答的人。赏金快用完了,我没有时间在它之前检查提供的解决方案。我会接受我认为最有可能奏效的解决方案。

【问题讨论】:

  • 据我所知没有现成的,但 MPEG-4 标准的文档非常详细。你可以自己用几个小时的编码来解析文件中的数据。
  • 如果您在服务器上拥有适当的权限,您可以使用正确的命令行参数执行 ffmpeg 可执行文件,以获取我确定的宽度 x 高度
  • 不,此服务器上没有命令行访问权限。这就是我要求 PHP 的原因。但当你有权限时,肯定是首选。

标签: php video mp4 h.264


【解决方案1】:

原生 PHP 不支持这样的东西,ffmpeg 只是我想到的一个库。

【讨论】:

    【解决方案2】:

    想到什么:

    • mediainfo 一个带有 GUI 的大型项目,但也有一个 CLI
    • mp4info(看似已解散的mp4mpeg 项目的一部分)几乎是完美的选择
    • ffmpeg 虽然这对于这项任务来说太过分了。再说一次,你很可能需要它来完成其他任务

    【讨论】:

      【解决方案3】:

      getID3 是纯 php,可从各种媒体文件中提取大量信息。这将取决于首先对您的文件进行什么编码,以及哪些元数据可用以及它的可靠性。 getID3 有一个很好的演示页面,其中包含许多不同的文件类型。我试图发布更多链接,但作为一个新手,我只得到一个。

      【讨论】:

      • 感谢您的链接,但据我所知,getID3 不支持 MP4。
      • 在演示页面 (getid3.org/demo) 上有两个 .mp4 文件,例如getid3.org/demo/MP4%20-%20aac.mp4.html。正如我所提到的,这取决于用于编码您的 mp4 的内容,如果是 Quicktime,我敢打赌 getID3 会起作用。如果没有更多信息或示例文件,很难说。你的文件是用什么编码的?
      【解决方案4】:

      听起来http://code.google.com/p/php-mp4info/ 可能是您的答案。它读取 MP4,但没有提及任何有关 H.264 的内容。

      另外,您使用的是什么操作系统?

      【讨论】:

      • 哇,这看起来不错!无论使用什么编码,维度都可能存储在元数据中。我会调查一下。该网站将在 Linux 上运行。
      • 我看到这个不足的唯一地方是视频没有正确嵌入元数据。
      • 祝你好运。如果你知道了,你会把它贴在这里吗?
      • @AlecGorge 这个库不读取.mp4 文件。只有.f4v
      • 老问题,但我遇到了这个问题。出于某种原因,Android 视频的纵向模式混合了宽度和高度,我确实从 mp4 中得到了这个,这样就可以了
      【解决方案5】:

      【讨论】:

      • 问题提到“没有 ffmpeg”:)
      【解决方案6】:

      php-reader 是在纯 PHP 中完成的 ISO 14496 的完整实现。您可以使用此库来读取 mp4 包含的所有框,例如包含有关文件的元数据的 moov atom。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-23
        • 2021-09-03
        • 2013-02-22
        • 1970-01-01
        相关资源
        最近更新 更多