Live 555 百科
是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了标准流媒体传输,是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+ 、DV、JPEG视频和多种音频编码。同时由于良好的设计,Live555非常容易扩展对其他格式的支持。Live555已经被用于多款播放器的流媒体播放功能的实现,如VLC(VideoLan)、MPlayer。
软件下载地址
http://www.live555.com/liveMedia/public/
寻找最新的软件包.
编译软件
# tar -zxvf live555-latest.tar.gz cd ./live #通过genMakefiles生成交叉编译的Makefile,我们需要一个对应的config.* #拷贝一份用于修改 cp config.armlinux config.hi
修改之前:
CROSS_COMPILE?= arm-elf- COMPILE_OPTS = $(INCLUDES) -I/usr/local/include -I. -O2 -DSOCKLEN_T=socklen_t -DNO_SSTREAM=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 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 = -lssl -lcrypto LIBS_FOR_GUI_APPLICATION = EXE =
修改以后:
#1:修改了CROSS_COMPILE路径,交叉编译器路径 #2.增加了DLOCALE_NOT_USED参数,海思使用的是uClinux,并没有xlocale.h这个头文件, #3.增加了依赖库opensll的路径链接 #而live555内部的一个locale模块调用了(见liveMeida/locale.hh) # CROSS_COMPILE?= /home/czjia/work/sdk041/tools/linux/toolchains/arm-histbv310-linux/target/../bin/arm-histbv310-linux- COMPILE_OPTS = $(INCLUDES) -I/usr/local/include -I/armlib/openssl/include -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 = -lssl -lcrypto -L/armlib/openssl/lib LIBS_FOR_GUI_APPLICATION = EXE =
./genMakefiles hi make