一、 Darwin Streaming Server 流媒体服务器构架

  图1 是QuickTime 流媒体服务器工作流程图。

   Darwin Streaming Server (流媒体服务器)

  Darwin Streaming Server使用标准的实时传输协议/实时流媒体协议 (RTP/RTSP),通过互联网实时传送媒体。Darwin Streaming Server 也能提供对传送 H.264、MPEG-4 和 3GPP 文件的固有支持——因此,你可以在 Mac 和 Linux、Windows 上的任何与标准兼容的媒体播放器上执行你的内容,当然还包括手机和接收盒等各种兼容标准的设备。不仅如此,它还允许你使用 Icecast 兼容协议,通过 HTTP 传送标准的 MP3 文件到 MP3 客户端。

   QuickTime Broadcaster(实时解码器)

  捕获和编码 QuickTime 兼容的音频和视频,通过网络实时传送。以最新的媒体格式捕捉和编码 QuickTime 内容,包括 MP3、3GPP、MPEG-4 和 AAC 音频。

   QuickTime Pro (文件解码器)

  非常适合制作高品质影音内容的强劲软件,你可以用它来制作 H.264 视频,捕捉影音内容,创建多声道音频,并在不间断播放或剪辑视频的同时,输出多个文件。支持HTTP、RTP和RTSP标准。该软件还支持主要的图像格式,比如:JPEG、BMP、PICT、PNG和GIF。该软件的其他特性还有:支持数字视频文件,包括:MiniDV、DVCPro、 DVCam、AVI、AVR、MPEG-1、OpenDML以及Macromedia Flash等。

   QuickTime (流媒体播放器)

  是苹果进军PC市场的媒体播放机.它的主要特点是质量高,兼容性好.由于拥有一个统一的工业标准,所有的电影介绍片,游戏简介都使用它独有的mov模式。

  Darwin Streaming Server 是否拥有和 QuickTime Streaming Server 一样的功能?

  虽然 Darwin Streaming Server 和 QuickTime Streaming Server 共享相同的代码基础,但是他们并不拥有一样的用户界面功能。QuickTime Streaming Server 由于 Mac OS X Server 上提供的服务而实现大量的增强功能。

  二、 安装Darwin Streaming Server

  1. 软件的获得

  您可以直接从“http://developer.apple.com/darwin/projects/streaming/”进行免费下载。在下载版本中我们选用Linux Server 版,下载之前您需要输入Apple 的帐号和密码,如果没有,则需要点击“signin.apple.com”先进行注册,注册时您所填写的Email 地址和密码即为您的帐号。输入此帐号和密码后,许可协议中点击“I accept”(我接受)就可以下载了,当第二次下载时就不用再进入许可协议授权了。下载后的文件名称是DarwinStreamingSrvr5.5.5-Linux.tar.gz 。

  2. 系统要求

  首先配置一个基于Apache的LAMP服务器,另外在软件方面它要求内核(Kenerl)至少在2.4以上,桌面分辨率至少为800×600 ,桌面颜色至少16位增强色。硬件方面中央处理器:奔腾III667 以上 ,内存 128 兆 ,硬盘空间 600兆、OSS/Linux兼容的Linux声卡、16兆显示内存 。因为Linux下的声卡众多,不可能有一个固定的安装步骤,但大致的步骤是,先编译出针对目前内核版本的驱动模块,然后再使用insmod或modprobe加载上去,更多的是通过/etc/modules.conf文件自动加载。 理解/etc/modules.conf文件很重要,这是大多数Linux系统加载模块的文件,有些Linux是/etc/conf.modules文件。如果声卡是非即插即用的,可以在/etc/modules.conf文件中使用options snd-card-0 io=0x300 irq=5来设置I/O资源及中断号。

  3. Darwin Streaming Server流媒体服务器安装

gunzup darwinstreamingsrvr5.5.5-linux.tar.gz
tar vxf darwinstreamingsrvr5.5.5-linux.tar
cd darwinstreamingsrvr5.5.5-linux
chmod +x install
./install

  安装脚本会自动复制文件,安装过程中需要手工输入流媒体服务器的管理员名称和密码。如图2 。

  4 查看Darwin Streaming Server的组id

  安装运行脚本完成,后会自动启动流媒体服务器。可以用id命令查看,如图-3 。

 

id命令会显示用户以及所属群组的实际与有效ID。若两个ID相同,则仅显示实际ID。若仅指定用户名称,则显示目前用户的ID。

  如果你在安装时候不小心关闭了窗口,那么你将没有启动服务器。你可以到安装目录下面找一个  "streamingadminserver.pl"的文件,运行它,Darwin Server 就已经启动了。

  小技巧:自动启动流媒体服务器的方法:

   自动运行流媒体服务器序非常简单,把应用程序(streamingadminserver.pl)添加在/etc/rc.d/rc.local脚本中既可。

  5 查看流媒体服务器的进程

  可以使用“ps aux | grep Darwin” 命令查看流媒体服务器的运行进程如图4 。

  6. 查看流媒体服务器的端口

  可以使用命令查看流媒体服务器的端口使用情况:

<--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->[root@localhost /]# netstat -ntulp | grep Darwin
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 3776/DarwinStreamin
tcp 0 0 0.0.0.0:8001 0.0.0.0:* LISTEN 3776/DarwinStreamin
tcp 0 0 0.0.0.0:554 0.0.0.0:* LISTEN 3776/DarwinStreamin
tcp 0 0 0.0.0.0:7070 0.0.0.0:* LISTEN 3776/DarwinStreamin
udp 0 0 127.0.0.1:6970 0.0.0.0:* 3776/DarwinStreamin
udp 0 0 192.168.1.2:6970 0.0.0.0:* 3776/DarwinStreamin
udp 0 0 127.0.0.1:6971 0.0.0.0:* 3776/DarwinStreamin
udp 0 0 192.168.1.2:6971 0.0.0.0:* 3776/DarwinStreamin

  可以看到Darwin Streaming Server使用的是4092端口。而客户端监听端口是7070 。

  7 流媒体服务器的web管理

  通过浏览器管理Darwin Streaming Server 流媒体服务器,可以在浏览器的地址栏输入:http://ip或者域名:1220 。然后输入在安装流媒体服务器时设置的用户名称和密码如图5 。

  然后单击“Log In”按钮继续。

  8 Web管理页面的初试化

  第一次使用Web管理页面要进行初试化。包括四个内容:

   输入mp3管理者密码

  如果是第一次设置,则会进入“Setup Assistant”(设置向导),首先就会出现一个如图6 所示的MP3 广播密码设置对话框,在其“New Password”和“Re-enter New Password”输入自己想设置的密码。然后点击“Next”按钮继续。

   设置SSL安全选项

  为了保证数据传输的安全需要您可以在这里钩选“Secure Administration(SSL)”(安全管理),前提是您已经有了可用的SSL 证书。一般可以不选,如图7 所示。直接点击“Next”按钮继续。

   设置媒体文件存放目录

  接下来要设置的是媒体文件的存放主目录, 其默认的目录为“如图8 所示。这个目录要记住,在服务器中以后添加媒体文件时就要加在这个目录中。设置完毕点击“Next”按钮继续。

   设置流媒体服务器监听端口

  最后设置默认传输端口,如果设置了“Streaming on Port 80”则此服务器的访问可以突破防火墙,但如果您在此服务器上同时建有Apache 等占用80 端口的服务。则建议您不要设置此端口。这里如果您没有什么特殊要求的话,使用缺省配置即可,如图9 所示。直接点击“Finish”按钮。

  9. 完成初试化

  完成上述步骤后,进入如图10 所示的管理页面,此流媒体服务器初步设置完毕,如果您要作进一步的设置,可以通过此管理页面,在其左侧点击相应的选项,进行设置。也可以通过此对前面所做的设置进行更改。

  当服务器重新启动后,以后每次登陆管理界面,均要求用我们在安装过程的管理员帐号进行登陆,如图5 所示,填写完毕后点击“Log In”即可登陆到如图10 所示的管理界面。从图10 我们可以获得以下信息:

  流媒体服务器ip地址;当前时间;流媒体服务器启动的时间;dns服务器ip地址。流媒体服务器的版本;API接口版本;中央处理器负载;当前连接数等关键信息。

总结:

  到此为止Linux下基于Darwin Streaming Server 的流媒体服务器就安装完成了,后面笔者会介绍其进阶配置和客户端连接的方法。苹果软件在对比中取胜的具体方面是视频品质——这是一个最重要的因素,还有其价格——总而言之它是免费的。它在对服务器操作系统的兼容性方面与RealSystem打成平手。源代码开放的Darwin流式服务器可以通过再编译而运行于各种计算机平台,本文使用的Linux 发行版本是RHEL 4.0 。

  前文笔者介绍了Linux下基于Darwin Streaming Server 的流媒体服务器就安装完成了,后面笔者会介绍其 进阶配置和客户端连接的方法。

  三 、Darwin Streaming流媒体服务器的常规设置

  Darwin Streaming流媒体服务器 包括10个主要部分,下面以此介绍:

  1. Connecting Users

  这是一个实时的监测界面,你可以定义刷新的频率.如果有用户连接到你的服务器,你可以看到用户的地址,码流,传输数据量,丢包比例,传输时间和连接文件等多种信息,界面非常简洁而且可以根据不同的项目进行排序。如图-11 。

  2. Relay Status

  relay的意思和helix 里面的splitter是一样的是,是再次分发的意思,由于在这里没有设置转发服务器 ,所以我们在这里看不到任何记录信息。如图12 。

  3 General Settings

  在这个界面中,集成了Darwin Server 的大部分设置,包括映射目录,加密传输,最大连接数目,带宽使用,用户认证等的设置。关于授权连接数目,Darwin 流媒体服务器默认的连接数目是1000,另外还可以设置用户口令等如图-13 。

  4. Ports Settings

  端口设置界面只有一个设置,那就是是否起用80端口来进行流媒体的发布,如图-14 。

  5 relay setting

  在这个界面中,你可以设置Darwin Server 的转发设置, 和helix 的复杂配置相比,这里的配置要简单的多,点击新建转发规则来建立一个新的转发设定,你可以设定当前服务器为发布点或者接收点,同时支持用户认证传输模式 ,如图-15 。

  6 log setting

  在这个界面中配置了Darwin Server 的日志选项,你可以在这里定义服务器的日志保存时间和空间限制.Darwin Server 支持错误日志和操作日志两种形式的日志存储,如果需要,你也可以关闭日志功能,如图-16 。

  7. Playlists

  通过这个界面,我们可以新建播放列表. 你可以选择当前媒体文件夹中的文件来组成一个播放列表,并且定义播放列表的播放顺序,除了一般的随机播放和顺序播放以外,Darwin Server 还允许你自己定义播放顺序,其根据就是播放列表里面的一个权值定义(weight),如图-17 。

  (1)建立mp3文件播放列表

  依次点击Playlists → New MP3 Playlist

  Name: myaudio

  Mount Point: /myaudio

  Play Mode: Sequential Looped (循环播放)

  将 Available Content 里的 MP3 文件拖曳到右边窗格 (Items in This Playlist), 最后按 Save Changes 储存设定即可。如图-18 。

  选择以后,点击保存设定,一个新的播放列表就建立起来了.要注意的是,现在的播放列表还不能被用户所调用,你必须点击一下播放列表后面的那个小按钮. 之后,列表的状态将会变成PLAYING的状态现在用户就可以访问这个列表了。

  (2)建立视频文件播放列表

  支持的文件格式包括:3gp、mp4、mov。

  点选 Playlists → New Media Playlist

  Name: myvideo

  Mount Point: myvideo.sdp

  Play Mode: Sequential Looped (循环播放)

  将 Available Content 里的多媒体档案拖曳到右边窗格 (Items in This Playlist), 最后按 Save Changes 储存设定。如图-19 。