问题标签 [avassetexportsession]

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 投票
4 回答
4668 浏览

ios - AVAssetExportSession 停止进行

我遇到了 AVAssetExportSession 的问题,其中进度停止增加,但状态仍然显示它正在导出。这实际上是一种非常罕见的情况,大约 99.99% 的时间它都可以完美运行,但我还是想解决这个问题。

所以我开始导出:

然后让计时器检查进度:

输出最终看起来像:

(注意:它不会每次都以相同的百分比停止,完全随机)

从时间戳中可以看出,前 88% 需要 5 秒,然后我让它再运行 13 分钟(完整的视频处理通常不会超过 10 秒),进度没有变化。

目前我唯一的选择是检查进度是否在最后 X 秒内没有改变,然后告诉用户它失败并重试。

有人有想法么?

0 投票
0 回答
2214 浏览

ios - AVAssetExportSession 错误 -11820 无法完成导出

我正在使用 AVComposition 将两个 .m4a 音频文件合并在一起。一个必须在特定时间插入另一个。然后我使用 AVAssetExportSession 来保存合并音频。

我在导出会话完成处理程序期间收到此错误:

代码 - 合并两个资产:

我不确定我应该粘贴什么其他代码,因为它是一个通用错误。

我正在使用 AVAssetWriter 编写示例缓冲区以创建从捕获会话接收到的录制资产。捕获会话成功地记录并保存到文件到上面列表中使用的 url 中。

0 投票
1 回答
4126 浏览

iphone - 为 AVAssetExportSession 创建时间范围

我想知道如何为AVAssetExportSession时间戳创建时间范围,例如:

我用于导出会话的代码如下:

谢谢你的帮助!

0 投票
2 回答
2022 浏览

avfoundation - 黑色视频 CAAnimation 和 AVFoundation AVAssetExportSession

我是整个 AVFoundation 视频编辑电路的新手。

我当前的测试应用程序是一个双屏应用程序,第一个屏幕执行 AVFoundation 视频录制 (1.mov),第二个屏幕让您查看视频并使用 CAAnimation 在其上添加一些标题学分。

1.mov 视频文件以纵向记录保存到磁盘,然后通过此例程运行,该例程应该在视频顶部给我一个标题。然而,我得到的只是一个尺寸正确的黑色视频,上面有 CATextLayer 的时间长度。

我很确定我缺少一些基本的东西。我确实有代码可以处理整个横向纵向旋转。

0 投票
4 回答
11522 浏览

iphone - AVAssetExportSession 的进度条

我有一个将一个导出AVMutableComposition.mov文件的应用程序,我希望用户使用进度条查看导出状态,就像发送短信或上传文件一样。

当我知道任务的持续时间(例如播放音频文件)时,我知道如何创建进度条,但由于没有设置导出的持续时间,我不确定如何继续。

我目前有一个活动指示器,但它不能提供最佳的用户体验。

有没有人有任何指示?

0 投票
4 回答
3419 浏览

ios - 某些文件的 AVAssetExport 失败

我试图从 iPod 库中导出音频文件。我的目标是使用此 iPod-Library 文件在 app Document 文件夹中创建新文件。它无法仅为某些项目创建文件。下面是我的代码片段。

尝试使用错误处理程序块时,出现如下所示的错误:

AVAssetExportSessionStatusFailed: Error Domain=AVFoundationErrorDomain Code=-11800“操作无法完成” UserInfo=0x214f20 {NSLocalizedFailureReason=发生未知错误(-12124),NSUnderlyingError=0x218270“操作无法完成。(OSStatus错误-12124 .)", NSLocalizedDescription=操作无法完成}

0 投票
2 回答
3989 浏览

iphone - 将多个视频资产添加到 AVMutableComposition

AVMutableComposition在使用AVAssetExportSession. 但是,当我尝试在第一个视频轨道之后立即添加另一个视频轨道时,我遇到了问题。1)播放第一个视频,并且在 mov 文件的持续时间内冻结其最后一帧(第二个视频永远不会播放)。2) 在第二个视频完全播放之前,会显示一个黑框。3)会话根本不会导出。

我通过调整视频资产各自的时间范围来获得这些不同的结果insertTimeRange:ofTrack:.. 方法。

有谁知道应该在这里调整什么?

谢谢。

0 投票
1 回答
2919 浏览

ios - 可变合成,在用帧制作的视频中添加音频时失去方向

我一直在做一个视频处理项目。到目前为止,我成功地过滤了实时摄像机源、捕获静止图像、从帧中录制视频、录制音频,并且最近成功地将音频添加到视频捕获中。

但似乎视频失去了方向 - 它应该顺时针旋转 90 度。我尝试使用 AVmutablevideocomposition,但无论我做什么,我都会收到以下错误:

[__NSArrayM objectAtIndex:]: 索引 0 超出范围为空数组';

似乎exportUrl正在发布或其他什么..我尝试替换exportUrl只是outputURL为了测试它很好..

有什么想法吗?

0 投票
5 回答
5528 浏览

objective-c - 为什么 AVAssetExportSession 会产生一个空文件?

我正在尝试从 UIImagePickerController 创建的源视频中导出 .mov 文件。问题是 AVAssetExportSession 创建的输出文件只有 668 字节。为什么会失败?我的代码:

0 投票
1 回答
443 浏览

ios - 如何将视频转码为 16:9 格式并改变比特率(可能还有 FPS)?

假设我使用从照片库访问视频UIImagePickerController,然后我想以 16x9 格式(例如 960x540、1280x720、1920x1080)导出它,但我还想控制比特率或每秒帧数或其他任何可以帮助减小导出视频的大小。我需要使用什么 API 来完成这些(至少)两个或三个维度(纵横比、比特率,也许是 FPS)?

我可以使用(我们已经在使用)AVAssetExportSession并且我们可以像AVAssetExportPreset960x540,AVAssetExportPreset1280x720AVAssetExportPreset1920x1080获得 16:9 的纵横比(并且在某种程度上控制大小,因为这些中的每一个都会产生不同大小的导出)。但我认为我不能同时控制比特率和 FPS 之类的东西。我必须使用不同的 API 吗?

在一个相关的问题上,我看到它AVAssetExportSession具有布尔属性shouldOptimizeForNetworkUse,它“指示电影是否应该针对网络使用进行优化”。这个优化包括什么?