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组件也是未来发展的一个主要方向。如果大家有需求,欢迎联系我们。

  • 相关阅读:
    Python---Flask--08--Flask-Ckeditor
    Python---Flask--07--SQLAlchemy基本关系
    Python---Flask--06--分页的实现
    Python---Flask--05--g对象和钩子函数
    maven项目管理构建
    POI 设置
    http状态码
    hibernate框架之-查询结果集返回类型
    Struts2框架之-注解开发
    Struts2框架之-Struts2的标签
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/14150884.html
Copyright © 2011-2022 走看看