gpt4 book ai didi

iphone - AVCaptureMovieFileOutput - 如何保存视频

转载 作者:行者123 更新时间:2023-12-03 19:14:18 26 4
gpt4 key购买 nike

我使用以下代码来捕获视频并将其保存到我的应用程序的文档文件夹中:

        AVCaptureDeviceInput *captureInput = [AVCaptureDeviceInput deviceInputWithDevice:[AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo] error:NULL]; 

m_captureFileOutput = [[AVCaptureMovieFileOutput alloc] init];


captureSession = [[AVCaptureSession alloc] init];

[captureSession addInput:captureInput];
[captureSession addOutput:m_captureFileOutput];

[captureSession beginConfiguration];
[captureSession setSessionPreset:AVCaptureSessionPresetHigh];
[captureSession commitConfiguration];


[captureSession startRunning];

...some function that starts the recording process...

[m_captureFileOutput startRecordingToOutputFileURL:url recordingDelegate:self];

...some function that ends the recording process...

[m_captureFileOutput stopRecording];

问题是,我的目标是能够一次录制长达 9 小时的视频。实际上,用这种方法录制这么大的视频是否可行?是AVCaptureMovieFileOutput当从摄像头接收帧时,将视频实时编码并保存到磁盘,或者在[m_captureFileOutput stopRecording];之后处理之前将整个视频缓冲在RAM中。叫做?

如果这种方法对于录制如此长时间的视频来说不合理,那么合理的替代方案可能是什么?

谢谢,詹姆斯

最佳答案

非常确定 AVCaptureMovieFileOutput 附加到文件并且不使用内存缓冲区(也许它会这样做,但它会在文件变得太大之前将其刷新到文件)...这方面的一些证据可以在 movieFragmentInterval 属性中看到here 。另外,我已经使用此方法将大文件记录到文件中,并且它工作正常,如果将文件保存在内存中,则在某些预设(例如 1280x720)下会很快耗尽内存

关于iphone - AVCaptureMovieFileOutput - 如何保存视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7071312/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com