论文部分内容阅读
摘要:随着Internet的普及及信息技术的发展,传统客户机/服务器模式的IPTV,由于服务器I/O瓶颈的限制,已无法满足越来越多用户同时收视的需要。而在文件共享系统和数据库应用中使用PeerCast技术能够充分利用闲置的网络资源,实现有效的负载均衡,更适合应用在大规模的数字直播系统中。
关键词:PeerCast;校园网;直播系统
中图分类号:TP391.3 文献标识码:A文章编号:1009-3044(2008)32-1525-03
Digital Broadcast System of PeerCast Based on Campus Network
LIU Qi-qun, ZHOU Zhi-qiang
(Library and Information Center of Henan Agricultural Vocational College, Zhengzhou 451450, China)
Abstract: With the popularity of Internet and the development of information technology,Because of the server I/O bottlenecks restrictions, traditional c/s model of IPTVhave been unable to meet the needs of users at the same time ratings. The file-sharing systems and database applications used in PeerCast technology can make full use of idle network resources, to achieve effective load balancing, more suitable for application in large-scale digital broadcast system.
Key words: peercast; intranet living; broadcast system
近年来,流媒体的需求随着internet的普及也逐渐增大,但是传统的流媒体主要是采用客户端一服务器模式。服务器以单播的方式和每个客户建立连接,由于流媒体服务具有高带宽、持续时间长等特点,随着客户数目的快速增加,服务器的资源如带宽很快被消耗完,成为系统瓶颈所在。针对这些问题,国内外目前的研究和实践主要采用组播技术、代理缓存技术和P2P技术三种解决方案。ip组播技术由于自身的种种限制,如很难实现可靠性组播和拥塞控制及其协议的复杂性等,ip组播技术并没有得到广泛的应用,而代理缓存主要是通过代理服务器的复制,将流媒体数据分散到各地,用户进行就近访问。但是其昂贵的成本,始终是阻碍其大规模部署的主要因素。在文件共享系统和数据库应用中使用得十分成熟的对等网络(peer to peer,简称P2P)技术能够充分利用闲置的网络资源,实现有效的负载均衡,十分适合于应用在大规模的数字直播系统中。
1 PeerCast原理及特点
PeerCast是一个把音频/视频服务器和客户端集合在一起的软件。你可以通过PeerCast来收听众多的网络电台,也可以自己广播。PeerCast的特性是你不需要一个有庞大带宽的服务器来为众多听众提供广播服务,你所需要的只是PeerCast和一个外部的广播工具。
PeerCast和其他P2P文件共享软件的工作方式大部分相同,除了一点,用户下载的不是文件而是流。然后这些流实时地与其他用户进行交换。对于任何连接到网络的机器来说,没有任何数据会被存储到本地机上,其网络架构图如图1所示。
图2 Windows Media Encoder设置一
图3 Windows Media Encoder设置二
2.2 PeerCast黄页站点的构建
黄页要求web服务器支持php,这里我们选择免费的apache web服务器,Apache的特点是简单、速度快、性能稳定。它可以运行在几乎所有广泛使用的计算机平台上。因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。
1) 配置apache
完成安装apache,打开配置文件http.conf。首先,查找关键字“DocumentRoot”(网站根目录),然后将双引号" "内的地址改成黄页网站根目录,地址用绝对路径,“\”在Apache里要改成“/”。 然后,找到DirectoryIndex(目录索引,也就是在仅指定目录的情况下,默认显示的文件名),可以添加很多,系统会根据从左至右的顺序来优先显示,以单个半角空格隔开,比如网站的首页是index.htm,就在光标那里加上“index.htm ”。文件名是任意的,比如我们这里用“yp.php”。再找到ServerName,将其后的字符串改成实际的域名或ip地址加上端口号。重启apache,使配置生效。
2) 安装php
将下载的php安装文件解压缩,找到“php.ini-dist”文件,将其重命名为“php.ini”,打开编辑。
如果要使php能够直接调用其它模块,选择要加载的模块,去掉前面的 “;”,就表示要加载此模块了,加载的越多,占用的资源也就多一点,比如要用mysql,就要把“;extension= php_mysql.dll”前的“;”去掉。所有的模块文件都放在php解压缩目录的“ext”之下,编辑好后保存,关闭。
如果上一步加载了其它模块,就要指明模块的位置,否则重启Apache的时候会提示“找不到指定模块”的错误。有一种最简单的方法,就是直接将php安装路径、里面的ext路径指定到windows系统路径中——在“我的电脑”上右键,“属性”,选择“高级”标签,点选“环境变量”,在“系统变量”下找到“Path”变量,选择,双击或点击“编辑”,将目录php和php\ext的绝对路径分别加到原有值的后面。系统路径添加好后要重启电脑才能生效。
3) php以module方式与Apache相结合
打开Apache的配置文件,首先找到LoadModule(加载模块)语句,添加如下两行(假定D:/php是php的安装目录),第一行“LoadModule php5_module D:/php/php5apache2.dll”是指以module方式加载php,第二行“PHPIniDir "D:/php"”是指明php的配置文件php.ini的位置。然后,找到AddType语句,添加如下两行: “AddType application/x-httpd-php .php”、“AddType application/x-httpd-php .html”两行,也可以加入更多,实质就是添加可以执行php的文件类型,比如你再加上一行“AddType application/x-httpd-php .htm”,则.htm文件也可以执行php程序了,你甚至还可以添加上一行“AddType application/x-httpd-php .txt”,让普通的文本文件格式也能运行php程序。现在,重启Apache, 输入网站的域名或ip地址就可以访问黄页了。
图4 直播服务器构建
2.3 配置PeerCast
(1)安装完成并启动PeerCast,右键单击任务栏内PeerCast的小喇叭图标,打开“Advanced”?“settings”,“yp address”填入当前配置的服务器的ip,“mode”选Root,然后,save settings。(2)选择“Broadcast”,URL中填入http://localhost:8080,TYPE选择WMV,其他随意填,点击Create relay。
现在,在Windows Media Encode中选择“开始编码”,整个直播服务器就开始运行了。
在局域网其他计算机上安装PeerCast,只须配置“yp address”,填入直播服务器的ip地址即可。在浏览器地址栏内输入直播服务器地址,也即YP地址,就可以进入黄页,收看直播,PeerCast会调用media player播放视频流。
3 实际应用
我们以转播一场晚会为例来构架直播服务器系统,其结构图如图4所示。 这里我们用的模拟切换台(如果是数字切换台可直接将视频采集卡连接到切换台的输出上),视频信号通过切换台,一路进入现场预监,一路到调制器和调音台出来的音频信号混合成射频信号,调制器出来的射频信号再进入放大器,出来的信号,一路接有线电视网,大家通过有线电视观看节目;另一路进入直播服务器,出来的数字信号进入校园数字网络,校园网用户可以通过安装PeerCast,通过浏览器访问直播服务器YP来观看现场直播的晚会。
4 结束语
目前,基于校园网络的PeerCast数字直播系统已经运行了一年多,直播了多场文艺活动,且使用效果良好。对于
在直播过程中存在的一些问题,基本解决,力求更加完善,对大范围推广应用已经打下了坚实的基础。
参考文献:
[1] 蓝天果.基于P2P的流媒体分发系统的设计与实现[D].北京邮电大学,2006.
[2] 谢勇均.P2P视频直播传输系统的研究与实现[D].中国科学院研究生院(计算技术研究所,2006.
[3] 罗建光.基于P2P网络的大规模视频直播系统[J].软件学报,2007,18(2):391-399.
[4] 陈戈.P2P与组播结合实现高质量IP视频直播承载[J].通信业与经济市场,2007,4,56-59.
[5] 骆力明.视频直播系统关键性技术研究[J].微计算机信息,2007,05X,112-114.
[6] 陈锦平.网络直播系统[J].电脑编程技巧与维护,2007,3,58-59.
关键词:PeerCast;校园网;直播系统
中图分类号:TP391.3 文献标识码:A文章编号:1009-3044(2008)32-1525-03
Digital Broadcast System of PeerCast Based on Campus Network
LIU Qi-qun, ZHOU Zhi-qiang
(Library and Information Center of Henan Agricultural Vocational College, Zhengzhou 451450, China)
Abstract: With the popularity of Internet and the development of information technology,Because of the server I/O bottlenecks restrictions, traditional c/s model of IPTVhave been unable to meet the needs of users at the same time ratings. The file-sharing systems and database applications used in PeerCast technology can make full use of idle network resources, to achieve effective load balancing, more suitable for application in large-scale digital broadcast system.
Key words: peercast; intranet living; broadcast system
近年来,流媒体的需求随着internet的普及也逐渐增大,但是传统的流媒体主要是采用客户端一服务器模式。服务器以单播的方式和每个客户建立连接,由于流媒体服务具有高带宽、持续时间长等特点,随着客户数目的快速增加,服务器的资源如带宽很快被消耗完,成为系统瓶颈所在。针对这些问题,国内外目前的研究和实践主要采用组播技术、代理缓存技术和P2P技术三种解决方案。ip组播技术由于自身的种种限制,如很难实现可靠性组播和拥塞控制及其协议的复杂性等,ip组播技术并没有得到广泛的应用,而代理缓存主要是通过代理服务器的复制,将流媒体数据分散到各地,用户进行就近访问。但是其昂贵的成本,始终是阻碍其大规模部署的主要因素。在文件共享系统和数据库应用中使用得十分成熟的对等网络(peer to peer,简称P2P)技术能够充分利用闲置的网络资源,实现有效的负载均衡,十分适合于应用在大规模的数字直播系统中。
1 PeerCast原理及特点
PeerCast是一个把音频/视频服务器和客户端集合在一起的软件。你可以通过PeerCast来收听众多的网络电台,也可以自己广播。PeerCast的特性是你不需要一个有庞大带宽的服务器来为众多听众提供广播服务,你所需要的只是PeerCast和一个外部的广播工具。
PeerCast和其他P2P文件共享软件的工作方式大部分相同,除了一点,用户下载的不是文件而是流。然后这些流实时地与其他用户进行交换。对于任何连接到网络的机器来说,没有任何数据会被存储到本地机上,其网络架构图如图1所示。
图2 Windows Media Encoder设置一
图3 Windows Media Encoder设置二
2.2 PeerCast黄页站点的构建
黄页要求web服务器支持php,这里我们选择免费的apache web服务器,Apache的特点是简单、速度快、性能稳定。它可以运行在几乎所有广泛使用的计算机平台上。因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。
1) 配置apache
完成安装apache,打开配置文件http.conf。首先,查找关键字“DocumentRoot”(网站根目录),然后将双引号" "内的地址改成黄页网站根目录,地址用绝对路径,“\”在Apache里要改成“/”。 然后,找到DirectoryIndex(目录索引,也就是在仅指定目录的情况下,默认显示的文件名),可以添加很多,系统会根据从左至右的顺序来优先显示,以单个半角空格隔开,比如网站的首页是index.htm,就在光标那里加上“index.htm ”。文件名是任意的,比如我们这里用“yp.php”。再找到ServerName,将其后的字符串改成实际的域名或ip地址加上端口号。重启apache,使配置生效。
2) 安装php
将下载的php安装文件解压缩,找到“php.ini-dist”文件,将其重命名为“php.ini”,打开编辑。
如果要使php能够直接调用其它模块,选择要加载的模块,去掉前面的 “;”,就表示要加载此模块了,加载的越多,占用的资源也就多一点,比如要用mysql,就要把“;extension= php_mysql.dll”前的“;”去掉。所有的模块文件都放在php解压缩目录的“ext”之下,编辑好后保存,关闭。
如果上一步加载了其它模块,就要指明模块的位置,否则重启Apache的时候会提示“找不到指定模块”的错误。有一种最简单的方法,就是直接将php安装路径、里面的ext路径指定到windows系统路径中——在“我的电脑”上右键,“属性”,选择“高级”标签,点选“环境变量”,在“系统变量”下找到“Path”变量,选择,双击或点击“编辑”,将目录php和php\ext的绝对路径分别加到原有值的后面。系统路径添加好后要重启电脑才能生效。
3) php以module方式与Apache相结合
打开Apache的配置文件,首先找到LoadModule(加载模块)语句,添加如下两行(假定D:/php是php的安装目录),第一行“LoadModule php5_module D:/php/php5apache2.dll”是指以module方式加载php,第二行“PHPIniDir "D:/php"”是指明php的配置文件php.ini的位置。然后,找到AddType语句,添加如下两行: “AddType application/x-httpd-php .php”、“AddType application/x-httpd-php .html”两行,也可以加入更多,实质就是添加可以执行php的文件类型,比如你再加上一行“AddType application/x-httpd-php .htm”,则.htm文件也可以执行php程序了,你甚至还可以添加上一行“AddType application/x-httpd-php .txt”,让普通的文本文件格式也能运行php程序。现在,重启Apache, 输入网站的域名或ip地址就可以访问黄页了。
图4 直播服务器构建
2.3 配置PeerCast
(1)安装完成并启动PeerCast,右键单击任务栏内PeerCast的小喇叭图标,打开“Advanced”?“settings”,“yp address”填入当前配置的服务器的ip,“mode”选Root,然后,save settings。(2)选择“Broadcast”,URL中填入http://localhost:8080,TYPE选择WMV,其他随意填,点击Create relay。
现在,在Windows Media Encode中选择“开始编码”,整个直播服务器就开始运行了。
在局域网其他计算机上安装PeerCast,只须配置“yp address”,填入直播服务器的ip地址即可。在浏览器地址栏内输入直播服务器地址,也即YP地址,就可以进入黄页,收看直播,PeerCast会调用media player播放视频流。
3 实际应用
我们以转播一场晚会为例来构架直播服务器系统,其结构图如图4所示。 这里我们用的模拟切换台(如果是数字切换台可直接将视频采集卡连接到切换台的输出上),视频信号通过切换台,一路进入现场预监,一路到调制器和调音台出来的音频信号混合成射频信号,调制器出来的射频信号再进入放大器,出来的信号,一路接有线电视网,大家通过有线电视观看节目;另一路进入直播服务器,出来的数字信号进入校园数字网络,校园网用户可以通过安装PeerCast,通过浏览器访问直播服务器YP来观看现场直播的晚会。
4 结束语
目前,基于校园网络的PeerCast数字直播系统已经运行了一年多,直播了多场文艺活动,且使用效果良好。对于
在直播过程中存在的一些问题,基本解决,力求更加完善,对大范围推广应用已经打下了坚实的基础。
参考文献:
[1] 蓝天果.基于P2P的流媒体分发系统的设计与实现[D].北京邮电大学,2006.
[2] 谢勇均.P2P视频直播传输系统的研究与实现[D].中国科学院研究生院(计算技术研究所,2006.
[3] 罗建光.基于P2P网络的大规模视频直播系统[J].软件学报,2007,18(2):391-399.
[4] 陈戈.P2P与组播结合实现高质量IP视频直播承载[J].通信业与经济市场,2007,4,56-59.
[5] 骆力明.视频直播系统关键性技术研究[J].微计算机信息,2007,05X,112-114.
[6] 陈锦平.网络直播系统[J].电脑编程技巧与维护,2007,3,58-59.