avassetwriter是否可以输出到内存

J.C*_* Li 8 video memory-management h.264 ios avassetwriter

我想写一个连续捕获视频的iphone应用程序,h.264以10秒的间隔对它们进行编码并上传到存储服务器.这可以用avassetwriter完成,我可以继续删除旧文件,因为我创建了新文件.但是,由于闪存具有有限的写周期,因此该方案将在通过闪存几千次写入周期后破坏闪存.有没有办法将avassetwriter重定向到内存,或在iPhone上创建一个ram驱动器?

谢谢!

Mic*_*non 1

是的 avassetwriter 是访问硬件解码器的唯一方法。并且在写入文件时简单地读回文件不会给您 moov 原子,因此基于 avfoundation 或 mpmediaplayer 的播放器将无法读回它。您只有几个选择,定期停止 asassetwriter 并在后台线程上写入文件,从而有效地将您的电影分割成更小的完整文件。或者您可以在服务器端处理不完整的 mp4,您将必须解码原始 nalu 并重新创建丢失的 moov 原子。如果您使用 ffmpeg mov.c 是值得一看的源代码。如果不完整的 mp4 文件也会失败。