介绍:
四个基本的库分别是
1.UsageEnvironment&TaskScheduler
用于事件的调度,实现异步读取事件的句柄的设置以及错误信息的输出。另外,还有一个HashTable类定义了一个通用的 hash表,其它代码要用到这个表。这些都是抽象类,在应用程序中基于这些类实现自己的子类。
2.BasicUsageEnvironment
BasicUsageEnvironment中的类主要是对UsageEnvironment中对应类的实现。
3.groupsock
groupsock类是对网络接口的封装, 用于收发数据包。正如名字本身,Groupsock主要是面向多播数据的收发的,它也同时支持单播数据的收发。Groupsock定义了两个构造函数
Groupsock(UsageEnvironment& env, struct in_addr const& groupAddr,
Port port, u_int8_t ttl);
Groupsock(UsageEnvironment& env, struct in_addr const& groupAddr,
struct in_addr const& sourceFilterAddr,
Port port);
前者是用于SIM(source-independent multicast)组,后者用于SSM(source-specific multicast)组。groupsock库中的Helper例程提供了读写socket等函数,并且屏蔽了不同的操作系统之间的区别,这是在 GroupsockHelper.cpp文件中实现的。
4.liveMedia
liveMedia库中有一系列类,基类是Medium,这些类针对不同的流媒体 类型和编码。
对应四个文件夹下。
其中LIVE555 Media Server是一个纯粹的RTSP服务器。支持多种格式的媒体文件:
* TS流文件,扩展名ts。
* PS流文件,扩展名mpg。
* MPEG-4视频基本流文件,扩展名m4e。
* MP3文件,扩展名mp3。
* WAV文件(PCM),扩展名wav。
* AMR音频文件,扩展名.amr。
* AAC文件,ADTS格式,扩展名aac
vs2008编译方法:
1.下载 live555,http://www.live555.com live555-latest.tar.gz
2.解压live555-latest.tar.gz
这里有两种方法可以做,其实是一种方法。
第一种. 打开vs2008,文件->新建->从现有代码重建。选择项目位置,重命个工程名。选择LIB或DLL库。 有四个库要四次。
注意:这里有些公用的代码在不同的文件夹下。 所以需要配置include 的路径。
第二种.新建一个空的工程。然后用添加项目,把四个工程都添加进来。然后添加相应的代码。同样注意是LIB或DLL库。
最后编译LIVE555 Media Server是一个纯粹的RTSP服务器。
我们可以根据我们的需求去修改。