- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 AVAssetImageGenerator 为视频播放按钮生成缩略图。当我传递服务器视频 url 以生成图像时,它正在重新调整为 null。
AVAsset *asset = [AVAsset assetWithURL:url];
AVAssetImageGenerator *imageGenerator = [[AVAssetImageGenerator alloc]initWithAsset:asset];
CMTime time = CMTimeMake(51,1);
CGImageRef imageRef = [imageGenerator copyCGImageAtTime:time actualTime:NULL error:NULL];
UIImage *thumbnail =[[UIImage alloc]initWithCGImage:imageRef];
CGImageRef cgref = [thumbnail CGImage];
CIImage *cim = [thumbnail CIImage];
if (cim == nil && cgref == NULL)
{
NSLog(@"no underlying data");
}
CGImageRelease(imageRef);
我总是得到空数据。很少我只得到一张图像。我该如何解决这个问题。
最佳答案
你可以试试下面的代码。它对我有用
AVURLAsset *as = [[AVURLAsset alloc] initWithURL:url options:nil];
AVAssetImageGenerator *ima = [[AVAssetImageGenerator alloc] initWithAsset:as];
NSError *err = NULL;
CMTime time = CMTimeMake(0, 60);
CGImageRef imgRef = [ima copyCGImageAtTime:time actualTime:NULL error:&err];
[ima release];
UIImage *currentImg = [[UIImage alloc] initWithCGImage:imgRef];
我得到的引用是,最简单的方法是将图像生成器上的 applyPreferredTrackTransform 属性设置为 YES,然后它应该会自动为您进行转换。
希望这有帮助!!!
关于ios - AVAssetImageGenerator 不从视频 url 生成图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15359007/
关于AVAssetImageGenerator的信息似乎很少,关于cancelAllCGImageGeneration的信息则更少,所以我希望这不是一个错误。 我正在调用generateCGImage
我正在使用 AVAssetImageGenerator从视频的最后一帧创建图像。这通常工作正常,但偶尔 copyCGImageAtTime因错误而失败 NSLocalizedDescription =
我正在从可变组合中生成动画 gif,其中我使用 AVVideoCompositionCoreAnimationTool 设置 AVMutableVideoComposition。问题出在核心动画工具上
我正在尝试创建一个视频库。 为了显示视频,我使用了 UICollectionView。每个 UICollectionViewCell 都有一个带有视频缩略图的背景。为了生成视频缩略图,我使用了一种具有
当通过 AVAssetImageGenerator 获取视频的 UIImage 时,当视频以纵向拍摄时,我会返回旋转的图像(嗯,技术上它们不是)。如何判断视频拍摄的方向,然后正确旋转图像? AVURL
我正在使用 AVAssetImageGenerator 从影片剪辑中获取图像,而无需先播放它。现在我有一个问题如何在处理程序的循环中设置变量?是否可以?我收到此错误消息,但不知道这意味着什么。 (谷歌
根据文档,generateCGImagesAsynchronously 接受一个 NSValue 数组,并根据视频和给定时间生成帧,并将其作为回调返回。 我使用以下代码生成值列表 var va
我正在尝试从视频中获取一组图像。它运行良好,但我怀疑完成处理程序是在哪个线程中调用的。 我在新操作中调用了此方法 (generateCGImagesAsynchronouslyForTimes:),并
我不能让 AVAssetImageGenerator 给我电影的所有帧。 使用这段代码: NSString *path = [[NSBundle mainBundle] pathForResource
我正在尝试使用以下代码从视频生成缩略图。它确实生成 UIImages 但图像在不同时间都是相同的。例如,对于持续 3 秒的视频,它会生成 6 张图像,但所有图像都是视频开头的相同图像。对我做错了什么有
在我的应用程序中,我从单个图像创建视频。一切正常,视频以正确的大小和方向正确组装。它们在 Apple 照片应用程序、MPMoviePlayer 和我保存它们的沙箱目录中都正确显示。 当我试图从电影中得
我正在通过 AVAssetImageGenerator 接收远程视频的高/中质量缩略图,但仍然需要 10 到 15 秒才能从中获取缩略图。 有没有办法立即得到低质量的缩略图? 下面是我用来获取远程视频
到目前为止,我有以下内容 let assetUrl = NSURL.URLWithString(self.targetVideoString) let asset: AVAsset = AVA
我已经成功地从视频中提取了所有帧,它对于较小的视频工作正常,但是当我尝试从超过 60 秒的视频中提取帧时,应用程序在设备上崩溃了。 我每秒从视频中提取 30 帧。 以下是我编写的代码:- var v
我尝试从视频中读取一些帧。视频是 640 x 480 但我得到的图像只有 480 x 360。有没有办法得到原始大小的图像? - (void)imagePickerController:(UIImag
我正在尝试从 iPhone 相机捕获的 .mov 文件中获取缩略图。我目前已将电影保存在应用程序的文档部分中。当我调用 [ Assets 持续时间] 时,它返回一个空对象。此外,当我尝试调用 copy
我正在使用 AVAssetImageGenerator 类来生成缩略图,但问题是我需要将该缩略图放入具有 UIImageView 大小的 UITableViewCell 中( 320,239)。我将
我正在使用 AVAssetImageGenerator 为视频播放按钮生成缩略图。当我传递服务器视频 url 以生成图像时,它正在重新调整为 null。 AVAsset *asset = [A
我有一个 AVComposition 和一个 AVVideoComposition,我会为视频的每半秒左右生成一个缩略图。我使用动画工具进行一些叠加。我对操作队列执行调用,它在某些类型的编辑后触发。操
我目前正在使用 AVAssetImageGenerator 从视频中提取每一帧,但有时它会连续两次返回几乎相同的图像(它们没有相同的“帧时间”)。有趣的是它总是每 5 帧发生一次(在我的测试视频中)。
我是一名优秀的程序员,十分优秀!