一种网络电台编码器重连流媒体服务器的实现方法及系统的制作方法

文档序号:6441805阅读:186来源:国知局
专利名称:一种网络电台编码器重连流媒体服务器的实现方法及系统的制作方法
技术领域
本发明涉及流媒体技术,尤其涉及一种网络电台编码器重连流媒体服务器的实现方法及系统。
背景技术
随着互联网(Internet)的迅速发展,包括微软Windows媒体(Media)技术在内的流媒体技术日渐成熟,使得用户可利用流媒体技术通过网络传输音频、视频或多媒体文件,实现远程教育、视频点播以及网络电台等。目前,数千家无线电台使用Windows Media技术将他们的广播信号发送到Internet上,使得听众能够通过网络随时收听世界范围内的广播,不再因发送器信号的穿透与传输能力而导致无法收听远距离的电台节目。
传统的广播电台通过发射塔将广播信号流传送给收音机,再由收音机将广播节目播放给听众;而网络电台则是将广播电台的广播信号流转换成为数字信号流,通过计算机网络将数字信号流播放给听众。通常,将网络电台向听众播放的音频文件或者电台的广播内容称为是源,利用不同频段向听众广播的电台节目是不同的源。如图1所示,网络电台主要由信号接收器、编码器、流媒体服务器和播放器四个部分组成。其中,信号接收器包括收音头和计算机声卡,收音头的功能与收音机接收天线的功能相似,负责按照网络电台管理维护人员设定的频段接收来自于发射塔的广播信号流,即每个收音头接收一个频段的广播;而计算机声卡则将收音头传来的模拟广播信号流转换成为数字信号流,再传送给与该声卡位于同一计算机的编码器。编码器是计算机中的软件模块,如Windows媒体编码器(Windows Media Encoder),其作用在于将来自于声卡的数字信号流按照网络协议进行编码,转换成流媒体服务器能够识别的信号格式;流媒体服务器再将经过编码的数字信号流传送给网络电台的播放器。听众可通过安装并使用网络电台播放器来达到在Internet上收听电台节目的目的。网络电台播放器是安装于计算机中的一种客户端软件,听众可通过点击播放器界面上的功能按钮实现开启网络电台、选择频段以及关闭网络电台等目的。
为了使得听众通过计算机接入Internet来收听广播,必须保证图1中所有部分能够顺畅的通信。当发生编码器与流媒体服务器之间的网络中断、或者流媒体服务器重新启动等情况,编码器由于与流媒体服务器失去联系而停止发送数据。此时为了继续为听众提供广播服务,网络电台的管理维护人员必须手工启动编码器,使其重新建立与流媒体服务器的连接。这样所带来的缺点是如果编码器无法一次连接到流媒体服务器上,则必须进行多次手工启动,直到建立连接为止。另外,网络电台的管理维护人员必须时刻监视编码器与流媒体服务器的连接情况,以便及时发现连接中断,并及时进行手工重连。因此采用手工方式实现网络电台编码器重连流媒体服务器,不便于网络电台的管理和维护。

发明内容
有鉴于此,本发明的目的在于提供一种网络电台编码器重连流媒体服务器的实现方法,使得网络电台编码器在与流媒体服务器断开连接的情况下,能够自动重连到流媒体服务器上。
为实现上述目的,本发明提供了一种网络电台编码器重连流媒体服务器的实现方法,该方法包括以下步骤A.触发时间到达时,判断编码器与流媒体服务器是否连接,如果是,则执行步骤B,否则,调用应用程序接口函数,连接流媒体服务器;B.编码器以信号接收器的数字信号流为源进行编码,并将编码结果发送给流媒体服务器。
编码器中的定时器以一个预先设置的时间间隔发出触发信号,所述的触发时间为接收到定时器触发信号的时间。
进一步设置含有定时器时间间隔的配置文件,并在执行所述步骤A之前获取该时间间隔,通知给定时器。
所述的判断编码器与流媒体服务器是否连接是通过判断IWMEncoder类中pEncoder指针所指向的Start函数的返回值实现的。
进一步设置含有网络电台播放列表的配置文件,该网络电台播放列表至少包括插播时间和该插播时间对应的插播文件,所述步骤A中判断编码器与流媒体服务器连接后进一步包括判断当前时间是否在插播时间内,如果是,则编码器以当前时间所在插播时间对应的插播文件为源进行编码,并将编码结果发送给流媒体服务器,直接结束;否则继续。
所述网络电台播放列表进一步包括播放时间,所述判断当前时间是否在插播时间内之前进一步包括判断当前时间是否在播放时间内,如果是,则继续;否则,编码器停止编码,直接结束。
步骤A所述的应用程序接口函数为Windows媒体编码器应用程序接口函数。
本发明还提供了一种网络电台编码器重连流媒体服务器的系统,包括信号接收器、编码器、流媒体服务器和播放器,其中,信号接收器用于将发射塔的广播信号流转换成为数字信号流,再传送给编码器;编码器用于按照网络协议对上述的数字信号流进行编码,转换成流媒体服务器能够识别的信号格式;流媒体服务器用于将经过编码的数字信号流传送给网络电台的播放器;所述的编码器至少包括定时器、控制逻辑单元和编码单元,定时器用于按照一定的时间间隔向控制逻辑单元发出触发信号;
控制逻辑单元用于接收到触发信号后,根据编码器与流媒体服务器保持连接或者中断连接情况向编码单元发出继续编码的控制信号或者启动编码器重连流媒体服务器操作;编码单元在控制逻辑单元的控制下接收来自于信号接收器的数字信号流,经过编码后,发送给流媒体服务器。
所述的编码器进一步包括一个存储单元,存储合有定时器发出触发信号的时间间隔的配置文件,用于所述的控制逻辑单元从存储单元的配置文件中获取所述时间间隔,并且通知给所述的定时器。
所述的存储单元进一步存储记录含有网络电台节目播放列表的配置文件,用于控制逻辑单元从所述存储单元的配置文件中获取播放列表,在编码器与流媒体服务器的保持连接时,根据播放列表内容决定编码单元切换编码的源或者停止编码。
所述的编码器进一步包括一个存储单元,存储含有网络电台节目播放列表的配置文件,用于控制逻辑单元从含有网络电台节目播放列表的存储单元的配置文件中获取播放列表,在编码器与流媒体服务器的保持连接时,根据播放列表内容决定编码单元切换编码的源或者停止编码。
应用本发明,当网络电台编码器与流媒体服务器的连接中断时,编码器自动启动重连流媒体服务器的操作。具体而言,本发明具有如下有益效果1.本发明在现有的网络电台编码器基础上增加了包括定时器、控制逻辑单元和配置文件的控制单元,使得网络电台编码器能够自动检测到与流媒体服务器的连接是否断开,并在断开时由控制单元自动进行重连,无需管理维护人员通过手动启动编码器来重连流媒体服务器,降低了人工参与的程度,提高了网络电台管理与维护的便利性。
2.本发明中,控制逻辑单元只有在接收到定时器发出的触发信号,才检测网络电台编码器与流媒体服务器的连接情况,而定时器发出触发信号的时间间隔能够人为控制,因此便于网络电台管理维护人员根据对网络状况的实际需要,对检测和重连的频度进行控制。


图1为网络电台的结构图。
图2为本发明网络电台编码器重连流媒体服务器实现方法的流程图。
图3为本发明网络电台重连流媒体服务器和插播语音文件方法的流程图。
图4为依照本发明实现网络电台编码器重连流媒体服务器所使用的编码器的结构图。
图5为依照本发明实现网络电台重连流媒体服务器和插播语音文件的系统中编码器的结构图。
具体实施例方式
为使本发明的目的、技术方案更加清楚明白,以下参照附图并举实施例,对本发明做进一步的详细说明。
本发明为一种网络电台编码器重连流媒体服务器的实现方法,其基本思想是在网络电台编码器中增加控制逻辑单元和定时器,当编码器与流媒体服务器相连接时,编码器中的编码单元以信号接收器的数字信号流为源进行编码,并将编码结果发送给流媒体服务器;当编码器与流媒体服务器的连接断开时,控制逻辑单元按照一定的时间间隔反复调用Windows MediaEncoder提供的应用程序接口(API)函数,自动重连流媒体服务器。
为了达到网络电台编码器自动重连流媒体服务器的目的,本发明可以在现有的网络电台编码器中增加定时器、控制逻辑单元和配置文件。其中,定时器以一定的时间间隔向控制逻辑单元发出触发信号,通知控制逻辑单元到达了触发时间;控制逻辑单元在接收到触发信号后,检查编码器是否与流媒体服务器相连接,并决定是否进行重连操作;而配置文件的作用在于供网络电台管理维护人员预先写入定时器发出触发信号的时间间隔。这样,本发明改进后的网络电台编码器既具有对来自于声卡的数字信号流进行编码的功能,又能够实现编码器重连到流媒体服务器的功能。以下为本发明实现网络电台编码器重连流媒体服务器的优选实施例本实施例中,控制逻辑单元预先从配置文件中获取定时器发出触发信号的时间间隔,并将该时间间隔通知给定时器,然后定时器按照该时间间隔发送触发信号,触发控制逻辑单元继续执行图2所示的流程。
如图2所示,当控制逻辑单元接收到定时器发出的触发信号、确定到达触发时间后,本实施例网络电台编码器重连流媒体服务器的实现方法包括以下步骤步骤201.控制逻辑单元判断编码器是否连接到流媒体服务器,如果是,则执行步骤202;否则,执行步骤203。
在接收到了定时器所发出的触发信号的情况下,控制逻辑单元在本步骤中判断编码器是否连接到了流媒体服务器上。具体而言,编码器通过调用Windows Media Encoder提供的应用程序接口函数尝试与流媒体服务器建立连接,如IWMEncoder类中pEncoder指针所指向的Start函数,在连接正常和连接中断的情况下,该应用程序接口函数的返回值是不同的,因此控制逻辑单元在本步骤中通过判断所调用应用程序接口函数的返回值是否为代表连接成功的返回值,即可获知编码器是否连接到流媒体服务器上。
步骤202.编码器以信号接收器的数字信号流为源进行编码后,将编码结果发送给流媒体服务器,然后结束本实施例网络电台编码器重连流媒体服务器的流程。
在编码器与流媒体服务器建立连接的情况下,编码器在本步骤中对当前来自于信号接收器的数字信号流进行编码,即将当前的源转换成为流媒体服务器能够识别的数字信号流;然后将转换后的数字信号流发送给与编码器相连接的流媒体服务器上。
如果编码器在进行编码和发送编码结果的过程中,控制逻辑单元接收到了定时器发出的触发信号,则编码器中断正在进行的编码和发送编码结果的工作,由编码器中的控制逻辑单元检测编码器与流媒体服务器的连接情况;如果编码器的控制逻辑单元未接收到定时器发出的触发信号,则继续进行编码和向流媒体服务器发送编码结果的工作。
步骤203.控制逻辑单元调用Windows Media Encoder应用程序接口函数,连接流媒体服务器,然后结束本实施例网络电台编码器重连流媒体服务器的流程。
在编码器与流媒体服务器的连接中断的情况下,控制逻辑单元自动启动连接流媒体服务器的操作,即通过调用Windows Media Encoder提供的应用程序接口函数,尝试与流媒体服务器建立连接。如IWMEncoder类中pEncoder指针所指向的Start函数,该函数能够根据对端的网络地址与流媒体服务器建立连接。
在上述步骤201至步骤203的流程中,编码器可以按照中断方式进行工作。具体而言,当编码器中的控制逻辑单元接收到定时器发出的触发信号后,立即进行中断现场保护,即记录存储当前的各种工作参数,如编码位置和编码结果等。然后,编码器停止当前的工作,转而判断编码器与流媒体服务器的连接状况。
进一步地,使用本实施例中改进的网络电台编码器,在配置文件中预先写入播放列表或者预先设置一个包含播放列表的配置文件,控制逻辑单元在编码器与流媒体服务器保持连接的情况下,根据播放列表的内容切换编码器的源,则还能够实现网络电台插播语音文件的功能。
为了实现网络电台插播语音文件的目的,本发明在配置文件中所写入的播放列表包括播放项目、播放时间、插播时间和插播文件。在除去插播时间之外的播放时间中,编码器对信号接收器的数字信号流进行编码;在插播时间内,编码器切换到对应的插播文件,并以该插播文件为源进行编码;如果配置文件的播放项目中只写入了播放时间而没有插播时间和插播文件,则表示编码器在该段播放时间内只对信号接收器的数字信号流进行编码,而没有进行插播。如表1所示的播放列表,共存在三个播放项目,其中播放项目1和播放项目2中分别插播语音文件1和语音文件2,而在播放项目3中没有进行插播。

表1由于在网络电台的实际应用中,编码器重连流媒体服务器和插播语音文件的需求均存在,因此可将本发明的编码器重连流媒体服务器的方法和插播语音文件的方法结合使用。下面将对网络电台编码器重连流媒体服务器和插播语音文件的方法进行详细的描述由于网络电台的管理维护人员预先将定时器发出触发信号的时间间隔和播放列表写入了配置文件中,因此在实现重连和插播时,编码器的控制逻辑单元从配置文件中获取上述信息,并将时间间隔写入到定时器中,以便定时器确定发出触发信号的频度以及编码器在不同时间的编码源。然后,定时器按照上述时间间隔发送触发信号,通知控制逻辑单元到达触发时间,并触发控制逻辑单元继续执行图3所示的流程。
如图3所示,当控制逻辑单元接收到定时器发出的触发信号、确定到达触发时间后,实现网络电台编码器重连流媒体服务器和插播语音文件的方法包括以下步骤步骤301~302.控制逻辑单元判断编码器是否连接到流媒体服务器上,如果是,则执行步骤303;否则,控制逻辑单元调用控制逻辑单元调用Windows Media Encoder应用程序接口函数,连接流媒体服务器,然后结束本实施例重连和插播流程。
在编码器与流媒体服务器的连接中断的情况下,控制逻辑单元自动启动连接流媒体服务器的操作,即通过调用Windows Media Encoder提供的应用程序接口函数,尝试与流媒体服务器建立连接。如调用IWMEncoder类中pEncoder指针所指向的Start函数与流媒体服务器建立连接。
步骤303~304.控制逻辑单元判断当前时间是否在播放时间内,如果是,则执行步骤305;否则,编码器停止编码,然后结束本实施例重连和插播的流程。
控制逻辑部分根据当前时间和配置文件中播放列表的内容进行判断,确定编码器是否应该停止编码。如果当前时间不在配置文件设置的播放时间内,编码器无需对任何源进行编码转换,因此编码器停止编码操作,并结束本重连和插播的流程。
步骤305~307.控制逻辑单元判断当前时间是否在插播时间内,如果是,则编码器以对应的插播文件为源进行编码,然后将编码结果发送给流媒体服务器,并结束本实施例重连和插播的流程;否则,编码器以信号接收单元的数字信号流为源进行编码,然后将编码结果发送给流媒体服务器,然后结束本实施例重连和插播的流程。
在编码器以当前时间对应的插播文件为源进行编码、并向流媒体服务器发送编码结果的过程中,如果接收到了定时器发出的触发信号,则控制逻辑单元立即进行中断现场保护,即记录存储当前的各种工作参数,如源、编码位置和编码结果等。然后,编码器停止当前的工作,转而判断编码器与流媒体服务器的连接状况;如果未接收到定时器触发信号,则编码器继续以当前时间对应的插播文件为源进行编码,并将编码结果送给流媒体服务器。
同样,在编码器以信号接收器的数字信号流为源进行编码、并向流媒体服务器发送编码结果的过程中,如果接收到了定时器发出的触发信号,则控制逻辑单元进行终端现场保护后,编码器停止当前的工作;如果未接收到定时器的触发信号,则编码器继续以信号接收器的数字信号流为源进行编码,并将编码结果送给流媒体服务器。
上述为应用本发明的方法实现网络电台重连流媒体服务器、以及实现网络电台重连流媒体服务器和插播语音文件的优选实施例,下面将对实现本发明所使用的系统进行详细的描述。
本发明使用图1所示的系统实现网络电台编码器重连流媒体服务器,该系统包括信号接收器、编码器、服务器和播放器四个部分。其中,信号接收器将发射塔的广播信号流转换成为数字信号流,再传送给编码器。编码器按照网络协议对上述的数字信号流进行编码,转换成流媒体服务器能够识别的信号格式;流媒体服务器再将经过重新编码的数字信号流传送给网络电台的播放器。
如图4所示,本发明在图1所示的网络电台编码器中增加了控制逻辑单元、定时器和存储单元。定时器以一定的时间间隔向控制逻辑单元发出触发信号;控制逻辑单元在接收到触发信号后,检查编码器是否与流媒体服务器相连接,并决定是否进行重连操作;而存储单元的作用在于存储网络电台管理维护人员预先设置的配置文件,该配置文件中包含定时器发出触发信号的时间间隔。改进后的编码器在工作时,控制逻辑单元从存储单元的配置文件中获取定时器发出触发信号的时间间隔,并将该时间间隔通知给定时器;定时器按照上述时间间隔向控制逻辑单元发送触发信号;控制逻辑单元接收到触发信号后,检测编码器与流媒体服务器的连接情况,如果编码器与流媒体服务器的连接中断,则控制逻辑单元通知编码单元停止编码、并且自动启动连接流媒体服务器的操作,如果编码器与流媒体服务器处于连接的状态,则控制逻辑单元通知编码单元继续对来自于信号接收器的数字信号流进行编码,并将编码结果发送给流媒体服务器。
进一步地,本发明在图4所示编码器的基础上,在存储单元的配置文件中增加网络电台节目的播放列表或者在存储单元中增加另外一个合有网络电台节目播放列表的配置文件,从而得到图5所示的编码器,实现网络电台编码器重连流媒体服务器和插播语音文件的目的。
图5中的编码器在工作时,控制逻辑单元从存储单元的配置文件中获取定时器发出触发信号的时间间隔和播放列表,并将该时间间隔通知给定时器;定时器按照上述时间间隔向控制逻辑单元发送触发信号;控制逻辑单元接收到触发信号后,检测编码器与流媒体服务器的连接情况,如果编码器与流媒体服务器的连接中断,则控制逻辑单元将通知编码单元停止编码、并且自动启动连接流媒体服务器的操作;如果编码器与流媒体服务器处于连接的状态,则控制逻辑单元根据播放列表的内容决定编码单元当前的源,编码单元按照控制逻辑单元的指示进行编码,然后将编码结果发送给流媒体服务器。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种网络电台编码器重连流媒体服务器的实现方法,其特征在于,该方法包括以下步骤A.触发时间到达时,判断编码器与流媒体服务器是否连接,如果是,则执行步骤B,否则,调用应用程序接口函数,连接流媒体服务器;B.编码器以信号接收器的数字信号流为源进行编码,并将编码结果发送给流媒体服务器。
2.如权利要求1所述的方法,其特征在于,编码器中的定时器以一个预先设置的时间间隔发出触发信号,所述的触发时间为接收到定时器触发信号的时间。
3.如权利要求2所述的方法,其特征在于进一步包括,设置含有定时器时间间隔的配置文件,并在执行步骤A之前获取该时间间隔,通知给定时器。
4.如权利要求1所述的方法,其特征在于,所述的判断编码器与流媒体服务器是否连接通过判断IWMEncoder类中pEncoder指针所指向的Start函数的返回值实现。
5.如权利要求1所述的方法,其特征在于进一步包括,设置含有网络电台播放列表的配置文件,该网络电台播放列表至少包括插播时间和该插播时间对应的插播文件,所述步骤A中确定编码器与流媒体服务器连接后进一步包括判断当前时间是否在插播时间内,如果是,则编码器以当前时间所在插播时间对应的插播文件为源进行编码,并将编码结果发送给流媒体服务器,直接结束;否则继续执行步骤B。
6.如权利要求5所述的方法,其特征在于,所述网络电台播放列表进一步包括播放时间,所述判断当前时间是否在插播时间内之前进一步包括判断当前时间是否在播放时间内,如果是,则继续判断当前时间是否在插播时间内;否则,编码器停止编码,直接结束。
7.如权利要求1所述的方法,其特征在于,步骤A所述的应用程序接口函数为Windows媒体编码器应用程序接口函数。
8.一种网络电台编码器重连流媒体服务器的系统,包括信号接收器、编码器、流媒体服务器和播放器,其中,信号接收器用于将发射塔的广播信号流转换成为数字信号流,再传送给编码器;编码器用于按照网络协议对上述的数字信号流进行编码,转换成流媒体服务器能够识别的信号格式;流媒体服务器用于将经过编码的数字信号流传送给网络电台的播放器;其特征在于,所述的编码器至少包括定时器、控制逻辑单元和编码单元,定时器用于按照一定的时间间隔向控制逻辑单元发出触发信号;控制逻辑单元用于接收到触发信号后,根据编码器与流媒体服务器保持连接或者中断连接的情况,向编码单元发出继续编码的控制信号或者启动编码器重连流媒体服务器;编码单元在控制逻辑单元的控制下接收来自于信号接收器的数字信号流,经过编码后,发送给流媒体服务器。
9.如权利要求8所述的系统,其特征在于,所述的编码器进一步包括一个存储单元,存储含有定时器发出触发信号的时间间隔的配置文件,用于所述的控制逻辑单元从存储单元的配置文件中获取所述时间间隔,并且通知给所述的定时器。
10.如权利要求9所述的系统,其特征在于,所述的存储单元进一步存储记录含有网络电台节目播放列表的配置文件,用于控制逻辑单元从所述存储单元的配置文件中获取播放列表,在编码器与流媒体服务器的保持连接时,根据播放列表内容决定编码单元切换编码的源或者停止编码。
11.如权利要求9所述的系统,其特征在于,所述的编码器进一步包括一个存储单元,存储含有网络电台节目播放列表的配置文件,用于控制逻辑单元从含有网络电台节目播放列表的存储单元的配置文件中获取播放列表,在编码器与流媒体服务器的保持连接时,根据播放列表内容决定编码单元切换编码的源或者停止编码。
全文摘要
本发明公开了一种网络电台编码器重连流媒体服务器的实现方法,该方法包括以下步骤A.触发时间到达时,判断编码器与流媒体服务器是否连接,如果是,则执行步骤B,否则,调用应用程序接口函数,连接流媒体服务器;B.编码器以信号接收器的数字信号流为源进行编码,并将编码结果发送给流媒体服务器。本发明还公开了一种网络电台编码器重连流媒体服务器的系统,该系统包括信号接收器、编码器、流媒体服务器和播放器,其中编码器包括定时器、控制逻辑单元和编码单元。本发明能在网络电台编码器与流媒体服务器断开连接时进行自动重连,提高了管理与维护的便利性。
文档编号G06F9/44GK1780212SQ200410096288
公开日2006年5月31日 申请日期2004年11月26日 优先权日2004年11月26日
发明者吴佳伟 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1