一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

高清直播方法及装置与流程

2022-02-22 07:28:44 来源:中国专利 TAG:


1.本发明涉及媒体传输技术领域,特别是指一种高清直播方法及装置。


背景技术:

2.随着视频技术的发展和人们欣赏水平的提高,高分辨率、高帧率、低延时的超高清视频直播逐渐升温,无线网络因其易用性和普及性为移动超高清视频直播提供了可能。但在大型公众集会等场合,无线网络的上行带宽和稳定性仍然满足不了超高清直播的需求。为解决这个问题,目前的做法是使用多个4g和/或5g卡,或者客户前置设备(customer premise equipment,cpe)来传送数据。
3.相关技术一在传输前端设备中配置多张网卡即多个4g模块进行绑定协同工作分担传输带宽,均匀码率,网卡控制模块控制单卡传输带宽,降低单卡传输;多个4g模块即多卡之间互为备份。即使单卡掉线也能实现自动重连,自动恢复,重连过程中由其他卡分担带宽,避免因单卡掉线而引起传输中断。但是移动带宽毕竟有限,重连过程中简单的把一张卡上的带宽分流到其他卡上,会引起其他卡的拥塞,导致直播延迟,而且也没有提及当设备处于小区切换区时数据处理逻辑和进行网络切换之前丢失数据的处理方式。
4.相关技术二中,根据网络带宽确定目标阈值,当带宽低于某个阈值时就停止发送数据,将数据缓存到本地,当带宽恢复时才发送数据,这就存在两个问题,一是网络带宽的获取需要发送大量的数据包,本身挤占带宽,二是带宽低于阈值就停止发送,会造成大量数据缓存,并引起延时。
5.因此,如何使移动直播系统在两个频段之间自适应切换是迫切需要解决的问题,目前尚未见到成熟的解决方案。


技术实现要素:

6.本发明要解决的技术问题是提供一种高清直播方法及装置,能够实现高清直播。
7.为解决上述技术问题,本发明的实施例提供技术方案如下:
8.一方面,提供一种高清直播装置,包括:
9.编码器,用于对原始媒体数据进行编码;
10.控制器,用于将所述编码器编码后的媒体数据发送给至少两个cpe,并根据与所述cpe之间的传输通道的溢出状态调整发送速率、调整所述编码器的编码码率和/或控制所述cpe进行频率切换;
11.所述至少两个cpe,用于上行传输接收到的媒体数据。
12.一些实施例中,所述控制器还用于向所述编码器发送编码控制指令;
13.所述编码器还用于根据输入的原始媒体数据的分辨率和帧率计算所述原始媒体数据的初始码率,并在编码时根据所述控制器的编码控制指令调整对所述原始媒体数据进行编码的编码码率。
14.一些实施例中,所述控制器还用于接收两个cpe的注册信息,并按照所述两个cpe
的注册时间将所述两个cpe分为主cpe和备cpe,所述备cpe的注册时间晚于所述主cpe的注册时间;与所述主cpe和所述备cpe分别建立传输通道,并设置每个cpe的发送缓冲区大小。
15.一些实施例中,所述控制器包括第一本地缓冲区和第二本地缓冲区,所述第一本地缓冲区以先进先出的队列方式缓存所述编码器编码后的媒体数据,所述第二本地缓冲区采用循环链表方式进行数据存储,发送线程从所述第一本地缓冲区读取数据放入所述第二本地缓冲区和cpe的发送缓冲区后,读取的数据从所述第一本地缓冲区中删除。
16.一些实施例中,所述控制器具体用于初始化两个待发送包序号循环链表lp和ls,分别记录所述主cpe和所述备cpe中的发送缓冲区内的包序号,每个循环链表内节点个数为fgop,链表节点中存储每个数据包的包序号;将从所述第一本地缓冲区读取的数据包交替通过两个传输通道发送,同时将包序号更新至相应的lp或者ls;在检测到一个传输通道出现溢出的时间超过预设阈值时,执行单通道拥堵处理步骤;在检测到两个传输通道出现溢出时,执行双通道拥堵处理步骤。
17.一些实施例中,执行单通道拥堵处理步骤时,
18.所述控制器具体用于将出现溢出的第一传输通道的发送速率降至上一阶段编码码率的(1-δ)/2倍,将未出现溢出的第二传输通道的发送速率变为原来的(1 δ)/2倍;若调整发送速率后第二传输通道出现溢出,则通过编码控制指令通知所述编码器将编码码率调整为上一阶段编码码率的1/(1 δ)倍;若调整发送速率后,所述第一传输通道不再溢出,则维持该编码码率保持不变,间隔时间t后通过编码控制指令通知编码器逐步增加编码码率直至初始码率;若调整发送速率后,所述第一传输通道仍然溢出,间隔时间t后增大δ值,同时继续降低编码码率,当δ大于δo时,向所述第一传输通道对应的cpe发送频率切换指令,切断所述第一传输通道;在发送频率切换指令后,通过编码控制指令通知编码器将编码码率调整为初始码率的η倍,从所述第一传输通道的待发送包序号链表中获取所述第一本地缓冲区内未能发出的包序号,根据包序号从所述第二本地缓冲区中读取包数据使用第二传输通道进行发送,并使用所述第二传输通道发送后续数据;若接收到频率切换成功指令,重新建立第一传输通道,通过编码控制指令通知编码器逐步增加编码码率直至初始码率,并将从所述第一本地缓冲区读取的数据包交替通过第一传输通道和第二传输通道发送,其中,δ、δo和η均大于0小于1;
19.所述cpe具体用于在接收到所述控制器的频率切换指令后,与网络侧协商选择频点,并向所述控制器返回频率切换成功指令。
20.一些实施例中,执行双通道拥堵处理步骤时,
21.所述控制器具体用于通过编码控制指令通知所述编码器将编码码率修改为初始码率的η倍;若溢出现象消失,保持所述编码器的编码码率不变,间隔时间t增加编码码率至初始码率,若不再溢出,则保持所述编码器的编码码率为初始码率,若继续溢出,将所述编码器的编码码率恢复至初始码率的η倍;若继续溢出,向所述备cpe发送频率切换指令,切断出现溢出的第一传输通道;在发送频率切换指令后,通过编码控制指令通知编码器将编码码率调整为初始码率的η倍,从所述备cpe的待发送包序号链表中获取所述第一本地缓冲区内未能发出的包序号,根据包序号从所述第二本地缓冲区中读取包数据使用第二传输通道进行发送,并使用所述第二传输通道发送后续数据;若接收到所述备cpe的频率切换成功指令,重新建立第一传输通道,通过编码控制指令通知编码器逐步增加编码码率直至初始码
率,执行单通道拥堵处理步骤,其中,η大于0小于1;
22.所述备cpe具体用于在接收到所述控制器的频率切换指令后,与网络侧协商选择频点,并向所述控制器返回频率切换成功指令。
23.一些实施例中,所述cpe具体用于在移动过程中未接收到控制器的频率切换指令时,不进行频率切换。
24.本发明实施例还提供了一种高清直播方法,应用于如上所述的高清直播装置,包括:
25.接收编码器编码后的媒体数据;
26.将所述编码器编码后的媒体数据发送给至少两个cpe,并根据与所述cpe之间的传输通道的溢出状态调整发送速率、调整所述编码器的编码码率和/或控制所述cpe进行频率切换。
27.一些实施例中,所述方法还包括:
28.接收两个cpe的注册信息,并按照所述两个cpe的注册时间将所述两个cpe分为主cpe和备cpe,所述备cpe的注册时间晚于所述主cpe的注册时间;与所述主cpe和所述备cpe分别建立传输通道,并设置每个cpe的发送缓冲区大小。
29.一些实施例中,所述方法包括:
30.初始化两个待发送包序号循环链表lp和ls,分别记录所述主cpe和所述备cpe中的发送缓冲区内的包序号,每个循环链表内节点个数为fgop,链表节点中存储每个数据包的包序号;将从所述第一本地缓冲区读取的数据包交替通过两个传输通道发送,同时将包序号更新至相应的lp或者ls;在检测到一个传输通道出现溢出的时间超过预设阈值时,执行单通道拥堵处理步骤;在检测到两个传输通道出现溢出时,执行双通道拥堵处理步骤。
31.一些实施例中,所述单通道拥堵处理步骤包括:
32.将出现溢出的第一传输通道的发送速率降至上一阶段编码码率的(1-δ)/2倍,将未出现溢出的第二传输通道的发送速率变为原来的(1 δ)/2倍;若调整发送速率后第二传输通道出现溢出,则通过编码控制指令通知所述编码器将编码码率调整为上一阶段编码码率的1/(1 δ)倍;若调整发送速率后,所述第一传输通道不再溢出,则维持该编码码率保持不变,间隔时间t后通过编码控制指令通知编码器逐步增加编码码率直至初始码率;若调整发送速率后,所述第一传输通道仍然溢出,间隔时间t后增大δ值,同时继续降低编码码率,当δ大于δo时,向所述第一传输通道对应的cpe发送频率切换指令,切断所述第一传输通道;在发送频率切换指令后,通过编码控制指令通知编码器将编码码率调整为初始码率的η倍,从所述第一传输通道的待发送包序号链表中获取所述第一本地缓冲区内未能发出的包序号,根据包序号从所述第二本地缓冲区中读取包数据使用第二传输通道进行发送,并使用所述第二传输通道发送后续数据;若接收到频率切换成功指令,重新建立第一传输通道,通过编码控制指令通知编码器逐步增加编码码率直至初始码率,并将从所述第一本地缓冲区读取的数据包交替通过第一传输通道和第二传输通道发送,其中,δ、δo和η均大于0小于1。
33.一些实施例中,所述双通道拥堵处理步骤包括:
34.通过编码控制指令通知所述编码器将编码码率修改为初始码率的η倍;若溢出现象消失,保持所述编码器的编码码率不变,间隔时间t增加编码码率至初始码率,若不再溢出,则保持所述编码器的编码码率为初始码率,若继续溢出,将所述编码器的编码码率恢复
至初始码率的η倍;若继续溢出,向所述备cpe发送频率切换指令,切断出现溢出的第一传输通道;在发送频率切换指令后,通过编码控制指令通知编码器将编码码率调整为初始码率的η倍,从所述备cpe的待发送包序号链表中获取所述第一本地缓冲区内未能发出的包序号,根据包序号从所述第二本地缓冲区中读取包数据使用第二传输通道进行发送,并使用所述第二传输通道发送后续数据;若接收到所述备cpe的频率切换成功指令,重新建立第一传输通道,通过编码控制指令通知编码器逐步增加编码码率直至初始码率,执行单通道拥堵处理步骤,其中,η大于0小于1。
35.本发明的实施例还提供了一种高清直播装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;所述处理器执行所述程序时实现如上所述的高清直播方法。
36.本发明的实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的高清直播方法中的步骤。
37.本发明的实施例具有以下有益效果:
38.上述方案中,控制器将编码器编码后的媒体数据发送给至少两个cpe,可以根据与cpe之间的传输通道的溢出状态动态调整编码码率和发送速率,当溢出发生需切换cpe时,可以降低编码码率,保证传输的的连续性;当cpe切换要换结束时可以增加编码码率以保证媒体数据的清晰度和流畅度,从而实现高清直播。
附图说明
39.图1为本发明实施例高清直播装置的结构示意图;
40.图2为本发明实施例高清直播方法的流程示意图。
具体实施方式
41.为使本发明的实施例要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
42.本发明实施例提供一种高清直播装置,如图1所示,包括:
43.编码器11,用于对原始媒体数据进行编码;
44.控制器12,用于将所述编码器编码后的媒体数据发送给至少两个cpe,并根据与所述cpe之间的传输通道的溢出状态调整发送速率、调整所述编码器的编码码率和/或控制所述cpe进行频率切换;
45.所述至少两个cpe13,用于上行传输接收到的媒体数据。
46.本实施例中,控制器将编码器编码后的媒体数据发送给至少两个cpe,可以根据与cpe之间的传输通道的溢出状态动态调整编码码率和发送速率,当溢出发生需切换cpe时,可以降低编码码率,保证传输的的连续性;当cpe切换要换结束时可以增加编码码率以保证媒体数据的清晰度和流畅度,从而实现高清直播。
47.一些实施例中,所述控制器12还用于向所述编码器11发送编码控制指令;
48.所述编码器11还用于根据输入的原始媒体数据的分辨率和帧率计算所述原始媒体数据的初始码率,并在编码时根据所述控制器的编码控制指令调整对所述原始媒体数据进行编码的编码码率。
49.一些实施例中,所述控制器12还用于接收两个cpe13的注册信息,并按照所述两个cpe的注册时间将所述两个cpe分为主cpe和备cpe,所述备cpe的注册时间晚于所述主cpe的注册时间;与所述主cpe和所述备cpe分别建立传输通道,并设置每个cpe的发送缓冲区大小。
50.一些实施例中,所述控制器12包括第一本地缓冲区和第二本地缓冲区,所述第一本地缓冲区以先进先出的队列方式缓存所述编码器编码后的媒体数据,所述第二本地缓冲区采用循环链表方式进行数据存储,发送线程从所述第一本地缓冲区读取数据放入所述第二本地缓冲区和cpe的发送缓冲区后,读取的数据从所述第一本地缓冲区中删除。
51.一些实施例中,所述控制器12具体用于初始化两个待发送包序号循环链表lp和ls,分别记录所述主cpe和所述备cpe中的发送缓冲区内的包序号,每个循环链表内节点个数为fgop,链表节点中存储每个数据包的包序号;将从所述第一本地缓冲区读取的数据包交替通过两个传输通道发送,同时将包序号更新至相应的lp或者ls;在检测到一个传输通道出现溢出的时间超过预设阈值时,执行单通道拥堵处理步骤;在检测到两个传输通道出现溢出时,执行双通道拥堵处理步骤。
52.一些实施例中,执行单通道拥堵处理步骤时,
53.所述控制器12具体用于将出现溢出的第一传输通道的发送速率降至上一阶段编码码率的(1-δ)/2倍,将未出现溢出的第二传输通道的发送速率变为原来的(1 δ)/2倍;若调整发送速率后第二传输通道出现溢出,则通过编码控制指令通知所述编码器将编码码率调整为上一阶段编码码率的1/(1 δ)倍;若调整发送速率后,所述第一传输通道不再溢出,则维持该编码码率保持不变,间隔时间t后通过编码控制指令通知编码器逐步增加编码码率直至初始码率;若调整发送速率后,所述第一传输通道仍然溢出,间隔时间t后增大δ值,同时继续降低编码码率,当δ大于δo时,向所述第一传输通道对应的cpe发送频率切换指令,切断所述第一传输通道;在发送频率切换指令后,通过编码控制指令通知编码器将编码码率调整为初始码率的η倍,从所述第一传输通道的待发送包序号链表中获取所述第一本地缓冲区内未能发出的包序号,根据包序号从所述第二本地缓冲区中读取包数据使用第二传输通道进行发送,并使用所述第二传输通道发送后续数据;若接收到频率切换成功指令,重新建立第一传输通道,通过编码控制指令通知编码器逐步增加编码码率直至初始码率,并将从所述第一本地缓冲区读取的数据包交替通过第一传输通道和第二传输通道发送,其中,δ、δo和η均大于0小于1;
54.所述cpe13具体用于在接收到所述控制器的频率切换指令后,与网络侧协商选择频点,并向所述控制器返回频率切换成功指令。
55.一些实施例中,执行双通道拥堵处理步骤时,
56.所述控制器12具体用于通过编码控制指令通知所述编码器将编码码率修改为初始码率的η倍;若溢出现象消失,保持所述编码器的编码码率不变,间隔时间t增加编码码率至初始码率,若不再溢出,则保持所述编码器的编码码率为初始码率,若继续溢出,将所述编码器的编码码率恢复至初始码率的η倍;若继续溢出,向所述备cpe发送频率切换指令,切断出现溢出的第一传输通道;在发送频率切换指令后,通过编码控制指令通知编码器将编码码率调整为初始码率的η倍,从所述备cpe的待发送包序号链表中获取所述第一本地缓冲区内未能发出的包序号,根据包序号从所述第二本地缓冲区中读取包数据使用第二传输通
道进行发送,并使用所述第二传输通道发送后续数据;若接收到所述备cpe的频率切换成功指令,重新建立第一传输通道,通过编码控制指令通知编码器逐步增加编码码率直至初始码率,执行单通道拥堵处理步骤,其中,η大于0小于1;
57.所述备cpe具体用于在接收到所述控制器的频率切换指令后,与网络侧协商选择频点,并向所述控制器返回频率切换成功指令。
58.一些实施例中,所述cpe具体用于在移动过程中未接收到控制器的频率切换指令时,不进行频率切换。
59.本发明实施例还提供了一种高清直播方法,应用于如上所述的高清直播装置,如图2所示,包括:
60.步骤201:接收编码器编码后的媒体数据;
61.步骤202:将所述编码器编码后的媒体数据发送给至少两个cpe,并根据与所述cpe之间的传输通道的溢出状态调整发送速率、调整所述编码器的编码码率和/或控制所述cpe进行频率切换。
62.本实施例中,控制器将编码器编码后的媒体数据发送给至少两个cpe,可以根据与cpe之间的传输通道的溢出状态动态调整编码码率和发送速率,当溢出发生需切换cpe时,可以降低编码码率,保证传输的的连续性;当cpe切换要换结束时可以增加编码码率以保证媒体数据的清晰度和流畅度,从而实现高清直播。
63.一些实施例中,所述方法还包括:
64.接收两个cpe的注册信息,并按照所述两个cpe的注册时间将所述两个cpe分为主cpe和备cpe,所述备cpe的注册时间晚于所述主cpe的注册时间;与所述主cpe和所述备cpe分别建立传输通道,并设置每个cpe的发送缓冲区大小。
65.一些实施例中,所述方法包括:
66.初始化两个待发送包序号循环链表lp和ls,分别记录所述主cpe和所述备cpe中的发送缓冲区内的包序号,每个循环链表内节点个数为fgop,链表节点中存储每个数据包的包序号;将从所述第一本地缓冲区读取的数据包交替通过两个传输通道发送,同时将包序号更新至相应的lp或者ls;在检测到一个传输通道出现溢出的时间超过预设阈值时,执行单通道拥堵处理步骤;在检测到两个传输通道出现溢出时,执行双通道拥堵处理步骤。
67.一些实施例中,所述单通道拥堵处理步骤包括:
68.将出现溢出的第一传输通道的发送速率降至上一阶段编码码率的(1-δ)/2倍,将未出现溢出的第二传输通道的发送速率变为原来的(1 δ)/2倍;若调整发送速率后第二传输通道出现溢出,则通过编码控制指令通知所述编码器将编码码率调整为上一阶段编码码率的1/(1 δ)倍;若调整发送速率后,所述第一传输通道不再溢出,则维持该编码码率保持不变,间隔时间t后通过编码控制指令通知编码器逐步增加编码码率直至初始码率;若调整发送速率后,所述第一传输通道仍然溢出,间隔时间t后增大δ值,同时继续降低编码码率,当δ大于δo时,向所述第一传输通道对应的cpe发送频率切换指令,切断所述第一传输通道;在发送频率切换指令后,通过编码控制指令通知编码器将编码码率调整为初始码率的η倍,从所述第一传输通道的待发送包序号链表中获取所述第一本地缓冲区内未能发出的包序号,根据包序号从所述第二本地缓冲区中读取包数据使用第二传输通道进行发送,并使用所述第二传输通道发送后续数据;若接收到频率切换成功指令,重新建立第一传输通道,通
过编码控制指令通知编码器逐步增加编码码率直至初始码率,并将从所述第一本地缓冲区读取的数据包交替通过第一传输通道和第二传输通道发送,其中,δ、δo和η均大于0小于1。
69.一些实施例中,所述双通道拥堵处理步骤包括:
70.通过编码控制指令通知所述编码器将编码码率修改为初始码率的η倍;若溢出现象消失,保持所述编码器的编码码率不变,间隔时间t增加编码码率至初始码率,若不再溢出,则保持所述编码器的编码码率为初始码率,若继续溢出,将所述编码器的编码码率恢复至初始码率的η倍;若继续溢出,向所述备cpe发送频率切换指令,切断出现溢出的第一传输通道;在发送频率切换指令后,通过编码控制指令通知编码器将编码码率调整为初始码率的η倍,从所述备cpe的待发送包序号链表中获取所述第一本地缓冲区内未能发出的包序号,根据包序号从所述第二本地缓冲区中读取包数据使用第二传输通道进行发送,并使用所述第二传输通道发送后续数据;若接收到所述备cpe的频率切换成功指令,重新建立第一传输通道,通过编码控制指令通知编码器逐步增加编码码率直至初始码率,执行单通道拥堵处理步骤,其中,η大于0小于1。
71.下面结合具体的实施例对本发明的技术方案进行进一步介绍:
72.本实施例的高清直播装置包括编码器、控制器、主cpe、备cpe。其中编码器负责对原始媒体数据进行编码;控制器负责将编码器编码后的媒体数据发送给主、备cpe,当某个cpe的发送缓冲区溢出时,降低发往该cpe的发送速率,当发送速率低于阈值发送缓冲区仍然溢出时,向cpe发出切换指令,以防止乒乓切换;控制器开机后接受主、备cpe注册,最开始注册的为主cpe,第二注册的为备cpe,主、备cpe主要负责媒体数据的上行传输。
73.其中,编码器在初始化时根据用户输入的分辨率和帧率计算初始码率大小,编码过程中,编码器可以实时接收控制器的编码控制指令来改变编码码率。
74.初始码率计算过程举例如下:对于4k直播来讲,其分辨率为3840*2160,帧率为50fps,10bit深度,编码前码率为br
origin
=3840*2160*10*3*50=12gbps,以压缩比60:1计算,编码后视频码率约为:br
encode
=200mbps。
75.控制器执行的步骤如下:
76.(1)控制器在开机后接受主、备cpe注册,最开始注册的为主cpe,第二注册的为备cpe。
77.(2)控制器主、备cpe分别建立两条传输通道,缓冲区大小设置为buffersize=br
encode
*f
gop
/50*8,其中br
encode
为编码后媒体数据的码率,f
gop
为缓冲区内视频帧个数,与gop相同,默认为50。则buffersize=200m*50/(50*8)=25m字节。
78.(3)控制器初始化两个本地缓冲区,大小均为buffersize*60,即240m,缓冲区cq以先进先出的队列方式缓存从编码器编码之后的数据,发送线程从cq读取数据放入发送缓冲区后,数据包就从cq中被删除。另一个缓冲区cl采用循环链表方式进行存储,发送线程从cq拷贝数据时,同时将数据加入cl,缓冲区内数据组织方式如下表所示,其中,不管码率如何,每个数据包大小是固定的。pts(显示时间戳)由编码器给出,每一帧数据有相同的pts。
79.包序号pts帧数据
80.(4)初始化两个待发送包序号循环链表lp和ls,用于记录每个发送缓冲区里的包序号,每个循环链表内节点个数为f
gop
,链表节点中存储每个数据包的包序号。
81.(5)将数据包交替放入两个发送缓冲区,同时将包序号更新至相应的lp或者ls。
82.(6)当检测到一个传输通道的发送缓冲区写入失败,而另一个传输通道写入正常时,且持续时间超过1s时,执行下述i-vi操作:
83.i、将上述步骤(5)的交替发送改为加权发送,具体如下:将本传输通道(即出现写入失败的传输通道)发送速率降至上一阶段编码码率的(1-δ)/2倍,相应的另一个传输通道的发送速率变为原来的(1 δ)/2倍,δ根据经验值计算,可以为0.1;
84.ii、若调整发送速率后另一个传输通道也出现溢出,则通知编码器将编码码率调整为原来的1/(1 δ)倍;
85.iii、若发送速率加权调整后,本传输通道溢出现象消失,则维持该编码码率保持不变,间隔一定时间t(比如30s)后通知编码器逐步增加编码码率直至初始码率;
86.iv、若发送速率加权调整后本传输通道溢出现象仍然存在,间隔时间t(默认2s)增大δ值,同时继续降低编码器的编码码率,当δ大于δo时,则向相应的cpe发起频率切换指令,切断当前传输通道,并停止向其发送媒体数据。δo根据经验值计算,默认为0.3;
87.v、cpe切换指令发出后,通知编码器将编码码率修改为初始码率的η倍,η根据经验值进行判定,默认为0.5。从本传输通道待发送包序号链表中获取本地缓冲区cq里未能发出的包序号,根据包序号从本地缓冲区cl中获取包数据使用另一个传输通道进行发送。后续的数据发送也都通过另一个传输通道进行发送;
88.vi、收到频率切换成功指令后,建立媒体链接(重选建立传输通道),并向其发送媒体数据。通知编码器将编码码率逐步增加至初始码率,并将双通道发送方式由加权发送调整为交替发送。
89.(7)当检测到两个传输通道的发送缓冲区同时出现溢出时,执行下述i-vi操作:
90.i、通知编码器将编码码率修改为初始码率的η倍,η根据经验值进行判定,默认为0.8;
91.ii、若溢出现象消失,保持编码器的编码码率不变,间隔一定时间t(默认30s)后增加码率至初始码率,若不再溢出,则保持初始码率,若继续溢出,恢复至初始码率的η倍;
92.iii、若溢出现象仍然存在,向备cpe发起频率切换指令,切断当前传输通道的媒体链接,并停止向其发送媒体数据;
93.iv、通知编码器将编码码率修改为初始码率的η倍,η根据经验值进行判定,默认为0.3-0.4;
94.v、从备cpe通道的待发送包序号链表中获取本地缓冲区cq里未能发出的包序号,根据包序号从本地缓冲区cl中获取包数据使用另一个传输通道进行发送。后续的数据发送也都通过另一个传输通道进行发送;
95.vi、收到备cpe频率切换成功指令后,建立媒体链接,并向其发送媒体数据,通知编码器将编码码率调整为初始码率,回到步骤6)所述单通道溢出状态,按照步骤6)进行处理。
96.本实施例中,采用控制器控制主、备cpe切换以降低乒乓切换。当两个传输通道同时出现溢出时,首先调整编码器编码速率,当编码速率低于阈值,且仍然存在缓冲区溢出时,启动备cpe频率切换,切换后将编码码率切换至初始码率,进入单通道溢出处理流程。当检测到单通道发送缓冲区拥塞时,首先将两个传输通道的发送速率调整为加权发送,如果发送速率的调整导致双通道均溢出,则适当调整编码速率,若传输通道溢出消失,间隔一定时间后再调整回原始编码速率,只有当编码码率低于阈值仍然存在缓冲区溢出时才启动
cpe切换流程。此种机制只在必要时进行cpe频率切换,很大程度上解决在小区切换区移动时有可能出现的乒乓切换。
97.另外,本实施例采用两个本地缓冲区进行数据缓存防止cpe切换过程中的数据丢失,初始化两个大的本地缓冲区cq和cl,本地缓冲区cq以先进先出的队列方式缓存从编码器编码之后的数据,发送线程从cq读取数据放入发送缓冲区后,数据包就从cq中被删除,另一个本地缓冲区cl采用循环链表方式进行存储,发送线程从cq拷贝数据时,同时将数据包加入cl,当检测到网络拥塞时从cl中获取拥塞时刻的数据包进行再发送;主、备切换机制保证同一时刻只有一个设备进行切换,当一个传输通道存在缓存溢出时,首先降低该通道的发送速率,如果发送速率低于阈值时仍存在溢出现象,则启动该cpe的频率切换机制,切换前获取发送缓存中数据包序号从cl取出后交给另一传输通道进行发送,同一时刻只能有一个cpe进行通道切换,即使两个传输通道信号质量都不良时,也可以保证在切换过程中的数据能够发送到接收端。若两个传输通道均存在缓存溢出现象时,备cpe切换后成功后才会启动另一个传输通道的切换,这样即使两个传输通道信号质量都不良时,也可以保证在切换过程中的数据能够发送到接收端。
98.另外,本实施例根据发送状态动态调整媒体数据的编码码率保证媒体数据的质量,当溢出发生需切换cpe时,降低编码码率,保证传输的的连续性,当cpe切要换结束时增加编码码率以保证媒体的清晰度和流畅度。
99.本发明的实施例还提供了一种高清直播装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;所述处理器执行所述程序时实现如上所述的高清直播方法。
100.本发明的实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的高清直播方法中的步骤。
101.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
102.以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献