1、jrtplib简介
RTP 是目前解决流媒体实时传输问题的最好办法,要在 Linux 平台上进行实时传送编程,可以考虑使用一些开放源代码的 RTP 库,如 LIBRTP、JRTPLIB 等。JRTPLIB 是一个面向对象的 RTP 库,它完全遵循 RFC1889设计,在很多场合下是一个非常不错的选择。JRTPLIB 是一个用 C++ 语言实现的 RTP 库,这个库使用Socket 机制实现网络通讯 因此可以运行在 Windows、Linux、FreeBSD、Solaris、Unix和VxWorks 等多种操作系统上。
2、jrtplib的编译
(1) 此库在PC机Linux上的编译。
以下使用Readhat 9.0,内核版本为2.4。jrtplib库一般与jthread库一起使用。当jrtplib库单独使用时,确保主机系统上安装了GCC编译器。步骤如下:进入安装目录configure;make;make install。安装完把此库的include文件放到/usr/local/include下。当与jthread库一起使用时,先编译jthread,并把此库编译后的include文件放在/usr/local/include下,然后再编译jrtplib库。
(2) jrtplib库应用于ARM9的交叉编译。
jrtplib与平台有关。jrtplib库的交叉编译指定的ARM编译工具链是arm-linux,而ARM7的交叉编译工具链是arm-elf,因此在ARM9+Linux平台上实现。用arm-linux-gcc编译时,需做此库的交叉编译场景分析。经过多次尝试成功编译。具体做法,configure前,在shell环境下输入两条语句export config_BUILD_CC = gcc export config_TARGET_CC = arm-linux-gcc,配置使用./configure --host = arm-linux。在rtperrors.h中添加头文件stdio.h,否则编译会出现相应的问题。