Windows/Android平臺視頻同屏功能組件EasyScreenLive-Win開啓RTSP服務如何獲取本機地址?

經過這麼多年的視頻技術開發,TSINGSEE青犀視頻團隊已經有了一套自己的研發體系,除了大家比較熟知的視頻智能分析平臺外,其實TSINGSEE青犀視頻還有很多好用的SDK及工具。其中EasyScreenLive就是我們研發的一款簡單、高效、穩定的同屏功能組件。

EasyScreenLive.png

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組件也是未來發展的一個主要方向。如果大家有需求,歡迎聯繫我們。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章