【问题标题】:AVAssetWriter: how to write to a single file multiple timesAVAssetWriter:如何多次写入单个文件
【发布时间】:2013-03-08 01:17:32
【问题描述】:

我可以使用 AVFondation 录制视频并将其保存在文档目录中,现在我想重新打开该保存的视频文件并从该文件的末尾重新开始录制,这可能吗还是我必须创建多个视频文件并合并,请指教!

问候,

【问题讨论】:

    标签: ios objective-c avfoundation avassetwriter


    【解决方案1】:

    我很确定没有办法让 AVAssetWriter 多路复用器附加到现有文件。当然,如果您需要在启动新文件时预先添加所有现有数据,那么启动速度会很慢。

    另一种方法是启动一个新的临时文件,并将后台的数据复制到第三个文件中,使用类似于http://www.gdcl.co.uk/2013/02/20/iOS-Video-Encoding.html 的内容。也就是说,您有文件 1,该文件在您暂停时已关闭。恢复时您开始写入文件 2,同时从 1 读取并写入新文件 3。当您用尽 1 时,您可以从文件 2 读取(使用上面链接的示例代码)并将其附加到文件3.

    G

    【讨论】:

    • 您好,您能否提供一些示例代码来说明此解决方案?谢谢!
    【解决方案2】:

    我认为你应该读取保存的视频,然后以 NSData 格式附加录制的视频,然后重新重写整个数据。你可以使用 NSMutableData 来 appendData..

    【讨论】:

    • 谢谢,但我认为,这与合并两个视频所需的时间相同,我想使用现有文件,以便可以在最短的时间内开始录制。
    • 是的,您必须获取保存在文件中的先前数据,您可以通过读取视频文件来获取它,然后附加您拥有的最新数据,然后写回整个数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-22
    • 1970-01-01
    • 2013-09-23
    • 2017-03-26
    • 1970-01-01
    相关资源
    最近更新 更多