我在EC2机器上运行Adobe Media Server 5,我还有一个录制应用程序.flv将文件保存到默认的AMS文件夹,我想将所有录制的文件发送到S3一旦它们到达该文件夹。
由于我们使用的是 RTMP,我需要在用户停止录制后执行此操作,然后关闭连接并运行该例程(自动)
有没有办法做到这一点?
我的 EC2 和 S3 位于同一区域,但您知道这些传输是否像闪电速度一样,或者就像任何其他上传到服务器一样?
谢谢
看看 s3cmd,它将允许您直接从 EC2 实例的外壳与 S3 进行交互。因此,您可以将文件上传集成到您的工作流程中。一个简单的上传看起来像这样:
s3cmd put --acl-public --guess-mime-type test.flv s3://example.com/videos/test.flv
响应将如下所示:
File 'test.flv' stored as s3://example.com/videos/test.flv (xxxx bytes)
Public URL of the object is: http://example.com.s3.amazonaws.com/videos/test.flv
如果需要,您可以使用正则表达式来扩展公共 URL。如果您不希望您的文件是公开的,只需从 put 命令中删除--acl-public
即可。
关于速度:在堆栈溢出上有一个关于这个主题的信息线程:提高 Amazon EC2 上的数据传输速率