问题标签 [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 回答
2356 浏览

avfoundation - 使用 AVFoundation 创建 MPEG-2 传输流

我正在尝试创建一个格式正确的视频文件以用于 Apple 的 HTTP Live Streaming。这是创建文件的代码:

[self nextOutputURL]返回一个有效的NSURL,文件已成功保存到磁盘,我可以在 VLC 和 QuickTime 中打开和查看文件。在 VLC 中查看的视频格式是 'avc1' 我收集到的与 H.264 相同。在 QuickTime 中查看的视频格式是 H.264。文件的扩展名当然是 .ts。

看来我做的一切都是正确的,但是当我尝试使用 验证我的 HTTP Live 流时mediastreamvalidator,我收到以下错误:

任何人都知道我可能做错了什么?

0 投票
2 回答
1467 浏览

ios - 在使用 AVCaptureMovieFileOutput 保存之前修改 AVCaptureSession

用例:我想从相机捕获输入,在捕获的帧(和声音)之上绘制并将结果保存为 .mov 文件。

  • 我看到我可以使用 AVCaptureSession 捕获相机的输入。
  • 我可以使用 AVCaptureMovieFileOutput 将其保存到 .mov 文件中。
  • AVVideoComposition 可用于添加 Core Animation 进行播放。我假设也以某种方式录制?

问题:在将输入保存到文件之前,我看不到如何修改输入。

0 投票
1 回答
5078 浏览

ios - NSURL isFileURL 总是返回 NO

有人可以向我解释为什么下面的代码:

输出:

0

“/var/mobile/Applications/28ADFC19-874C-4304-94B5-F6441CAE9FAD/文档”

这意味着此 url 不是文件 URL。显然,它是。


背景:

我正在尝试使用 AVCaptureMovieFileOutput 将电影录制写入文件,但我证明的文件 url 给出了错误:

* 由于未捕获的异常 'NSInvalidArgumentException' 导致应用程序终止,原因:'* -[AVCaptureMovieFileOutput startRecordingToOutputFileURL:recordingDelegate:] - 无法记录到 URL /var/mobile/Applications/28ADFC19-874C-4304-94B5-F6441CAE9FAD/Documents/media/CrKNjNhe9so2LRnD9iHK .mov 因为它不是文件 URL。

对我来说,这看起来像是一个文件 URL,就像原始示例一样。是什么赋予了?

0 投票
1 回答
1586 浏览

iphone - 如何使用 AVCaptureSession 录制 mp4 文件?

我正在.mov使用AVCaptureMovieFileOutputwith录制AVCaptureSession。我想记录.mp4文件,我想这是不可能的AVCaptureMovieFileOutput,知道如何记录.mp4文件吗?

编辑:我用谷歌搜索发现,有一种方法AVAssetWriter,但它并不简单AVCaptureMovieFileOutput

谢谢

0 投票
2 回答
1396 浏览

ios - AVCaptureSession and AVCaptureMovieFileOutput frame timestamp

I am recording a movie with AVCaptureSession and AVCaptureMovieFileOutput. I am also recording acceleration data and trying to align the acceleration data with the video.

I am trying to figure out a way to get the time the video file recording started. I am doing the following:

However, according to my tests, the video recording starts 0.12 seconds before the call to startRecordingToOutputFileURL is made. I'm assuming this is because the various video buffers are already full of data which get added to the file.

Is there anyway to get the actual NSDate of the first frame of the video?

0 投票
3 回答
3336 浏览

ios - 获取 AvCaptureVideoDataOutput 的实际 NSString 可用VideoCVPixelFormatTypes

我正在尝试在 AVFoundation 输出中找到可接受的格式:

然后我在之后插入一个断点:

我明白了:

如何获取这些格式类型的字符串值?

谢谢

0 投票
2 回答
4663 浏览

ios - AVFoundation - 如何将 AVCaptureMovieFileDataOutput 保存到文件?

我一直在阅读AV Foundation Programming Guide。特别是,我一直在尝试让“媒体捕获”部分中的“将所有内容放在一起”部分工作。我对教程中的代码做了一些小改动,但没有什么影响太大。我对如何从 AVCaptureMovieFileDataOutput 实际保存电影文件感到困惑。我使用以下设置捕获会话:

我可能只是在开发人员文档中遗漏了一些我没有看到的东西,但我还没有看到如何真正让会话创建文件。有什么建议么?非常感谢!

0 投票
1 回答
1545 浏览

iphone - AVFoundation - 如何使用 beginConfiguration 和 commitConfiguration 更改 AVCaptureMovieFileOutput 设置?

AVCaptureSession's的 Apple 文档beginConfigurationcommitConfiguration

After calling beginConfiguration, you can for example add or remove outputs, alter the sessionPreset, or configure individual capture input or output properties.

我特别希望使用“配置输出属性”部分。特别是,我想使用原子配置更改来停止在一个 AVCaptureMovieFileOutput 上录制并开始在另一个上录制。不幸的是,这似乎不起作用。我具体尝试的是以下代码:

但是,从我放置在代码中的 NSLog 语句中,我看到第一个输出仍在记录中,而第二个输出在提交之后仍然没有。有什么想法可以让我完成这项工作吗?非常感谢!

0 投票
1 回答
990 浏览

iphone - 使用 AVCaptureMovieFileOutput 记录的时间差异

AVCaptureMovieFileOutput通过设置最大持续时间限制记录了一个电影文件。例如:如果我想录制 10 秒的视频,我已经为电影文件设置了最大持续时间和其他属性,如下所示......

但是录制的视频仅显示 9 秒(我使用 播放MPMoviePlayerController),为什么会有那个时差.. 如何准确录制 10 秒。我在设置最大持续时间时做错了什么。谢谢。

0 投票
1 回答
562 浏览

ios - 使用在设备的相机应用程序中听到的 AVCaptureMovieFileOutput 开始/停止录制视频时播放相同的声音?

我正在创建一个使用 AVFoundation 的相机应用程序。

当我用我的 AVCaptureStillImageOutput 对象拍照时,它会产生与默认相机相同的“快门”噪音,而我无需告诉 AVCaptureStillImageOutput 这样做,这很棒。

我想知道的是,是否可以让 AVCaptureMovieFileOutput 发出与用户通过相机应用程序开始/停止录制视频时听到的相同的“叮”声?

如果没有,我想我需要在应用程序的捆绑包中有自己的噪音,并在用户开始/停止录制时播放...

提前致谢!