我在 EC2 机器上运行 Adobe Media Server 5,并且我还有一个录制应用程序,可将 .flv 文件保存到默认的 AMS 文件夹,我想在所有录制的文件到达文件夹后立即将它们发送到 S3。
由于我们使用的是 RTMP,我需要在用户停止录制后执行此操作,然后关闭连接并运行该例程(自动)
有没有办法做到这一点?
我的 EC2 和 S3 在同一个区域,但你知道这些传输是像闪电一样,还是像任何其他上传到服务器一样?
谢谢
我在 EC2 机器上运行 Adobe Media Server 5,并且我还有一个录制应用程序,可将 .flv 文件保存到默认的 AMS 文件夹,我想在所有录制的文件到达文件夹后立即将它们发送到 S3。
由于我们使用的是 RTMP,我需要在用户停止录制后执行此操作,然后关闭连接并运行该例程(自动)
有没有办法做到这一点?
我的 EC2 和 S3 在同一个区域,但你知道这些传输是像闪电一样,还是像任何其他上传到服务器一样?
谢谢
看一下s3cmd,它将允许您直接从 EC2 实例的 shell 与 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。如果您不希望您的文件公开,只需去掉--acl-public
put 命令。
关于速度:stackoverflow 上有一个关于此主题的信息线程:提高 Amazon EC2 上的数据传输速率