11

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

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

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

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

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

合併すると、自分で面接を受けているように見えるはずです。

私はそれがiOSで実行可能ではないとほぼ確信しています、ただ確認したかっただけです。

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

アイデアに感謝します。

ありがとう。

4

2 に答える 2

11

はい、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...

}
于 2011-04-26T11:23:01.710 に答える
2

私は同じことをしようとしているときにこのリンクを見つけました , しかし、私にとってはそれは並んでいません , そのビデオは別のビデオのトップです, あなたはこのリンクで同じことをすることができます

ビデオ操作

于 2014-01-15T07:12:57.710 に答える