美文网首页iOS Process
iOS-视频录制库、

iOS-视频录制库、

作者: Stark_Dylan | 来源:发表于2015-05-06 12:55 被阅读519次

既然有了播放在线视频, 那么我们也把录制加进来吧。

GitHub Page

首先初始化我们的视频录制器, 并添加到View

    self.captureManager = [[AVCaptureManager alloc] initWithPreviewView:self.view];
    self.captureManager.delegate = self;

设置代理并写代理方法

#pragma mark - AVCaptureManagerDeleagte

- (void)didFinishRecordingToOutputFileAtURL:(NSURL *)outputFileURL error:(NSError *)error {
    
    if (error) {
        NSLog(@"error:%@", error);
        return;
    }
    
    if (!isNeededToSave) {
        return;
    }
    
    [self saveRecordedFile:outputFileURL];
}

开始录制 结束录制

[self.captureManager startRecording];
[self.captureManager stopRecording];

保存录制后的视频 - 写到代理方法里的

- (void)saveRecordedFile:(NSURL *)recordedFile {
    
    [SVProgressHUD showWithStatus:@"Saving..."
                         maskType:SVProgressHUDMaskTypeGradient];
    
    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
    dispatch_async(queue, ^{
        
        ALAssetsLibrary *assetLibrary = [[ALAssetsLibrary alloc] init];
        [assetLibrary writeVideoAtPathToSavedPhotosAlbum:recordedFile
                                         completionBlock:
         ^(NSURL *assetURL, NSError *error) {
             
             dispatch_async(dispatch_get_main_queue(), ^{
                 
                 [SVProgressHUD dismiss];
                 
                 NSString *title;
                 NSString *message;
                 
                 if (error != nil) {
                     
                     title = @"Failed to save video";
                     message = [error localizedDescription];
                 }
                 else {
                     title = @"Saved!";
                     message = nil;
                 }
                 
                 UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title
                                                                 message:message
                                                                delegate:nil
                                                       cancelButtonTitle:@"OK"
                                                       otherButtonTitles:nil];
                 [alert show];
             });
         }];
    });
}

.h文件

@property (nonatomic, assign) id<AVCaptureManagerDelegate> delegate;
@property (nonatomic, readonly) BOOL isRecording;

- (id)initWithPreviewView:(UIView *)previewView;
- (void)toggleContentsGravity;
- (void)resetFormat;
- (void)switchFormatWithDesiredFPS:(CGFloat)desiredFPS;
- (void)startRecording;
- (void)stopRecording;

相关文章

  • iOS-视频录制库、

    既然有了播放在线视频, 那么我们也把录制加进来吧。 GitHub Page 首先初始化我们的视频录制器, 并添加到...

  • iOS-视频录制

    最近开发中遇到一个需求,就是想微信那样录制一个小视频,然后在录制视频的图层上播放,然后发布到朋友圈,无声播放,但有...

  • 使用Camera+MediaCodec录制编译音视频

    之前写过一个开源项目仿微信视频拍摄UI基于 ffmpeg的视频录制编辑 使用的是VCamera库来录制,效果很差,...

  • GPUImage填坑心得

    项目用到GPUImage录制视频,同时还要加水印录制,录制的教程大把,但是这个库15年就不维护了,导致很多坑没有补...

  • 2020-05-11 重视身体信号

    【目标回顾】: ? 资料库整理 完成 ? 录制视频 待完成 ? 听课 完成 ? 阅读 完...

  • 安卓音视频开发-USB外接MIC录制音频

    项目中需要使用外接摄像头录制音频和视频,需要切换到OTG模式,测试是发现视频是可以录制的,使用的是开源库andro...

  • 5月总结

    学习.成长:遗嘱库基本坚持录制;保单整理内容重新梳理。 体验.突破:重启跑步计划;准备小视频的录制。 休闲.放松:...

  • 06.iOS 静态库的封装和使用

    @(〓〓 iOS-实用技术)[静态库/动态库封装] 作者: Liwx 邮箱: 1032282633@qq.com...

  • Android仿微信录制小视频的进度条

    前言 在 仿微信录制短视频 库中有一个自定义的View,就是录制视频时的进度条。其实现的原理很简单。 实现思路 可...

  • 专业正版一键解锁,不要太爽,低调使用...

    录制视频是一个很常见的需求,比如给别人录制操作步骤,做B站等视频平台需要录制视频,录制网课等教学课程,录制游戏视频...

网友评论

  • puppySweet:iOS上内置相机应用录制的mov/mp4视频竖屏拍照的时候产生一个Rotation元数据,表示录制视频时摄像头旋转到了多少角度。其值一般为这四个:0、90、180或270。类似于图片文件的Exif信息中的Orientation元数据。

    Rotation元数据用于播放器确定渲染视频的方向,但有的播放器会对其视而不见。 我竖屏用avaasertWriter录制视频 所以我现在 Rotation 是90度 但是 windows下 有些网站播放器播放时 会倒转90 度 因为有些windows下 的播放 不认得 Rotation这个属性 怎么办 不会自动旋转90自适应 苹果安卓手机播放一点事都没有 火狐浏览器的播放器也没问题



    网上的案例旋转回90度的方法不是用avassertWriter 录制视频

    而是avcapturefileouDAtavideo录视频 再用AVMutableVideoComposition 旋转 exprotSession等旋转后压缩倒出的 这导致 我用avassertWriter设置的比特流 帧绿 还有一些属性全变了

    怎么办怎么办
    puppySweet:不是我强制啊 iPhone 自带就是这样啊 你试试竖屏拍照就知道啦
    Stark_Dylan:@puppySweet 你这样强制的旋转 在手机上不是倒过来了么
    Stark_Dylan:@puppySweet 抱歉我不是特别了解windows下关于播放器方向的问题。浏览器的兼容问题各有不一。 您的windows下的浏览器是IE?
  • 小凡凡520:mark 一下
    Stark_Dylan:@小凡凡520 来你联系方式私信我

本文标题:iOS-视频录制库、

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