【发布时间】:2015-09-09 07:03:41
【问题描述】:
我需要使用用户输入的宽度和高度来更改实时视频分辨率。对不起我的问题,但我以前从未这样做过。
请帮忙。
【问题讨论】:
-
是的,您可以更改视频的分辨率。看看这个answer
标签: ios objective-c video opentok tokbox
我需要使用用户输入的宽度和高度来更改实时视频分辨率。对不起我的问题,但我以前从未这样做过。
请帮忙。
【问题讨论】:
标签: ios objective-c video opentok tokbox
您可以使用AVMutableVideoComposition 和AVAssetExportSession 更改视频分辨率。
首先创建AVMutableVideoComposition的对象,如下所示。
AVMutableVideoComposition* videoComposition = [AVMutableVideoComposition videoComposition];
videoComposition.frameDuration = CMTimeMake(1, 30);
videoComposition.renderSize = CGSizeMake(YOUR_WIDTH, YOUR_HEIGHT);
然后,创建AVAssetExportSession的对象,
exporter = [[AVAssetExportSession alloc] initWithAsset:asset presetName:AVAssetExportPresetHighestQuality];
exporter.videoComposition = videoComposition;
并为导出器编写completionBlock。
希望这会有所帮助。
【讨论】:
width、height 和asset。尝试一些代码并告诉我。
如果您使用的是 OpenTok,则可以使用与 this sample 中的大部分相同的自定义视频捕捉器。唯一的区别是您需要另外编写代码来将图像从 CVPixelBuffer(称为imageBuffer)缩放到用户设置的大小。
缩放图像的一种方法是使用 CoreImage API,如下所示:https://stackoverflow.com/a/8494304/305340
【讨论】: