【发布时间】:2016-09-17 12:32:14
【问题描述】:
如何获取我的视频网址的缩略图,如下所示
http://ServerDomain/streams/16476084045/3d4659d8e93bdfbdb3619a4a684c93be.flv
我正在使用下面的代码
AVURLAsset *asset1 = [[AVURLAsset alloc] initWithURL:url options:nil];
AVAssetImageGenerator *generator = [[AVAssetImageGenerator alloc] initWithAsset:asset1];
generator.appliesPreferredTrackTransform = YES;
//Set the time and size of thumbnail for image
NSError *err = NULL;
CMTime thumbTime = CMTimeMakeWithSeconds(0,30);
CGSize maxSize = CGSizeMake(425,355);
generator.maximumSize = maxSize;
CGImageRef imgRef = [generator copyCGImageAtTime:thumbTime actualTime:NULL error:&err];
UIImage *thumbnail = [[UIImage alloc] initWithCGImage:imgRef];
cell.videoImage1.image=thumbnail;
但是我遇到了错误
Error Domain=AVFoundationErrorDomain Code=-11828 "Cannot Open" UserInfo={NSUnderlyingError=0x7fe8d3057900 {Error Domain=NSOSStatusErrorDomain Code=-12847 "(null)"}, NSLocalizedFailureReason=This media format is not supported., NSLocalizedDescription=Cannot Open}
而且我没有使用 MPMoviePlayer 如何获取缩略图请帮助我。谢谢。
【问题讨论】:
-
首先确保您的 FLV 包含用于视频编解码器的 H.264,现在手动在文件中查找关键帧的字节。提取 H.264 帧数据并将其提供给您的 iOS 解码器以获得关键帧的可视图像。那是你的缩略图。我不使用 iOS,所以告诉我你知道如何用那个系统处理字节吗? & 是否可以只向解码器提供(附加)原始 H.264 字节(不涉及 MP4 等容器)?
标签: ios uiimage flv video-thumbnails