【问题标题】:Acquiring (m:s) duration of a (mp4/flv) video using PHP? [duplicate]使用 PHP 获取 (mp4/flv) 视频的 (m:s) 持续时间? [复制]
【发布时间】:2023-04-10 03:06:01
【问题描述】:

任何想法如何做到这一点?我使用 flv 和 mp4 视频,所以欢迎使用这两个选项。

我想根据视频文件大小计算每秒比特率,这是我的最后一个选择,但希望有更好的解决方案。

谢谢。

【问题讨论】:

  • 比特率对比只有当它是一个恒定比特率文件时,文件大小才会有用。当它是可变比特率时,所有赌注都被关闭。您可以扫描前“x”块并将它们用作平均值,但您不可避免地会得到一个文件,其中那些“x”块是异常值。
  • 是的,我知道“比特率与文件大小”的想法是针对生成的可变比特率视频的(它会在最后计算出一些不正确的持续时间),但只是知道这将是最快的方式(对于两个文件,任何类型的文件,实际上包括 mp3)。 5-20 秒(即 5 分钟的网络视频)在这里和那里我猜不会打扰任何人。好吧..我希望不大:)

标签: php mp4


【解决方案1】:

听起来像http://code.google.com/p/php-mp4info/ 可能就是答案。这是一个简单的 PHP 类,用于从基于 MP4 的文件(例如 MP4、M4V 和 F4V)中读取 MP4 元数据。

【讨论】:

    【解决方案2】:

    您很可能需要一个 3rd 方类,例如 GetID3 或类似 ffmpeg 的扩展。

    $meta= new \getID3();
    $file = $meta->analyze($filename);
    
    echo("Duration: ".$file['playtime_string'].
    " / Dimensions: ".$file['video']['resolution_x']." wide by ".$file['video']['resolution_y']." tall".
    " / Filesize: ".$file['filesize']." bytes<br />");
    

    更多详情请见How to get video duration, dimension and size in PHP?。

    【讨论】:

      猜你喜欢
      • 2014-02-26
      • 2014-08-07
      • 2014-03-14
      • 2012-04-28
      • 2011-06-25
      • 1970-01-01
      • 2012-07-05
      • 2016-12-17
      • 2021-05-08
      相关资源
      最近更新 更多