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