1、什么是Darwin Streaming Server
目前主流的流媒体服务器有微软的windows media server、RealNetworks的Helixserver和苹果公司的Darwin Streaming Server.
微软的windows media server只能在windows2000 server和windows 2003 server下使用,不在考虑之列。
RealNetworks的Helixserver是一款跨平台的软件,功能也很强大,但并非免费软件。
Darwin Streaming Server简称DSS。
DSS是Apple公司提供的开源实时流媒体播放服务器程序。
整个程序使用C++编写,在设计上遵循高性能,简单,模块化等程序设计原则,务求做到程序高效,可扩充性好。
并且DSS是一个开放源代码的,基于标准的流媒体服务器,
可以运行在Windows NT和Windows 2000,以及几个UNIX实现上,包括Mac OS X,Linux,FreeBSD,和Solaris操作系统上的。
2、在Linux中编译安装Darwin Streaming Server
首先需要进行一些必要的准备工作:
准备好软件暂存的目录,并从官网下载软件的源码:
$ apt-get install patch make gcc g++
$ mkdir soft
$ cd soft
$ wget
创建 Darwin 用户qtss
$ groupadd qtss
$ useradd qtss -g qtss
源码下载完成后,需要解压tar包,
$ tar xvf DarwinStreamingSrvr6.0.3-Source.tar
给源码安装补丁文件,进入DarwinStreamingSrvr6.0.3-Source目录,并打补丁:
$ cd DarwinStreamingSrvr6.0.3-Source
$ wget
$ patch -p1 < dss-6.0.3.patch
$ wget
$ patch -p1 < dss-hh-20080728-1.patch
执行
$ ./Buildit
1). 错误提示:
Darwin Streaming Server
-----------------------
I don't know your platform. I'll assume this is a Linux x86 platform.
Please edit the BuildServer script & PlatformHeader.h to add your platform.
Building for Linux.x86_64 with gcc
Building CommonUtilitiesLib for Linux.x86_64 with gcc
gcc -c -o GetWord.o -D__linux__ -include ../PlatformHeader.h -g -Wall -O2 -I. -I.. -I../APIStubLib -I../RTPMetaInfoLib -I../APICommonCode GetWord.c
In file included from GetWord.h:33,
from GetWord.c:26:
OSHeaders.h:158: error: two or more data types in declaration specifiers
OSHeaders.h:159: error: two or more data types in declaration specifiers
make: *** [GetWord.o] Error 1
Building QTFileLib internal for Linux.x86_64 with gcc
解决办法:
$ cd DarwinStreamingSrvr6.0.3-Source
$ wget
$ patch -p1 < dss-6.0.3.patch
2). 错误提示:
/usr/include/bits/sigset.h:31: note: candidates are: __sigset_t& __sigset_t::operator=(const __sigset_t&)
PlaylistBroadcaster.cpp:2096: error: invalid conversion from 'void (*)(...)' to 'void (*)(int)'
make: *** [PlaylistBroadcaster.o] Error 1
解决办法:
$ wget
$ patch -p1 < dss-hh-20080728-1.patch
编译完成后,我们来生成linux下的dss安装包,执行
$./buildtarball
生成DarwinStreamingSrvr-Linux.tar.gz
解压缩
$ tar -zxvf DarwinStreamingSrvr-Linux.tar.gz
$ cd DarwinStreamingSrvr-Linux
对Install文件做修改:
if [ $INSTALL_OS = "Linux" ]; then
/usr/sbin/useradd -M qtss > /dev/null 2>&1
else
/usr/sbin/useradd qtss > /dev/null 2>&1
fi
将-M修改成-m
执行
$ ./Install
Please enter a new administrator user name: 【新管理员】
Please enter a new administrator Password: 【密码】
查看是否安裝成功
$ps aux | grep Darwin(查看流媒体服务器的进程)
root ... ... ... /usr/local/sbin/DarwinStreamingServer
qtss ... ... ... /usr/local/sbin/DarwinStreamingServer
netstat -ntulp | grep Darwin(查看流媒体服务器的端口)
3、启动 Darwin Streaming Server
启动 Web 管理介面 (tcp port 1220)
$ sudo /usr/local/sbin/DarwinStreamingServer
$ sudo /usr/local/sbin/streamingadminserver.pl
以上两项在刚安装好的时候会自动启动,不需手动执行
小技巧:
自动启动流媒体服务器的方法:
自动运行流媒体服务器序非常简单,把上述命令添加在/etc/rc.d/rc.local脚本中即可。
最后在服务器输入:
http://你的IP:1220/
来访问web管理
默认的媒体文件存放在/usr/local/movies
你可以在web管理面板修改这个路径。
4、访问自己的流媒体服务
可以使用VLC media player这个软件,输
rtsp://你的IP/sample_100kbit.mp4
来播放默认的测试视频。如果你的网速够给力的话效果还不错
5. RTSP流测试
使用ffmpeg生成RTSP流:
./ffmpeg -re -i rtsp_test.mp4 -vcodec copy -codec copy -f rtsp rtsp://192.168.1.22/live/rtsp_test
参考文档:
http://zhoushouby.blog.51cto.com/9150272/1437374
阅读(2352) | 评论(0) | 转发(0) |