如何生成videoURL flv格式的缩略图?
如何获取URL的缩略图我的videourl如下所示
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如何获取缩略图请帮助我.Thankyou。
使用以下代码,
AVAsset *avAsset = [AVURLAsset URLAssetWithURL:videoURL options:nil]; if ([[avAsset tracksWithMediaType:AVMediaTypeVideo] count] > 0) { AVAssetImageGenerator *imageGenerator =[AVAssetImageGenerator assetImageGeneratorWithAsset:avAsset]; Float64 durationSeconds = CMTimeGetSeconds([avAsset duration]); CMTime midpoint = CMTimeMakeWithSeconds(durationSeconds/2.0, 600); NSError *error; CMTime actualTime; CGImageRef halfWayImage = [imageGenerator copyCGImageAtTime:kCMTimeZero actualTime:&actualTime error:&error]; if (halfWayImage != NULL) { NSString *actualTimeString = (NSString *)CFBridgingRelease(CMTimeCopyDescription(NULL, actualTime)); NSString *requestedTimeString = (NSString *)CFBridgingRelease(CMTimeCopyDescription(NULL, midpoint)); NSLog(@"Got halfWayImage: Asked for %@, got %@", requestedTimeString, actualTimeString); UIImage *img=[UIImage imageWithCGImage:halfWayImage]; self.myimageView.image= img; //img is thumbnail image ; } }
不要忘记#import
头文件
上面的代码对我有用,希望对你有所帮助
- 删除NSTimer / UITableViewCell实时?
- 把CLLocationCoordinate2D放到Swift的CLLocation中
- iOS的topLayoutGuide使用iOS 7和iOS 8之间的子视图控制器的区别
- estimatedHeightForRowAtIndexPath实际上可以改变一行的最终“正确”高度吗?
- UIView超级属性是弱还是强?
- 缺less返回UITableViewCell
- 将DuckHunt与ARKit结合使用? -第2课:增强应用程序的体系结构
- 多个UICollectionView在iOS中使用相同的UICollectionViewCell
- 获取search结果没有用户身份validation