Bu soru tam olarak AVMutableComposition - Blank/Black frame between videos assets ile ilgilidir, ancak bir AVAssetExportSession kullanmıyordum çünkü cevaplar sorunuma uygun değil.AVMutableComposition içinde siyah çerçeveler
Video kompozisyonu oluşturmak için bir AVMutableComposition kullanıyorum ve bir AVAssetReader kullanarak okuyorum (çerçeve verisine ihtiyacım var, AVPlayer kullanamıyorum) ancak videom arasında sıklıkla siyah çerçeveler var parçalar (seste fark edilebilir bir aksaklık yoktur). Ben de kompozisyonda elle her parçayı eklemek için çalıştı
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];
olarak
benim Kompozisyon oluşturmak ama aynı fenomeni var. klipleri eklerken
Teşekkür
Bu sorunu çözdünüz mü? Benzer bir problem alıyorum. – elprl
@elprl Koduma bir baktım ve hemen hemen aynı kaldı. Bence bu sorunu (anahtar kare aralığı, çerçeve, ...) video formatı girişi (biz kontrol edebiliriz) yaparak "düzelttik" diye düşünüyorum. Bu uzun zaman önceydi ve ne parametrenin durumu geliştirdiğinden emin olamıyorum. – chub