2012-10-23 109 views
3

我們有aws中的s3存儲桶,其中有視頻。我們需要使用AWS iOS sdk傳輸這些視頻。串流s3私人視頻

到目前爲止,我能找到的唯一的選擇是使用URL流(公共視頻)

但對於S3 GetObject的請求 - 我可以下載視頻,然後查看它,但有沒有辦法下載在大塊視圖呢?

回答

6

找到一種方法來做到這一點,您生成安全網址來訪問AWSIOSSDK

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

這僅適用於1+不是2

+0

我知道這是舊的,但無論如何。我可以看到對象被創建,你從哪裏得到的URL? – Esko918

+0

你能澄清一下什麼對象嗎? –

+0

我想通了。在創建presignedurl請求之後,我必須使用''[[[AWSS3PreSignedURLBuilder defaultS3PreSignedURLBuilder] getPreSignedURL:request]''。該塊返回一個AWTask,它是已生成的URL。我仍然沒有完成它,但我認爲多數民衆贊成的方式去 – Esko918

0

getObject默認爲非阻塞下載調用。所以基本上這個框架被設計爲在下載完成後處理回調,以便爲您提供輸出流中的數據並將其提供給客戶端流供查看。

軟件開發工具包支持非阻塞式下載,所以理想情況下您也可以在客戶端以塊的形式下載。

3

我幫助維持AWS SDK適用於iOS。

SDK支持獲取請求的範圍,因此您可以在離散操作中下載數據塊。

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

SDK還包含可能被使用,因爲它被以流方式下載到處理數據的委託協議。

AmazonRequestDelegate protocol