aws に s3 バケットがあり、その中にビデオがあります。AWS iOS SDK を使用してこれらの動画をストリーミングする必要があります。
これまでのところ、私が見つけた唯一のオプションは、URL を使用したストリーミングでした (公開ビデオの場合)。
しかし、s3 getOBject リクエストについてはどうですか - ビデオをダウンロードして表示することはできますが、チャンクでダウンロードして表示する方法はありますか?
aws に s3 バケットがあり、その中にビデオがあります。AWS iOS SDK を使用してこれらの動画をストリーミングする必要があります。
これまでのところ、私が見つけた唯一のオプションは、URL を使用したストリーミングでした (公開ビデオの場合)。
しかし、s3 getOBject リクエストについてはどうですか - ビデオをダウンロードして表示することはできますが、チャンクでダウンロードして表示する方法はありますか?
それを行う方法が見つかりました。アクセスするための安全な URL を生成します
S3GetPreSignedURLRequest * request = [[S3GetPreSignedURLRequest alloc] init];
request.key = fileName;
request.bucket = self.bucket;
[request setExpires:[NSDate dateWithTimeIntervalSinceNow:3600]];
これは 2 ではなく AWSIOSSDK 1+ でのみ機能します
AWS SDKforiOSのメンテナンスを支援します。
SDKはgetリクエストの範囲をサポートしているため、個別の操作でデータのチャンクをダウンロードできます。
S3GetObjectRequest *getObjectRequest = [[S3GetObjectRequest alloc] initWithKey:FILE withBucket:BUCKET];
[getObjectRequest setRangeStart:START rangeEnd:END];
[s3 getObject:getObjectRequest];
SDKには、ストリーミング方式でダウンロードされるデータの処理に使用できるデリゲートプロトコルも含まれています。
getObject は、デフォルトではノンブロッキング ダウンロード コールです。したがって、基本的に、フレームワークは、ダウンロードが完了したらコールバックを処理して、出力ストリームにデータを提供し、それをクライアント ストリームにフィードして表示するように設計されています。
SDK はノンブロッキング ダウンロードをサポートしているため、クライアント側でもチャンクでダウンロードするのが理想的です。