问题标签 [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.
ios - 如何使用委托方法从捕获会话中提取视频?
我正在尝试学习相机如何快速工作,所以我创建了一个简单的 viewController 设置会话、输入和输出实例,然后开始录制,但是视频的长度始终为零并且 AVCaptureOutput.isRunning 始终错误...这是我的代码
我可以正常在视图层上看到来自相机的输入视频,但是当我点击录制按钮时似乎没有任何效果,委托方法立即打印出录制的持续时间为零,并且@objc func startRecording(button: UIButton)
从不打印出“录制即将停止"但总是"录制即将开始"..
我应该在方法上放哪个网址output.startRecording(to: url, recordingDelegate: self)
?一旦数据进入委托方法,我有点困惑为什么我需要指定这个 URL 我应该在那里放什么?
我在这里想念什么?
提前谢谢你的回答!!
ios - iOS 12 Swift 将 TrueDepth 数据保存到视频
我一直在尝试将 TrueDepth 数据编写为快速电影。我已经检查了来自https://developer.apple.com/documentation/avfoundation/cameras_and_media_capture/streaming_depth_data_from_the_truedepth_camera的示例 我知道可以使用AVCaptureMovieFileOutput()输出快速电影,但我不知道如何实现这一点。我一直在尝试做一些简单的事情,例如将前置摄像头的捕获会话保存到快速时间。任何帮助将不胜感激。这是我到目前为止所拥有的:
swift - 在 Swift 中录制视频时如何添加叠加层?
我正在尝试使用AVFoundation
. 这行得通。我还尝试在视频中添加叠加层,例如包含日期的文本标签。
例如:保存的视频不仅是相机看到的,还有时间戳。
这是我保存视频的方式:
我有movieOuput
一个AVCaptureMovieFileOutput
. 我的预览图层不包含任何子图层。我尝试将时间戳标签的图层添加到 previewLayer,但这没有成功。
我已经尝试过Ray Wenderlich 的示例以及这个堆栈溢出问题。最后,我也试过这个教程,但都无济于事。
如何在相机胶卷中保存的视频中为我的视频添加叠加层?
ios - AVCaptureSession - 并行添加多个输出
我正在尝试将捕获的帧记录为视频,同时同时对帧执行图像处理任务。
我有一个 AVCaptureSession,我添加了两个单独的输出到 -
- AVCaptureVideoData输出
- AVCaptureMovieFile输出
我确认了AVCaptureVideoDataOutputSampleBufferDelegate和AVCaptureFileOutputRecordingDelegate
我captureOutput(_ output: AVCaptureOutput, didOutput sampleBuffer: CMSampleBuffer, from connection: AVCaptureConnection)
用于帧捕获和分析以及func fileOutput(_ output: AVCaptureFileOutput, didStartRecordingTo fileURL: URL, from connections: [AVCaptureConnection])
视频录制
出于某种原因,每种方法都单独工作,但是当我添加两个输出时,只有视频录制工作并且根本不调用“captureOutput”函数。
任何想法为什么会发生这种情况,我做错了什么?或者在设置和配置会话时我应该确保什么?
swift - iOS:达到 maxDuration 时,AVCaptureSession 没有音频
今天我对 AVCaptureSession 有疑问。
我的问题是,当我将 MaxRecordedDuration 设置为 23 秒时,如果达到 23 秒并且录音机仍在录音,那么它将因错误而停止。我对这个过程中发生的事情没有任何问题,但是达到最大录制持续时间后的视频不包含任何音频!这就是我设置 maxDuration 的方式:
我得到的 Fileoutput 错误代码是“-11810”,消息是“Recording Stopped”,虽然我得到一个错误,但我也收到了 outputFileURL。
在尝试提供帮助之前要考虑的一件事,只有在达到最大持续时间时才会丢失音频。
swift - AVCaptureMovieFileOutput.startRecording(to:recordingDelegate:) 有时挂起且没有错误/异常
我正在使用 AVCaptureSession 从 macOS 设备录制 iPad 屏幕。录制时间长,我AVCaptureMovieFileOutput.startRecording(to:recordingDelegate:)
习惯根据特定条件开始新的录制。(除非我想停止录制会话,否则我不会使用该stopRecording()
方法,这是为了确保录制文件之间没有丢失数据)
现在,它不会以一致的模式发生,但有时整个应用程序会冻结,当我暂停它时,我总是看到应用程序在此方法处停止执行。(具体在0x7fff2b6deb22 <+598>: movq (%r14,%r12), %rax
)
我现在可以用这些信息做什么,有什么可能的方法可以防止这种情况发生?我还需要把它放在上下文中吗?
该方法在委托startRecording
中被调用,如下所示:captureOutput
swift - 如何裁剪由 AVCaptureMovieFileOutput 录制的视频?
我制作了 CustomCamera,它将视频录制到全屏(通过将 AVCaptureVideoPreviewLayer 的 videoGravity 设置为 resizeAspectFill)并使用 AVCaptureMovieFileOutput 保存录制。录制效果很好,但是当我将录制的视频保存到图库时,它没有全屏播放。它的顶部和底部都有黑条。因此,在录制时,由于 resizeAspectFill,它会以全屏显示,但在导出视频后,会在没有任何转换的情况下导出视频,因此它会按照录制的比例播放(我猜)。我试图使视频导出全屏的代码如下,但它不起作用。
ios - 基于 TensorFlow 示例 Swift 录制和播放视频
#定义更新
我意识到我忘记请求录音许可了。现在已经解决了。但是,当我按下“录制按钮”时,我得到了错误Cannot create file
。所以当我开始录制时,路径可能有问题?
#UNDEF 更新
我正在开发一个应用程序,我想在其中拥有自己的神经网络,并具有开始录制视频的功能。此后我想播放视频并使用来自神经网络的信息。
我在 Android 中有一个工作功能,现在我正在尝试为 iPhone 制作类似的东西。作为开始,我使用了ImageClassifierExample
from TensorFlowLite
。第一个任务是添加一个Record
开始录制视频的按钮,然后添加一个Play
播放视频的按钮。
我已经实现了这两个功能,但是当我尝试播放视频时,它只是在加载。可能是录制不工作,或者视频播放器不工作(或两者兼而有之)。我已经检查过,所以路径是相同的。
我对iOS开发不太熟悉,所以一些帮助会很好。
这是我开始的基础。
这是我略微采用的ViewController
:
CameraFeedManager
:
玩家控制器:
ios - AVKit 与 Swift 一起使用,但没有创建文件。为什么?
这是一些尝试在 Swift 中使用 AVKit 将视频录制到文件的简化代码。没有抛出错误,但检查时不存在文件。我遗漏了什么?
我尝试了几种不同的变体,结果都一样。没有创建文件。