发布时间:2020-01-21 16:14:00
随着流媒体技术的广泛运用, 我们不仅可以在网上看电影, 听歌曲, 而且可以通过网络进行实况转播, 例如美国在线公司(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。
要实现网络直播还需要安装 RealProducer, 其安装步骤和普通软件安装一样。直播和点播的关键差别在于点播是播放已经存在的流媒体文件, 而直播的流媒体文件则是用 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 等。
动态域名解析系统一般由两部分构成, 原理如图 3 所示。
第一部分是服务器端程序, 位于服务商的主机上。另一部分是客户端程序, 运行在广大用户的主机上。在每次连接网络的时候, 客户端程序就会通过信息传递, 把该主机的动态 IP 地址传送给位于服务商主机上的服务器程序, 服务器程序负责提供 DNS 服务并实现动态域名解析服务, 在收到客户端通知后服务器端程序立即更新数据, 将新的 IP 地址和原有的固定域名绑定, 这样就完成了动态域名解析的服务。网络上的其他用户也就可以通过域名访问客户的主机了。
现在提供动态域名解析的服务商很多, 这里以比较著名的“花生壳”为例说明。首先到服务商网站注册一个用户并申请一个域名 ( 有免费和收费两种) , 比如: Mynet.vicp.net。然后下载客户端程序, 并在 Real Server 所在的机器上运行客户端程序并填写自己在服务商那里注册的用户名和密码, 客户端程序运行后会把测得的本机的动态 IP 地址上传给服务商的服务器程序, 服务器程序会更新 DNS 服务器数据。用户只要记住域名 Mynet.vicp.net , 而不必知道具体的 IP 地址就可以收看实况转播了。以前面的转播设置为例, 只要通过固定域名访问链接 rtsp: / / Mynet.vicp.net/ encoder/ live.rm, 就可以连接流媒体服务器收看实况了。固定 IP 当然也可以使用动态域名服务, 域名比 IP 地址更加便于记忆。
技术与产品
六、结束语
利用本文所述的方法, 不必增加特殊设备, 利用普通设备和网络环境就可以实现网络实况转播, 普通网络用户、中小企业以及学校均可方便灵活地实现会议或教学的网络直播, 以及实施网络实时监控等。根据网络环境的不同, 转播效果会有些差别, 客户端的声音和图像会比现场稍有滞后, 但是连续转播并不会影响转播效果。
大客户
微信
置顶