Streaming s3 videos privados

Tenemos s3 cubo en aws, con videos en él. Necesitamos transmitir esos videos con AWS iOS SDK.

Hasta el momento, la única opción que pude encontrar fue la transmisión mediante URL. (Para videos públicos)

Pero, ¿qué hay de la request s3 getOBject? Puedo download los videos y luego verlos, pero ¿hay alguna forma de downloadlos en pedazos y verlos?

Encontró una forma de hacerlo, genera una URL segura para acceder

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

Esto solo funciona en AWSIOSSDK 1+ no 2

Yo ayudo a mantener AWS SDK para iOS.

El SDK admite ranges en la request de obtención para que pueda download trozos de datos en operaciones discretas.

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

El SDK también contiene un protocolo de delegado que se puede usar para procesar datos a medida que se descarga de manera continua.

Protocolo de AmazonRequestDelegate

getObject es una llamada de descarga sin locking por defecto. Entonces, básicamente, el framework está diseñado para manejar una callback una vez que se completa la descarga para darle los datos en la secuencia de salida y alimentarla a la secuencia del cliente para su visualización.

Los SDK admiten descargas que no son de locking, por lo que lo ideal sería downloadlas en trozos del lado del cliente también.