【问题标题】:how to capture a video in specific part rather than full screen in iOS如何在iOS中捕获特定部分而不是全屏的视频
【发布时间】:2014-08-21 12:22:49
【问题描述】:

我正在使用 AVFoundation 在我的 IOS 应用中捕捉视频。我可以录制视频,也可以播放。

但我的问题是我在大约 200 点高度的视图中显示捕获视频。所以我希望视频将以相同的尺寸录制。但是当我播放视频时,它显示整个屏幕都有被记录下来了。

所以我想知道是否有任何方法可以记录仅对用户可见的相机预览。并且应该感谢任何帮助。

截图: () ()

【问题讨论】:

  • 您能否澄清一下您所说的仅对用户可见???
  • 相机预览。
  • 你试过这个吗? [ios 如何捕获屏幕的特定部分][1] [1]:stackoverflow.com/questions/7915370/…
  • @edo 它是关于从屏幕的一部分捕获图像。但我的问题是捕捉视频而不是静态图像。
  • @sateesh 有什么解决办法吗?

标签: ios camera avfoundation video-recording


【解决方案1】:

您无法根据 UIView 尺寸(甚至屏幕尺寸)来考虑视频分辨率。根据您设置 AVCaptureSession 的方式,相机将以特定分辨率进行录制。例如,您可以通过以下方式设置会话预设来更改视频质量:

[self.captureSession setSessionPreset:AVCaptureSessionPreset640x480]

(已默认设置为最高设置。)

现在,当您播放视频时,您确实可以控制它的呈现方式。例如,如果您想在较小的视图中播放它(图层类型为 AVPlayerLayer),您可以通过以下方式设置视频重力:

AVCaptureVideoPreviewLayer *previewLayer = (AVCaptureVideoPreviewLayer*)self.previewView.layer;
[previewLayer setVideoGravity:AVLayerVideoGravityResizeAspect];

并且根据您为重力参数传递的内容,您将获得不同的结果。

希望这会有所帮助。您的问题有点不清楚,因为您似乎希望相机只记录一定数量的输入,但您必须将手放在镜头的一部分上才能做到这一点;)

【讨论】:

  • 感谢 joeig 的回答。我明白你在说什么。我想知道是否可以捕获相机输入的部分。如果可能的话,如何做到这一点。
  • 我不相信这是可能的。您可能可以在记录输入后创建合成,但要告诉相机忽略输入的一部分……我不知道您将如何做到这一点。你能解释一下为什么你只想要输入的一部分吗?
  • 按照我的应用设计。除此之外,我无法提供更多信息。
  • 即使你能想到一个类似的情况,它也会帮助人们知道如何解决这个问题。
猜你喜欢
  • 2011-12-16
  • 1970-01-01
  • 1970-01-01
  • 2018-03-15
  • 2015-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-14
相关资源
最近更新 更多