草庐IT

ios - 在 iOS 上播放 .m3u8 文件

我有.m3u8链接,我需要在支持HLS协议(protocol)的iOS上播放。当我将URL直接分配给MPMoviePlayerController并播放时,视频不可见但我可以听到音频。NSURL*movieURL=[NSURLURLWithString:@"http://qthttp.apple.com.edgesuite.net/1010qwoeiuryfg/sl.m3u8"];MPMoviePlayerController*mp=[[MPMoviePlayerControlleralloc]initWithContentURL:movieURL];[self.viewaddSubv

iphone - iOS获取视频帧率

我想获取特定视频的帧速率。我试图查看AVFoundation和AssetsLibrary中的API,例如AVURLAsset或AVAssetReader。他们都没有真正的帮助。有谁知道苹果框架/库中获取帧率的方法 最佳答案 更简单的选择是获取AVAssetTrack并读取其nominalFrameRate属性。看起来像this可以帮助你。标称帧率是轨道的帧率,以每秒帧数为单位。(只读)AVAssetTrack类@property(nonatomic,readonly)floatnominalFrameRate

ios - 从 Live Photo 中提取视频部分

有没有人知道如何从LivePhoto中提取视频部分?我正在开发一个将实时照片转换为GIF的应用程序,第一步是从实时照片中获取视频文件。看起来应该是可行的,因为如果将手机插入Mac,您可以看到单独的图像和视频文件。我在提取过程中遇到了障碍,我尝试了很多方法,但都失败了。我做的第一件事是通过执行以下操作为我认为是LivePhoto的视频部分获取PHAsset:ifletlivePhoto=info["UIImagePickerControllerLivePhoto"]as?PHLivePhoto{letassetResources=PHAssetResource.assetResource

ios - avassetwriter 是否可以输出到内存

我想编写一个连续捕获视频的iPhone应用程序,以10秒为间隔对它们进行h.264编码并上传到存储服务器。这可以用avassetwriter完成,我可以在创建新文件时继续删除旧文件。然而,由于闪存的写入周期有限,这种方案会在闪存经过几千次写入周期后损坏闪存。有没有办法将avassetwriter重定向到内存,或者在iphone上创建ram驱动器?谢谢! 最佳答案 是的,avassetwriter是进入硬件解码器的唯一途径。并且在写入文件时简单地读回文件不会给你moov原子,所以基于avfoundation或mpmediaplayer

ios - 使用 AVMutableComposition 合并视频时出现空白帧

这个问题之前已经被问过很多次了,但没有任何帮助。我正在使用AVMutableComposition合并多个视频。合并视频后,我在30%-40%的视频中出现空白帧。其他人合并得很好。我只是使用AVPlayer作为AVPlayerItem直接播放合成。代码如下:AVMutableComposition*mutableComposition=[AVMutableCompositioncomposition];AVMutableCompositionTrack*videoCompositionTrack=[mutableCompositionaddMutableTrackWithMediaTy

ios - 音频慢动作,例如使用 240FPS 的默认慢动作相机功能

我想在相机中实现慢动作视频,例如慢动作的Defalut功能,我使用了以下代码,它对视频效果很好。但在该视频的音轨中无法正常工作。doublevideoScaleFactor=8.0;compositionAudioTrackscaleTimeRange:CMTimeRangeMake(kCMTimeZero,videoDuration)toDuration:CMTimeMake(videoDuration.value*videoScaleFactor,videoDuration.timescale)];[compositionVideoTrackscaleTimeRange:CMTim

iphone - 在 iOS 中检索 AVMetadataItem 上的 AVAsset 键名

我正在尝试识别iPad上视频的不同元数据项。到目前为止,我已经能够成功地使用AVAsset库找到文件,并使用metadataForFormat:生成一个AVMetadataItems数组。在文件中仅找到iTunes和Quicktime用户数据格式。现在的问题是我有了这些信息,但我无法确定什么是什么。我打算用元数据键索引的信息加载字典,但是使用AVMetadataItem的key属性似乎无法正常工作,就好像返回一个数字(调试器说它是一个NSCFNumber)。这是我正在做的一些示例代码:ALAssetRepresentation*representation=[[valAssetdefa

ios - 旋转视频而不旋转 AVCaptureConnection 并且在 AVAssetWriter session 中间

我正在使用PBJVision实现点击录制视频功能。该库尚不支持方向,因此我正在尝试对其进行设计。据我所知,有三种旋转视频的方法-我需要帮助来确定最佳前进方式以及如何实现它.请注意,旋转可能发生在点击记录段之间。因此在录制session中,方向被锁定为用户点击按钮时的方向。下次用户点击按钮进行录制时,它应该将方向重新设置为设备的方向(因此生成的视频显示为右侧向上)。issuepageonGitHubaswell中概述了这些方法方法一使用setVideoOrientation:旋转AVCaptureConnection-这会导致视频预览在每次切换时闪烁,因为这似乎切换了实际的硬件。不酷,N

ios - 从支持 IOSurface 的 YUV 创建 CVPixelBuffer

所以我从网络回调(voip应用程序)中获取3个单独数组中的原始YUV数据。根据我的理解,您不能根据here使用CVPixelBufferCreateWithPlanarBytes创建IOSurface支持的像素缓冲区Important:YoucannotuseCVPixelBufferCreateWithBytes()orCVPixelBufferCreateWithPlanarBytes()withkCVPixelBufferIOSurfacePropertiesKey.CallingCVPixelBufferCreateWithBytes()orCVPixelBufferCreat

iphone - 视频播放失败 - [NSURL initFileURLWithPath :]: nil string parameter

我正在努力理解为什么这不起作用:/每次我运行该项目时,应用程序崩溃并向我抛出“NSInvalidArgumentException”,原因:“*-[NSURLinitFileURLWithPath:]:无字符串参数'我遵循了一个教程(我对此很陌生)并且它对他有效并且代码完全相同..任何人都可以解释发生了什么吗?.h文件#import#import#import@interfaceFirstViewController:UIViewController{MPMoviePlayerViewController*playerController;}-(IBAction)playVideo;@