zoukankan      html  css  js  c++  java
  • Windows/Android平台视频同屏功能组件EasyScreenLive-Win开启RTSP服务如何获取本机地址?

    经过这么多年的视频技术开发,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
    ", ip.c_str() );
    

    与TSINGSEE青犀视频开发的视频智能分析一样,我们的EasyScreenLive组件也提供了诸多接口,开发者只需要简单调用几个接口就可以满足企业级应用的需求,并且经过多年的项目和生产环境检验,目前已经成功稳定运行于多家合作伙伴的商业产品系统中。

    随着科技的发展,无纸化会议服务有效的实现了单位与单位、单位与合作商之间的对接,同屏服务能更好的解决客户的实际需求,在无纸化会议中采用我们的EasyScreenLive组件也是未来发展的一个主要方向。如果大家有需求,欢迎联系我们。

  • 相关阅读:
    狼文化的一点思考
    数据可视化之风向图
    谈谈JavaScript代码混淆
    比尔盖茨2016好书推荐
    Cesium原理篇:glTF
    个人 产品 团队(下):个人与团队
    技术 产品 团队(上):如何成为超级个体
    惊艳的HTML5动画特效及源码
    精心挑选的HTML5/CSS3应用及源码
    炫酷霸气的HTML5/jQuery应用及源码
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/14150884.html
Copyright © 2011-2022 走看看