Câu hỏi này khá liên quan đến AVMutableComposition - Blank/Black frame between videos assets nhưng vì tôi không sử dụng AVAssetExportSession, các câu trả lời không phù hợp với vấn đề của tôi.Khung màu đen trong AVMutableComposition
Tôi đang sử dụng AVMutableComposition để tạo thành phần video và tôi đang đọc nó bằng AVAssetReader (Tôi cần có dữ liệu khung, tôi không thể sử dụng AVPlayer) nhưng tôi thường có khung màu đen giữa video của mình khối (không có trục trặc đáng chú ý trong âm thanh).
tôi tạo Thành phần của tôi như
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];
Tôi cũng đã cố gắng để chèn mỗi ca khúc bằng tay trong thành phần của tôi, nhưng tôi có hiện tượng tương tự.
Cảm ơn
Bạn đã từng giải quyết vấn đề này chưa? Tôi nhận được một vấn đề tương tự. – elprl
@ helprl Tôi đã xem mã của tôi và nó vẫn khá giống nhau. Tôi nghĩ rằng chúng tôi "cố định" vấn đề bằng cách tinh chỉnh (khoảng thời gian khung hình chính, tốc độ khung hình, ...) đầu vào định dạng video (chúng tôi có thể kiểm soát nó). Đó là một thời gian dài trước đây và tôi không thể nói chắc chắn những gì parametter cải thiện tình hình. – chub