Windows平臺RTMP多例項推送探討

daniulive發表於2020-10-15

之前,我們部落格 https://blog.csdn.net/renhui1112/article/details/105624392 提到,Android平臺RTMP多例項推送的幾種情況探討,簡單來說有以下三種情況:

  1. 多路編碼,多個例項分別推送到不同的RTMP URL(如Android採集板卡同時接2路出去);
  2. 同一路編碼,多個例項分別推送到不同的RTMP URL(如推送到內網、外網不同的RTMP伺服器);
  3. 部分路編碼、部分路對接編碼後的H.264/AAC資料,多個例項分別推送到不同的RTMP URL(混合推)。

對應Windows平臺,多路編碼的情況,比如分別推送螢幕和攝像頭,分別對應不同的RTMP URL,便於客戶端選擇要不要播放螢幕或攝像頭。

同一路編碼,多例項推送的意義在於,同一路資料,流向不同的RTMP Server,比如一個到內網伺服器,一個到外網伺服器,大牛直播SDK的不像部分推送模組,設計的比較死板,每路都要編碼,只需要呼叫以下介面,多設定其他推送的URL即可,這樣保證一路編碼,一個推送例項,實現不同的RTMP資料流向:

		/*
		設定推送的URL
		支援同時推送到多個RTMP伺服器上, 最多可以同時支援推到三個伺服器上
		為設定多個URL,請呼叫多次
		成功返回 NT_ERC_OK
		*/
		NT_UINT32(NT_API *SetURL)(NT_HANDLE handle, NT_PCSTR url, NT_PVOID pReserve);

再靈活的策略,就是有些路編碼,有些路不編碼(接入外部編碼後的音視訊資料,直接轉發),直接對應不同的推送例項出去,這種更智慧,感興趣的開發者,可以關注 github 試試看看。

相關文章