1、首先到它的主页下载一个源码包:
http://www.live555.com/liveMedia/public/
我下载的是latest的,具体什么版本还真不清楚
2、放到linux目录下解压:
1. root@kubuntu:/home/frank tar zxvf live555-latest.tar.gz
2. root@kubuntu:/home/frank# cd live
3. root@kubuntu:/home/frank/live#
3、首先尝试在PC的Linux上编译:
区别于传统的源码包,不是传统的配置方式,而是通过genMakefiles配对目录下的config.*文件生成Makefile
1. root@kubuntu:/home/frank/live# ./genMakefiles linux
2. root@kubuntu:/home/frank/live# make
编译很顺利,然后上网找一个*.264文件放在当前目录下
执行mediaServer目录下的live555MediaServer服务器原型
通过VLC可以点播rtsp://192.168.1.52:8554/test.264视频,
(注意:test.264所在的目录要和live555MediaServer执行目录相一致,若test.264放在live目录下,则需要在live目录下执行./mediaServer/live555MediaServer)
4、交叉编译
编译器arm-hisiv100nptl-linux-g++
同理如果通过genMakefiles生成交叉编译的Makefile,我们需要一个对应的config.*
因此我们复制一个config.hi3520,命令:cp config.armlinux config.hi3520
5修改config.hi3520文件的第一行和第八行
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
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 -DLOCALE_NOT_USED
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 =
然后与在PC上编译一样,进行编译。
1. root@kubuntu:/home/frank/live# ./genMakefiles hi3520
2. root@kubuntu:/home/frank/live# make clean;make
这里要记得先make clean,否则因为之前在PC上编译的目标文件没清楚会导致链接失败
然后进入live目录测试即可
./mediaServer/live555MediaServer
./mediaServer/testRTSPClient rtsp://192.168.1.236:554/user=admin_password=tlJwpbo6_channel=1_stream=0.sdp?real_stream