根据MediaInfo ChangeLog,在v0.7.76中添加了Amazon S3支持,甚至在v0.7.77(最新版本)中进行了补丁。
但是,我找不到任何关于如何实现它的文档。它不在CLI帮助菜单中,也不在SourceForge项目页面中。我希望有人可以在SourceForge论坛关闭时获得一些见解。
如何制作MediaInfo命令以将Amazon S3与Access Key&密钥?我正在使用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
答案 0 :(得分:3)
Java示例是关于如何使用Java下载并从Memory向MediaInfo发送数据的示例。现在,MediaInfo对S3有本机支持。所以只需提供此网址。
唯一的问题是你必须拥有libcurl和使用libcurl支持编译的MediaInfo。这在所有平台上都不可用(例如,在Windows上,您必须将libcurl网站上的libcurl.dll放在与mediainfo相同的文件夹中)。
计划更好地提供此类支持(在所有平台上直接提供libcurl并进行全面测试),但没有ETA。
答案 1 :(得分:2)
可以使用以下命令在linux发行版上使用libcurl构建Mediainfo可执行文件:(我使用了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网址提供媒体信息。
mediainfo --Output=XML https://AWSAccessKeyId:AWSSecretAccessKey@s3.amazonaws.com/bucketname/filename
上述命令无法使用具有特殊字符的AWS密钥(文件名)。通过使用预先签名的URL,可以在AWS Keys中使用特殊字符。
aws s3 presign 's3://bucketname/testing/mini & bar™©.mp4'
mediainfo 'presignd url'
答案 2 :(得分:0)
我面临同样的问题。请试试这个,它会起作用
https://{yourAwsAccessKey}:{yourAwswsSecretKey}@{yourBucketName}.s3.awsamazon.com/{file_path_in_bucket}