首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >m3u8文件AVAssetImageGenerator错误

m3u8文件AVAssetImageGenerator错误
EN

Stack Overflow用户
提问于 2015-08-20 07:36:22
回答 3查看 5.3K关注 0票数 17

我正在使用AVPlayer播放.m3u8文件。使用AVAssetImageGenerator使用以下代码从其中提取图像:

代码语言:javascript
复制
AVURLAsset *asset1 = [[AVURLAsset alloc] initWithURL:mp.contentURL options:nil];
AVAssetImageGenerator *generate1 = [[AVAssetImageGenerator alloc] initWithAsset:asset1];
generate1.appliesPreferredTrackTransform = YES;
NSError *err = NULL;
CMTime time = CMTimeMake(1, 2);
CGImageRef oneRef = [generate1 copyCGImageAtTime:time actualTime:NULL error:&err];
img = [[UIImage alloc] initWithCGImage:oneRef];

它总是给我带来错误:

错误Domain=AVFoundationErrorDomain代码=-11800“操作无法完成”UserInfo=0x7fb4e30cbfa0 {NSUnderlyingError=0x7fb4e0e28530“操作无法完成。(OSStatus错误-12782.)",发生NSLocalizedFailureReason=An未知错误(-12782),NSLocalizedDescription=The操作无法完成}

它适用于mp4、mov和所有主要的视频扩展URL,但不适用于m3u8。知道吗??

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-10-12 06:42:28

您将无法使用AVAssetImageGenerator获取活动流的静态图像。相反,您可以使用

AVPlayerItemVideoOutput

使用AVPlayerItemVideoOutput,您可以使用以下方法获得适合在指定时间为给定.m3u8流显示的图像:然后,可以将返回的CVPixelBufferRef转换为图像(或其他图像)以供显示。

票数 7
EN

Stack Overflow用户

发布于 2015-08-26 15:05:07

你的问题是意料之中的。.m3u8文件不是实际的资产文件,而是更类似于播放列表。它们用于HTTP流,并根据可用带宽为“段”提供位置。

下面是一个.m3u8文件(苹果的示例.m3u8文件)的示例

代码语言:javascript
复制
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=200000
gear1/prog_index.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=311111
gear2/prog_index.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=484444
gear3/prog_index.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=737777
gear4/prog_index.m3u8

不幸的是,您不能创建一个AVAsset或AVURLAsset来表示HTTP流中的媒体。参考资料:Apple的资产加载/播放参考示例

票数 10
EN

Stack Overflow用户

发布于 2017-01-13 03:40:26

我们的发现是,如果您播放具有“i帧只播放列表”的HLS流,例如流“v2/master.m3u8 .m3u8”(只有i帧播放列表),AVAssetImageGenerator可以逐个生成请求的图像。

但请注意,“仅在iOS8.X和iOS9.X上没有问题”,但在iOS10.X上失败了。

我已经向苹果bug记者提交了一份Bug报告。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32112205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档