php - 获取托管在 Amazon S3 上的文件的视频持续时间

标签 php amazon-s3 ffmpeg video-streaming

我正在启动一个分发视频的门户。我的想法是将视频上传到 Amazon S3 并使用 PHP 从我的服务器收集必要的数据。到目前为止一切正常......我唯一无法获得的是视频的持续时间:-(有人能给我一个如何完成它的提示吗?

谢谢, 米格尔

更新:

我最终选择使用 FFmpeg 来完成。我已经在服务器上安装了 FFmpeg,现在我正在尝试在使用 PHP 执行命令之前在 shell 中执行命令。我将来自亚马逊的 URL 传递给它(我尝试了云端 URL 和 S3 URL),但它说没有这样的目录或文件。我在网上看到了使用外部文件的示例,所以我希望它能正常工作。

我使用的命令是

ffmpeg -i https://s3-eu-west-1.amazonaws.com/path/to/file.m4v

为了使用外部 URL,我需要配置什么吗?

最佳答案

如果您不想使用 FFmpeg(或无法将其安装在您的服务器上),另一种选择是在视频文件的嵌入式元数据中查找持续时间。

它通常存储在一个或多个名为“Duration”或“PlayDuration”的标签中。

您可以使用类似 ExifTool 的方式从视频文件中读取嵌入的元数据然后解析标签的输出。

关于php - 获取托管在 Amazon S3 上的文件的视频持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7446266/

相关文章:

php - MySQL在(结构相同)多个表中搜索id

amazon-s3 - Google Cloud Storage 是否会像 Amazon S3 一样受到顺序命名的影响?

amazon-web-services - CodeBuild无法在Gradle脚本中获取AWS凭证

audio - FFmpeg : How to create rotating 3D (haas) effect in mp3 using ffmpeg?

php - 如何在 shell 中递归正则表达式重命名?

php - 在产品预览 slider 上显示图像

一个查询中有多个选择语句的 PHP/MySQL 问题

java - 在上传 Amazon S3 之前检查病毒?

ios - ios中的视频编码

ffmpeg - 结合两个 ffmpeg 命令