一,前面已经知道了基础的环境配置,先看登录:
(1)首先要导入SDK,然后引入头文件

import GoogleSignIn

(2)然后触发登录按钮的时候进行是否需要登录的逻辑判断,进行登录

  //登录func googleSignIn(with viewController: UIViewController) {if isGoogleConnected {//已经登录presenter?.presentUserInfo()return}if GIDSignIn.sharedInstance().hasAuthInKeychain(){//本地缓存信息 再次授权GIDSignIn.sharedInstance().signInSilently()} else {// 登录cViewController = viewControllerpresenter?.startActivity()let currentScopes: NSArray = GIDSignIn.sharedInstance().scopes as NSArrayGIDSignIn.sharedInstance().scopes = currentScopes.adding(Auth.Scope)GIDSignIn.sharedInstance().signIn()}}//注销func signOut() {GIDSignIn.sharedInstance().signOut()GoogleOAuth2.sharedInstance.clearToken()userStorage.user = nil}

(3)创建直播 creade Broadcast
准备基础数据

You must specify a value for these properties:snippet.title
snippet.scheduledStartTime
status.privacyStatus
You can set values for these properties:snippet.title
snippet.description
snippet.scheduledStartTime
snippet.scheduledEndTime
status.privacyStatus
contentDetails.monitorStream.enableMonitorStream
contentDetails.monitorStream.broadcastStreamDelayMs
contentDetails.enableDvr
contentDetails.enableContentEncryption
contentDetails.enableEmbed
contentDetails.recordFromStart
contentDetails.startWithSlate
contentDetails.enableClosedCaptionslet title = "Big Fish Live video" //直播名称titile
let description = "Big Fish Test broadcast video"
let startDate = Helpers.dateAfter(Date(), after: (hour: 0, minute: 2, second: 0))//2分钟后开始直播

API:
POST https://www.googleapis.com/youtube/v3/liveBroadcasts
(4) create Live Stream

You must specify a value for these properties:snippet.title
cdn.format
cdn.ingestionType
You can set values for these properties:snippet.title
snippet.description
cdn.format
cdn.ingestionType
contentDetails.isReusable

API:https://developers.google.com/youtube/v3/live/docs/liveStreams/list

(5) Bind live stream

参数

"id":broadcastId
"streamId":streamId
"part":"id,snippet,contentDetails,status"
"key": API_KEY in the infoplist

API:https://developers.google.com/youtube/v3/live/docs/liveBroadcasts/bind

返回数据

(6)get Live Broadcast 获取Broadcast信息
参数:

broadcastId

API:https://developers.google.com/youtube/v3/live/docs/liveBroadcasts/list
(7)get Live Stream

    "part":"id,snippet,cdn,status" "id":liveStreamId "key": API_KEY in the infoplist

(lldb) po liveStream
▿ LiveStreamModel- kind : "youtube#liveStream"- etag : "\"XI7nbFXulYBIpL0ayR_gDh3eu1k/iGgvEjOajAPRhRhyED1WrjYZZZs\""- id : "R0RSppD9pRo-RgkQNmNoqg1533956508322798"▿ snipped : Snipped- publishedAt : "2018-08-11T03:01:48.000Z"- channelId : "UCR0RSppD9pRo-RgkQNmNoqg"- title : "Live video"- description : "Test broadcast video"- isDefaultStream : false▿ cdn : CDN- format : "720p_hfr"- ingestionType : "rtmp"▿ ingestionInfo : IngestionInfo- streamName : "rwz9-dkxq-3v84-8bv3"- ingestionAddress : "rtmp://a.rtmp.youtube.com/live2"- backupIngestionAddress : "rtmp://b.rtmp.youtube.com/live2?backup=1"- resolution : "720p"- frameRate : "60fps"▿ status : Status- streamStatus : "inactive"▿ healthStatus : HealthStatus- status : "noData"

最终 我们往获取到的地址推流即可

let streamUrl = "\(streamURL)/\(streamName)"

下一章写IOS 的rtmp推流

demo

YouTube直播SDK集成(二)相关推荐

  1. ios视频直播SDK集成指引

    此文介绍语音视频云服务商即构科技提供的ios视频直播SDK集成指引.此SDK可实现主播和观众以一对一.一对多.或多对多的关系等,并支持小程序. 手动安装 目前 ZegoLiveRoom SDK 仅支持 ...

  2. 腾讯云互动直播SDK集成综述

    SDK构成 互动直播SDK由两部分构成,IMSDK和AVSDK 其中IMSDK为云通信SDK,为AVSDK提供账号登录.信令通道.IM弹幕消息.日志模块.日志上报等功能 AVSDK提供摄像头采集.编码 ...

  3. android主流视频直播sdk,Android视频直播SDK集成指引

    手动安装 目前 ZegoLiveRoom SDK 仅支持通过拷贝库文件的方式,集成步骤如下. 1 准备环境 请确保开发环境满足以下技术要求: Android Studio 2.1 或以上版本 已经下载 ...

  4. 基于电商直播SDK快速实现一个淘宝直播APP【内附源码】

    现在各大互联网APP都标配电商直播带货了,没有直播带货开发经验都感觉自己跟不上技术的进步.今天快速基于Java实现一个安卓端电商直播APP,深入理解整个电商直播开发流程.我们最终实现效果如下: 按照惯 ...

  5. 七牛非Cocoapods 手动集成霹雳直播SDK(通用版)

    引言 一直想写一个通用版的教程,霹雳直播SDK更新太快,每一版的更新,都要重新更新一下之前写的单独的教程.我是个懒人,想要一下解决所有的问题,授人以鱼不如授人以渔,这个博客重点会讲需要用非Cocoap ...

  6. unity手游之聊天SDK集成与使用二

    unity手游之聊天SDK集成与使用二 集成思路 如果是自己的小游戏的话,可以把好友等信息直接保存在亲加服务器上,通过调用api来操作. 我们游戏只使用sdk的通信功能,好友等信息保存在自己的服务器上 ...

  7. Android平台上集成海康SDK(二)

    Android平台上集成海康SDK 以上是我之前写的一篇Android平台上集成海康SDK的文章,其中对于Android平台上集成海康SDK.基于海康SDK进行二次开发基本上进行了详细地介绍. 这篇文 ...

  8. 视频直播APP源码在安卓中推送SDK集成居然如此简单!

    视频直播APP源码在安卓中推送SDK集成居然如此简单! 思维导图 详细步骤 下载 demo 我的师傅大鸟哥告诉我,集成各类 SDK 的第一步骤都是下载个 Demo,先把 Demo 跑起来看看是什么鬼. ...

  9. 融云即时通讯SDK集成 – 定制UI(二) ——添加自定义表情库

    融云即时通讯SDK集成 – 定制UI(二) --添加自定义表情库 背景: 最近公司新上的app要加上即时通讯的功能, 自己快速实现一个当然是不可能的了(项目deadline也顶不住哇).就从各家成熟的 ...

最新文章

  1. Devexpress 之gridControl
  2. mysql sqlserver分页_SQLServer常用分页方式
  3. 蓝桥杯JAVA省赛2013-----B------4(黄金连分数)
  4. php7 匿名继承类_PHP7匿名类的用法示例
  5. 前端学习(2520):环境搭建
  6. ajax获取表单php,Yii2基于Ajax自动获取表单数据的方法
  7. postgresql学习_在PostgreSQL中学习这些快速技巧
  8. 认知维度与API的可用性评估
  9. 第二部分 Automake的标准工程组织
  10. flink 自定义 窗口_Flink源码分析: 窗口机制的执行流程
  11. 【STM8S103K3】 I2C
  12. part 8 App电量优化
  13. JMeter代理录制手机app
  14. 项目成本管理:成本与成本管理概念
  15. 整理一个将qq音乐的歌单导入到苹果音乐中的方法
  16. TRANSFORMER-TRANSDUCER:END-TO-END SPEECH RECOGNITION WITH SELF-ATTENTION
  17. ural 1818 Fair Fishermen
  18. ensp 移动主机搜索不到AP信道_有颜值更有才华,乘风破浪的天融信面板AP接受硬核实测...
  19. 抓包PC微信小程序失败解决方法
  20. 百度地图高级实例2-如何利用自己的数据制作社交地图?只显示可视区域内的标注

热门文章

  1. 简单时间计算(顺序-选择)
  2. php大小写转换函数
  3. IntelliJ IDEA 的撤销和反撤销快捷键
  4. 起名字老重名?使用这款利器可以快速帮你查询有哪些站点用了你的名字!
  5. 监控工程中硬盘怎么选,硬盘存储容量计算方法
  6. 《影视特效镜头跟踪技术精粹(第2版)》即将上市
  7. gentoo intel 安装桌面
  8. ES6新特性的学习和使用
  9. 【数据分析】利用机器学习算法进行预测分析(五):Prophet
  10. 一篇文章带你「重新认识」线程上下文切换怎么玩儿