9

我知道你可以合併多個片段,並通過使用AVFoundation類 - AVURLAsset,AVMutableComposition,AVMutableCompositionTrack等iOS視頻編輯 - 是否可以將兩個視頻文件合併爲一個(使用iOS 4 AVFoundation類)?

還有像「視頻喬伊納」是做應用程序附加一個其他後建立一個單一的視頻。

我想要做的是並列2個視頻。

我的應用程序的想法 - SelfInterviewer請不要使用前置攝像頭站在不偷:)

首先我錄製視頻1留給框架。然後視頻2站在右側。在視頻1中提出一個問題,在視頻2中我回答。

當我合併時,它應該看起來像我正在接受採訪。

我幾乎肯定它在iOS中不可行,只是想確認。另外,如果這是不行的話,我會對任何服務器端解決方案感興趣 - 上傳兩個視頻並完成相同的操作。我認爲Adobe Premiere可以做到這一點。不知道他們是否有任何公共API。

欣賞任何想法。

謝謝。

+0

你找到了解決方案? – 2014-01-14 08:40:11

回答

9

是能夠合併2個視頻:
1.添加兩個資產到AVMutableComposition在開始時間爲0。
2.將優選變換到鐵軌上,在這個例子中尺度變換。

- (void) mergeVideos{ 
    ///... after getting hold or your assets....firstAsset, secondAsset 

    AVMutableComposition* mixComposition = [AVMutableComposition composition]; 

    AVMutableCompositionTrack *firstTrack = [mixComposition addMutableTrackWithMediaType:AVMediaTypeVideo 
                     preferredTracfirst:kCMPersistentTracfirst_Invalid]; 
    [firstTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, firstAsset.duration) 
         ofTrack:[[firstAsset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0] 
         atTime:kCMTimeZero error:nil]; 

    AVMutableCompositionTrack *secondTrack = [mixComposition addMutableTrackWithMediaType:AVMediaTypeVideo 
                     preferredTracfirst:kCMPersistentTracfirst_Invalid]; 

    [secondTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, secondAsset.duration) 
         ofTrack:[[secondAsset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0] 
          atTime:kCMTimeZero error:nil];  

    [secondTrack setPreferredTransform:CGAffineTransformMakeScale(0.25f,0.25f)]; 

    //... export video here... 

} 
+0

謝謝,我會試試看。不幸的是,由於我是新手,因此無法就答案投票。 – Naga 2011-04-27 14:09:29

+0

但是,addMutableTrackWithMediaType:preferredTracfirst:API不存在。只有API addMutableTrackWithMediaType:preferredTrackID:存在。我嘗試使用API​​ addMutableTrackWithMediaType:preferredTrackID本身,我只獲取導出視頻中的第一個視頻。 – spd 2011-12-14 08:24:51

+0

對不起,延遲迴復。 YOu應該使用一個MutableComposition而不是兩個。 – Splendid 2011-12-15 16:08:45

2

我發現,當我嘗試做同樣的事情這個環節,但對我來說它不是並排,另一個視頻的視頻之上,你可以通過這個鏈接

做同樣的事情Video Manipulation

相關問題