使用AVFoundation生成带有透明视频叠加层的视频文件

时间:2018-12-14 19:50:24

标签: ios objective-c avfoundation avassetwriter

我正在尝试将视频(带有Alpha通道)叠加到现有视频上。

用ffmpeg做到这一点的方法是这样的命令:

ffmpeg -i face_video.mov -i curtain_test.mov -filter_complex "[0:0][1:0]overlay[out]" -shortest -map [out] -map 0:1 -pix_fmt yuv420p -c:a copy -c:v libx264 -crf 18  output.mov

如何在iOS上使用AVFoundation完成此任务?

2 个答案:

答案 0 :(得分:0)

简短的回答是,您无法使用iOS下的AVFoundation来做到这一点。默认情况下仅支持24BPP(不透明)H264视频。参见AVFoundation decode prores4444 movie with alpha channel

答案 1 :(得分:0)

  • 使用pod将MobileFFMpeg安装到XCode项目中 pod'mobile-ffmpeg-full','〜> 4.3' https://github.com/tanersener/mobile-ffmpeg

  • 通过以下方式调用任何FFMpeg命令:

    [MobileFFmpeg执行:@“-i file1.mp4 -c:v mpeg4 file2.mp4”];