jjzjj

AVComposition

全部标签

iOS/AVFoundation : How to eliminate (occasional) blank frames between different videos within an AVComposition during playback

我正在开发的应用程序通过以连续的间隔多次将相同的AVAssetTrack(从原始视频url创建)添加到相同的AVComposition来循环播放视频指定的次数。该应用程序通过从组合的AVMutableCompositionTrack(对于AVMediaTypeVideo)中“删除”时间范围并将新剪辑的AVAssetTrack插入到先前删除的时间范围中,类似地将新视频剪辑插入到现有组合中。但是,在将如上所述的新剪辑插入原始循环视频的重复时间范围内后,偶尔且很少见,会产生空白帧,这些空白帧仅出现在视频循环的过渡点(在合成内),但仅在播放期间-视频可以正确无间隙地导出。这让我相信问题出在AV

iOS:在 AV 视频上绘图,然后将绘图保存在视频文件中

我正在开发一款使用AVFoundation类录制和播放视频的iPad应用程序。我已经准备好基本记录/回放的所有代码,现在我想添加一个功能,允许用户在视频上绘制和注释——我相信这不会太难。更难的部分是将绘图和注释组合到视频文件本身中,我还没有找到任何示例。我怀疑这部分是用AVComposition完成的,但不知Prop体是如何完成的。非常感谢您的帮助。标记 最佳答案 我认为您实际上无法在iOS中将绘图保存到视频文件中。但是,您可以考虑使用单独的View来保存绘图并使用透明View将叠加层同步到视频上。换句话说,用户在视频中的3分42秒

ios - 尝试将 AVComposition 的 TimeRange 插入 AVMutableComposition 时出现错误 -11800

我正在使用仅使用音频的AVFoundation-即没有视频-并尝试将多个AVComposition一个接一个地连接在一起,最终得到一个单个AVComposition。示例:只有两个AVComposition。通过这样创建一个AVPlayer,他们每个人都可以很好地播放:_player=[AVPlayerplayerWithPlayerItem:[AVPlayerItemplayerItemWithAsset:comp]]comp是AVMutableComposition的实例。(顺便说一句,值得注意的是_player必须是一个ivar,否则ARC在播放之前会过早地释放它-花了一些时间来

ios - 水平翻转视频如果是这样它没有镜像效果

在我的自定义相机中,当我使用前置摄像头拍摄视频时,它会像原始iPhone相机一样产生镜像效果。我不想要那个。我想水平翻转视频,并在下面的这个函数中实现它。我有一个名为filmedWithFront的bool变量,当使用前置摄像头拍摄视频时该变量为真。varfilmedWithFront=falsefunccropVideo(_outputFileURL:URL){letvideoAsset:AVAsset=AVAsset(url:outputFileURL)asAVAssetletclipVideoTrack=videoAsset.tracks(withMediaType:AVMedi

ios - 使用 CMTimeMapping 寻求 AVComposition 会导致 AVPlayerLayer 卡住

这是问题的GIF链接:https://gifyu.com/images/ScreenRecording2017-01-25at02.20PM.gif我从相机胶卷中取出一个PHAsset,将其添加到一个可变合成中,添加另一个视频轨道,操作添加的轨道,然后通过AVAssetExportSession导出它>。结果是一个带有.mov文件扩展名的quicktime文件保存在NSTemporaryDirectory()中:guardletexporter=AVAssetExportSession(asset:mergedComposition,presetName:AVAssetExportPr

ios - AVPlayer resizeAspect 只能在 iPhone X 上正常工作

resizeAspect因为视频重力只适用于我,当使用iPhoneX时。由于某些原因,黑色纵横条仅添加到顶部而不是底部。这是我不使用iPhoneX时的样子(图片是白色的)它应该是这样的:如您所见,在iPhoneX上,一切看起来都像预期的那样干净和平衡。这是我播放视频的方式:avPlayerLayer=AVPlayerLayer(player:avPlayer)avPlayerLayer.frame=PreviewLayer.boundsavPlayerLayer.videoGravity=.resizeAspect//WillautomaticallyaddblackbarsPrevi

ios - 合并目录中的多个视频

我要求从文档目录加载所有视频,然后合并成单个视频。然后将视频上传到服务器。但是这段代码只合并了两个视频。我如何合并多个视频。funcmergeVideo(index:Int){print("index:\(index)")letitem:AVPlayerItem!Utility.showActivityIndicator()varurl=String()varurl2=String()url=fileManager.appending(videoFileNames[index]+".MOV")url2=fileManager.appending(videoFileNames[index

ios - 如何将静止图像添加到 AVComposition?

我有一个带有视频轨道的AVMutableComposition,我想将静止图像添加到视频轨道中,以便在给定的时间内显示。静止图像只是一个PNG。我可以将图像作为Assets加载,但仅此而已,因为生成的Assets没有任何轨道,因此不能简单地使用insertTimeRange…方法插入。有没有办法将静止图像添加到合成中?看起来答案就在CoreAnimation的某个地方,但整个事情似乎有点超出我的理解范围,我希望能提供代码示例或一些信息指针。 最佳答案 好的。WWDC有一个很棒的视频,名为使用AVFoundation编辑媒体这解释了很

ios - 如何将静止图像添加到 AVComposition?

我有一个带有视频轨道的AVMutableComposition,我想将静止图像添加到视频轨道中,以便在给定的时间内显示。静止图像只是一个PNG。我可以将图像作为Assets加载,但仅此而已,因为生成的Assets没有任何轨道,因此不能简单地使用insertTimeRange…方法插入。有没有办法将静止图像添加到合成中?看起来答案就在CoreAnimation的某个地方,但整个事情似乎有点超出我的理解范围,我希望能提供代码示例或一些信息指针。 最佳答案 好的。WWDC有一个很棒的视频,名为使用AVFoundation编辑媒体这解释了很

ios - AVMutableComposition 调整大小问题

我正在尝试使用AVMutableComposition将图像渲染到使用前置摄像头拍摄的视频中。生成的视频(包括图像)的大小非常好。但是,初始视频将调整大小,如下图所示:我正在使用NextLevelSessionExporter这是我的代码片段://*MARK-Creatingcomposition///CreateAVMutableCompositionobject.ThisobjectwillholdtheAVMutableCompositionTrackinstances.letmainMutableComposition=AVMutableComposition()///Crea
12