iOSビデオ編集-iOS 4 AVFoundationクラスを使用して、2つのビデオファイルを1つにマージすることは可能ですか?

adobe-premiere avfoundation avvideocomposition ios4 video-editing
iOSビデオ編集-iOS 4 AVFoundationクラスを使用して、2つのビデオファイルを1つにマージすることは可能ですか?

AVFoundationクラス(AVURLAsset、AVMutableComposition、AVMutableCompositionTrackなど)を使用して複数のクリップをマージし、次々に追加して単一のビデオを作成できることを知っています。

それを行う「Video-Joiner」のようなアプリがあります。

私がやりたいのは、2本のビデオを並べることです。

私のアプリのアイデア-SelfInterviewerは盗まないでください:)

まず、フレームの左に立っている正面カメラを使用してビデオ1を記録します。 次に、ビデオ2が右側に立っています。 ビデオ1では質問し、ビデオ2では答えます。

合併すると、自分でインタビューを受けているように見えるはずです。

iOSでは実現不可能だと確信しているので、確認したいだけです。

また、順調に行かない場合は、サーバー側のソリューションに興味があります。2つのビデオをアップロードして同じことを実現します。 アドビプレミアでそれができると思います。 パブリックAPIがあるかどうかはわかりません。

アイデアを感謝します。

ありがとう。

  10  15


ベストアンサー

はい、2つのビデオをマージできます:+ 1。 開始時刻0に両方のアセットをAVMutableCompositionに追加します。 + 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...

}

11


私は同じことをしようとしているときにこのリンクを見つけました

2


タイトルとURLをコピーしました