雷鸣球 雷高飞:我的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