【iOS开发】拓幻美颜对接进腾讯云直播过程以及问题

工作需要, 将腾讯云自带的美颜设置 替换为 拓幻美颜, 记录下遇到的一个问题。

拓幻美颜作为一个第三方美颜sdk, 功能比较多, 对接过程也很方便,直接开整:

  • 申请拓幻的appkey

TISDK的初始化是需要一个key来进行鉴权, 自己去申请。

  • 下载配置SDK

最新SDK下载地址:TiSDK_iOS

下载完成后,确认TiSDK_iOS 包含:TiSDK.frameworkTiLiveUI 文件夹(可选)、 TiSDKResource.bundle

将整个TiSDK_iOS文件夹导入自己的工程中, 如果工程中已经添加Masonry, SSZipArchive,将TiUITool 目录下的Masonry.frameworkZipArchive. framework 删除,避免冲突;

添加依赖库AssetsLibrary.frameworklibc++.tbd;

动态库TiSDK.framework 选择Embed 类型为:Embed & Sign

  • 初始化SDK

TiSDK 初始化函数程序中调用一次即可生效,建议在 Application 创建的时候调用; 如果渲染功能使用不频繁,也可以在使用的时候调用:

导入头文件:#import <TiSDK/TiSDK.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        NSString* key = kTuoHuanKey;
        [TiSDK init:key CallBack:^(InitStatus callBack) {
            if (callBack.code == 100) {
                  // 初始化成功,可自由处理一些需要的逻辑
            }
        }];
}
  • 对接TiLiveUI

导入头文件:#import "TiUIManager.h"

加载UI:

- (void)viewDidLoad {
    [super viewDidLoad];

    // 这里的`TiUIManagerDelegate`可自由设置, 如果需要另外处理点击事件, 就实现此delegate, 一般用于使用默认UI的时候
    [[TiUIManager shareManager] loadToWindowDelegate:nil];
}

在需要美颜设置的方法内调起美颜UI:

 [[TiUIManager shareManager] showMainMenuView];

到这里, 拓幻的美颜设置UI已经可以正常调起了, 那我设置了美颜之后要怎么把图像上传, 怎么把拓幻和腾讯云推流对接在一起呢?

腾讯云的直播推流TXLivePush支持自定义音视频采集和渲染, 那么我们可以把经过拓幻美颜的图像进行采集后二次处理,然后进行推流。

这里用到TXLivePushvideoProcessDelegate代理:

 // self.livePushLisher 是TXLivePush生成的对象
self.livePushLisher.videoProcessDelegate = self;   

实现代理:

-(GLuint)onPreProcessTexture:(GLuint)texture width:(CGFloat)width height:(CGFloat)height {

  // OpenGL线程回调中, 调用拓幻的纹理渲染,将渲染后的纹理传给TXLivePush进行推流
   return [[TiSDKManager shareManager] renderTexture2D:texture Width:width Height:height Rotation:CLOCKWISE_0 Mirror:self.livePushLisher.config.frontCamera];
}

在OpenGL线程中回调,在这里可以进行采集图像的二次处理
@param texture 纹理ID
@param width 纹理的宽度
@param height 纹理的高度
@return 返回给SDK的纹理
说明:SDK回调出来的纹理类型是GL_TEXTURE_2D,接口返回给SDK的纹理类型也必须是GL_TEXTURE_2D; 该回调在SDK美颜之后. 纹理格式为GL_RGBA

- (GLuint)onPreProcessTexture:(GLuint)texture width:(CGFloat)width height:(CGFloat)height;

到这里, 腾讯云直播对接拓幻, 就结束了。

但是在测试过程中, 发现了一个bug, 当app启动后, 第一次调起美颜UI界面时,背景容器图层为空, 界面显示不正常:

通过对拓幻的UI部分源码的解读, 发现在TiUIManager中有美颜模块的主要功能UI,也就是美颜UI的容器图层tiUIViewBoxView, 这个视图中有分类功能图层classifyView,里面有一个方法:-(void)Judge_pro:(NSString *)key, 这个方法主要处理功能图层上的UI显示, 所以直接调用一下这个方法, 在showMainMenuView之前提现把所有的子控件都加载设置一遍:

  [[TiUIManager shareManager].tiUIViewBoxView.classifyView Judge_pro:@""];
  [[TiUIManager shareManager] showMainMenuView];

之后再次运行, 就正常显示:

结束!

如果对你有用就给个👍吧~

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容