【问题标题】:Change camera resolution if I have width and height in iOS如果我在 iOS 中有宽度和高度,请更改相机分辨率
【发布时间】:2015-09-09 07:03:41
【问题描述】:

我需要使用用户输入的宽度和高度来更改实时视频分辨率。对不起我的问题,但我以前从未这样做过。

请帮忙。

【问题讨论】:

  • 是的,您可以更改视频的分辨率。看看这个answer

标签: ios objective-c video opentok tokbox


【解决方案1】:

您可以使用AVMutableVideoCompositionAVAssetExportSession 更改视频分辨率。

首先创建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。

希望这会有所帮助。

【讨论】:

  • 你可以试试这个代码。您只需提供widthheightasset。尝试一些代码并告诉我。
  • 我只播放视频,所以这里有什么资产?
  • 一个视频的 url 将在这里成为资产。
  • 我正在播放实时视频。所以我没有它的网址。我需要使用 AVCaptureSession 来完成。
【解决方案2】:

如果您使用的是 OpenTok,则可以使用与 this sample 中的大部分相同的自定义视频捕捉器。唯一的区别是您需要另外编写代码来将图像从 CVPixelBuffer(称为imageBuffer)缩放到用户设置的大小。

缩放图像的一种方法是使用 CoreImage API,如下所示:https://stackoverflow.com/a/8494304/305340

【讨论】:

  • 你能再解释一下吗?
  • @user 我不确定你需要我解释什么。你看过链接的样本吗?您了解链接缩放技术吗?关于这些,您还有什么更具体的问题吗?
猜你喜欢
  • 2021-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-13
相关资源
最近更新 更多