6

根据 MediaInfo ChangeLog,在 v0.7.76 中添加了对 Amazon S3 的支持,甚至在 v0.7.77(最新)中进行了修补。

但是,我找不到任何关于如何实现它的文档。它不在 CLI 帮助菜单中,也不在 SourceForge 项目页面中。由于 SourceForge 论坛已关闭,我希望这里的某个人可能会有一些见解。

如何制作 MediaInfo 命令以将 Amazon S3 与访问密钥和秘密密钥一起使用?我正在使用 CLI。

我能找到的最接近的是某人的示例 Java 代码: http: //fossies.org/linux/MediaInfo_CLI/MediaInfoLib/Source/Example/HowToUse_Dll.JNA.java

看起来他们正在为 S3 制作自定义 HTTP 请求并将响应流式传输到 MediaInfo。我不确定。我不懂Java;我只知道 Bash、Ruby、PHP。

有没有人成功让 MediaInfo 与 S3 一起工作?像这样的东西?

mediainfo https://AWSAccessKeyId:AWSSecretAccessKey@s3.amazonaws.com/bucketname/filename
4

3 回答 3

3

Mediainfo 可执行文件可以使用以下命令在 Linux 发行版上使用 libcurl 构建:(我使用的是 centos)

yum groupinstall 'Development Tools'
yum install libcurl-devel
yum install wget
wget http://mediaarea.net/download/binary/mediainfo/17.12/MediaInfo_CLI_17.12_GNU_FromSource.tar.xz
tar xvf MediaInfo_CLI_17.12_GNU_FromSource.tar.xz
cd MediaInfo_CLI_GNU_FromSource/
./CLI_Compile.sh --with-libcurl
cd MediaInfo/Project/GNU/CLI
./mediainfo --version

然后以下命令将为 Amazon S3 url 提供媒体信息。

mediainfo --Output=XML https://AWSAccessKeyId:AWSSecretAccessKey@s3.amazonaws.com/bucketname/filename

上述命令不适用于具有特殊字符的 AWS 密钥(文件名)。通过使用预签名的 url,可以在 AWS 密钥中使用特殊字符。

aws s3 presign 's3://bucketname/testing/mini & bar™©.mp4' 
mediainfo 'presignd url'
于 2018-03-28T04:10:27.860 回答
3

Java 示例是关于如何使用 Java 下载并将数据从内存发送到 MediaInfo 的示例。现在 MediaInfo 已经原生支持 S3。因此,只需提供此 URL。

唯一的问题是您必须有可用的 libcurl,并且 MediaInfo 必须使用 libcurl 支持编译。这并非在所有平台上都可用(例如,在 Windows 上,您必须将 libcurl 网站上的 libcurl.dll 放在与 mediainfo 相同的文件夹中)。

计划更好地提供此类支持(直接提供 libcurl,并在所有平台上进行全面测试),但没有 ETA。

于 2015-09-29T19:39:35.663 回答
1

我面临同样的问题。请试试这个,它会工作

https://{yourAwsAccessKey}:{yourAwswsSecretKey}@{yourBucketName}.s3.awsamazon.com/{file_path_in_bucket}

于 2018-04-02T08:15:29.220 回答