- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
借助 iOS4 中包含的 AVFoundation 中的新视频功能,可以使用 AVCaptureVideoDataOutput 访问相机捕获的原始视频帧。
我想在这些帧上叠加文本和其他信息,然后将它们输出到一个电影文件中,该文件在某个时候将保存到 Assets 库中。
不幸的是,Apple 似乎并没有为我们提供一种将这些帧保存到电影文件的简单方法。
将帧保存到与 Assets 库兼容的电影文件中有哪些选项?
有什么方法可以仅使用 iPhone SDK 来完成此任务吗?
如果不是,有哪些第三方库与 iPhone 兼容并可用于实现此目的?
最佳答案
您现在可以使用 AVAssetWriter
将帧保存在您的 AVCaptureVideoDataOutput
这是一个如何在 Swift 4 中使用 AVAssetWriter
的例子:
assetWriter = AVAssetWriter()
let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first
let outputURL = URL(fileURLWithPath: documentsPath!).appendingPathComponent("test.m4v")
assetWriter = try! AVAssetWriter(outputURL: outputURL, fileType: .mp4)
assetWriterInput = AVAssetWriterInput(mediaType: .video, outputSettings: videoOutput.recommendedVideoSettingsForAssetWriter(writingTo: .mp4))
assetWriterInput.expectsMediaDataInRealTime = true
if assetWriter.canAdd(assetWriterInput) {
assetWriter.add(assetWriterInput)
} else {
print("no input added")
}
assetWriter.startWriting()
引用文档在这里:AVAssetWriter
我希望这对某人有所帮助,我现在也在经历 AVFoundation 的斗争。
关于iphone - 从 AVCaptureVideoDataOutput 视频帧保存电影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3238648/
我使用 AVCaptureVideoDataOutput 从相机检索图像并显示在 iPhone 显示屏上。我在使用 iOS8.4 的 iPhone 6 plus 上运行代码,效果很好。图像全屏显示。但
我正在使用 AVFoundation 框架用 iPhone 摄像头捕捉视频,我的代码: self.session = [[AVCaptureSession alloc] init]; ... s
我正在捕获视频并将其转换为 CGImage 来对其进行处理。它将工作约 10 秒,收到内存警告,然后崩溃(通常表示数据格式化程序暂时不可用)。有人可以帮我解决这个问题吗? - (void) captu
我正在编写一个应用程序,它对从 AVCaptureSession 中的 AVCaptureVideoDataOutput 获取的图像数据进行一些实时处理。 我目前能够启动 session ,添加输入和
无论如何使用 AVCaptureVideoDataOutput (或其他方式?)以每秒至少 30 帧的速度在 10 位 P3 颜色空间中获取 CMSampleBuffers?我可以将 AVCaptur
我有一个 layerRect 显示我的相机的图像是这样的: CGRect layerRect = [[videoStreamView layer] bounds]; [[[self captureMa
背景: 我使用 AVCaptureVideoDataOutput 与 AVCaptureSession 和其他各种 AV 工具配合来创建视频 session ,以便我可以创建相机 session 。我
如果我们使用 AVCaptureMovieFileOutput,我们有 recordedDuration 属性,它给出了录制视频的长度。 但是,对于使用 AVCaptureVideoDataOutpu
借助 iOS4 中包含的 AVFoundation 中的新视频功能,可以使用 AVCaptureVideoDataOutput 访问相机捕获的原始视频帧。 我想在这些帧上叠加文本和其他信息,然后将它们
我不确定我应该在方法中放入什么 - (void) captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSam
我正在使用 AVCaptureScreenInput 在 Mac 上尝试屏幕捕获,但从未调用 AVCaptureVideoDataOutput 委托(delegate) captureOutput,我
这就是问题所在。我正在使用 AVCaptureVideoDataOutput 从相机获取视频帧并使用 AVAssetWriter 从中制作视频。它工作正常,但我得到的视频是颠倒的,因为我的应用程序的设
我正在使用 AVCaptureSession 获取相机输出并成功添加了音频和视频输入和输出。 { var captureDevice = AVCaptureDevice.defaultDevi
根据this documentation ,AVCaptureVideoDataOutput 应该允许通过像素格式选项kCVPixelFormatType_128RGBAFloat 将图像捕获为 fl
我运行了一个 AVCaptureVideoDataOutput session ,设置如下,效果很好,并将缓冲区记录到文件中。 我还想录制音频,但缓冲区中似乎没有任何音频,即使我已将麦克风添加为 ca
Apple 最近的示例代码之一使用相同的串行队列从 AVCaptureVideoDataOutput 和 AVCaptureAudioDataOutput 委托(delegate)接收示例。我需要知道
我想保存视频流中的图像,我已将 session 预设设置为 AVCaptureSessionPresetPhoto,但我在设备上获得的分辨率非常低。我在 3GS 上进行测试,此预设返回 512x384
我正在使用 AVFoundation 从后置摄像头捕获视频,并希望在按下开始按钮时处理帧。问题是,在我按下开始按钮的那一刻,我从样本缓冲区中抓取帧并对其进行处理,但我得到的帧似乎是过去的帧,这意味着不
我正在向我的 AVCaptureVideoDataOutput 添加 key 。添加 key 时 AVVideoProfileLevelKey 系统抛出我 -> Failed to set (cont
我正在尝试通过设置 kCVPixelBufferWidthKey 和 kCVPixelBufferHeightKey 从 AVCaptureVideoDataOutput 捕获特定大小的帧。 问题是缓
我是一名优秀的程序员,十分优秀!