【发布时间】:2012-01-13 13:29:44
【问题描述】:
iPhone 中是否有任何压缩技术可以使用 AVfoundation 压缩视频。或任何开源。
问候, 吉瓦
【问题讨论】:
-
A) 你的问题没有足够的细节(你想做什么?这是压缩用于本地存储还是通过网络传输?)和 B) 有许多不同的压缩技术为数据。你以前用谷歌搜索过吗?
标签: ios cocoa-touch avfoundation
iPhone 中是否有任何压缩技术可以使用 AVfoundation 压缩视频。或任何开源。
问候, 吉瓦
【问题讨论】:
标签: ios cocoa-touch avfoundation
试试这个:)
+ (void)convertVideoToLowQualityWithInputURL:(NSURL*)inputURL outputURL:(NSURL*)outputURL successHandler:(void (^)())successHandler failureHandler:(void (^)(NSError *))failureHandler
{
if([[NSFileManager defaultManager] fileExistsAtURL:outputURL]) [[NSFileManager defaultManager] removeItemAtURL:outputURL error:nil];
AVURLAsset *asset = [AVURLAsset URLAssetWithURL:inputURL options:nil];
AVAssetExportSession *exportSession = [[AVAssetExportSession alloc] initWithAsset:asset presetName:AVAssetExportPresetLowQuality];
exportSession.outputURL = outputURL;
exportSession.outputFileType = AVFileTypeQuickTimeMovie;
[exportSession exportAsynchronouslyWithCompletionHandler: ^(void) {
if (exportSession.status == AVAssetExportSessionStatusCompleted)
{
successHandler();
}
else
{
NSError *error = [NSError errorWithDomain:domain code:code userInfo:userInfo];
failureHandler(error);
}
}];
}
【讨论】:
这是 Apple 提供的使用 AVFoundation 录制的最佳示例
您可以自定义设置(尺寸/FPS/比特率)。
希望对你有帮助
【讨论】:
是的,它被称为AVAssetWriter。到处找例子,在这里给出一个连贯的工作代码作为答案太复杂了。
【讨论】: