Windows/Android平臺視訊同屏功能元件EasyScreenLive-Win開啟RTSP服務如何獲取本機地址?
阿新 • • 發佈:2020-12-17
經過這麼多年的視訊技術開發,TSINGSEE青犀視訊團隊已經有了一套自己的研發體系,除了大家比較熟知的視訊智慧分析平臺外,其實TSINGSEE青犀視訊還有很多好用的SDK及工具。其中EasyScreenLive就是我們研發的一款簡單、高效、穩定的同屏功能元件。
EasyScreenLive可以提供一個輕量級的RTSPSERVER服務,其中Win版測試呼叫方法中是通過以下定義的介面函式完成:
//開始RTSP服務 LIB_EASYSLIVE_API int EasyScreenLive_StartServer(EASYSLIVE_HANDLE handler, int listenport, char *username, char *password, EASYLIVE_CHANNEL_INFO_T *channelInfo, int channelNum);
既然是本機開啟服務,肯定需要告知客戶端端本機的地址是多少,我們可以通過以下方法獲取本機的IP地址,然後在開啟服務的RTSP URL中完整拼接。
int GetLocalIP( std::string &local_ip ) { WSADATA wsaData = {0}; if (WSAStartup(MAKEWORD(2, 1), &wsaData) != 0) return -1; char szHostName[MAX_PATH] = {0}; int nRetCode; nRetCode = gethostname(szHostName, sizeof(szHostName)); PHOSTENT hostinfo; if (nRetCode != 0) return WSAGetLastError(); hostinfo = gethostbyname(szHostName); local_ip = inet_ntoa(*(struct in_addr*)*hostinfo->h_addr_list); WSACleanup(); return 1; }
具體呼叫方法如下:
ret = EasyScreenLive_StartServer(g_pusher, 8554, "", "", liveChannel, MAX_CHANNEL_NUM );
string ip;
GetLocalIP(ip);
printf("start stream: rtsp://%s:8554/channel=0\n", ip.c_str() );
與TSINGSEE青犀視訊開發的視訊智慧分析一樣,我們的EasyScreenLive元件也提供了諸多介面,開發者只需要簡單呼叫幾個介面就可以滿足企業級應用的需求,並且經過多年的專案和生產環境檢驗,目前已經成功穩定運行於多家合作伙伴的商業產品系統中。
隨著科技的發展,無紙化會議服務有效的實現了單位與單位、單位與合作商之間的對接,同屏服務能更好的解決客戶的實際需求,在無紙化會議中採用我們的EasyScreenLive元件也是未來發展的一個主要方向。如果大家有需求,歡迎聯絡我們。