安装完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. 【BZOJ】【2157】旅游

    LCT 直到动手写拆边为点的时候才发现根本不会写……去orz了一下Hzwer(话说这题应该也用不着LCT吧……下次再换种姿势写一遍好了) /****************************** ...

  2. float2int

    flaot转int时,会直接舍弃小数为,但是当把f所在的地址的数据当成int解析时,就是另外的情况了. #include<iostream> using namespace std; in ...

  3. 输入一个字符串,内有数字和非数字字符,将其中连续的数字作为一个整数,依次存放到一数组a中。统计共有多少个整数,并输出这些数。

      #include<stdio.h> #include<stdlib.h> #include<math.h> #include<string.h> i ...

  4. java基础知识回顾之---java String final类普通方法的应用之“模拟字符串Trim方法”

    /* * 4,模拟一个trim功能一致的方法.去除字符串两端的空白  * 思路: * 1,定义两个变量. * 一个变量作为从头开始判断字符串空格的角标.不断++. * 一个变量作为从尾开始判断字符串空 ...

  5. jQuery从主页面存取控制 iframe 中的元素,参数及方法

    从主页面上获取iframe下的某个对象,或使用iframe下的方法,或是获取iframe下某个doc元素,要求兼容各类浏览器,不仅仅ie; $(function() { $('#abgne_ifram ...

  6. CAS(Compare and Swap)理解

    什么叫CAS(Compare and Swap)?  硬件同步原语!! 什么蛋疼的名字,一般人很难理解.根据英文全称翻译==比较与交换,这个名字大致还能理解一点,目前先暂且这么理解吧. 有啥用处? 对 ...

  7. Mininet 创建topo的时候指定host的ip

    示例,要创建一个3个交换机8个主机的拓扑,如下图: 可以用如下python代码创建上述拓扑,并指定ip: from mininet.topo import Topo class MyTopo( Top ...

  8. CSS中nth-child和nth-of-type的简单使用

    ele:nth-child是查找父元素下的子元素,包括子元素类型非ele的,当子元素类型不是ele时,则不会进行任何操作: ele:nth-of-type是查找父元素下的子元素类型为ele的元素,其是 ...

  9. java io异步

    1.一般来说,可以通过多线程的方式来实现异步 2.同步和异步着重点在于多个任务的执行过程中,一个任务的执行是否会导致整个流程的暂时等待: 3.而阻塞和非阻塞着重点在于发出一个请求操作时,如果进行操作的 ...

  10. Windows下Subversion和Apache的安装及配置(一)

    1.序 Subversion可谓版本控制软件中的佼佼者,其开源性,易用性已受到众多软件开发者首选的版本控制软件.在这里我想记录我安装Subversion和Apache的过程.注意,Subversion ...