美文网首页
iOS 获取视频截图 以及 CMTimeMakeWithSeco

iOS 获取视频截图 以及 CMTimeMakeWithSeco

作者: 海耐射手 | 来源:发表于2021-04-16 14:40 被阅读0次

    //获取网络视频的缩略图

    • (UIImage *)getThumbnailImageFromVideoURL:(NSURL *)URL time:(NSTimeInterval )videoTime{

      if (!URL) return nil;

      UIImage *shotImage;

      AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:URL options:nil];

      AVAssetImageGenerator *gen = [[AVAssetImageGenerator alloc] initWithAsset:asset];

      gen.appliesPreferredTrackTransform = YES;
      //videoTime 截视频中第几秒的屏
      CMTime time = CMTimeMakeWithSeconds(videoTime, 600);

      NSError *error = nil;

      CMTime actualTime;

      CGImageRef image = [gen copyCGImageAtTime:time actualTime:&actualTime error:&error];

      shotImage = [[UIImage alloc] initWithCGImage:image];

      CGImageRelease(image);

      return shotImage;
      }

    //获取本地视频缩略图

    • (UIImage *)getThumbnailImageFromFilePath:(NSString *)videoPath time:(NSTimeInterval )videoTime {

      if (!videoPath) {
      return nil;
      }
      AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:[[NSURL alloc] initFileURLWithPath:videoPath] options:nil];
      AVAssetImageGenerator *assetImageGenerator = [[AVAssetImageGenerator alloc] initWithAsset:asset];
      assetImageGenerator.appliesPreferredTrackTransform = YES;
      assetImageGenerator.apertureMode = AVAssetImageGeneratorApertureModeEncodedPixels;

      CGImageRef thumbnailImageRef = NULL;
      CFTimeInterval thumbnailImageTime = videoTime;
      thumbnailImageRef = [assetImageGenerator copyCGImageAtTime:CMTimeMake(thumbnailImageTime, 600)
      actualTime:NULL error:nil];
      if (!thumbnailImageRef) {
      return nil;
      }

      UIImage *thumbnailImage = [[UIImage alloc] initWithCGImage:thumbnailImageRef];

      CFRelease(thumbnailImageRef);

      return thumbnailImage;

    }

    摘抄自:https://www.jianshu.com/p/6b6ffe0e4981
    测试视频地址:http://static.tripbe.com/videofiles/20121214/9533522808.f4v.mp4

    相关文章

      网友评论

          本文标题:iOS 获取视频截图 以及 CMTimeMakeWithSeco

          本文链接:https://www.haomeiwen.com/subject/yovbtctx.html