首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用AVAssetWriter而不是AVAssetExportSession导出一个AVAssetExportSession

使用AVAssetWriter而不是AVAssetExportSession导出一个AVAssetExportSession
EN

Stack Overflow用户
提问于 2017-12-04 03:43:37
回答 2查看 1.3K关注 0票数 0

我有一个AVMutableVideoComposition,我想将它导出到一个视频文件中。

不幸的是,AVAssetExportSession没有做到这一点,因为我需要对输出视频设置(比特率、关键帧、.)进行精细控制。

如何从AVMutableVideoComposition中提取图像以将它们提供给AVAssetWriterInput

到目前为止,我研究了AVVideoCompositionRenderContextAVAsynchronousVideoCompositionRequest,但两者似乎都是死胡同,因为我找不到呈现AVMutableComposition的API。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-10 18:02:57

设置一个AVAssetReader,从AVMutableVideoComposition中“读取”视频帧,然后将它们交给AVAssetWriterInput。您将使用AVAssetReaderVideoCompositionOutput设置资产读取器,并在需要时设置videoComposition,并可能设置customVideoCompositor。定制的视频排序器可以包含您自己的CIFilters和您想要的任何其他内容。

票数 3
EN

Stack Overflow用户

发布于 2017-12-04 08:30:19

现在我认为这是不可能的。

有两个解决办法来解决这个限制:

  • 放弃AVMutableVideoComposition,使用AVAssetReaderAVAssetReaderTrackOutput。 =>,这是你应该做的,如果你只想连接一些视频。
  • 两次传球。用AVMutableVideoComposition导出一次视频,然后再读和写。 =>不是最佳的,我可以摆脱它,因为我的视频是如此小。如果您有转换、CIFilters和其他复杂操作,那么编写CIFilters就容易多了。

希望下次我能找到一个更干净的解决方案:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47626181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档