您的位置:首页 > 运维架构 > Linux

Linux下live555的编译

2014-08-12 12:54 253 查看
使用海思arm-hisiv100nptl-linux交叉编译

一、准备“live555”源码

项目地址http://www.live555.com/

下载 “live555-latest.tar"

二、解压、编译并安装“live555” 

tar -zxvf live555-latest.tar
cd live
通过改写"config.armlinux"文件保存为我们的makefile配置文件"config.hi3531"再进行编译
最新版本的live555库已经更正了以前的一些错误,请详细比对
CROSS_COMPILE?=arm-hisiv100nptl-linux-
COMPILE_OPTS =$(INCLUDES) -I. -O2 -DSOCKLEN_T=socklen_t -DNO_SSTREAM=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DLOCALE_NOT_USED
C =c
C_COMPILER =$(CROSS_COMPILE)gcc
C_FLAGS =$(COMPILE_OPTS)
CPP =cpp
CPLUSPLUS_COMPILER =$(CROSS_COMPILE)g++
CPLUSPLUS_FLAGS =$(COMPILE_OPTS) -Wall -DBSD=1
OBJ =o
LINK =$(CROSS_COMPILE)g++ -o
LINK_OPTS =
CONSOLE_LINK_OPTS =$(LINK_OPTS)
LIBRARY_LINK =$(CROSS_COMPILE)ar cr
LIBRARY_LINK_OPTS =$(LINK_OPTS)
LIB_SUFFIX =a
LIBS_FOR_CONSOLE_APPLICATION =
LIBS_FOR_GUI_APPLICATION =
EXE =

三、生成makefile并编译安装

保存我们的config.3531,后缀即为我们生成makefile的参数

./genMakefile 3531
make
make install

四、测试

进入live/testProgs文件夹,可以看到已经生成的各种示例程序。使用服务端live555MediaServer和客户端testRTSPClient进行测试。
./live555MediaServer
运行后,当前目录下所支持的视频文件将会被自动变成流媒体发送。可以使用vlc进行播放。
./testRTSPClient rtsp://192.168.1.1
运行后,假设192.168.1.1是一个流媒体服务器,请求成功后会出现接收数据的打印信息。注意:如果服务器需要用户认证信息,直接请求会返回401失败信息,修改testRTSPClient.cpp加入认证就可以成功请求。
另一个示例openRTSP增添了很多配置信息,具体可以参考live555的手册,添加认证的方法如下:
./openRTSP -u admin admin rtsp://192.168.1.1


完成上述工作后live555就已经成功部署到linux中了。
最重要的一点:在编译自己的live555程序时,在调用静态库的时候务必遵守以下调用顺序,否则会出现链接库不成功的情况。
libliveMedia.a
libgroupsock.a
libBasicUsageEnvironment.a
libUsageEnvironment.a
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux live555 交叉编译