最近加入了公司的C++视频小组,利用中秋这个假期将研究了一些live555的源码,现在先将如何编译使用vs2010编译live555,整理出来,对以后分析代码有很大帮助。
1.下载live555源码,下载地址:http://www.live555.com/liveMedia/public/live555-latest.tar.gz
2.live55简介
Live555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多种音频编码。同时由于良好的设计,Live555非常容易扩展对其他格式的支持。目前,Live555已经被用于多款播放器的流媒体播放功能的实现,如VLC(VideoLan)、MPlayer。
3.live555 vs2010编译
1)lib文件生成
- 新建解决方案Zhllive555,同时在解决方案下分别新建Visual C++ Empty Project,它们为:BasicUsageEnvironment、groupsock、liveMedia、UsageEnvironment工程。如下图:
- 修改工程属性,将工程修改为lib工程,如下图:
- 将下载下来的live源码中的include文件以及.cpp文件拷贝到对应工程目录下面,并且设置每个工程的vc++目录,如下图:
BasicUsageEnviroment除了需要引入自己的include文件夹下的文件外,同时还需要引入groupsock、UsageEnvironment文件夹下的include文件。
groupsock需要引入的文件为:自己include下的文件,BasicUsageEnvironment、UsageEnvironment文件夹下的include文件。
liveMedia需要引入的文件为:自己include下的文件,BasicUsageEnvironment、groupsock、UsageEnvironment文件夹下的include文件。
UsageEnvironment需要引入的文件为:自己include下的文件,BasicUsageEnvironment、groupsock文件夹下的include文件。
- 将.cpp文件引入工程
- 编译解决方案,会在outFile下生成BasicUsageEnvironment.lib、groupsock.lib、liveMedia.lib、UsageEnvironment.lib四个文件
- 新建Empty Project,名称为mediaServer
工程整体如下图:
- 修改mediaServer配置,添加C/C++ include Directories
- 添加工程需要支持的lib文件,首先将lib文件拷贝到..\Debug文件夹下,然后修改mediaServer工程属性Linker,如图:
- 设mediaServer为启动工程,运行即可,如下图:
整理好的工程可以从这儿下载