问题标签 [avassetwriter]

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 投票
2 回答
2025 浏览

ios4 - iOS 内存泄漏使用 AVAssetWriter 从图像创建视频


我是 iOS 开发和 stackoverflow 的新手,所以如果我的代码看起来不那么好,请多多包涵。

我已经使用 ARC 设置了一个测试应用程序,并使用AVAssetWriter我的应用程序包中的图像创建了一个视频。一切都按预期工作,并且视频可以正确创建,但是当我使用 Instruments 分析我的应用程序时,我得到了内存泄漏,我真的不知道如何修复,因为我在 Detail 视图中看不到与我的代码相关的任何内容(所有泄漏的对象都是 Malloc 并且负责的库是VideoToolbox)。

这是我在视图控制器类中开始编写视频时调用的方法:


这是我用于获取像素缓冲区以附​​加到在前一个方法中实例化的像素缓冲区适配器的方法:

0 投票
1 回答
2984 浏览

ios - 为什么使用 AVCaptureSession、AVAssetWriter 和 AVPlayer 录制和回放视频会卡顿?

我正在尝试制作一个显示相机预览的应用程序,然后在某些情况下开始通过语音输入录制它,最后重复录制的电影。

我已经编写了用于预览/录制/重放的类和管理它们的协调的控制器。

似乎这些功能在独立调用时可以完美运行,但是我无法让它们一起工作:重播视频时,声音会运行,但图像需要大约五秒钟才能显示,然后出现卡顿。

这是我的代码:

预览:

记录:

播放:

0 投票
2 回答
2512 浏览

iphone - .wav 到 AVAssetWritter ios 的任何压缩形式

那么我现在面临的问题是尺寸问题。我允许用户从他们的音乐库中选择一首歌曲,然后将其切成碎片,然后能够在启用文件共享的计算机上使用 .wav 或 .mp3 文件。基本上我正在使用以下 AVAssetWritter 选项,并且我不断得到一个巨大的音频文件。EG 5 分钟的音乐大约是 50MB。我希望尝试将其减少到给定标准尺寸的行业。我有一种感觉,这与我使用 LinearPCM 作为我的选项之一有关,但是当我更改该选项或任何音频选项时,作者无法编写。我还在更改 AVAssetWritter 上的 FileType 参数。这是我的代码,它工作得很好,我只需要找到压缩或缩小文件。

任何有关压缩或使用我的 AVAssetWritter 写入不同编解码器而不是 WAVE 或 CoreAudioFormat 的帮助将不胜感激。

编辑:如果有办法直接从音乐库转到 .m4a 而不是 .wav 这将是我想采用的理想方法!

谢谢,尼克

回答

这是 .m4a 的正确音频选项,如果您希望用户将其视为 .mp3 或 .wav 文件,只需将它们附加到文件名的末尾!

0 投票
1 回答
3475 浏览

ios - AVAssetWriter 不录制音频

我无法在 iPhone 上使用 avassetwriter 将音频录制到视频中。我可以在手机上从相机录制视频没问题,但是当我尝试添加音频时,我什么也得不到,而且相册应用程序中视频中显示的持续时间也显示出一些非常不正常的东西,一个 4 秒的视频会显示 15:54:01 或类似的内容,即使视频更短,在该数字之后制作的每个视频都会增加。我一直在尝试关注我在其他问题中看到的内容,但没有运气。

这是我设置音频输入的方式

这是我如何设置 AVAssetWriter

然后这是我如何使用 audioOutput 回调发送的 CMSampleBufferRef 编写音频样本缓冲区

非常感谢任何帮助,我整天都被困在这上面。

0 投票
1 回答
3390 浏览

iphone - AVCaptureSession 只有视频缓冲区

我正在尝试从 iphone 摄像头捕获视频和音频,并由 avassetwriter 作为视频文件输出,但输出视频文件仅包含带音频的第一帧。我检查了 AVCaptureSession 委托方法,

似乎只有委托方法一开始只有一个视频样本缓冲区,然后像跟随日志一样一直接收音频样本缓冲区。

以下是我如何设置音频/视频输入和输出的代码:

//初始化视频和音频捕获设备组件 NSError *error = nil;

这是我设置 AVAssetWriter 和 AssetWriterInput 的代码:

开始抓包的代码

来自 AVCaptureSession 委托 captureOutput 方法的代码:

0 投票
2 回答
1464 浏览

iphone - AVAssetWriter 提供蓝色视频文件

我正在使用 AVAssetWriter 类从我的应用程序屏幕重新编码视频。视频记录。但重新编码的视频是蓝色的。我设置 AVAssetWriter 的代码如下

我的代码中是否有任何错误。我怎么解决这个问题

0 投票
1 回答
724 浏览

ios - AVAssetWriterInput 可以通过 Core Audio 进行实时音频吗?

我希望调整 AVFoundation 来做一些看起来应该可行的事情,但我在任何地方都找不到我的场景的任何支持或示例。

我需要从前置摄像头获取视频并将其与来自 Core Audio 的音频结合起来。

我的代码可以解决从相机中获取视频并将其与麦克风中的音频相结合的常见情况,并且效果很好。这主要改编自 RosyWriter Apple 示例代码。

但是,我找不到任何方法来使用来自 Core Audio 的实时音频流,从中创建一个 AVAssetWriterInput,并将其作为输入添加到我的 AVCaptureSession。我发现与设置 AVCaptureInput 和 AVAssetWriterInput 有关的所有资源都围绕着使用设备初始化它们并实时从设备中获取媒体——但我并不是试图从设备获取音频。

有没有办法创建一个 AVCaptureInput,告诉它期待某种 ASBD 格式的数据,然后从我的 Core Audio 回调中给它那个数据?我不想将数据写入磁盘然后从磁盘读取数据——我怀疑这会很慢。似乎应该有一个解决方案,但我找不到。

我只想说我有代码可以从我用来包含音频的 AudioBufferList 对象中创建 CMSampleBuffers。我检查了 CMSampleBuffers,它们似乎包含有效的数据帧,但是当我将该数据发送回我修改后的 RosyWriterViewProcessor“writeSampleBuffer:ofType:”时,它似乎可以正确写入(我没有收到错误)但是当我打开视频文件完成后我只看到视频而听不到任何音频。

有人对如何完成我想做的事情有任何提示吗?

这是我一直在使用的标准 ASBD:

除非有解决方案,否则我有单独的视频和音频文件,我认为我可以使用 AVComposition 将它们拼凑在一起,但我宁愿不走这条路,因为我的视频和音频文件经常有不同的长度,我不想战斗伸展一首曲目或另一首曲目只是为了将它们组合在一起 - 它甚至可能最终不会同步!我宁愿在 AVCaptureSession 中设置所有内容,并让 AVFoundation 为我完成交错所有内容的艰苦工作。

0 投票
1 回答
2355 浏览

ios5 - 如何合并视频和音频文件?

我的问题是:如何合并持续时间几乎相同的视频和音频文件?

我搜索并得到了这个问题的一些答案。但是,当我尝试他们提供的代码时,它不会产生“非零字节”电影。

你能看一下它,看看它哪里出错了吗?

0 投票
1 回答
1023 浏览

objective-c - 使用 AVCaptureSession 仅录制音频

我想使用 AVCaptureSession 录制音频,并且只录制音频(没有视频)。我遵循了 RosyWriter 示例(删除了所有有关视频的代码),但是当我为音频创建 AsseWriter 时,我遇到了 hte 行错误:

错误是:无效的文件类型UTI ...

captureURL 如下:

你知道如何解决吗?我尝试使用 kUTTypeMP3 或 kUTTypeMPEG4Audio 但没有任何改变。

我尝试仅使用音频,因为我需要执行 AVCaptureSession 并将音频与视频分开以将它们单独发送到服务器。

我对任何可以帮助我的代码示例感兴趣。

谢谢你的帮助

0 投票
2 回答
2272 浏览

iphone - 从图像数组创建视频的问题

我使用以下代码从图像和音频数组(预先录制)生成视频..

我发现其中一个视频文件是通过该方法创建的,writeImageAndAudioAsMovie但它支持我机器中的任何播放器......我不知道我错过了什么?任何建议请......