DSS Live env example

在服务端使用VLC生成sdp文件,
方法:vlc.exe -vvv ""rtsp://<IP>:<port>"" --loop --sout #rtp{dst=127.0.0.1<DSS IP>,port-audio=20000,port-video=20002,ttl=127,name=CHANNEL,sdp=file://E:/movies/channel.sdp}
 在浏览端收看:
方法:rtsp://<DSS IP>/channel.sdp.

 

 

摘 要: 利用苹果的开源项目Darwin Streaming Server作为流媒体服务器,并使用VLC或其他的RTSP源来实现流媒体视频的直播。有两种实现方案,他们分别是:一种是,使用VLC作为视频流接受生成SDP方法实现直播;第二种是:使用darwin的relay中继功能实现直播。
中国论文网 http://www.xzbu.com/
  关键词: Darwin Streaming Server;流媒体;RTSP;直播
  中图分类号:TP311.52 文献标识码:A 文章编号:1671-7597(2012)0310040-01
  
  0 引言
  随着网络技术和流媒体技术的发展,流媒体技术的出现给互联网带来勃勃生机。为了在网上听歌或者看一部电影,人们不需要再等待漫长的下载过程,可以直接尽情的享受其中的乐趣。
  Darwin Streaming Server简称DSS。DSS是Apple公司提供的开源实时流媒体播放服务器程序。整个程序使用C++编写,在设计上遵循高性能,简单,模块化等程序设计原则,务求做到程序高效,可扩充性好。并且DSS是一个开放源代码的,基于标准的流媒体服务器,可以运行在Windows NT和Windows 2000,以及几个UNIX实现上,包括Mac OS X,Linux,FreeBSD,和Solaris操作系统上的。
  1 使用VLC作为视频流接受生成SDP方法实现直播
  1.1 采集端(Windows操作系统)
  使用本公司开发的QN_AMCAP通过电脑USB接口摄像头,获取视频信息,编码之后,通过RTP的方式发送给darwin流媒体服务器。也可以使用VLC直接获取USB接口摄像头视频信息,然后再进行编码发送。VLC支持发送的协议有:HTTP,MS-WMSP(MMSH),RTSP,RTP,UDP等协议,通过这些协议都可以使用VLC将视频流信息发送到目的地。下面是几种协议VLC使用的发送命令:
  1)HTTP协议的发送命令是:
  :Sout=#transcode{vcodec=h264,vb=800,scale=1,acodec=mp4a,ab=128,channels=2,samplerate=44100}:http{mux=ts,dst=:8080/}:no-sout-rtp-sap :no-sout-standard-sap :sout-all :ttl=1 :sout-keep
  2)MS-WMSP(MMSH)协议的发送命令是:
  :sout=#transcode{vcodec=h264,vb=800,scale=1,acodec=mp4a,ab=128,channels=2,samplerate=44100}:std{access=mmsh,mux=asfh,dst=0.0.0.0:8080}:no-sout-rtp-sap :no-sout-standard-sap :sout-all :ttl=1 :sout-keep
  3)RTSP协议的发送命令是:
  :sout=#transcode{vcodec=h264,vb=800,scale=1,acodec=mp4a,ab=128,channels=2,samplerate=44100}:rtp{sdp=rtsp://:5544/}:no-sout-rtp-sap :no-sout-standard-sap :sout-all :ttl=1 :sout-keep
  4)RTP协议的发送命令是:
  :sout=#transcode{vcodec=h264,vb=800,scale=1,acodec=mp4a,ab=128,channels=2,samplerate=44100}:no-sout-rtp-sap :no-sout-standard-sap :sout-all :ttl=1 :sout-keep
  1.2 Darwin服务器端(windows\linux系统)
  使用VLC接收采集端发送到darwin服务器端的视频流,并且在darwin安装目录先的Moves目录下生成SDP文件。Darwin服务器通过SDP文件获得需要的视频播放信息,将视频流转换为RTSP流,其他的客户端便可通过RTSP协议播放直播内容。
  2 使用darwin的relay中继功能实现直播
  2.1 Darwin设置中继
  使用三台windows的PC,一台(命名为A,IP地址为192.168.1.2)作为源server,一台(命名为B,IP地址为192.168.1.3)做relay服务器,一台(命名为C,IP地址为192.168.1.4)作为客户端。在A机上使用VLC或其他RTSP源,A机将本机上获取到的直播视频信息发送给B机,然后C机就能够通过访问B机来播放A机的媒体文件,也就是通过VLC或其他RTSP源,darwin流媒体服务器实现了视频直播。
  2.2 VLC或其他RTSP源发送RTSP流
  A机也就是源server,不需要使用darwin服务器,而是使用VLC获取USB接口摄像头视频信息,然后通过RTSP协议发送给B机。需要配置的darwin服务器为B机。
  配置步骤:
  1)B机安装perl和Darwin Streaming Server,C机安装VLC播放器。
  2)在A机中使用VLC开始发送RTSP流。
  2.3 Darwin流媒体服务器通过中继功能接收RTSP流
  Darwin流媒体服务器可以通过中继功能接收VLC或其他RTSP源发送过来的RTSP流,然后实现直播功能。
  下面是实现的步骤:
  1)将A机VLC生成的SDP文件(v.sdp文件)拷贝到B机的媒体文件夹中。在B机上编辑v.sdp文件,找到第一个以“m=”开头的行,将0改为前面在Relay Setting中配置的Base Port(i.e.20000);继续找到下一个以“m=”开头的行,将0改为Base Port+2(i.e.20002)。
  2)B机打开浏览器键入http://192.168.1.3:1220,输入用户名和密码。
  3)在B机建立新的relay。单击左侧relay Settings,在右侧选择New Relay。
  ① Source Settings中:
  Source Hostname or IP Address中填写源数据IP。因为是接收A机VLC或其他RTSP视频源发送过来的直播RTSP流,所以,Source Hostname or IP Address中填写的是A机的IP地址:192.168.1.2。
  Mount Point就填写要播放的直播RTSP流的名字(/v.sdp)。
  Request incoming Stream中填写A机的DSS用户名和密码。
  ② Destination Settings中:
  Hostname or IP Address填写目的IP地址。因为是接收A机发送过来的直播视频流,所以,Source Hostname or IP Address中填写的是127.0.0.1。
  Base Port中填写将送达B机的端口号(这个需要在VLC或其他RTSP源发送RTSP流的时候进行设置)。
  Multicast TTL填写最多可以中继的级数。
  在页面最下方有save changes保存设置。
  4)启动C机的VLC,打开url:rtsp://192.168.1.3/v.sdp。
  5)C机播放了A机发出的直播视频。
  3 结语
  本文对通过苹果开源项目Darwin Streaming Server作为流媒体服务器来实现流媒体直播方案相关讨论,通过对Darwin服务器的设置方法和配置,来实现了两种流媒体的直播方案。

你可能感兴趣的:(DSS Live env example)