Live555在各种平台下的编译

来源:互联网 发布:如何装饰无线淘宝店铺 编辑:程序博客网 时间:2024/05/17 01:57

Live555在各种平台下的编译演示

①序言

vs2005---windows下编译

vc6.0---windows下编译

g++---ubun下编译

arm-linux-g++---arm下编译

6mingw------windows下 编译

序言

live555 是一个很有用的多媒体串流程式库,其中包含了许多有用的 source code,例如:他实做了 RTP/RTCP/RTSP/SIP 串流的接收与传送一些有名的多媒体串流播放器如: VLC MPlayer, 都是使用这个 library做串流的处理.

所以呢..... 如果想要搞清楚这些串流是怎么一回事,最好把 source code拿回来编译一下.

你可以在下面拿到 live media专案的 sourcecode

http://www.live555.com/liveMedia/

因为原来介绍的编译方法, 已经不适用于 VisualStudio 2005,所以 Steve先生,提出了他的解决方案,你可以在下面的 blog得到相关的编译知识.

http://letsgoustc.spaces.live.com/blog/cns!89AD27DFB5E249BA!167.entry

 

如果你按照下面的作法, 应该能够安安静静并且非常顺利地编译完成.

请注意版本

  1.  liveMedia 版本为 live.2008.09.02

  2. Visual Studio 2005

 一:vs2005---windows下编译

Step 1.设定编译器位置

打开win32config 档案, 修改 "TOOLS32 =..." 你的 Visual Studio 2005 VC的位置

ex:

"TOOLS32=  C:\Program Files\Microsoft Visual Studio 8\VC"

Step 2.修正错误的档名

     a.   win32config里面的

           "LINK_OPTS_0 =  $(linkdebug) msvicrt.lib"改成

           "LINK_OPTS_0 =  $(linkdebug) msvcrt.lib"

Step 3.建立Makefile

      直接执行 genWindowsMakefiles.cmd

Step 4.建立build.bat命令批次档

把下面的文件内容, 存成build.bat,存放在 live目录底下

-----------------------------------------------------------------------------------

call "C:\Program Files\MicrosoftVisual Studio 8\VC\vcvarsall.bat"

cd liveMedia 
nmake /B -f liveMedia.mak 
cd ../groupsock 
nmake /B -f groupsock.mak 
cd ../UsageEnvironment 
nmake /B -f UsageEnvironment.mak 
cd ../BasicUsageEnvironment 
nmake /B -f BasicUsageEnvironment.mak 
cd ../testProgs 
nmake /B -f testProgs.mak 
cd ../mediaServer 
nmake /B -f mediaServer.mak

-----------------------------------------------------------------------------------

Step 5.开始编译

            执行 build.bat

Step 6.测试与验证

 你可以在 live\testPogs里面找到有名的 testOnDemondRTSPServer,首先把音视频文件拷贝到../testPorg下。运行testOnDemondRTSPServer,按提示打开vlc播放器(或mplayer),媒体->打开网络串流,输入rtsp://******:8554/aacAudioTest(*号为运行testDemondRTSPServer的主机地址).当然你也可以播放。H264视频,mp3音频等。

接者你就可以把他改成你想要的软体元件,例如DirectShowRTSP source filter

 

 二:vc6.0---windows下编译

 

http://live555.com/liveMedia/public/live555-latest.tar.gz 下载最新版的live555工程的源码。

    将工程源码解压到C\live(自己设定)


    1打开VC++6.0开发环境,点击工具-选项-目录对话框,目录下拉对列表框中选定:inlcuefiles
  
在下面添加路径:
        C:\live\BasicUsageEnvironment\include
        C:\LIVE\GROUPSOCK\INCLUDE
        C:\LIVE\USAGEENVIRONMENT\INCLUDE
        C:\LIVE\LIVEMEDIA\INCLUDE

    如下图所示:

 

 

    2新建Win32Static Library工程,工程名为BasicUsageEnvironment位置C:\live\BasicUsageEnvironment点击下一步-完成。
  
live555工程中BasicUsageEnvironment文件夹下.cpp文件添加至工程源文件中,将include文件夹下文件添加至工程头文件夹中。
  
FileView视图中右击工程,选择设置-Library。在文本框中输入..\lib\BasicUsageEnvironment.lib
  
编译即可在live目录下lib文件夹中生成BasicUsageEnvironment.lib


   
3新建Win32Static Library工程,工程名为GROUPSOCK位置C:\live\GROUPSOCK点击下一步-完成。
  
live555工程中GROUPSOCK文件夹下.cpp文件添加至工程源文件中,将include文件夹下文件添加至工程头文件夹中。
  
FileView视图中右击工程,选择设置-Library。在文本框中输入..\lib\GROUPSOCK .lib
  
编译即可在live目录下lib文件夹中生成GROUPSOCK.lib


   
4新建Win32Static Library工程,工程名为UsageEnvironment位置C:\live\UsageEnvironment点击下一步-完成。
  
live555工程中UsageEnvironment文件夹下.cpp文件添加至工程源文件中,将include文件夹下文件添加至工程头文件夹中。
  
FileView视图中右击工程,选择设置-Library。在文本框中输入..\lib\UsageEnvironment.lib
编译即可在live目录下lib文件夹中生成UsageEnvironment.lib


  
 5新建Win32Static Library工程,工程名为liveMedia位置C:\live\liveMedia点击下一步-完成。
  
live555工程中liveMedia文件夹下.cpp文件添加至工程源文件中,将include文件夹下文件添加至工程头文件夹中。
  
FileView视图中右击工程,选择设置-Library。在文本框中输入..\lib\liveMedia.lib
编译即可在live目录下lib文件夹中生成liveMedia.lib
  
(其实2-4步过程差不多,主要是生成库文件)


   
6单击VC++6.0菜单中的工具-选项在目录中选择 Library files 。添加:C:\LIVE\LIB


   
好了,live555工程所需要的库文件都编译好了,下面只需要在所需要的应用程序中连接4个库文件即可。

这里举一个例子:
   
新建一个Win32Console Application工程,名为Server。路径为C:\LIVE\Server,选择空工程。
   
live555工程testProgs文件夹下拷贝testOnDemandRTSPServer.cpp Server文件夹下。
   
Server工程中的源文件中添加testOnDemandRTSPServer.cppFileView视图中右击工程,
选择设置-连接-对象/库模块对话框中添加 BasicUsageEnvironment.libGROUPSOCK.lib liveMedia.lib UsageEnvironment.lib ws2_32.lib五个库文件其中前三个是live工程库文件,最后一个是windows库文件。


 三:g++---ubuntu下编译

Step 1.下载live555,并解压

Tar zxvf live555***TarGz

Cd live

Step 2.生成makefile

./genMakefiles linux

Step 3.Make

Make

Step 54.演示程序

Cd testProg

拷贝.aac .mp3 .264文件到此目录。

运行testOnDemondRTSPServer.

打开vlc,媒体->打卡网络流串,输入rtsp://******:8554/aacAudioTest(*号为运行testDemondRTSPServer的主机地址).当然你也可以播放。H264视频,mp3音频等。

 

 四:arm-linux-g++---arm下编译

Step 1.下载live555,并解压

Tar zxvf live555***TarGz

Cd live

Step 2.生成makefile

修改config-armlinux:把第一行改为CROSS_COMPILE?=      arm-linux-。保存

Step 2.生成makefile

./genMakefiles armlinux

Step 3.Make

Make

Step 54.演示程序

Cd testProg

拷贝.aac .mp3 .264文件到此目录。

运行testOnDemondRTSPServer.

打开vlc,媒体->打卡网络流串,输入rtsp://******:8554/aacAudioTest(*号为运行testDemondRTSPServer的主机地址).当然你也可以播放。H264视频,mp3音频等。

      运行live555MediaServer

打开vlc,媒体->打卡网络流串,输入rtsp://****** /test.264    (* 号为运行live555MediaServer的主机地址).当然你也可以播放,mp3音频等,只要运行程序的当前目录有此文件。

六.mingw------windows下 编译

这里使用的live555的版本为live.2012.05.11.tar.tar

首先,安装mingw,官网下载

http://sourceforge.net/projects/mingw/files/

安装在D:\MinGW,添加系统变量D:\MinGW\bin

打开cmd,输入gcc -v若有提示信息,代表安装成功。

解压live.2012.05.11.tar.tarG:\mingw\live下。

进入D:\MinGW\msys\1.0,打开msys.bat启动控制终端。进入G:\mingw\live下,输入./genMakefiles mingw生成makefile。然后make。这个过程会提示有一个错误。进入源码目录,修改MPEG4GenericRTPSink.cpp,添加一行#include <cctype>,可以解决tolower()函数未定义的错误。继续make,这样源码就编译结束,在testProgs目录下就可以测试是否生成正确。

 



原创粉丝点击