流式传输s3私人视频

时间:2012-10-23 21:58:19

标签: ios xcode amazon-s3 amazon-web-services video-streaming

我们在aws中有s3个存储桶,其中包含视频。我们需要使用AWS iOS sdk流式传输这些视频。

到目前为止,我能找到的唯一选择是使用网址流式传输。(对于公共视频)

但是s3 getOBject请求怎么样 - 我可以下载视频然后查看它,但有没有办法以块的形式下载视图呢?

3 个答案:

答案 0 :(得分:6)

找到了一种方法,您可以生成安全的URL来访问

S3GetPreSignedURLRequest * request = [[S3GetPreSignedURLRequest alloc] init];
request.key = fileName;
request.bucket = self.bucket;
[request setExpires:[NSDate dateWithTimeIntervalSinceNow:3600]];

这仅适用于AWSIOSSDK 1+而不是2

答案 1 :(得分:3)

我帮助维护适用于iOS的AWS开发工具包。

SDK支持get请求的范围,因此您可以在离散操作中下载数据块。

S3GetObjectRequest *getObjectRequest = [[S3GetObjectRequest alloc] initWithKey:FILE withBucket:BUCKET];
[getObjectRequest setRangeStart:START rangeEnd:END];
[s3 getObject:getObjectRequest];

SDK还包含一个委托协议,可用于处理以流式方式下载的数据。

AmazonRequestDelegate protocol

答案 2 :(得分:0)

默认情况下,getObject是一个非阻塞的下载调用。因此,基本上该框架设计用于在下载完成后处理回调,以便为输出流中的数据提供数据并将其提供给客户端流以供查看。

SDK支持非阻止下载,因此理想情况下,您也可以在客户端以块的形式下载。