在写入磁盘之前记录时将CATextLayer Overlay写入AVCaptureSession

时间:2015-05-28 16:06:02

标签: ios objective-c avfoundation video-capture

我正在尝试以CATextLayer的形式编写时间码,同时它通过AVCaptureSession录制到磁盘。这是我到目前为止的代码,我在文档中找不到任何内容,或者通过谷歌向我展示这是如何实现的。

最初我使用GPUImage完成了这个,但代码不稳定并崩溃。图书馆的作者证实,GPUImage目前无法可靠地用于此目的。

CaptureSessionManager.h

001.csv     002.csv   

30000        10000

CaptureSessionManager.m

#import <CoreMedia/CoreMedia.h>
#import <AVFoundation/AVFoundation.h>


@interface CaptureSessionManager:NSObject

@property (nonatomic,strong) AVCaptureVideoPreviewLayer *previewLayer;
@property (nonatomic,strong) AVCaptureSession *captureSession;
@property (nonatomic,strong) AVCaptureMovieFileOutput *captureOutput;
@property (nonatomic,strong) AVCaptureDeviceInput *videoIn;

- (void)addVideoPreviewLayer;
- (void)addVideoInput;
- (void)addVideoOutput;
- (void)toggleDeviceCamera;

- (void)toggleRecording;

@end

1 个答案:

答案 0 :(得分:1)

嗯,我能够得到我的解决方案,我真诚地希望这有助于某人。要获得用于录制视频,音频和写入磁盘的基本AVFoundation设置,请从Apple下载RosyWriter https://developer.apple.com/library/prerelease/ios/samplecode/RosyWriter/RosyWriter.zip

之后,只需访问其中一个提供的渲染器。我强烈建议使用OpenGL渲染器。你需要加强你的UIView绘图,但这将使你获得90%的胜利!