SellyCloudSDK_demo/Example/SellyCloudSDK/Live/Beauty/FURenderKit.framework/Headers/FUVideoWriter.h

57 lines
1.7 KiB
Objective-C
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// FUVideoWriter.h
// FUVideoComponent
//
// Created by 项林平 on 2022/5/9.
//
#import <AVFoundation/AVFoundation.h>
#import "FUVideoComponentDefines.h"
#import "FUVideoSettings.h"
NS_ASSUME_NONNULL_BEGIN
@interface FUVideoWriter : NSObject
@property (nonatomic, assign, readonly) BOOL isWriting;
@property (nonatomic, strong, readonly) NSURL *videoURL;
@property (nonatomic, strong, readonly) AVAssetWriterInput *videoInput;
@property (nonatomic, strong, readonly) AVAssetWriterInput *audioInput;
/// 视频数据允许写入回调star()方法调用前赋值
@property (nonatomic, copy) BOOL (^videoInputReadyHandler)(void);
/// 音频数据允许写入回调start()方法调用前赋值
@property (nonatomic, copy) BOOL (^audioInputReadyHandler)(void);
+ (instancetype)new NS_UNAVAILABLE;
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)initWithVideoURL:(NSURL *)URL
videoSize:(CGSize)size;
/// 初始化方法
/// @param URL 文件保存路径(如果已经存在文件,会先删除原文件)
/// @param size 视频尺寸
/// @param settings 编码设置nil时会使用默认设置
- (instancetype)initWithVideoURL:(NSURL *)URL
videoSize:(CGSize)size
setting:(nullable FUVideoWriterSettings *)settings;
- (void)start;
- (void)stop;
/// 写入完成后必须调用该方法
- (void)finishWritingWithCompletion:(nullable void (^)(void))completion;
- (void)appendVideoSampleBuffer:(CMSampleBufferRef)sampleBuffer;
- (void)appendPixelBuffer:(CVPixelBufferRef)pixelBuffer time:(CMTime)timeStamp;
- (void)appendAudioSampleBuffer:(CMSampleBufferRef)sampleBuffer;
@end
NS_ASSUME_NONNULL_END