基于JRTPLIB库的rtp包的传输和接收.docx

基于JRTPLIB库的rtp包的传输和接收.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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()方法来完成。目标地址全部指定之后,接着就可以

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档