- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于JRTPLIB库的rtp包的传输和接收
基于JRTPLIB库的rtp包的传输和接收学习2009-09-09 21:21转载:/blog/static/665146212008824112748499/基于JRTPLIB库的RTP数据传输设计文档RTP即实时传输协议,用于Internet上针对多媒体数据流的传输。它通常使用UDP协议来传送数据,起初是为了“multicast”传输情况而设计的,目的是提供时间信息和保证流同步,不过现在也用于一对一的传输情况。RTP协议主要完成对数据包进行编号,加盖时戳,丢包检查,安全与内容认证等工作。通过这些工作,应用程序会利用RTP协议的数据信息保证流数据的同步和实时传输。windows下vc6.0编译rtp库,过程如下:压缩包可以从这里获得:/upimg/soft/jrtplib-3.7.1.rar下载jrtplib-3.7.1.rar后,首先将其解压到一个临时文件夹中,然后开始后续工作。首先需要强调的是,jrtplib是一个库而不是应用程序,编译后我们获得的是.lib文件。这个文件是用来实现RTP协议的,意义和我们在写WIN32程序时用到的kernel.lib一样。解压后的文件夹中包含两个目录,jrtplib-3.7.1和jthread-1.2.1,打开这两个目录后我们可以看到下面又有两个同名的目录,为了后面能顺利编译,我们把同名目录下的文件全部考到上一级目录中,就是说把f:\jrtplib-3.7.1\jrtplib-3.7.1\*.* 复制到f:\jrtplib-3.7.1\。同理,把f:\jthread-1.2.1\jthread-1.2.1\*.* 复制到f:\jthread-1.2.1\完成上述步骤后我们就可以开始编译库文件了。Windows平台下建议使用Visual C++6.0。首先编译多线程库jthread,在vc6中直接打开工作区文件jthread.dsw,改变工程设置,选中source file下的文件,点右键选择setting,确保code generation下Use run-time library 为debug mulitithreaded DLL或debug mulitithreaded。然后选build就可以了,和上面一样的方法完成jrtpthread的编译。编译时需要用到jthread中的头文件,需要将其包含到工程中,这个底下的文件比jthread多一些。默认产生的文件是jthread.lib和jrtplib.Lib,这两个文件分别位于两个文件夹下的debug文件夹下,将它们复制到VC6的lib文件夹下。完成上述工作后我们就可以开始尝试编译jrtplib附带的examples。创建一个新的Win32 Console 应用程序项目,添加example文件到source files文件夹中,然后设置VC环境1、修改example.cpp文件,在文件开始添加#pragma comment(lib, jrtplib.lib)#pragma comment(lib, jthread.lib)#pragma comment(lib, WS2_32.lib)或者在VC中a) Project-Settings-Link中Object/library modules:添加jthread.lib jrtplib.lib,b) Link中添加ws2_32.lib2、检查 工程-设置-C/C++-Use runtime library选择code generationdebug mulitithreaded DLL或debug mulitithreaded,方法同上文中检查库文件的方法。3、工具-选项-目录-include files 将两个库中头文件所在文件夹包含进来工具-选项-目录-library files 将生成的两个静态库所在文件夹包含进来工具-选项-目录-src files 将两个库中src文件夹包含进来最后就可以编译、连接、生成可执行文件了。rtp包传送和接收过程1)??????? 初始化在使用JRTPLIB进行实时流媒体数据传输之前,首先应该生成RTPSession类的一个实例来表示此次RTP会话,然后调用Create()方法来对其进行初始化操作。RTPSession类的Create()方法只有一个参数,用来指明此次RTP会话所采用的端口号。2)??????? 数据发送当RTP会话成功建立起来之后,接下来就可以开始进行流媒体数据的实时传输了。首先需要设置好数据发送的目标地址,RTP协议允许同一会话存在多个目标地址,这可以通过调用RTPSession类的AddDestination()、DeleteDestination()和ClearDestinations()方法来完成。目标地址全部指定之后,接着就可以
您可能关注的文档
- 八年级英语第一学期期中考试测试题 人教新目标版.doc
- c语言_第六章_函数、存储类和预处理程.ppt
- Oracle_将生产数据库数据恢复到模拟测试数据库步骤_实战详述.docx
- mastercam专业综合实践.doc
- 13_压力、应对与幸福感.ppt
- 2016年九年级一学月英语试题.doc
- Struts相关归纳.doc
- java_5线程_扩展.ppt
- Project_2003_教材1.ppt
- Sun公司EJB认证考试310-091.doc
- 年产压缩机配件压缩机配件项目可行性研究报告模板-立项拿地.doc
- 年产100万平方竹木遮阳产品生产基地项目可行性研究报告模板-立项拿地.doc
- 年增产420万双拖鞋生产项目可行性研究报告写作模板-拿地备案.doc
- 年产9000万个医用包装容器项目可行性研究报告模板-立项拿地.doc
- 年产5000台套工程机械配件及属具项目可行性研究报告模板-立项备案.doc
- 年产900万件毛绒玩具项目可行性研究报告模板-立项拿地.doc
- 年产3000顿塑料制品珍珠棉生产线项目可行性研究报告写作模板-拿地备案.doc
- 半导体核心材料及零部件项目可行性研究报告写作模板-拿地备案.doc
- 2×66万千瓦超超临界燃煤发电项目可行性研究报告写作模板-拿地备案.doc
- 城市排水管网系统治理项目可行性研究报告写作模板-申批立项.doc
文档评论(0)