在这个抖音日活破2.2亿的大环境下,短视频APP开发越来越火,在短视频APP开发中,短视频录制功能的开发是必不可少的,毕竟拍摄是制作精彩短视频的第一步。

下面,我们来讲解一下应如何利用腾讯短视频SDK实现抖音短视频APP开发中必不可少的视频录制功能。

1.摄像头的预览

TXUGCCustomConfig * param = [[TXUGCCustomConfig alloc] init];
param.videoResolution = VIDEO_RESOLUTION_720_1280;
param.videoFPS = 20;
param.videoBitratePIN = 2400;
[[TXUGCRecord shareInstance] startCameraCustom:param preview:_videoRecordView];

2.设置大眼、瘦脸初始值

大眼瘦脸的美颜功能是短视频APP开发中无法绕过的,可以说,如果没有美颜功能,抖音不会有现在这么火爆,拍短视频必美颜是一条写入短视频创作者心坎的准则。

[[TXUGCRecord shareInstance] setEyeScaleLevel:_eye_level];

[[TXUGCRecord shareInstance] setFaceScaleLevel:_face_level];

3.设置滤镜

[self setFilter:_filterIndex];

- (void)setFilter:(int)index
{
NSString* lookupFileName = @"";

switch (index) {
case FilterType_None:
break;
case FilterType_white:
lookupFileName = @"filter_white";
break;
case FilterType_langman:
lookupFileName = @"filter_langman";
break;
case FilterType_qingxin:
lookupFileName = @"filter_qingxin";
break;
case FilterType_weimei:
lookupFileName = @"filter_weimei";
break;
case FilterType_fennen:
lookupFileName = @"filter_fennen";
break;
case FilterType_huaijiu:
lookupFileName = @"filter_huaijiu";
break;
case FilterType_landiao:
lookupFileName = @"filter_landiao";
break;
case FilterType_qingliang:
lookupFileName = @"filter_qingliang";
break;
case FilterType_rixi:
lookupFileName = @"filter_rixi";
break;
default:
break;
}

NSString * path = [[NSBundle mainBundle] pathForResource:lookupFileName ofType:@"png"];
if (path != nil && index != FilterType_None)
{
[[TXUGCRecord shareInstance] setFilter:[UIImage imageWithContentsOfFile:path]];
}
else
{
[[TXUGCRecord shareInstance] setFilter:nil];
}
}

4.设置并播放背景音乐

背景音乐起到了烘托气氛的作用,其实很多短视频并没有那么有意思,全靠音乐烘托,如果我们关掉音乐,视频根本没人喜欢看。

[[TXUGCRecord shareInstance] setBGM:_musicPath];
[[TXUGCRecord shareInstance]playBGMFromTime:0 toTime:length withBeginNotify:^(NSInteger errCode) {
//beginNotify: 音乐播放开始的回调通知

} withProgressNotify:^(NSInteger progressMS, NSInteger durationMS) {
//beginNotify: 音乐播放开始的回调通知

} andCompleteNotify:^(NSInteger errCode) {
//completeNotify: 音乐播放结束的回调通知
}];

5.停止背景音乐

[[TXUGCRecord shareInstance] stopBGM];

6.切换摄像头

[[TXUGCRecord shareInstance] switchCamera:_cameraFront];

7.切换闪光灯

[[TXUGCRecord shareInstance] toggleTorch:_lampOpened];

8.开始录制

[[TXUGCRecord shareInstance] startRecord];

9.录制进度监听(此处需要先设置代理)

-(void)onRecordProgress:(NSInteger)milliSecond {
[self refreshRecordTime:(float)milliSecond];
}

10.停止预览

[[TXUGCRecord shareInstance] stopCameraPreview];

11.停止录制

[[TXUGCRecord shareInstance] stopRecord];

以上便是短视频系统利用腾讯短视频SDK对短视频拍摄功能做出的基础处理流程,基本上囊括了视频录制可能需要用到的环节,实现了基础的视频录制。当然,除了视频录制外,视频的编辑,存储和发布也同样不可缺少,后续我们会讲解相关的编辑,存储和发布功能,从而实现一个较为完整的短视频制作过程。