首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >分块录制iOS视频

分块录制iOS视频
EN

Stack Overflow用户
提问于 2015-01-20 23:51:01
回答 2查看 1K关注 0票数 3

可以在连续录制的同时剪辑视频文件吗?我正在寻找的是说,我录制了一段视频,我想每5秒发送一次视频剪辑到服务器,直到录制被停止。例如,一个视频文件被录制了10秒。我想发送2个视频文件,每个5秒的持续时间。发送第一个文件时,视频将在接下来的5秒内继续录制。

EN

回答 2

Stack Overflow用户

发布于 2015-01-21 23:28:45

请看一下本教程:

http://www.ios-developer.net/iphone-ipad-programmer/development/camera/record-video-with-avcapturesession-2

您可以设置预览显示(如果需要)。您可以设置录制/停止按钮。当用户按下开始录制时,您使用

代码语言:javascript
运行
复制
[MovieFileOutput startRecordingToOutputFileURL:outputURL recordingDelegate:self];

每X秒你做一次:

代码语言:javascript
运行
复制
[MovieFileOutput stopRecording];
// setting up the url ...
[MovieFileOutput startRecordingToOutputFileURL:nextOutputURL recordingDelegate:self];

瞧!你有很多X second文件,你可以对它们做任何你想做的事情。

预览显示不会显示有某种类型的停止,记录按钮也是如此。

票数 1
EN

Stack Overflow用户

发布于 2015-10-23 22:59:30

这是在5秒内录制视频的正确方法。

按下录制按钮后,您将开始将第一个视频剪辑录制到URL。

代码语言:javascript
运行
复制
[MovieFileOutput startRecordingToOutputFileURL:outputURL recordingDelegate:self];

当按下记录按钮时,设置5秒计时器。

代码语言:javascript
运行
复制
[NSTimer scheduledTimerWithTimeInterval:5.0f target:self selector:@selector(stopRecording) userInfo:nil repeats:YES];

-(void)stopRecording
{
    [MovieFileOutput stopRecording];
}

这是您要开始录制下一个视频剪辑的位置。此方法在第一个剪辑停止后立即调用。

代码语言:javascript
运行
复制
- (void)captureOutput:(AVCaptureFileOutput *)captureOutput didFinishRecordingToOutputFileAtURL:(NSURL *)outputFileURL fromConnections:(NSArray *)connections error:(NSError *)error
{
    NSLog(@"end record");
    [MovieFileOutput startRecordingToOutputFileURL:[self getNextURL] recordingDelegate:self];
}

为下一个剪辑生成新的URL。

代码语言:javascript
运行
复制
-(NSURL*) getNextURL
{
    videoNumber++;
    NSString *outputPath = [self getTempVideoOutputPath:videoNumber];
    NSURL *outputURL = [[NSURL alloc] initFileURLWithPath:outputPath];

    return outputURL;
}

传入剪辑编号以创建新的临时URL。例如,此方法将创建视频文件clip-1.mov、clip-2.mov、clip-3.mov等。

代码语言:javascript
运行
复制
-(NSString*)getTempVideoOutputPath: (int) clipNumber
{
    //Create temporary URL to record to
    NSString *outputFileName = [NSString stringWithFormat:@"clip-%i.mov",clipNumber];
    NSString *outputPath = [[NSString alloc] initWithFormat:@"%@%@", NSTemporaryDirectory(), outputFileName];

    return outputPath;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28049599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档