4

GPUImage 允许我以我想要的方式非常有效地操作我的视频文件,但前提是我在AVFileTypeQuickTimeMovie指定.fileTypeGPUImageMovieWriter

我的应用程序需要与无法播放 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 的代码,因为到目前为止它对我来说效果很好,所以我转向社区看看是否有人遇到过类似的问题并可以提供建议。我很乐意提供更多代码,但我不确定什么是相关的,什么不是。

提前致谢。

4

0 回答 0