iOS 集成騰訊云短視頻

1. 下載SDK

iOS短視頻SDK標準版 -> 下載鏈接

2. 工程配置

工程配置要注意,下載好的SDK里面有個工程配置(iOS).pdf,騰訊云文檔里面也有個工程配置,需要結(jié)合二者里面的說明才能配置好。以下是總結(jié):

1. 將下載下來的TXLiteAVSDK_UGC.framework拷貝至工程目錄;
2. 在工程中添加TXLiteAVSDK_UGC.framework;
3. 添加以下系統(tǒng)依賴庫:

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,得在工程中設(shè)置 BitcodeNO

Build Settings -> Build Options -> Enable Bitcode

5. 添加 -ObjC

SDK用到了一些類別的方法,加載類別方法需要在工程配置:
Build Settings -> Linking -> Other Linker Flags 添加 -ObjC

3. 畫面預(yù)覽

#import "TXLiteAVSDK_UGC/TXUGCRecord.h"
//遵守協(xié)議 <TXUGCRecordListener>
//畫面預(yù)覽
UIView *preViewContainer = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 320)];   //準備一個預(yù)覽攝像頭畫面的 view
TXUGCSimpleConfig *config = [[TXUGCSimpleConfig alloc] init];
//config.videoQuality = VIDEO_QUALITY_LOW;  // 360p, 10秒鐘視頻大約0.75M
config.videoQuality   = VIDEO_QUALITY_MEDIUM;   // 540p, 10秒鐘視頻大約 1.5M (編碼參數(shù)同微信iOS版小視頻)
//config.videoQuality = VIDEO_QUALITY_HIGH; // 720p, 10秒鐘視頻大約   3M
config.frontCamera    = YES;    //是否前置攝像頭,使用 switchCamera 可以切換
config.minDuration    = 5;  //視頻錄制的最小時長
config.maxDuration    = 60; //視頻錄制的最大時長
[TXUGCRecord shareInstance].recordDelegate = self;
[[TXUGCRecord shareInstance] startCameraSimple:config preview:preViewContainer];
[self.view addSubview:preViewContainer];
//關(guān)閉攝像頭
- (IBAction)dissmissVC:(id)sender {
    [self dismissViewControllerAnimated:YES completion:^{
        //頁面dissmiss之后需要關(guān)閉攝像頭,倘若不關(guān)閉攝像頭,下次進來會打不開。
        [[TXUGCRecord shareInstance] stopCameraPreview];
    }];
}

4. 錄制視頻

[[TXUGCRecord shareInstance] startRecord];  //開始錄制
[[TXUGCRecord shareInstance] stopRecord];   //結(jié)束錄制

5. 視頻預(yù)覽

#import "TXLiteAVSDK_UGC/TXVodPlayer.h"
//遵守協(xié)議 <TXVodPlayListener>
@interface YSPreViewVC ()<TXVodPlayListener>
{
    TXVodPlayer *_txVodPlayer;  //這個播放器一定要設(shè)置成全局變量,不然播放不了……
}
_txVodPlayer = [[TXVodPlayer alloc] init];
[_txVodPlayer setupVideoWidget:self.view insertIndex:0];
_txVodPlayer.vodDelegate = self;
[_txVodPlayer startPlay:_localVideoPath];

6. 未完待續(xù)……

升級SDK至5.0及以上(集成短視頻 licence)

1. 下載最新的SDK至本地,并替換掉工程中的舊版本SDK;

2. 去控制臺配置 licence 并將 TXUgcSDK.licence 下載至本地,添加到工程目錄;

3. 由于新版本SDK將發(fā)布視頻接口獨立出來,得去“TXUGCUploadDemo”里面將“upload”文件夾拷貝至工程目錄,并修改對應(yīng)的import路徑;

4. 新版的TXPublishParam,將封面圖改成了路徑,舊版的是圖片對象,這里得將圖片對象先保存到本地,再將本地路徑賦值給TXPublishParam的coverPath:

//保存封面圖到本地
NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,
YES) objectAtIndex:0];
NSString *filePath = [docPath stringByAppendingPathComponent:@"tmpCoveImage.jpg"];
NSFileManager *fileManager = [NSFileManager defaultManager];
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;     // 錄制生成的視頻首幀預(yù)覽圖路徑

5.在AppDelegate.m文件中設(shè)置LicenseUrl和Key:

#import <TXLiteAVSDK_UGC/TXUGCBase.h>
[TXUGCBase setLicenceURL:@"LicenseUrl" key:@"Key"];
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、通過CocoaPods安裝項目名稱項目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地數(shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,171評論 3 119
  • 你活在別人的態(tài)度里,活在別人的言行里,活在別人的世界里,活在別人的期待里,你就丟了自己,于是就有很多煩惱,人要擁有...
    FineYoga苗苗_閱讀 211評論 0 0
  • 以前自認為自己是一個很有自制力的人,做什么事都很有毅力。以前是多久以前呢?大概是大學(xué)之前吧。這么說來已經(jīng)快有7年...
    我是予不真閱讀 651評論 0 0
  • 師父所講文字版: 此中何者是外因緣法因相應(yīng)? 先說這個“外因緣法”的“因相應(yīng)”,然后再說“外因緣法”的“緣相應(yīng)”。...
    蜜婼閱讀 666評論 0 2

友情鏈接更多精彩內(nèi)容