Android之live555构建RTSP Server

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

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);

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值