发布时间:2020-02-24 15:53:07
一、概述
随着流媒体技术的广泛运用,我们不仅可以在网上看电影,听歌曲,而且可以通过网络进行实况转播,例如美国在线公司(AOL)对在全球十大城市同时举行的Live 8终结非洲贫穷演唱会进行的网络实况转播,以及我国春节晚会的网络实况转播等。
但是通常情况下,实况转播需要很多专用设备才能实现,普通网络用户和中小企业要实现网络实况转播是相对困难的。本文讨论一种基于流媒体的网络实况转播方案,该方案适合普通网络用户和中小企业级用户,使他们在不增加特殊设备的条件下,只需要ADSL或者其它方式接入互联网就可以实现声音和图像的网络实况转播。
二、流媒体网络直播技术原理
流媒体又叫流式媒体,指在Internet/Intranet中使用流式传输技术的连续时基媒体,如音频、视频或多媒体文件。流式媒体在播放前并不下载整个文件,只将开始部分内容存入内存,其它内容数据流随时传送随时播放,仅在开始时有一些延迟。
一般流媒体的传送方式有两种:顺序传送和实时传送,前者是一种点播技术,后者适合进行实况转播。
实现流式传输一般都需要专用服务器和播放器,比较著名的服务器有:QuickTime Streaming Server、Real Server与Windows Media Server。常见的播放器有QuickTime,RealPlayer,Windows Media
流式传输的过程一般如下:用户使用浏览器连接浏览一个普通页面,通过选择页面的一个指向某一流媒体服务器的链接获得控制信息,从而把需要传输的实时数据从原始信息中检索出来;然后客户机上的Web浏览器启动A/V(音频/视频)播放器程序,使用HTTP协议从Web服务器检索相关参数对播放器程序初始化。A/V服务器使用RTP/UDP协议将A/V数据传输给A/V客户程序(播放器程序),一旦A/V数据抵达客户端,A/V客户程序即可播放输出。
要实现网络现场直播,除了有流媒体服务器外,还有一个重要环节就是用编码器(Producer)把实况图像和声音信号实时地转换为可以在流媒体服务器上播发的流媒体文件,其原理如图2所示。通常摄像机、专业编码器、专业流媒体服务器等设备都是普通网络用户难以获得的。
三、普通网络用户实况转播需要的配置
技术与产品
的实况转播。免费的Real Server可以支持25个用户进行连接收看实况转播,这个数字对于个人用户一般已经足够,如果需要可以购买Real Server软件以支持更多用户同时接收。而在客户端只需要安装很流行的RealNetworks公司的RealPlayer或者RealOne播放器即可进行收看。
上面提到的服务器没有什么特殊要求,任何一台电脑装上相应软件和简单的外设都可以作为流媒体服务器,不需要额外添加机器设备。
Real Server和RealProducer可以到RealNetworks网站或者在网上搜索下载,我们采用的是Real Server8.0和RealProducer plus。安装的时候通过在线注册或者下载软件时得到注册码进行免费安装;摄像头用普通USB接口的摄像头即可,为操作方便最好使用USB延长线,以便布置摄像头,麦克风使用普通接声卡的麦克风即可;主机可以通过多种方式接入因特网,如ADSL。
四、流媒体服务器和编码器的设置
用于转播的电脑采用常见的Windows2000 Server或者Windows2000 Professional作为操作系统即可。首先安装摄像头及其驱动程序,保证图像和声音可以正常获取;然后安装流媒体服务器软件Real Server,安装Real Server的过程和一般的软件安装差不多,在安装过程中会要求用户填写授权码。这时填入从RealNetworks网站收到的或者下载的授权码文件所在目录与文件名即可。
随后按照提示进行安装,记住填入的Server的用户名称和密码(启动Real Server管理器和配置Producer时使用),默认各种端口设置,即可以完成安装。完成安装后,桌面上会生成两个图标,一个是Real Server x.0(流媒体服务器),另一个是Real Server x.0 Administrator(流媒体服务管理器)。进行转播前先启动流媒体服务器,可以用服务管理器对流媒体服务器进行管理,常用的是文件的虚拟目录和储存路径配置管理,在General Setup页的Mount Point子页面进行设置[1]。例如在流媒体服务管理器中建立一个虚拟目录music,其对应的路径是D:\liumeiti,如果一首歌曲路径为D:\liumeiti\01.rm,而服务器所在主机IP地址为192.168.0.2,那么我们在网络上要听这首歌曲只需要在客户端的浏览器地址栏输入rtsp://192.168.0.2/music/01.rm,即可以用播放器收听了。有关实况转播的设置页面“Broadcasting”的各项设置不用修改,其默认的虚拟目录是/encoder,端口是4040。
安装步骤和普通软件安装一样。直播和点播的关键差别在于点播是播放已经存在的流媒体文件,而直播的流媒体文件则是用Producer实时生成的。
启动RealProducer会出现new session画面,其中有三个选项,前两个是制作流媒体文件的功能选项,我们选择第三个Live Broadcast进行直播的设置,依次选择Capture Audio和Capture Video进行声音和图像的采集,后面依次填写广播的一些资料、网络传输速率以及声音、图像效果的选择,例如声音可以选Voice Only,图像选Normal Motion即可[2]。Media Server的设定要注意一下,Real Server项目填写本机调试用IP:127.0.0.1即可。File name项目可以填live.rm或者特定的名称,username和password项目就是前面安装Real Server时填入的username和password。全部设置好后,点击Start就可以开始转播了。
这时候客户端如果安装好RealPlayer或者RealOne播放器,只要在浏览器地址栏输入rtsp://流媒体服务器IP/encoder/live.rm就可以收看实况了。为了方便客户端收看我们可以在本机安装IIS并制作一个页面把点播或实况转播的地址做成一个链接,例如:<a href=“rtsp://192.168.0.2/encoder/live.rm”>实况转播</a>(假设IP地址是192.168.0.2),客户端浏览器只要浏览这个页面,点击链接即可收看。
由于ADSL等方式接入时IP是动态的,故而每次流媒体服务器的IP都不一样,客户端不知道服务器的IP地址就不能正常链接服务器,所以实现转播还要做特别处理。
五、利用动态域名解析
解决动态IP问题的方法就是利用动态域名解析服务。动态域名解析系统的功能是解决域名和动态IP地址之间的绑定问题[3]。当用户使用不同的IP登录时,动态域名解析系统将用户IP地址的变化动态地映射到相应的DNS服务器中,进行及时地自动更新,从而保证用户能够被正确地寻址定位。用户终端可以是任何可获得公网IP的互联网接入方式,比如采用ADSL等。
第一部分是服务器端程序,位于服务商的主机上。另一部分是客户端程序,运行在广大用户的主机上。在每次连接网络的时候,客户端程序就会通过信息传递,把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并实现动态域名解析服务,在收到客户端通知后服务器端程序立即更新数据,将新的IP地址和原有的固定域名绑定,这样就完成了动态域名解析的服务。网络上的其他用户也就可以通过域名访问客户的主机了。
现在提供动态域名解析的服务商很多,这里以比较著名的“花生壳”为例说明。首先到服务商网站注册一个用户并申请一个域名(有免费和收费两种),比如:Mynet.vicp.net。然后下载客户端程序,并在Real Server所在的机器上运行客户端程序并填写自己在服务商那里注册的用户名和密码,客户端程序运行后会把测得的本机的动态IP地址上传给服务商的服务器程序,服务器程序会更新DNS服务器数据。用户只要记住域名Mynet.vicp.net,而不必知道具体的IP地址就可以收看实况转播了。以前面的转播设置为例,只要通过固定域名访问链接rtsp://Mynet.vicp.net/encoder/live.rm,就可以连接流媒体服务器收看实况了。固定IP当然也可以使用动态域名服务,域名比IP地址更加便于记忆。
六、结束语
利用本文所述的方法,不必增加特殊设备,利用普通设备和网络环境就可以实现网络实况转播,普通网络用户、中小企业以及学校均可方便灵活地实现会议或教学的网络直播,以及实施网络实时监控等。根据网络环境的不同,转播效果会有些差别,客户端的声音和图像会比现场稍有滞后,但是连续转播并不会影响转播效果。
大客户
微信
置顶