- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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
您可能关注的文档
- GYFX-610说明书概述.doc
- 5.软件测试及其相关研究(聂长海)概述.ppt
- 5.示范教案(2.3.2平面向量的正交分解及坐标表示)概述.doc
- 5.相似图形概述.ppt
- GD快开盲板概述.ppt
- 5.有趣的磁铁__课件概述.ppt
- 5-1管道试压方案概述.doc
- gg高中物理_8.1磁场对电流的作用基础课件概述.ppt
- GIORGIO_品牌概述.ppt
- GIS设计自考复习题概述.doc
- 2025年经济师《中级管理》强化训练试卷.docx
- 苏教版高中化学必修第一册 第二章海水中的重要元素钠和氯 作业13 物质的量浓度【原卷+答案】.docx
- 苏教版高中化学必修第一册 第一章物质及其变化 作业6 氧化剂和还原剂【原卷+答案】.docx
- 苏教版高中化学必修第一册 第三章 铁 金属材料 作业17 物质的量在化学方程式计算中的应用【原卷+答案】.docx
- 2025年二级建造师《建筑》真题解析试卷.docx
- 2025年数据库系统工程师SQL重点练习卷.docx
- 心理咨询师三级《变态心理学》2025年强化模拟卷.docx
- 2025年五年级科学春季练习.docx
- 2025年高三春季生物真题解析试卷.docx
- 2025年机械安全基础阶段练习卷.docx
原创力文档


文档评论(0)