欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長(zhǎng)資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          uniapp中怎么實(shí)現(xiàn)直播旁路推流(步驟分享)

          uniapp中怎么實(shí)現(xiàn)直播旁路推流?下面本篇文章就來(lái)給大家總結(jié)分享一下旁路推流步驟,希望對(duì)大家有所幫助!

          uniapp中怎么實(shí)現(xiàn)直播旁路推流(步驟分享)

          通過 anyRTC音視頻SDK插件 基本實(shí)現(xiàn) uniapp 視頻通話 如若沒有實(shí)現(xiàn)基本視頻通話可參考文章(https://blog.csdn.net/anyRTC/article/details/121352746)

          旁路推流步驟

          1. 開通對(duì)應(yīng)權(quán)限

          前往 anyRTC 控制臺(tái) – 用量統(tǒng)計(jì) 選擇對(duì)應(yīng)項(xiàng)目開啟旁路推流服務(wù)

          uniapp中怎么實(shí)現(xiàn)直播旁路推流(步驟分享)

          2. 模式調(diào)整

          • 場(chǎng)景調(diào)整sdk默認(rèn)通信場(chǎng)景,需要將通信模式轉(zhuǎn)為直播模式

             // 設(shè)置直播模式  rtcModule.setChannelProfile({     "profile": 1  }, (res) => {      console.log(res);  }
          • 角色調(diào)整角色-主播: 可以發(fā)布和接收音視頻流 角色-觀眾: 只可以接收音視頻流

            // 1 設(shè)置為主播 2 設(shè)置為觀眾 rtcModule.setClientRole({  "role": 1 }, (res) => { 	console.log(res); })

          3. 設(shè)置推流視圖布局以及音頻設(shè)置

          • 下載uniapp 插件市場(chǎng)的anyRTC音視頻SDK插件示例

          • 引入 utils/classes.js 中的 LiveTranscoding,TranscodingUser

            import { LiveTranscoding, TranscodingUser } from "./classes.js"

            LiveTranscoding:封裝的總布局TranscodingUser:封裝的主播布局

          • 設(shè)置推流的視圖布局及音頻設(shè)置

            頻道繼續(xù)新增主播并且也要合并推流時(shí),重新調(diào)用設(shè)置即可

          // 單個(gè)主播布局 // const anchor = new TranscodingUser(主播標(biāo)識(shí)uid, { //				width: 280, //				height: 210, //				x: 0, //				y: 0 // }) // 多個(gè)主播布局(3列) let anchorList= []; lists.map((item,index)=> {    anchorList.push(new TranscodingUser(主播標(biāo)識(shí)uid, { 				width: 280, 				height: 210, 				x: (index % 3) * 280, 				y: Math.floor(index / 3) * 210, 	})) } // 設(shè)置旁路推流(3列)  rtcModule.setLiveTranscoding({ 			"transcoding": new LiveTranscoding(anchorList, { 				width: 840, 				height: Math.ceil(anchorList.length / 3) * 210, 			}) }, (ret) => { 		console.log(ret); });

          4. 推流

          需要推多路流時(shí)請(qǐng)遍歷推流

          rtcModule.addPublishStreamUrl({ 			url: 推流的cdn地址, 			transcodingEnabled: true // 轉(zhuǎn)碼是指在旁路推流時(shí)對(duì)音視頻流做一些轉(zhuǎn)碼處理后再推送到其他 RTMP 服務(wù)器 		}, (res) => { 			console.log("添加旁路推流", res); 		});

          通過 onRtmpStreamingStateChanged 回調(diào)來(lái)判斷推流狀態(tài)把回調(diào)加入到 setCallBack 中,通過下方時(shí)相關(guān)狀態(tài)碼:

                  // 狀態(tài)碼 		state: { 			0: "推流未開始或已結(jié)束", 			1: "正在連接 AR 推流服務(wù)器和 RTMP 服務(wù)器", 			2: "推流正在進(jìn)行,成功推流后", 			3: "正在恢復(fù)推流", 			4: "推流失敗" 		}, 		// 錯(cuò)誤碼 		errorCode: { 			0: "推流成功", 			1: "參數(shù)無(wú)效,請(qǐng)檢查輸入?yún)?shù)是否正確。請(qǐng)確保調(diào)用 setLiveTranscoding ", 			2: "推流已加密,不能推流", 			3: "推流超時(shí)未成功,可重新推流", 			4: "推流服務(wù)器出現(xiàn)錯(cuò)誤", 			5: "RTMP 服務(wù)器出現(xiàn)錯(cuò)誤", 			6: "推流請(qǐng)求過于頻繁", 			7: "單個(gè)主播的推流地址數(shù)目達(dá)到上線 10", 			8: "主播操作不屬于自己的流,請(qǐng)檢查 App 邏輯", 			9: "服務(wù)器未找到這個(gè)流", 			10: "推流地址格式有錯(cuò)誤,請(qǐng)檢查推流地址格式是否正確", 		}

          5. 停止推流

          rtcModule.removePublishStreamUrl({ 			url: 推流的cdn地址, 		}, (res) => { 			console.log("取消旁路推流", res); 		});

          推薦:《uniapp教程》

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)