简介
Live555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多种音频编码。同时由于良好的设计,Live555非常容易扩展对其他格式的支持。
主要分支
live555主要包括四个比较重要的库,分别为 UsageEnvironment、groupsock、liveMedia、BasicUsageEnvironment,是我们二次开发过程中需要的一些接口实现。还有一个testProgs目录,里面是一些基本使用的demo程序,入手可以从这里开始。
源码下载
这里可以下载最新的live555的相关源码,都是以.tar.gz结尾的压缩包,windows下也是下载这个,我下载了最新的2015/8/7的。
编译
官网也有比较明确的不同的平台的详细说明,说明如下:
// Linux 平台 How to configure and build the code on Unix (including Linux, Mac OS X, QNX, and other Posix-compliant systems) The source code package can be found (as a ".tar.gz" file) here. Use "tar -x" and "gunzip" (or "tar -xz", if available) to extract the package; then cd to the "live" directory. Then run ./genMakefiles <os-platform> where <os-platform> is your target platform - e.g., "linux" or "solaris" - defined by a "config.<os-platform>" file. This will generate a Makefile in the "live" directory and each subdirectory. Then run "make". // Windows平台 How to configure and build the code on Windows Unpack and extract the ‘.tar.gz‘ file (using an application such as "WinZip"). If the ‘tools‘ directory on your Windows machine is something other than "c:\Program Files\DevStudio\Vc", change the "TOOLS32 =" line in the file "win32config". In a command shell, ‘cd‘ to the "live" directory, and run genWindowsMakefiles This will generate - in each subdirectory - a "*.mak" makefile suitable for use by (e.g.) Microsoft Visual Studio.
因为我是在ubuntu系统下研究live555,所以顺便提一下我编译的时候错误问题,
执行 ./genMakefiles linux后,运行make的时候报错如下:
出现以上情况主要是ubuntu的开发环境没有安装好(ubuntu系统的一个弊端,什么都得自己来)
sudo apt-get install build-essential //<安装有提示依赖的话,就安装对应提示的文件包,如果出现版本不匹配,可以先remove,然后在install>
安装成功后,执行make,成功之后再对应的BasicUsageEnvironment、groupsock、liveMedia、UsageEnvironment文件夹下生成需要的.a文件了。这里建议不需要使用make install安装到系统,没有必要,需要的时候链接一下就ok了。
使用
make完成之后,进入到mediaSever目录下,会发现生成了一下live555mediaServer可执行文件,是的,这个就是live555自带的一个简单的rtsp服务程序,让我们使用之前大致了解一下live555的功能,运行后如下图所示
此时就表示rtsp服务正常运行,在红色框框中,就是live555库自动系统的一个请求文件流的url地址,
将<filename>改成在mediaSever目录下对应的h264播放文件即可。
如我下面的播放地址为rtsp://10.0.2.15:8554/test10.264,效果如下
live555的入门编译介绍完,后面章节,继续深入介绍相关知识,包括四个库的作用,自己实现文件流的播放,以及实时视频流的播放等。
版权声明:本文为博主原创文章,未经博主允许不得转载。