问题标签 [avcapturemoviefileoutput]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
789 浏览

ios - 在 Swift for iOS 中使用 AVFoundation 录制视频

我无法使用提供的代码录制视频。我正在使用为录制视频而创建的示例代码。

具体来说,我无法在没有此错误的情况下编译此行:“无法将 'ViewController' 类型的值转换为指定类型 'AVCaptureFileOutputRecordingDelegate'

此行位于 IBAction 函数中:

其余代码在这里:

感谢您提供任何帮助!

0 投票
1 回答
1814 浏览

ios - Swift 标头中的 AVCaptureAudioDataOutput 中是否缺少 audioSettings 属性?

我正在开发要录制分段视频的 iOS 应用程序。我已阅读https://developer.apple.com/library/content/documentation/AudioVideo/Conceptual/AVFoundationPG/Articles/00_Introduction.html并且我有一个有效的解决方案AVCaptureVideoDataOutput,我在其中捕获帧并将它们写入文件使用AVAssetWriter. 我像AVCaptureVideoDataOutput这样添加AVCaptureSession

效果很好,我可以成功运行捕获会话并获得可播放的电影文件。

现在我想加入音频。所以我想做同样的事情:

疯狂的是,上面没有财产 !!!文档是这样说的:https ://developer.apple.com/reference/avfoundation/avcaptureaudiodataoutput/1388527-audiosettings但 Swift 标头没有这样的成员(如下)。audioSettingsAVCaptureAudioDataOutput

到底他妈发生了什么?我正在使用 XCode 8.1。以下类的 Swift 标头AVCaptureAudioDataOutput

0 投票
1 回答
261 浏览

ios - 如何播放 AVCaptureMovieFileOutput

我目前能够将视频录制到一个AVCaptureMovieFileOutput实例中,但我找不到任何可以学习的资源来展示视频播放是如何可能的,比如 snapchat/facebook/instagram 能够制作。

我应该使用AVCaptureVideoPreviewLayer,如果可以,我将如何使用,因为我能够成功记录到AVCaptureMovieFileOutput实例。使用什么的解决方案或指导将非常有帮助!

或者它是一个特定的控制器、播放器等?我发现唯一的玩法是AVPlayerViewController它不是没有按钮和进度条的播放器。

0 投票
1 回答
581 浏览

ios - 如何使用 AVCaptureDeviceFormat 从 iPhone 录制延时视频?

我正在尝试通过 iphone 录制延时视频。我已经让它适用于慢动作(通过捕获可能的最大帧数),速度为 120 fps。

现在我正在尝试反转逻辑以捕获尽可能少的帧,以实现延时功能。

代码流程是这样的:

  1. 从 AVCaptureDevice 的可用设备格式中查询所有支持的帧范围。

  2. 检查帧速率是否低于或等于所需的 20 fps 并且尺寸是否等于或大于 1920*1080。

一切正常,除了当我按下记录时,我得到"AVCaptureMovieFileOutput - no active/enabled connections"异常。我只使用提供的帧速率和范围之一,为什么会出现此异常?

一切都适用于 30 fps。

这是 20 fps 的帧速率和范围的日志:

0 投票
1 回答
852 浏览

ios - 如何在不使用预设的情况下在 iOS 上录制视频?

在 iOS 上录制视频的更简单方法是设置AVCaptureSession.sessionPreset.

但这对我不起作用,因为我想控制分档、稳定性(电影、标准或无)和 ISO 等参数。

我找到了我想要的格式并将其分配给activeFormat,但是当我尝试开始录制时,出现错误:

这是我的初始化代码:

setFormatWithHighestIso()定义为:

最后一条日志语句产生:

这确实是我想要的格式,所以setFormatWithHighestIso()按预期工作。请参阅 Apple参考资料


我尝试过的其他一些事情:

  • 通过将 == 875704422 更改为 != 来使用 420v 而不是 420f。
  • 而不是以照片模式启动相机,以视频模式启动它,然后通过删除 AVCapturePhotoOutput 并添加 AVCaptureMovieFileOutput 将其更改为视频模式。
  • 验证 AVCaptureConnection 是否已启用,并且已启用。
  • 验证连接是否处于活动状态,但不是:

    让 conn = output.connection(withMediaType: AVMediaTypeVideo)!验证(conn.isActive)

我也尝试使用其他一些AVCaptureDeviceFormats,它们工作:

只有具有最高 ISO 的格式不起作用。这种格式有什么特别之处?

我需要手动创建一个 AVCaptureConnection 吗?但是已经有联系了;它只是不活跃。

这是在运行 iOS 10.3.3 的 iPhone 7 Plus 上。如何在不使用会话的情况下通过设置 activeFormat 以特定格式录制视频?

如果我没有分配给 activeFormat,而是使用 sessionPreset,它确实会成功录制视频。


还有其他关于此错误消息的问题,但这不是他们的骗局,因为我特别需要在不使用预设的情况下捕获视频。

0 投票
2 回答
1374 浏览

xamarin - Set the Video Codec to H.264 when using an AVCaptureMovieFileOutput instance? Xamarin

Need help setting the video codec to H.264 when using an AVCaptureMovieFileOutput instance.

Looking at the Apple Docs I see that they support a struct of type AVVideoCodecType, however, I'm not seeing this in the Xamarin.iOS Docs.

Help would be much appreciated as I don't want to have to rewrite the Video Capture logic to use AVAssetWriter.

0 投票
0 回答
823 浏览

ios - 在上传到服务器 Swift 之前旋转保存的视频

我需要以 mp4 格式录制视频并发送到 AWS 服务器。下面是用于相同的代码。

视频以横向模式录制并保存到临时文件夹。视频以横向模式保存,并以纵向模式播放。我想在发送到服务器之前将视频旋转 90 度。请提供一个快速代码来旋转视频。

我发现了与 Objective C 代码类似的帖子。任何快速代码都是非常可观的。

0 投票
1 回答
1078 浏览

ios - 如何在 CVImageBuffer 内的每个捕获帧上叠加视图,实时而不是后期处理

我设法设置了一个基础AVCaptureSession,它可以录制视频并将其保存在设备上AVCaptureFileOutputRecordingDelegate。我一直在搜索文档以了解我们如何在正在录制的视频之上添加统计信息覆盖。

IE

在此处输入图像描述

如上图所示。我在视频预览层顶部有多个叠加层。现在,当我保存视频输出时,我也想将这些视图合成到视频中。

到目前为止我尝试了什么?

  • 老实说,我只是在互联网上四处寻找一个有信誉的博客来解释如何做到这一点。但没能找到一个。
  • 我已经阅读了一些可以通过创建并将其添加为子层来呈现文本层叠加层的地方,如下面的帖子中所述。CALayer
  • 但是,如果我想MapView在正在录制的视频之上渲染呢?另外,我不是在寻找屏幕截图。屏幕上的某些内容不会成为最终录制的一部分,因此我希望能够挑选将要组合的视图。

我在找什么?

  1. 方向。
  2. 没有直接的解决方案
  3. 文档链接和类名我应该阅读更多关于创建它的信息。

到目前为止的进展:

我已经设法理解我需要从中获取CVImageBufferCMSampleBuffer在其上绘制文本。我仍然不清楚是否有可能以某种方式将 MapView 覆盖在正在录制的视频上。

0 投票
1 回答
614 浏览

swift - 停止录制视频后调用委托方法

当我手动停止录制视频时,使用stopRecording()的实例的方法AVCaptureMovieFileOutput,它将调用fileOutput(_:didFinishRecordingTo:from:error:)的委托方法AVCaptureFileOutputRecordingDelegate。但是当我使用自动停止视频时maxRecordedDurationcaptureOutput(captureOutput:didFinishRecordingToOutputFileAtURL:fromConnections:error:)将调用委托方法,我在 developer.apple.com 网站上找不到此方法文档。

还有另一种方法capture(_:didFinishRecordingToOutputFileAt:fromConnections:error:)

AVCaptureFileOutputRecordingDelegate文档上只有fileOutput方法,没有任何关于captureOutputcapture方法的内容。

是否有一种方法可以处理其中的输出文件并在任何情况下都会被调用?这样我就可以用一种方法处理输出。

0 投票
1 回答
1906 浏览

swift - 从 AVCaptureMovieFileOutput 获取图像而不切换

我想防止应用程序在视频录制和拍照之间切换时出现延迟:仅使用 AVCaptureMovieFileOutput 并在捕获图像时从中获取快照。

就像 SnapChat 一样。

有可能吗?我还没有找到任何与此相关的文章。

我不想在输出之间切换,因为它滞后

编码: