美文网首页
iOS 集成腾讯云短视频

iOS 集成腾讯云短视频

作者: 周_xing_xing | 来源:发表于2018-09-04 15:36 被阅读0次

    1. 下载SDK

    iOS短视频SDK标准版 ->下载链接

    2. 工程配置

    工程配置要注意,下载好的SDK里面有个工程配置(iOS).pdf,腾讯云文档里面也有个工程配置,需要结合二者里面的说明才能配置好。以下是总结:

    1. 将下载下来的TXLiteAVSDK_UGC.framework拷贝至工程目录;

    2. 在工程中添加TXLiteAVSDK_UGC.framework;

    3. 添加以下系统依赖库:

    1. VideoToolbox.framework

    2. SystemConfiguration.framework

    3. CoreTelephony.framework

    4. AVFoundation.framework

    5. CoreMedia.framework

    6. CoreGraphics.framework

    7. libstdc++.tbd

    8. libz.tbd

    9. libiconv.tbd

    10. libresolv.tbd

    11. Accelerate.framework

    4. 由于TXLiteAVSDK_UGC.framework不包含Bitcode,得在工程中设置BitcodeNO

    Build Settings -> Build Options -> Enable Bitcode

    5. 添加-ObjC

    SDK用到了一些类别的方法,加载类别方法需要在工程配置:

    Build Settings -> Linking -> Other Linker Flags 添加 -ObjC

    3. 画面预览

    #import"TXLiteAVSDK_UGC/TXUGCRecord.h"//遵守协议

    //画面预览UIView*preViewContainer = [[UIViewalloc] initWithFrame:CGRectMake(0,0,320,320)];//准备一个预览摄像头画面的 viewTXUGCSimpleConfig*config = [[TXUGCSimpleConfigalloc]init];//config.videoQuality = VIDEO_QUALITY_LOW;  // 360p, 10秒钟视频大约0.75Mconfig.videoQuality  =VIDEO_QUALITY_MEDIUM;// 540p, 10秒钟视频大约 1.5M (编码参数同微信iOS版小视频)//config.videoQuality = VIDEO_QUALITY_HIGH; // 720p, 10秒钟视频大约  3Mconfig.frontCamera    =YES;//是否前置摄像头,使用 switchCamera 可以切换config.minDuration    =5;//视频录制的最小时长config.maxDuration    =60;//视频录制的最大时长[TXUGCRecordshareInstance].recordDelegate =self;[[TXUGCRecordshareInstance] startCameraSimple:config preview:preViewContainer];[self.view addSubview:preViewContainer];

    //关闭摄像头- (IBAction)dissmissVC:(id)sender {    [selfdismissViewControllerAnimated:YEScompletion:^{//页面dissmiss之后需要关闭摄像头,倘若不关闭摄像头,下次进来会打不开。[[TXUGCRecordshareInstance] stopCameraPreview];    }];}

    4. 录制视频

    [[TXUGCRecordshareInstance] startRecord];//开始录制[[TXUGCRecordshareInstance] stopRecord];//结束录制

    5. 视频预览

    #import"TXLiteAVSDK_UGC/TXVodPlayer.h"//遵守协议 @interfaceYSPreViewVC(){TXVodPlayer*_txVodPlayer;//这个播放器一定要设置成全局变量,不然播放不了……}

    _txVodPlayer = [[TXVodPlayeralloc]init];[_txVodPlayer setupVideoWidget:self.view insertIndex:0];_txVodPlayer.vodDelegate =self;[_txVodPlayer startPlay:_localVideoPath];

    6. 未完待续……

    升级SDK至5.0及以上(集成短视频 licence)

    1. 下载最新的SDK至本地,并替换掉工程中的旧版本SDK;

    2. 去控制台配置 licence 并将 TXUgcSDK.licence 下载至本地,添加到工程目录;

    3. 由于新版本SDK将发布视频接口独立出来,得去“TXUGCUploadDemo”里面将“upload”文件夹拷贝至工程目录,并修改对应的import路径;

    4. 新版的TXPublishParam,将封面图改成了路径,旧版的是图片对象,这里得将图片对象先保存到本地,再将本地路径赋值给TXPublishParam的coverPath:

    //保存封面图到本地NSString*docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES) objectAtIndex:0];NSString*filePath = [docPath stringByAppendingPathComponent:@"tmpCoveImage.jpg"];NSFileManager*fileManager = [NSFileManagerdefaultManager];if([fileManager fileExistsAtPath:filePath]) {    [fileManager removeItemAtPath:filePath error:nil];}NSData*coveImageData =UIImageJPEGRepresentation(videoInfo.coverImage,0.8);[coveImageData writeToFile:filePath atomically:YES];

    //获取本地封面图路径NSString*docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES) objectAtIndex:0];NSString*filePath = [docPath stringByAppendingPathComponent:@"tmpCoveImage.jpg"];param.coverPath = filePath;// 录制生成的视频首帧预览图路径

    5.在AppDelegate.m文件中设置LicenseUrl和Key:

    #import[TXUGCBasesetLicenceURL:@"LicenseUrl"key:@"Key"];

    作者:winsonGali

    链接:https://www.jianshu.com/p/cb81c4e1fc2e

    來源:简书

    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

    相关文章

      网友评论

          本文标题:iOS 集成腾讯云短视频

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