PoporVideoTool
示例
要运行示例项目,请克隆仓库,然后首先从 Example 目录运行 `pod install`。
需求
安装
PoporVideoTool 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中:
pod 'PoporVideoTool'
#import<PoporVideoTool/PoporVideoTool.h>
- (void)compressVideoUrl:(NSURL *)videoOriginUrl outputUrl:(NSURL *)outputURL{
// 删除目标地址
[NSFileManager deleteFile:outputURL.path];
// 初始化 encoder
PoporVideoTool *encoder = [PoporVideoTool.alloc initWithAsset:[AVAsset assetWithURL:videoOriginUrl]];
encoder.outputFileType = AVFileTypeMPEG4;
encoder.outputURL = outputURL;
// 获取压缩视频Size
CGSize prioritySize = CGSizeMake(540, 960);
CGSize originSize = [PoporVideoTool sizeVideoUrl:videoOriginUrl];
CGSize targetSize = [PoporVideoTool sizeFrom:originSize toSize:prioritySize];
// 设置压缩配置
encoder.videoSettings = [PoporVideoTool dicVideoSettingsSize:targetSize bitRate:0]; // 视频参数
encoder.audioSettings = [PoporVideoTool dicAudioSettings]; // 音频参数
// 异步压缩
[encoder compressCompletion:^(PoporVideoTool * _Nonnull poporVideoTool) {
switch (poporVideoTool.status) {
case AVAssetExportSessionStatusCompleted: {
NSLog(@"Video export succeeded");
break;
}
case AVAssetExportSessionStatusCancelled: {
NSLog(@"Video export cancelled");
break;
}
default: {
NSLog(@"Video export failed with error: %@ (%li)", encoder.error.localizedDescription, encoder.error.code);
break;
}
}
} progress:^(CGFloat progress) {
NSLog(@"progress: %f", progress);
}];
}
作者
popor,[email protected]
许可证
PoporVideoTool可在MIT许可证下使用。有关更多信息,请参阅LICENSE文件。