GPUImage让我能够以我想要的方式高效地操作我的视频文件,但只有当我指定AVFileTypeQuickTimeMovie
的{{1}}时才使用fileType
。
我的应用程序需要与无法播放快速电影文件的Android设备进行交互,因此我尝试将代码更改为如下编码:
GPUImageMovieWriter
我正在传递音频,正如布拉德在电影作者的示例中所示,但我的应用程序崩溃在movieWriter = [[GPUImageMovieWriter alloc] initWithMovieURL:movieURL size:CGSizeMake([UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)
fileType:AVFileTypeMPEG4 outputSettings:videoCompressionSettings];
函数中GPUImageMovieWriter.m文件中与音频相关的以下行:
setHasAudioTrack
我发现如果我完全删除音频,GPUImage可以输出一个与Android配合良好的MPEG4文件。我尝试不通过音频,但随后在[assetWriter addInput:assetWriterAudioInput];
方法的[assetWriterAudioInput appendSampleBuffer:audioBuffer];
行中遇到了崩溃。
我不想用Brad的代码搞得太多,因为到目前为止它对我来说效果很好,所以我转向社区,看看是否有人有过类似的问题,可以提供建议。我很乐意提供更多代码,但我不确定什么是相关的,什么不是。
提前致谢。