Linux下live555的编译

2019-07-12 23:14发布

使用海思arm-hisiv100nptl-linux交叉编译

一、准备“live555”源码

项目地址http://www.live555.com/下载 “live555-latest.tar"

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

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

三、生成makefile并编译安装

保存我们的config.3531,后缀即为我们生成makefile的参数[plain] view plain copy
  1. ./genMakefile 3531  
  2. make  
  3. make install  

四、测试

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



完成上述工作后live555就已经成功部署到linux中了。最重要的一点:在编译自己的live555程序时,在调用静态库的时候务必遵守以下调用顺序,否则会出现链接库不成功的情况。[plain] view plain copy
  1. libliveMedia.a  
  2. libgroupsock.a   
  3. libBasicUsageEnvironment.a  
  4. libUsageEnvironment.a  
欢迎关注并加入物联网行业联盟,积累行业人脉和资源。