问题标签 [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 投票
1 回答
2127 浏览

ios - 使用 AVAssetExportSession 在 iOS 7 中修剪音频文件会给出错误的持续时间

我有一个要求,允许用户在提交到服务器之前修剪音频文件。修剪功能在 iOS 6 中运行良好,而在 iOS 7 中则不行。

这发生在 iOS 7 中,当用户从 iTunes 库中选择一首歌曲并开始修剪时。它显示为修剪。修剪后创建的新文件播放到修剪和休息将是空白的。持续时间也显示原始歌曲的持续时间。并非所有文件都会发生这种情况。它仅发生在某些文件中。我也检查了 exportable 和 hasProtectedContent 。两者都有正确的值(可导出 - 是,hasProtectedContent - 否)。我能知道 iOS 7 中可能出现的问题吗?

我正在粘贴修剪音频文件代码以供参考

谢谢

0 投票
2 回答
424 浏览

ios - Music convert and how to know if writing are completed

i had to convert big file size song from iTunes library to a smaller 8K song file.

As i did the converting async, the bool always return true even though writing to doc folder are not completed. At the moment i'm using a delay of 10sec before i called the function again and it works fine on the interim for iPhone 5s, but i would like to cater on the slower devices.

kindly give me some pointer / recommendation on my code.

0 投票
1 回答
1577 浏览

ios - AVAssetExportSession 和淡入淡出效果

我正在使用 AVAssetExportSession但无法在保存的文件中实现淡入淡出效果来修剪音频文件。这是我正在使用的代码。

我不知道我错过了什么。任何帮助表示赞赏。

0 投票
2 回答
18802 浏览

ios - 使用 AVFoundation 裁剪 AVAsset 视频

AVCaptureMovieFileOutput用来录制一些视频。我显示了预览层,使用AVLayerVideoGravityResizeAspectFill它稍微放大。我遇到的问题是最终视频更大,包含在预览期间不适合屏幕的额外图像。

这是预览和生成的视频

在此处输入图像描述 在此处输入图像描述

有没有一种方法可以指定CGRect我想从视频中剪切的内容AVAssetExportSession

编辑 - -

当我对它应用 aCGAffineTransformScale时,AVAssetTrack它会放大视频,并用它的AVMutableVideoComposition renderSize设置view.bounds裁剪掉末端。太好了,只剩下1个问题了。视频的宽度没有拉伸到正确的宽度,它只是被黑色填充。

编辑 2 ---- 建议的问题/答案不完整..

我的一些代码:

在我的- (void)captureOutput:(AVCaptureFileOutput *)captureOutput didFinishRecordingToOutputFileAtURL:(NSURL *)outputFileURL fromConnections:(NSArray *)connections error:(NSError *)error方法中,我可以裁剪和调整视频大小。

0 投票
2 回答
2215 浏览

ios - 带有指令的 AVAssetExportSession 使黑屏

我正在尝试将 2 个音频文件和 1 个视频文件合并到 1 个 .mov 文件中。我用下一个代码实现了这一点:

我的第一个任务是处理我的新视频 90 次旋转。当我包含mainCompositionInst在我的代码中时,我的新视频有所有声音,但它有一个黑屏并且仍然没有旋转。如果我不使用任何说明,它可以正常工作。也许我的代码有错误,也可能没有。你会给我什么建议?

0 投票
1 回答
237 浏览

ios - 我可以使用图像作为 iOS 上音频剪辑的海报框架吗?

我正在使用 AVMutableComposition 和 AVAssetExportSession 将几个离散的音频剪辑/文件合成到一个文件中,类似于这篇文章,但不会有“视频”轨道。我想使用静止图像给轨道一些视觉吸引力,这样当用户播放剪辑时,他们不仅会看到通用的快速图标,理想情况下我会用品牌或与音频内容相关的东西替换图像. 我将如何去做,有没有办法在不显着增加文件大小的情况下做到这一点(即某种方式可以使帧速率非常慢,或者只是因为它不会为非移动艺术生成 30 fps。)感谢任何帮助对此。

0 投票
1 回答
2241 浏览

ios - AVAssetExportSession 失败 - 合并 2 个 WAV 文件(iOS7)

我正在尝试在 iOS7 下使用 AVAssetExportSession 合并 2 个 WAV 文件。我已经确认文件在那里并且似乎没有损坏或任何东西。这些是从设备本身录制的 WAV 文件,它们是相对较小的文件。

当它调用 exportAsync 方法时,它立即失败,并在完成块中立即出现“操作已停止”错误(原因描述为:“此媒体不支持该操作”)。这发生在模拟器和设备本身中。请参阅下面的我的导出代码:

我还确认“avError”永远不会被填充,因此插入 timeRanges 或创建导出会话似乎没有问题。我对资产进行了检查,它们都是可读的、可播放的和可导出的(根据 obj 上的布尔值)。

我在这里遗漏了一些明显的东西吗?此代码适用于 iOS6。如果我需要提供更多信息,请随时告诉我,并提前感谢您提供的任何指导!

编辑#1:我尝试添加跟踪机制,类似于这篇文章的内容:AVAssetExportSession - Join 2 mp4 files in IOS,但没有运气,同样的问题。另外,如果需要知道,当我从 WAV 切换到 CAF 时也会发生同样的错误。这是我supportedFileTypes在尝试使用任何音频类型格式时打印出的结果:

由于音频格式在那里,并且导出器为可导出、可播放和可读的两种资产返回 YES,我看不出它为什么会因此类错误而失败。

编辑#2:一些额外的信息——即使我将代码剥离到最低限度,只需从 NSURL 创建一个 AVAsset,然后使用 passthrough 预设将其提供给 AVAssetExportSession,它仍然在 iOS7 中失败。这里一定有我想念的东西。

我用视频(mp4)文件测试了这个相同的代码,它在 iOS7 中完美运行。我使用相同的代码并针对 WAV、CAF 和 M4A 文件进行了调整,但每次都失败并显示“此媒体不支持该操作”。错误。

这是Apple代码中的错误,还是我们甚至可以在iOS7中使用音频文件来做到这一点?我在 Apple 的“iOS7 中的新增功能”文档的 AV Foundation 部分中没有看到任何关于此的具体内容,而在 iOS6 中,这似乎工作正常。我可能会在这方面与苹果公司合作。

0 投票
1 回答
802 浏览

avassetexportsession - AVAssetExportSession 在录制结束后添加元数据

用例是这样的:使用 AVCaptureFileOutput 录制视频并将其保存在临时位置。录制完成后,一些元数据将添加到该视频中,并以新文件名保存在新位置。

记录部分正在处理存储在临时位置的文件。现在我必须重命名它,添加元数据并再次将其保存到不同的位置。

1)我可以在以下位置编辑元数据:

代理方法?

2)我的第二种方法是使用 AVAssetExportSession 来做到这一点。

如何使用这种方法我收到以下错误:

导出到 [///var/mobile/Applications/7F9BC121-6F58-436E-8DBE-33D8BC1A4D79/Documents/Temp/final.mov] 错误域=AVFoundationErrorDomain Code=-11800“操作无法完成”UserInfo=0x1555f440 { NSLocalizedDescription=操作无法完成,NSUnderlyingError=0x1555c7a0“操作无法完成。(OSStatus错误-12780。)”,NSLocalizedFailureReason=发生未知错误(-12780)}

有人可以告诉我我在这里做错了什么吗?还是有更好的方法来做到这一点?

0 投票
1 回答
3462 浏览

ios - 如何在 AVMutableComposition 中使用多个轨道

请看下面的代码。我正在尝试添加第二个轨道,以便在背景视频之上覆盖一个较小的视频。但是我只能让背景视频显示在最终导出的文件中。我究竟做错了什么?以及如何控制音轨的顺序,即合成的分层?

0 投票
1 回答
1139 浏览

objective-c - cpu空闲时AVAssetExportSession非常慢

录制视频后,我需要应用一些操作UIImagePickerController

  • 应用用户选择的修剪
  • 将其转换为 MP4
  • 如果它是用 iPad 倒置/倒置录制的,则旋转视频

我为此使用 AVAssetExportSession,但即使我不修剪、不旋转并转换为 MP4 或 QT(这是输入格式),720p 视频的导出时间也很长(例如,iPad3 上 80 秒的视频需要 50 秒) )。

我虽然首先这是一个 CPU 密集型操作,但如果我分析应用程序,CPU 仅在第一秒开始时处于活动状态,然后长时间处于空闲状态。如果我启动活动监控,我已经mediaserverd使用了 40%。

你认为这是一个正常的过程吗?难道我做错了什么 ?“照片”应用可在不到 1 秒的时间内捕捉和修剪长视频...