=====================

myRTSPServer.cpp 1.建立任务调度 scheduler = BasicTaskScheduler::createNew(); env = BasicUsageEnvironment::createNew(*scheduler); 2.建立RTP/RTCP端口 unsigned short rtpPortNumAudio = getDestAudioPort(); unsigned short rtcpPortNumAudio = rtpPortNumAudio +1;   struct in_addr destinationAddress; destinationAddress.s_addr = our_inet_addr("192.168.10.100");  //不设置会导致组播,client端IP const Port rtpPortAudio(rtpPortNumAudio); const Port rtcpPortAudio(rtcpPortNumAudio); rtpGroupsockAudio = new Groupsock(*env, destinationAddress, rtpPortAudio, ttl);   rtcpGroupsockAudio = new Groupsock(*env, destinationAddress, rtcpPortAudio, ttl);  3.建立会话 CreateAudioSink(rtpGroupsockAudio);  audioRTCP = RTCPInstance::createNew(*env, rtcpGroupsockAudio, getBandwidthAudio(),  (const unsigned char*)getName(), audioSink, NULL /* we're a server */, isSSM);   4.创建RTSPServer rtspServer = RTSPServer::createNew(*env,8554); sms= ServerMediaSession::createNew(*env, "tanktest", "Audio Stream", "Session streamed by \"Tank\"",   isSSM); sms->addSubsession(PassiveServerMediaSubsession::createNew(*audioSink, audioRTCP)); rtspServer->addServerMediaSession(sms); char* url = rtspServer->rtspURL(sms); strcpy(remoteUrl,url); 注意: live555/liveMedia/RTSPServer.cpp void RTSPServer::RTSPClientSession ::handleCmd_SETUP(char const* cseq,  char const* urlPreSuffix, char const* urlSuffix,  char const* fullRequestStr); live555/liveMedia/PassiveServerMediaSubsession.cpp void PassiveServerMediaSubsession ::getStreamParameters(unsigned clientSessionId,      netAddressBits clientAddress,      Port const& /*clientRTPPort*/,      Port const& clientRTCPPort,      int /*tcpSocketNum*/,      unsigned char /*rtpChannelId*/,      unsigned char /*rtcpChannelId*/,      netAddressBits& destinationAddress,      u_int8_t& destinationTTL,      Boolean& isMulticast,      Port& serverRTPPort,      Port& serverRTCPPort,      void*& streamToken);

live555 android,Android之live555构建RTSP Server相关推荐

  1. 【视频开发】RTSP SERVER(基于live555)详细设计

    /* *本文基于LIVE555的嵌入式的RTSP流媒体服务器一个设计文档,个中细节现剖于此,有需者可参考指正,同时也方便后期自己查阅.(本版本是基于2011年的live555) 作者:llf_17@q ...

  2. live555 android 直播,通过live555实现H264 RTSP直播

    前面的文章中介绍了<H264视频通过RTMP流直播>,下面将介绍一下如何将H264实时视频通过RTSP直播. 实现思路是将视频流发送给live555, 由live555来实现H264数据流 ...

  3. hi3516a——armlinux下搭建live555 RTSP Server

    前言 上一篇文章中,在ubuntu下搭建了RTSP Server,见传送门.本文将把live555源码包交叉编译后再hi3516a开发板上运行live555 RTSP Server. 源码包下载 见上 ...

  4. android rtsp server or clinet work success

    感谢 pedroSG94大神的rtmp-rtsp-stream-client-java的库 此为我改造的一个类代码地址 pedroSG94提供了camera,录屏和opengl渲染的demo类, 本人 ...

  5. live555学习笔记【3】---RTSP服务器(一)

    Live555库是一个使用开放标准协议如RTP/RTCP.RTSP.SIP等实现多媒体流式传输的开源C 库集.这些函数库可以在Unix.Windows.QNX等操作系统下编译使用,基于此建立RTSP/ ...

  6. Android平台基于RTMP或RTSP的一对一音视频互动技术方案探讨

    背景 随着智能门禁等物联网产品的普及,越来越多的开发者对音视频互动体验提出了更高的要求.目前市面上大多一对一互动都是基于WebRTC,优点不再赘述,我们这里先说说可能需要面临的问题:WebRTC的服务 ...

  7. android项目两种构建方式的整合(Eclipse/idea和Android Studio)

    android的两种构建方式 目前android主要有两种构建方式,一种基于ant(传统的),另一种是13年Google/IO上新推出基于Gralde的构建(Android Studio).从sdk的 ...

  8. android 引用jar的r文件,正确的方法来处理Android库的ant构建. Build从jar文件中排除R.class...

    目前遇到的问题是我们使用ant生成的构建版本不包含R.class文件.看一下ADT build.xml,我看到了这个: ... includes="**/*.class" excl ...

  9. Android Studio下项目构建的Gradle配置及打包应用变体

    Gradle简介   Gradle是一个自动化构建工具,采用Groovy的Domain Specific Language(领域特定语言)来描述和控制构建逻辑.具有语法简洁.可读性强.配置灵活等特点. ...

最新文章

  1. 14个数据库的设计技巧 (来自Blogcn中我的窝)
  2. Android--视频播放器
  3. 【MySQL性能优化】概述与优化方面(一)
  4. linux 后台程序 cout输入到文件,istringstream在读文件时候的应用
  5. 检测对抗样本_避免使用对抗性T恤进行检测
  6. shields 徽标_符号,标志,文字标记:徽标类型的综合指南
  7. 《下辈子还教书》经典语录(1)
  8. python自动化教程_Python 任务自动化工具 tox 教程
  9. Linux less命令:查看文件内容
  10. 2012禁用ip隧道 win_Windows 7下关闭IPV6隧道的技巧方法
  11. 三星Galaxy S22首发!4nm旗舰芯Exynos 2200跑分出炉
  12. 计算机毕业设计ssm校园办公管理系统
  13. 嵌入式Linux开发笔记(韦东山2)
  14. java hashmap value排序_按照Value对HashMap排序
  15. 高中计算机技术基础教学ppt,高中信息技术教学课件
  16. PS打不开php,ps打不开未响应怎么办
  17. 使用jmeter进行api接口压力测试
  18. WEB实现Excel下载的一种方式--JAVA EXCEL
  19. 1960-2019年世界银行各国制造业增加值
  20. echarts的渐变色配置 LinearGradient, 饼图默认渐变颜色设置不同的角度

热门文章

  1. 有哪些值得推荐的找电子书的网站?
  2. c++ 操作Word
  3. Unity3D魔方游戏如何完成魔方的旋转
  4. U811.1接口EAI系列之二--生成销售出库单调用U8的EAI通用处理方法--PowerBuilder语言...
  5. swoole 捕捉php错误,常见错误 - swoole - yoyo
  6. maven多模块依赖导入失败以及私服下载包卡死
  7. setInterval定时器封装(settimeout\requestAnimationFrame),代码抽离,浏览器切换后定时器停止执行
  8. setTimeout开始,暂停,停止功能
  9. vue动态style添加背景图backgroundImage,结合computed
  10. c语言实现图片过渡效果飞入,用css3实现转换过渡和动画效果