- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
H264云台型网络摄像机学习
H264云台型网络摄像机学习
RTSP交互过程
C表示rtsp客户端,S表示rtsp服务端1.C-S:OPTION?request //询问S有哪些方法可用?1.S-C:OPTION response //S回应信息中包括提供的所有可用方法?2.C-S:DESCRIBE?request //要求得到S提供的媒体初始化描述信息?2.S-C:DESCRIBE response //S回应媒体初始化描述信息,主要是sdp?3.C-S:SETUP?request //设置会话的属性,以及传输模式,提醒S建立会话?3.S-C:SETUP response //S建立会话,返回会话标识符,以及会话相关信息?4.C-S:PLAY?request //C请求播放?4.S-C:PLAY response //S回应该请求的信息?S-C:发送流媒体数据
5.C-S:TEARDOWN?request //C请求关闭会话?5.S-C:TEARDOWN response //S回应该请求
?
RTSP连接、断开、视频播放、停止的工具类文件
/*
* RTSPVideoUtil.h
*
* Created on: 2012-10-4
*/
#includesys/socket.h
#includeunistd.h
#includectype.h
#includearpa/inet.h
#includepthread.h
#includeinclude/rtppackage.h
#includeinclude/type.h
#includeinclude/DecodeFrame.h
//全局变量
JNIEnv *env_play;
int rtsp_Socket = -1;
int size = 1024;
int mWidth = 352, mHeight = 288;//显示视频屏幕大小
char Session[100];
uint8_t videoDecodeData[352 * 288 * 2];//视频数据缓冲,使其与mWidth、mHeight相同
jbyteArray jarrayVideo;
char *IP;
int Port;
/**
* RTSP连接
* 返回0,连接失败;返回1,连接成功
*/
int getConnectRTSP(char *ip, int port) {
//LOGD(begin to connect rtsp\n);
char szResponse[1024];
char szSendBuf[1024];
int nRet = 0;
int nTimeOut = 5000;
IP = ip;
Port = port;
setsockopt(rtsp_Socket, SOL_SOCKET, SO_RCVTIMEO, (char*) nTimeOut,
sizeof(nTimeOut));
rtsp_Socket = socket(AF_INET, SOCK_STREAM, 0);//创建socket
if (rtsp_Socket 0) {//告诉Java创建Sock失败
return 0;
}
//Socket连接
struct sockaddr_in addrSrv;
addrSrv.sin_addr.s_addr = inet_addr(ip);
addrSrv.sin_family = AF_INET;
addrSrv.sin_port = htons(port);
if (-1 == connect(rtsp_Socket, (struct sockaddr*) addrSrv,
sizeof(struct sockaddr))) {//告诉Java创建Sock失败
LOGD(Connect失败\n);
close(rtsp_Socket);
rtsp_Socket = -1;
return 0;
}
//OPTIONS方法
char lstrOptions[1024] = OPTIONS rtsp://%s:%d/H264 RTSP/1.0\r\n
CSeq: 1\r\n
\r\n;
sprintf(szSendBuf, lstrOptions, ip, port);
nRet = send
文档评论(0)