我知道如何使用
AVAssetReader
和AVAssetWriter
,并已成功地将其用于从一个电影中获取视频轨道并转码为另一个电影。但是,我也想用这种方法处理音频。我必须在完成初始转码后创建AVAssetExportSession
,还是有一种方法可以在写入会话的过程中在不同的轨道之间切换?我不想处理AVAssetExportSession
的额外开销。
我之所以问这个问题,是因为使用拉取式方法 - while ([assetWriterInput isReadyForMoreMediaData]) {...}
- 假定只有一个轨道。那么如何同时使用多个轨道,即同时处理音频和视频轨道呢?