(腾讯视频)iOS开发之视频根据url获取第一帧图片,获取任一帧图片
2017-05-10 18:42
561 查看
#import <AVFoundation/AVFoundation.h>
+ (UIImage*) thumbnailImageForVideo:(NSURL *)videoURL atTime:(NSTimeInterval)time { AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:videoURL options:nil];
NSParameterAssert(asset);
AVAssetImageGenerator *assetImageGenerator =[[AVAssetImageGenerator alloc] initWithAsset:asset];
assetImageGenerator.appliesPreferredTrackTransform = YES;
assetImageGenerator.apertureMode = AVAssetImageGeneratorApertureModeEncodedPixels;
CGImageRef thumbnailImageRef = NULL;
CFTimeInterval thumbnailImageTime = time;
NSError *thumbnailImageGenerationError = nil;
thumbnailImageRef = [assetImageGenerator copyCGImageAtTime:CMTimeMake(thumbnailImageTime, 60)actualTime:NULL error:&thumbnailImageGenerationError];
if(!thumbnailImageRef)
NSLog(@"thumbnailImageGenerationError %@",thumbnailImageGenerationError);
UIImage*thumbnailImage = thumbnailImageRef ? [[UIImage alloc]initWithCGImage: thumbnailImageRef] : nil;
return thumbnailImage;
}
-(void)setADvideoUrl:(NSString *)urlstr
{
urlstr = urlstr;
NSLog(@"%@",urlstr);
//http://v.qq.com/iframe/player.html?vid=k0511h0fvay&tiny=1&auto=0 大图
NSURL * url = [NSURLURLWithString:urlstr];
NSString * hostStr = [url host];
NSString * tXURL = @"v.qq.com";
//https://puui.qpic.cn/qqvideo_ori/0/k0511h0fvay_228_128/0 小图
NSString * videoPrewURL = nil;
if([tXURL isEqualToString:hostStr]){ //如果是腾讯视频
NSDictionary * dic = [urlstr getURLParameters];
NSString * videoIDStr = [dic objectForKey:@"vid"];
if(videoIDStr){
videoPrewURL = [NSStringstringWithFormat:@"https://puui.qpic.cn/qqvideo_ori/0/%@_228_128/0",videoIDStr];
NSLog(@"videoIDStr is %@",videoPrewURL);
}
}
}
+ (UIImage*) thumbnailImageForVideo:(NSURL *)videoURL atTime:(NSTimeInterval)time { AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:videoURL options:nil];
NSParameterAssert(asset);
AVAssetImageGenerator *assetImageGenerator =[[AVAssetImageGenerator alloc] initWithAsset:asset];
assetImageGenerator.appliesPreferredTrackTransform = YES;
assetImageGenerator.apertureMode = AVAssetImageGeneratorApertureModeEncodedPixels;
CGImageRef thumbnailImageRef = NULL;
CFTimeInterval thumbnailImageTime = time;
NSError *thumbnailImageGenerationError = nil;
thumbnailImageRef = [assetImageGenerator copyCGImageAtTime:CMTimeMake(thumbnailImageTime, 60)actualTime:NULL error:&thumbnailImageGenerationError];
if(!thumbnailImageRef)
NSLog(@"thumbnailImageGenerationError %@",thumbnailImageGenerationError);
UIImage*thumbnailImage = thumbnailImageRef ? [[UIImage alloc]initWithCGImage: thumbnailImageRef] : nil;
return thumbnailImage;
}
-(void)setADvideoUrl:(NSString *)urlstr
{
urlstr = urlstr;
NSLog(@"%@",urlstr);
//http://v.qq.com/iframe/player.html?vid=k0511h0fvay&tiny=1&auto=0 大图
NSURL * url = [NSURLURLWithString:urlstr];
NSString * hostStr = [url host];
NSString * tXURL = @"v.qq.com";
//https://puui.qpic.cn/qqvideo_ori/0/k0511h0fvay_228_128/0 小图
NSString * videoPrewURL = nil;
if([tXURL isEqualToString:hostStr]){ //如果是腾讯视频
NSDictionary * dic = [urlstr getURLParameters];
NSString * videoIDStr = [dic objectForKey:@"vid"];
if(videoIDStr){
videoPrewURL = [NSStringstringWithFormat:@"https://puui.qpic.cn/qqvideo_ori/0/%@_228_128/0",videoIDStr];
NSLog(@"videoIDStr is %@",videoPrewURL);
}
}
}
相关文章推荐
- iOS开发之视频根据url获取第一帧图片,获取任一帧图片
- 视频根据url获取第一帧图片,获取任一帧图片
- iOS开发之获取系统相册中的图片与视频(内带url转换)
- 在iOS开发中,在视频初始状态时获取视频的第一帧图片
- iOS 根据视频url获取某一帧图片并实现三级缓存
- iOS开发之获取系统相册中的图片与视频教程(内带url转换)
- iOS开发之获取系统相册中的图片与视频(内带url转换)
- iOS开发之获取系统相册中的图片与视频(内带url转换)
- iOS开发之获取系统相册中的图片与视频(内带url转换)
- iOS开发之获取系统相册中的图片与视频(内带url转换)
- iOS开发之获取系统相册中的图片与视频(内带url转换)
- iOS开发 根据URL获取图片的尺寸
- iOS开发之获取系统相册中的图片与视频(内带url转换)
- iOS开发之获取系统相册中的图片与视频(内带url转换)
- 根据URL获取视频第一帧图片 - Swift
- iOS开发之获取系统相册中的图片与视频(内带url转换)
- iOS获取视频第一帧图片
- iOS开发-进阶:通过URL地址,从网络上获取图片
- 实习入职第十三天:根据url获取视频的第一帧图像
- 如何获取网络视频(或者说后台返回视频URL)第一帧图片以及获取本地视频的第一帧图片