YouTube直播SDK整合(二)

2021-08-22 16:15:29 字數 3121 閱讀 9404

一,前面已經知道了基礎的環境配置,先看登入:

(1)首先要匯入sdk,然後引入標頭檔案

import googlesignin
(2)然後觸發登入按鈕的時候進行是否需要登入的邏輯判斷,進行登入

//登入

func googlesignin(with viewcontroller: uiviewcontroller)

if gidsignin.sharedinstance().hasauthinkeychain() else

}//登出

func signout()

(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.enableclosedcaptions

let 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

(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:

(5) bind live stream

引數

"id":broadcastid 

"streamid":streamid

"part":"id,snippet,contentdetails,status"

"key": api_key in the infoplist

api:

返回資料

(6)get live broadcast 獲取broadcast資訊

引數:

broadcastid
api:

(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:"

- backupingestionaddress : "rtmp:"

- resolution : "720p"

- framerate : "60fps"

▿ status : status

- streamstatus : "inactive"

▿ healthstatus : healthstatus

- status : "nodata"

最終 我們往獲取到的位址推流即可

let streamurl = "\(streamurl)/\(streamname)"
下一章寫ios 的rtmp推流

demo

大牛直播導播SDK

適用場景 大牛直播導播sdk適用於外部如多路rtmp rtsp流,本地攝像頭 螢幕 flv檔案,多路流合成一路流,然後單路輸出的場景。支援平台 windows 對應demo smartmixstreamdemo.exe 主介面 資料來源 2.本地螢幕 攝像頭 音訊資料 3.本地flv檔案 輸出 多路...

大牛直播導播SDK

適用場景 大牛直播導播sdk適用於外部如多路rtmp rtsp流,本地攝像頭 螢幕 flv檔案,多路流合成一路流,然後單路輸出的場景。支援平台 windows 對應demo smartmixstreamdemo.exe 主介面 資料來源 2.本地螢幕 攝像頭 音訊資料 3.本地flv檔案 輸出 多路...

網易雲直播SDK使用總結

前言 ios 直播推流 sdk 開發指南 大家看仔細了,這裡的是推流的開發指南!也就是發起直播用的!網易直播sdk的文件感覺寫的是比較好的,具體的怎麼整合大家看繼承文件就是了,我們說說一些要注意的地方。我們先說發起直播的時候的一些注意事項吧。推流端注意點 一 在demo中的這個方法是用來申請許可權的...