Darwin Streaming Server简称DSS。DSS是Apple公司提供的开源实时流媒体播放服务器程序。整个程序使用C++编写,在设计上遵循高性能,简单,模块化等程序 设计原则,务求做到程序高效,可扩充性好。并且DSS是一个开放源代码的,基于标准的流媒体服务器,可以运行在Windows NT和Windows 2000,以及几个UNIX实现上,包括Mac OS X,Linux,FreeBSD,和Solaris操作系统上的。
在Linux中编译安装Darwin Streaming Server
1 必要的准备工作:
yum install gcc gcc-c++ make patch
wget http://dss.macosforge.org/downloads/DarwinStreamingSrvr6.0.3-Source.tar
还需要下载两个补丁文件
dss-6.0.3.patch
dss-hh-20080728-1.patch
补丁文件下载地址:http://download.youkuaiyun.com/detail/a7411053/4588411 注册后可以下载
2 编译与打包
tar xvf DarwinStreamingSrvr6.0.3-Source.tar
cd DarwinStreamingSrvr6.0.3-Source
patch -p1 < dss-6.0.3.patch
patch -p1 < dss-hh-20080728-1.patch
./Buildit
----------------------------------------
编译过程中出现如下错误:
/usr/include/x86_64-linux-gnu/bits/string3.h:82: warning: memset used with constant zero length parameter; this could be due to transposed parameters
CommonUtilitiesLib/libCommonUtilitiesLib.a(OSCodeFragment.o): In function `OSCodeFragment':
/root/soft/DarwinStreamingSrvr6.0.3-Source/CommonUtilitiesLib/OSCodeFragment.cpp:98: undefined reference to `dlopen'
CommonUtilitiesLib/libCommonUtilitiesLib.a(OSCodeFragment.o): In function `~OSCodeFragment':
/root/soft/DarwinStreamingSrvr6.0.3-Source/CommonUtilitiesLib/OSCodeFragment.cpp:118: undefined reference to `dlclose'
CommonUtilitiesLib/libCommonUtilitiesLib.a(OSCodeFragment.o): In function `OSCodeFragment::GetSymbol(char const*)':
/root/soft/DarwinStreamingSrvr6.0.3-Source/CommonUtilitiesLib/OSCodeFragment.cpp:151: undefined reference to `dlsym'
修改对应的Makefile.POSIX
DarwinStreamingServer: $(CFILES:.c=.o) $(CPPFILES:.cpp=.o) $(LIBFILES)
$(LINK) -o $@ $(CFILES:.c=.o) $(CPPFILES:.cpp=.o) $(COMPILER_FLAGS) $(LINKOPTS) $(LIBS)-lpthread -ldl
其它的错误类似处理即可。
----------------------------------------
./buildtarball
3 安装
tar -zxvf DarwinStreamingSrvr-Linux.tar.gzcd DarwinStreamingSrvr-Linux
useradd -m qtss -g qtss
./Install
在 /usr/local/sbin 目录中:
streamingadminserver.pl
DarwinStreamingServer
设置后台登陆的用户名和密码,安装成功.