下载此文档

开源RTP源代码.doc


文档分类:办公文档 | 页数:约29页 举报非法文档有奖
1/29
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/29 下载此文档
文档列表 文档介绍
开源RTP库JRTPLIB 初学 [转]
 (2008-12-10 18:58:00)
转载
标签: 
it
分类: 技术无限
    RTP是一个实时通讯网络协议,网络上的音视频传输可以用它来做,像QQ的语音聊天等都是使用这个。real 开发的在线rm文件播放协议 rstp也是基于RTP协议,可以自己搜索一下, 在网上可找到“RTP ”文档,有详细介绍。
JRTPLIB 是一个开源的 RTP协议实现库,支持Windows和unix平台,应该也很多人用了,封装的类方式很不错。他的主页是 /~jori/page/?n= ,
帮助文档:
RTPSession Class Reference
从他主页上下载完整的 JRTPLIB   源码包下来解压就行了,不过JRTPLIB 用到了他的JThread库,在主页上可以找到,也把JThread 库下载下来就行了。
解压之后再examples 目录下有几个例子,我试了一下, 两个,刚好一个可以作为客户端,一个作为服务器端,在vc2003 中测试了一下。
首先建一个win32 console 项目,把把JRTPLIB     和 加进了,再把JRTPLIB   和 JThread 添加到工程中来。在 include 目下中指定JRTPLIB    和 JThread 的src源码目录。下一步把工程属性中把“Runtime Library”改成“Multi-threaded Debug DLL (/MDd)”,需要改成这个JThread 才能编译通过。最后包含一个 这个lib库, 前面添加#ment (lib, "") 这一句了,在工程属性修改应该一样的。
 
两个例子的代码如下也贴一下吧:
 
#ment (lib, "")
#include ""
#include ""
#include ""
#include ""
#include ""
#include ""
#ifndef WIN32
#include </>
#include <arpa/>
#else
#include <>
#endif // WIN32
#include ""
#include <>
#include <>
#include <iostream>
#include <string>
#ifdef RTP_SUPPORT_THREAD
This function checks if there was a RTP error. If so, it displays an error
message and exists.
void checkerror(int rtperr)
{
if (rtperr < 0)
{
   std::cout << "ERROR: " << RTPGetErrorString(rtperr) << std::endl;
   exit(-1);
}
}
The new class routine
class MyRTPSession : public RTPSession
{
protected:
void OnPollThreadStep();
void ProcessRTPPacket(const RTPSourceData &srcdat,const RTPPacket &rtppack);
};
void MyRTPSession::OnPollThreadStep()
{
ess();
  
check ing packets
if (Got

开源RTP源代码 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数29
  • 收藏数0 收藏
  • 顶次数0
  • 上传人sxlw2017
  • 文件大小206 KB
  • 时间2018-03-26