菜鸟教程小白 发表于 2022-12-13 01:29:59

ios - 使用 AVMutableComposition 合并视频的问题


                                            <p><p>我正在使用 iOS 设备录制短视频片段,然后尝试将多个片段合并为一个较大的视频。一切正常,除了在最终视频中,在每个剪辑片段之间它会闪烁第一个剪辑的第一帧。</p>

<p>比如我要合并clip1、clip2、clip3。结果是(clip1)->(clip1的第一帧)->(clip2)->(clip1的第一帧)->(clip3)</p>

<p>这是我用来合并它们的代码。</p>

<pre><code>AVMutableComposition* mainComposition = [ init];

AVMutableCompositionTrack* compositionVideoTrack = ;
AVMutableCompositionTrack* compositionAudioTrack = ;

CMTime insertTime = kCMTimeZero;

for (NSURL* clip in self.sessionClips)
{
    AVURLAsset* asset = ;

    AVAssetTrack* videoAssetTrack = [ objectAtIndex:0];
    AVAssetTrack* audioAssetTrack = [ objectAtIndex:0];

    ;
    ;

    insertTime = CMTimeAdd(insertTime, videoAssetTrack.timeRange.duration);
}

/* Export the video */
NSURL* exportURL = ];

AVAssetExportSession* exporter = [ initWithAsset:mainComposition presetName:AVAssetExportPresetPassthrough];

;
;

[exporter exportAsynchronouslyWithCompletionHandler:^(void){
    /* Finished exporting, save to photo album */
    [[ init] writeVideoAtPathToSavedPhotosAlbum:exportURL completionBlock:^(NSURL* assetURL, NSError *error) {
      if (error)
            NSLog(@&#34;%@&#34;, error);
    }];

}];
</code></pre>

<p>所有的视频片段都是通过 AVAssetWriter 使用 fileType:AVFileTypeQuickTimeMovie 录制的。</p>

<p>编辑:还想添加,如果我下载视频片段并将它们与我的 Mac 上的 MP4Box 之类的东西合并,则生成的视频很好。</p>

<p>谢谢!</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我能够解决这个问题。</p>

<p>我的问题是我将较小的剪辑录制为 AVFileTypeQuickTimeMovie,但随后尝试将视频导出为 AVFileTypeMPEG4。将较小的剪辑录制为 AVFileTypeMPEG4 解决了该问题。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 使用 AVMutableComposition 合并视频的问题,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/25654566/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/25654566/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 使用 AVMutableComposition 合并视频的问题