Tag: avasset

流畅响应的VideoPlayer Feed

ASVideoNode 纹理 texturegroup.org 在ASVideoNode上下载Feed。 ASVideoNode应该应该自动播放属性。 이걸是(True)로해주면didEnterVisibleState시켜주고로播放시켜주고didExitVisibleState에서暂停해줍니다。 [国家에기여] 。기까진제문보입니다。 设置资产或assetURL的设置值。 Main로主线程断言이걸려있기때문입니다。 。다면다음과이음과가완성됩니다。 한쪽당로빨간리는4억7가가지고다고다。 播放播放操作可见状态播放GCD播放器2.0秒。 적용하였고를를북과북과다적용하였고적용하였고적용하였고적용하였고적용하였고적용하였고적용하였고하하하하하하하하하하하하하하。 면획자전부Run Run NSRunLoop같이전부리십시오。 고리고退出可见해당Cell해당播放,加载操作을가차없이取消시킵니다。 시리고다시输入可见的시에는다시块操作만들어서PlayOperationQueue에다。 지나간지나간대로〜 。이정도면스가상당히다할다있겠습니다。 안녕〜

AVAssetTrack与alpha通道?

我正在尝试将AVAssetTracks层叠到AVMutableComposition中,AVAssetTracks在video中有一个alpha通道。 我成功地导出了一个videoAVAsset与像素缓冲区比alpha通道和透明度,但是当我试图将其添加到一个AVMutableCompositionTrack和层,它不能正确显示。 这可能吗? 魔术是在AVAsset创build时还是在AVMutableComposition或AVVideoComposition中执行的? 任何线索将是一个巨大的帮助。

使用mediaTypevideo从PHAsset修改元数据失败

我尝试使用mediaType == .video从PHAsset添加/修改元数据我发现一些问题mediaType == .video了类似的问题: 如何使用AVAssetWriter更改video元数据? 使用AVFoundation将自定义元数据添加到video 关于这些问题的答案,我构build了以下代码片段,它是PHAsset的扩展: let options = PHVideoRequestOptions() options.version = .original PHImageManager.default().requestAVAsset(forVideo: self, options: options, resultHandler: { asset, audioMix, info in if asset != nil && asset!.isKind(of: AVURLAsset.self) { let urlAsset = asset as! AVURLAsset let start = CMTimeMakeWithSeconds(0.0, 1) let duration = asset!.duration var exportSession = AVAssetExportSession(asset: asset!, presetName: AVAssetExportPresetPassthrough) […]

UIActivity和AVAsset数据types的用法

根据UIActivity类文档 ,可以将AVAsset对象作为数据源添加到UIActivityTypePostToFacebook活动。 这是否意味着我们可以使用标准的UIActivityTypePostToFacebook活动types发布video ? 如果不是那么我可以使用AVAsset活动项目发布什么样的项目?

AVMutableComposition – 只播放第一首歌(Swift)

我有一个[AVAsset]数组,我试图将所有这些资产合并到一个单一的资产,以便我可以无缝地播放video(我尝试使用AVQueuePlayer,但不会无缝地播放资产)。 下面是我到目前为止,但是当我尝试播放最后的作曲,它只播放第一首曲目,即使它显示它具有所有曲目,并且总持续时间等于所有曲目一起。 即使看起来所有的曲目都在曲目中,我是否错过了一个步骤? 也许我需要以不同的方式处理AVPlayer,如果AVPlayerItem有多个轨道? let playerLayer: AVPlayerLayer = AVPlayerLayer() lazy var videoPlayer: AVPlayer = AVPlayer() var videoClips = [AVAsset]() let videoComposition = AVMutableComposition() var playerItem: AVPlayerItem! var lastTime: CMTime = kCMTimeZero for clipIndex in videoClips { let videoCompositionTrack = videoComposition.addMutableTrackWithMediaType(AVMediaTypeVideo, preferredTrackID: Int32(kCMPersistentTrackID_Invalid)) do { try videoCompositionTrack.insertTimeRange(CMTimeRangeMake(kCMTimeZero, clipIndex.duration), ofTrack: clipIndex.tracksWithMediaType(AVMediaTypeVideo)[0] , atTime: lastTime) lastTime = CMTimeAdd(lastTime, […]

Swift:即使video看起来很锐利,从video中提取图像也很模糊。

下面的代码受到SO上的其他post的启发,并从video中提取图像。 不幸的是,即使video看上去很锐利并且完全对焦,图像看起来也很模糊。 代码是否有问题,或者这是从video中提取图像的自然困难? func getImageFromVideo(videoURL: String) -> UIImage { do { let asset = AVURLAsset(URL: NSURL(fileURLWithPath: videoURL), options: nil) let imgGenerator = AVAssetImageGenerator(asset: asset) imgGenerator.appliesPreferredTrackTransform = true let cgImage = try imgGenerator.copyCGImageAtTime(CMTimeMake(0, 1), actualTime: nil) let image = UIImage(CGImage: cgImage) return image } catch { … } }

如何从PHAsset中获取video是否为横向/纵向?

我从PHAsset获取video,以便用户可以selectvideo并导入进行编辑。 但用户只能select具有横向导航的video,如果用户select纵向video,他/她会得到警报信息,说明其纵向video,因此不能导入编辑。 一种方法是从PHFetchResults的URL创buildAVAsset,然后检查一个首选转换,但是这样做的代价是非常昂贵的。 有没有办法做到这一点,而不创buildAVasset?

AVExportSession在后台运行

我正在处理一个需要合并多个video的应用程序。 我正在使用AVExportSession导出合并的video。 我也显示导出video的进度条。 它正常运行正常。 当我们locking屏幕或将应用程序置于后台模式时,就会出现这个问题。 这次如果正在处理导出,则在将应用程序置于后台模式后立即失败。 我也试图使用后台任务。 检查下面的代码。 bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{ // Clean up any unfinished task business by marking where you. // stopped or ending the task outright. [[UIApplication sharedApplication] endBackgroundTask:bgTask]; bgTask = UIBackgroundTaskInvalid; }]; 但是这似乎不起作用。 我究竟做错了什么? 任何帮助,将不胜感激。

iOS旋转videoAVAsset avfoundation

例 嗨, 努力旋转此video以正确的方向显示并填满整个屏幕。 我无法使用videocompisition获得avasset,但无法使其正常工作。 let videoAsset: AVAsset = AVAsset(URL: outputFileURL) as AVAsset let clipVideoTrack = videoAsset.tracksWithMediaType(AVMediaTypeVideo).first! as AVAssetTrack let newHeight = CGFloat(clipVideoTrack.naturalSize.height/3*4) let composition = AVMutableComposition() composition.addMutableTrackWithMediaType(AVMediaTypeVideo, preferredTrackID: CMPersistentTrackID()) let videoComposition = AVMutableVideoComposition() var videoSize = CGSize() videoSize = clipVideoTrack.naturalSize videoComposition.renderSize = videoSize videoComposition.frameDuration = CMTimeMake(1, 30) let instruction = AVMutableVideoCompositionInstruction() instruction.timeRange = CMTimeRangeMake(kCMTimeZero, CMTimeMakeWithSeconds(180, […]

处理AVAsset中的所有帧

我正在尝试通过AVAsset中的每个帧,并将每个帧处理为一个图像。 我无法从我的search中find任何东西。 我试图完成的任务看起来像伪代码 for each frame in asset take the frame as an image and convert to a cvMat Process and store data of center points Store center points in array 我不知道该怎么写这个伪代码的唯一部分是通过每个帧,并捕获它在一个图像。 谁能帮忙?