使用AVAssetWriter问题编写H264流

时间:2011-09-13 10:37:36

标签: ios h.264 avassetwriter

我正在处理一个从网络接收H264流并将该流写入MOV文件的应用程序。为了写入MOV,我使用的是AVAssetWriter(AVAssetWriterInput设置为nil)。虽然我能够在Quicktime中使用AVAsssetWriter以MOV格式转储和播放流,但如果在播放电影时在QUicktime中搜索电影,则会在下一个I帧发生之前完全失真。使用MOV文件不会出现这种行为。

还尝试将AVAssetWriterInput设置指定为QuicktimeMovie,Width,Height,Bitrate。但是从第一帧写入时失败了。还观察到如果使用原始帧而不是H264流并指定输出设置,则看到正常工作。

还尝试在将CMSampleBuffer提供给AVAssetWriterInput之前指定以下附件。但仍然在寻找MOV文件不合适。

kCMSampleAttachmentKey_IsDependedOnByOthers 

表示I frame和

kCMSampleAttachmentKey_DependsOnOthers
kCMSampleAttachmentKey_NotSync

表示P帧

请提供有关如何使用AVAssetWriter更正搜索MOV文件的建议。我猜对于已经编码的H264帧使用AVAssetWriter时会出现一些同步帧偏移表问题。

0 个答案:

没有答案