雷鸣球 雷高飞:我的RTSP源码接收端使用样例

来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 02:02:43

// RtstClientTest.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"

#include "RtspRequest.h"
#include "Rtp.h"

 

RtspRequest g_RtspRequest;

 

int _tmain(int argc, _TCHAR* argv[])
{


 // 接收 ========================================================
 string url = "rtsp://192.168.1.1:554/aacAudioTest";
 string setupName = "aacAudioTest";

 INT rtpPort = 8080;

 INT rtcpPort = rtpPort + 2;
 
 string sdp;
 INT64  sess;

 g_RtspRequest.Open(url.c_str(), "127.0.0.0", 0);
 g_RtspRequest.RequestOptions();
 g_RtspRequest.RequestDescribe(&sdp);
 g_RtspRequest.RequestSetup(setupName.c_str(), transportModeRtpUdp, rtpPort , rtcpPort , &sess);
 g_RtspRequest.RequestPlay();

 

 Rtp* pRtp = new Rtp();
 pRtp->Open("127.0.0.0", rtpPort);

 PBYTE pBuffer = new BYTE[1024*1024*10];


 INT payloadType;
 WORD sequenceNumber;
 INT32 timeStamp;
 INT32 ssrc;
 int iRead;
 

 while(TRUE)
 {
  iRead = pRtp->Read(pBuffer, 1024*1024*10, &payloadType, &sequenceNumber, &timeStamp, &ssrc);
  if (iRead > 0)
  {
   // save buff
  }
 }

  

 g_RtspRequest.RequestPause();
 g_RtspRequest.RequestTeardown();
 g_RtspRequest.Close();

 delete []pBuffer;


 return 0;
}

 

 

RTSP控制协议源码地址见这里:

http://blog.csdn.net/ttxk/archive/2009/10/21/4710555.aspx