问题标签 [avmutablecomposition]

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 回答
5137 浏览

ios - 使用 AVMutableComposition iPhone

我正在使用下面的代码,按顺序流式传输两个视频。但它没有在模拟器中显示任何视频,它完全是空白的。

另外我怎么能通过这两个视频寻找。比如,如果一个视频是 2 分钟,第二个是 3 分钟。现在我需要获取这些视频的总时间并通过它们进行搜索。当我将滑块滑动到 4 分钟时,第二个视频应该从第 2 分钟开始播放。

可能吗?

谁能告诉我我的代码有什么错误?

0 投票
1 回答
200 浏览

iphone - 在 PhotoLibrary iPad 中没有得到结果电影

我正在用一组图像和一个音频文件创建一个电影,并将创建的电影保存到照片库中,在模拟器中我用我的图像和音频文件数组得到正确的电影,但是在设备中运行时我没有得到我的结果电影相反,我得到了我添加的视频(我在代码中使用的 OutPut.mov)来编写我的输出文件(混合音频和图像文件数组)。

这是我将混合音频和图像文件数组保存到照片库的代码:

0 投票
0 回答
343 浏览

iphone - 如何为使用 Objective c iPhone 创建的电影添加效果(如 CurlUp、CurlDown 等)

我已经使用 AVAssetWriter、AVMutableComposition 和图像数组和音频歌曲创建了一部电影,我将其保存到照片库中......知道我想在创建电影时为该图像添加效果......

是否可以在创建电影时为图像添加效果(如 CurlUp、CurlDown 等),如果可以,请提供答案。

0 投票
0 回答
1510 浏览

objective-c - AVMutableComposition 在第三个剪辑后重播时出现黑屏

在我的应用程序中,我试图动态合并视频剪辑。我有两个属性保存上一个记录,然后将下一个记录附加到末尾。这基本上是作为一个暂停功能,然后用户可以即时播放。

我让应用程序将第一个剪辑写入 docs 目录中的“video.mp4”。这被设置为先前的记录。然后我将下一个剪辑写入“video2.mp4”,将其设置为下一个录制,并使用 AVMutableComposition 将它们合并在一起:

这会附加第一个和第二个视频。然后我将视频导出到“combined.mp4”,当这成功完成后,我删除“video.mp4”处的文件,并将组合视频导出到“video.mp4”(所以此时组合视频存在在两个地方)。这在我的播放器中播放良好。如果用户再次点击录制,则将“video.mp4”处新组合的视频设置为上一次录制,将新录制的剪辑设置为下一次录制,重复整个过程。它们被附加并再次导出以重复该过程。

但是,一旦我添加了第三个(或更多)剪辑,创建的合成中的第一个剪辑就会在播放中变黑。它们的持续时间仍然保持不变,但没有视频或声音。基本上,每当我从旧作品创作新作品时,第一个作品都是空白的,然后唯一保留的就是它们的持续时间和新的录音。当组合物被制成另一个组合物时,这些数据是否会丢失?我需要手动将它们添加为曲目吗?任何帮助表示赞赏!

解决了

我阅读了 Apple 的 AVEditDemo,似乎我最初的假设是正确的——当我单独使用 AVMutableComposition 将视频附加在一起时(也就是不创建单独的轨道文件并合并它们),这些轨道的数据在添加到另一个时丢失了作品。

所以我只是为每个剪辑的音频和视频创建了单独的轨道来合并它们,现在我有一个工作设置,我可以动态地拍摄视频,停止,然后再次开始拍摄,它们将在运行中连接起来。

0 投票
1 回答
900 浏览

iphone - 无法让 AVMutableComposition 循环播放

适用于 iOS 的 Xcode

我遇到的问题是播放 AVMutableComposition。我正在创建组合,然后在 for 循环中将 AVURLAssets 添加到它。我正在添加所有内容,就像我将类似地将对象添加到可变数组中一样,然后尝试在之后播放它,但没有播放。这是我的代码:

我假设我完全错了,但是我在循环中而不是之后添加了这个,在 if 中并打开一个 NSRunLoop 来检查(有点糟糕,但这只是为了测试!):

在这里,我只是给了我的数组 4 个元素,并让它在第 4 次运行时播放合成。它工作并以完美的顺序播放了我的 4 个音频文件。

我需要做什么才能使我的作曲在这个循环之后而不是在循环中播放?我是否误用了系统?

编辑:通过将我打开的 RunLoop 代码粘贴到最后,它会播放。我应该这样做,还是有更好的方法来做到这一点?

0 投票
3 回答
9459 浏览

objective-c - AVMutableComposition 旋转视频

我最近发现了一个使用 AVMutableComposition 的问题,我正在寻找对此的一些见解。

我希望能够以两个方向录制视频 - 横向和横向。当我以横向方式录制视频时(主页按钮在右侧),它们会被添加到合成中并以正确的方向播放。但是,如果我以左方(左侧的主页按钮)录制它,这些剪辑会颠倒播放。

但是,如果它们被插入到作品中,它们只会被颠倒播放。否则,他们会以正确的方向播放。为什么构图反转了横向拍摄的剪辑的旋转?我怎样才能解决这个问题?任何帮助表示赞赏!

0 投票
1 回答
250 浏览

objective-c - Facebook不尊重AVMutableCompositionTrack上的preferredTransform标志

我有一个 AVMutableComposition 轨道,我正在旋转 180 度,如下所示:

这很好用,当我查看视频或上传到 YouTube 时,它​​会正确旋转。但是,当我将视频上传到 Facebook 时,视频是颠倒的——Facebook 似乎并不关心/阅读 preferredTransform 标志。

谁能建议我如何解决这个问题?只是为了获得更多信息,我正在使用适用于 iOS 的 Facebook SDK 来上传视频。

先感谢您 !

编辑实际上,这似乎是 Facebook 或 Facebook sdk 上的一个错误。如果我旋转 90 度,它就可以工作。如果有人可以阐明任何问题,请这样做。

0 投票
1 回答
849 浏览

ios - 在 AVMutableVideoComposition 中创建一个按时间间隔更改的 CATextlayer

我有一个应用程序,允许用户以可变组合录制视频。我想设置一些会出现的文本,然后以我在导出后用户播放它时设置的间隔更改。

例如,如果第一个单词是“dog”,那么我想设置它,以便“cat”在 X 秒后替换该字符串,然后在 X 秒后被另一个单词替换。

我的视频是使用 AVExportSession 从 AVMutableComposition 导出的,我的文字将使用添加到其中的 CATextlayer 添加,如下所示:

我的问题是:如何使文本更改为我设置为我指定的字符串的间隔?

任何建议将不胜感激。

0 投票
2 回答
3989 浏览

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

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

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

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

谢谢。

0 投票
1 回答
551 浏览

ios - AVMutableCompositon AVMutableCompositionTrack m4a 问题

我能够使用下面的代码成功创建一个播放声音的简单应用程序。然而问题是,如果我将资产从 mp3 更改为 m4a(使用 aac 编码)。不会产生声音,但乐曲的持续时间与添加样本的长度相匹配。

任何人都可以帮忙吗?