安装完Darwin Streaming Server,就可以使用VLC通过RTSP协议播放流媒体文件了。但是我现在有一个需求,需要将一台DSS(假设为A机)上的媒体文件发送到另一台DSS(假设为B机)上,客户端VLC通过访问B机来播放A机的媒体文件,也就是使用B机作为转发服务器。在网上找了很多关于配置DSS的文章,都是讲如何安装及配置播放列表,都没有讲如何配置转发(Relay)。有一篇名为《基于DSS快速流媒体中继实现》的论文讲到了转发,但是它配置的是播放列表,实际播放的是B机上的文件,将B机媒体文件夹下的媒体文件都删除后就不能工作了。最终在http://soundscreen.com/streaming/relay.html找到了详细的配置过程。下面将我的配置过程记录如下,以免以后忘记了。

 
说明:使用三台windows的PC,一台(命名为A,IP地址为100.0.0.108)作为源server,一台(命名为B,IP地址为100.0.0.107)做relay服务器,一台(命名为C,IP地址为100.0.0.109)作为客户端。在A机上建立playlist,A机将本机上的文件发送给B机,如果C机能够通过访问B机来播放A机的媒体文件,则证明relay成功。
 
配置步骤:

1.A与B机安装perl和Darwin Streaming Server,C机安装VLC播放器。

2.A机B机打开浏览器键入http://localhost:1220,输入用户名和密码。

3.进入A机的DSS admin,在A机建立playlist

1)单击playlist,选择按钮New Media Playlist。

2)设置Playlist

name处填写playlist的名字,

mount point处填写与playlist同名的sdp文件名。

Play Mode中选择Sequential Looped,以保证播放不停止。

Available Content中,可以拖拽媒体文件到右侧的Items in this playlist。

在此界面最下方,有Save Changes,可以保存设置。

3)新建的Playlist

4.在A机建立新的relay。单击左侧relay Settings,在右侧选择New Relay。

Source Settings中:

Source Hostname or IP Address中填写源数据ip。因为是将本机的playlist转给其它地址,所以,Source Hostname or IP Address中填写的是127.0.0.1。

Mount Point就填写要播放的playlist的名字(/v.sdp)。

Request incoming Stream中填写A机的DSS用户名和密码。

Destination Settings中:

Hostname or IP Address填写B机IP地址。

Base Port中填写将送达B机的端口号(需要填写来建立连接)。

Multicast TTL填写最多可以中继的级数。

在页面最下方有save changes保存设置。

可以增加和删除Destination。

5.在A机单击左侧菜单的playlist,将v.sdp启动。

6.在A机单击左侧菜单relay status出现下图的连接状态,证明已有数据送达B机。

7.将A机DSS安装目录下的playlist文件夹中的与mount point同名的文件夹中的v.sdp文件拷贝到B机的媒体文件夹中。在B机上编辑v.sdp文件,找到第一个以“m=”开头的行,将0改为前面在Relay Setting中配置的Base Port(i.e.9000);继续找到下一个以“m=”开头的行,将0改为Base Port+2(i.e.9002)。

8.在B机建立新的relay。单击左侧relay Settings,在右侧选择New Relay。

Source Settings中:

Source Hostname or IP Address中填写源数据IP。因为是接收A机的playlist,所以,Source Hostname or IP Address中填写的是A机的IP地址。

Mount Point就填写要播放的playlist的名字(/v.sdp)。

Request incoming Stream中填写A机的DSS用户名和密码。

Destination Settings中:

Hostname or IP Address填写目的IP地址。因为是接收A机的playlist,所以,Source Hostname or IP Address中填写的是127.0.0.1。

Base Port中填写将送达B机的端口号(需要填写来建立连接,与4中相同)。

Multicast TTL填写最多可以中继的级数。

在页面最下方有save changes保存设置。

9.启动C机的VLC,打开url:rtsp://100.0.0.107/v.sdp

10.C机播放了A机发出的媒体文件。

Darwin Streaming Server Relay Setting的更多相关文章

  1. Darwin Streaming Server 6.0.3安装、订制、插件或模块

    How to setup Darwin Streaming Server 6.0.3 on 32 or 64 bit Linux platforms, add custom functionality ...

  2. Darwin Streaming Server 安裝操作備忘

    Darwin Streaming Server 安裝操作 Darwin Streaming Server是蘋果公司推出的開放源碼.跨平台多媒體串流伺服器, 提供音樂 (mp3) 與影音 (3gp.mp ...

  3. Linux编译安装Darwin Streaming Server 6.0.3。。。

    目前主流的流媒体服务器有微软的windows media server.RealNetworks的Helixserver和苹果公司的Darwin Streaming Server. 微软的window ...

  4. Linux编译安装Darwin Streaming Server 6.0.3

    买回来VPS后就一直想在上面搭建一个流媒体服务,在网上搜索了很多资料,大部分都是介绍Linux中安装Darwin Streaming Server 5.5.5版本,因为这个版本提供了针对linux的安 ...

  5. Darwin Streaming server 的 Task 类

    Darwin Streaming Server 是一个开放源代码的streaming server,对于streaming server的编程和软件结构有着一定的参考价值,它是使用C++写的,其中的并 ...

  6. Darwin Streaming Server用vs2005编译运行过程

    原创. 一:编译 Darwin6.0.3版本是最新版本,也提供了.dsw文件.但是使用vs2005和vc6是编译不过的.所以,采用Darwin5.5.5版本.使用vc6打开WinNTSupport文件 ...

  7. Darwin Streaming Server 简介

    Darwin Streaming Server     概要 Darwin Streaming Server简称DSS.DSS是Apple公司提供的开源实时流媒体播放服务器程序.整个程序使用C++编写 ...

  8. Darwin Streaming Server 安装流程

    Darwin StreamingServer 安装流程 Darwin StreamingServer 支持开放源代码和基于标准的实时传输协议/实时流协议(RTP/ RTSP).MPEG-4 和MP3 ...

  9. Darwin Streaming Server服务器mp4文件点播返回”415 Unsupported Media Type“错误

    Darwin Streaming Server中mp4文件点播失败,通过抓包发现服务器返回”415 Unsupported Media Type“错误,如下: RTSP/ Unsupported Me ...

随机推荐

  1. C/C++ 快速排序 quickSort

    下面的动画展示了快速排序算法的工作原理. 快速排序图示:可以图中在每次的比较选取的key元素为序列最后的元素. #include <stdio.h> #include <stdlib ...

  2. jsp java 数据库 乱码总结

    Java中文问题的由来: Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨平台性,但也带来了一些中文乱码问题的麻烦.原因主要有两方面,Java和JSP文件本身编译时产 ...

  3. Ubuntu 12.04下虚拟磁带库mhvtl的安装和使用

      项目需要连接一下昆腾虚拟磁带库DXI 6701 ,这玩意太贵,不好得到,先弄个虚拟软件测试了, 网上了一下,有这个软件: mhvtl   主页: https://sites.google.com/ ...

  4. 深入浅出ES6(四):模板字符串

    作者 Jason Orendorff  github主页  https://github.com/jorendorff 反撇号(`)基础知识 ES6引入了一种新型的字符串字面量语法,我们称之为模板字符 ...

  5. Linqer工具

    这些天写Linq挺烦人的,就上网搜搜可有什么好的sql转Linq的工具,咦,马上就看上了Linqer. 哈哈,介绍一下使用方法吧: 官方下载网站:http://sqltolinq.com/downlo ...

  6. ThreadLocal类的理解

    首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的.各 ...

  7. Zookeeper安装部署

    Zookeeper安装 1. 安装 wget http://www.apache.org/dist//zookeeper/zookeeper-3.3.6/zookeeper-3.3.6.tar.gz ...

  8. Windows下gcc以及Qt的DLL文件调用之总结(三种方法)

    DLL与LIB的区别 :1.DLL是一个完整程序,其已经经过链接,即不存在同名引用,且有导出表,与导入表lib是一个代码集(也叫函数集)他没有链接,所以lib有冗余,当两个lib相链接时地址会重新建立 ...

  9. PHP获取服务器的mac地址类

    PHP获取服务器的mac地址类,不是客户端的. <?php class GetMacAddr{ var $return_array = array(); // 返回带有MAC地址的字串数组 va ...

  10. 【c/c++】内存分配大小

    测试平台:linux 32位系统 用sizeof()运算符计算分配空间大小.单位:字节 1. 数组名与变量名的区别 int main() { char q[] = "hello"; ...