Crear un AVAsset con un HTTP NSURL

Estoy intentando combinar dos NSURLs que contienen references de video. Una de las URL señala un video en AWS y el otro apunta a un video que se almacena localmente. Mi código de export funciona porque lo he intentado con dos videos locales, pero cada vez que trato de combinar la URL HTTP y la URL local obtengo este error: Error Domain=NSURLErrorDomain Code=-1100 "The requested URL was not found on this server." UserInfo=0x155d2f20 {NSUnderlyingError=0x155b4f60 "The operation couldn't be completed. No such file or directory", NSLocalizedDescription=The requested URL was not found on this server.} Error Domain=NSURLErrorDomain Code=-1100 "The requested URL was not found on this server." UserInfo=0x155d2f20 {NSUnderlyingError=0x155b4f60 "The operation couldn't be completed. No such file or directory", NSLocalizedDescription=The requested URL was not found on this server.} Este es el código para crear las AVAssets:

 AVAsset *firstAsset = [AVAsset assetWithURL:awsURL]; 

¿Requiere AVAssetExportSession que se AVAssetExportSession las URL locales?

@ MichaelScaria, muchas gracias por publicar lo que pensaste, estuve en esto por unos 3 días. a continuación se muestra mi solución completa cuando intentaba get AVAssets de las direcciones URL locales y las direcciones URL remotas

 + (AVAsset*)getAVAssetFromRemoteUrl:(NSURL*)url { if (!NSTemporaryDirectory()) { // no tmp dir for the app (need to create one) } NSURL *tmpDirURL = [NSURL fileURLWithPath:NSTemporaryDirectory() isDirectory:YES]; NSURL *fileURL = [[tmpDirURL URLByAppendingPathComponent:@"temp"] URLByAppendingPathExtension:@"mp4"]; NSLog(@"fileURL: %@", [fileURL path]); NSData *urlData = [NSData dataWithContentsOfURL:url]; [urlData writeToURL:fileURL options:NSAtomicWrite error:nil]; AVAsset *asset = [AVAsset assetWithURL:fileURL]; return asset; } + (AVAsset*)getAVAssetFromLocalUrl:(NSURL*)url { AVURLAsset *asset = [AVAsset assetWithURL:url]; return asset; } 

Guardé la url en línea en un directory temporal y utilicé la url temporal para fusionar el video y funcionó.

  NSData *urlData = [NSData dataWithContentsOfURL:initalURL]; [urlData writeToFile:path options:NSAtomicWrite error:nil] 

Tal vez necesites usar AVURLAsset u otras subclasss en su lugar? De los documentos:

A menudo, crea una instancia de un recurso mediante AVURLAsset (una subclass concreta de AVAsset) con NSURL que hace reference a resources de medios audiovisuales, como secuencias (incluidas secuencias HTTP en vivo), files de películas QuickTime, files MP3 y files de otros types. También puede crear una instancia de un recurso utilizando otras subclasss concretas que amplían el model básico para medios audiovisuales de maneras útiles, como lo hace AVComposition para la edición temporal.