Esta pregunta está bastante relacionada con AVMutableComposition - Blank/Black frame between videos assets pero como no estoy usando una sesión de AVAssetExportSession las respuestas no se ajustan a mi problema.Marcos negros en AVMutableComposition
Estoy usando una composición de video para crear una composición de video y la estoy leyendo usando un AVAssetReader (necesito tener los datos de marco, no puedo usar un AVPlayer) pero a menudo tengo marcos negros entre mi video trozos (no hay falla notable en el audio).
crear mi composición como
AVMutableCompositionTrack *compositionVideoTrack = [composition addMutableTrackWithMediaType:AVMediaTypeVideo preferredTrackID:kCMPersistentTrackID_Invalid];
AVMutableCompositionTrack *compositionAudioTrack = [composition addMutableTrackWithMediaType:AVMediaTypeAudio preferredTrackID:kCMPersistentTrackID_Invalid];
NSMutableArray* durationList = [NSMutableArray array];
NSMutableArray* videoList= [NSMutableArray array];
NSMutableArray* audioList= [NSMutableArray array];
for (NSInteger i = 0; i < [clips count]; i++)
{
AVURLAsset *myasset = [clips objectAtIndex:i];
AVAssetTrack *clipVideoTrack = [[myasset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0];
[videoList addObject:clipVideoTrack];
AVAssetTrack *clipAudioTrack = [[myasset tracksWithMediaType:AVMediaTypeAudio] objectAtIndex:0];
[audioList addObject:clipAudioTrack];
CMTime clipDuration = [myasset duration];
CMTimeRange clipRange = CMTimeRangeMake(kCMTimeZero, clipDuration);
[durationList addObject:[NSValue valueWithCMTimeRange:clipRange]];
}
[compositionVideoTrack insertTimeRanges:durationList ofTracks:videoList atTime:kCMTimeZero error:nil];
[compositionAudioTrack insertTimeRanges:durationList ofTracks:audioList atTime:kCMTimeZero error:nil];
también probé para insertar manualmente cada pista en mi composición pero tengo el mismo fenómeno.
Gracias
¿Alguna vez resolvió este problema? Tengo un problema similar. – elprl
@elprl Eché un vistazo a mi código y se mantuvo más o menos igual. Creo que "solucionamos" el problema ajustando (intervalo de fotogramas clave, velocidad de cuadros, ...) la entrada de formato de los videos (podemos controlarlo). Eso fue hace mucho tiempo y no puedo decir con certeza qué parámetro mejoró la situación. – chub