CN108419103B - 一种视频传输方法及装置 - Google Patents
一种视频传输方法及装置 Download PDFInfo
- Publication number
- CN108419103B CN108419103B CN201710071846.8A CN201710071846A CN108419103B CN 108419103 B CN108419103 B CN 108419103B CN 201710071846 A CN201710071846 A CN 201710071846A CN 108419103 B CN108419103 B CN 108419103B
- Authority
- CN
- China
- Prior art keywords
- data
- flow
- transmitted
- picture frame
- intra
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/23805—Controlling the feeding rate to the network, e.g. by controlling the video pump
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2385—Channel allocation; Bandwidth allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
- H04N21/26216—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例公开了一种视频传输方法及装置,方法包括:每隔预设时长,为所确定的每份待传输数据分配流量,当待传输数据需要占用的流量大于为其分配的流量时,利用该分配的流量传输待传输数据中的部分数据,下一次分配流量后,再传输剩余部分数据。由此可见,一方面,通过分配流量可以对传输流量进行控制,减少传输视频资源占用较多带宽造成的网络拥堵情况;另一方面,如果待传输数据需要占用的流量大于为其分配的流量,只传输部分数据,再分配流量后,再传输剩余部分数据,也就是说,本方案不会阻塞丢弃视频数据,视频可以正常解码播放。
Description
技术领域
本发明涉及视频技术领域,特别涉及一种视频传输方法及装置。
背景技术
随着技术的不断进步,视频图像的分辨率越来越高,画面越来越清晰,同时,视频占用的带宽资源也越来越大。如果网络提供的带宽小于视频传输需要的带宽,则会出现延时、卡顿等问题,更严重时,还会出现堵塞崩溃的情况。
目前,有很多第三方软件能够对网络中传输的流量进行控制,应用到视频传输中,就是控制视频占用的带宽资源。一般来说,第三方软件将视频中的部分数据进行阻塞或者丢弃,从而减小视频占用的带宽资源。
但是,第三方软件并不能区分视频中各帧图像的重要程度,在阻塞或丢弃视频中数据时,会阻塞或丢弃掉视频中的重要数据,这样,会导致视频无法正常解码播放。
发明内容
本发明实施例的目的在于提供一种视频传输方法及装置,既能控制传输流量,又不会阻塞、丢弃视频中的数据。
为达到上述目的,本发明实施例公开了一种视频传输方法,包括:
确定每个视频传输请求对应的每份待传输数据;
每隔预设时长,为所确定的每份待传输数据分配流量;
针对每份待传输数据,判断为其分配的流量是否小于所述待传输数据所占用的流量;
如果否,利用所述分配的流量传输所述待传输数据;
如果是,在所述待传输数据中确定目标数据,所述目标数据所占用的流量不大于所述分配的流量;
利用所述分配的流量传输所述目标数据;
在所述分配的流量之后的下一次分配流量的情况下,利用所述下一次分配的流量,传输所述待传输数据中除所述目标数据之外的数据。
可选的,所述为所确定的每份待传输数据分配流量的步骤,可以包括:
根据预设的数据属性与权重的对应关系,确定每份待传输数据对应的权重;
根据待传输数据所在网络中可用流量的大小及所确定的权重,为每份待传输数据分配流量。
可选的,所述方法还可以包括:
判断是否存在用户设定的流量阈值;
如果是,将所述可用流量的大小确定为所述流量阈值;
如果否,监测所述可用流量的大小。
可选的,所述待传输数据中包括待发送内部画面帧;所述在所述待传输数据中确定目标数据的步骤,可以包括:
判断待发送内部画面帧所占用的流量是否大于所述分配的流量;
如果是,在所述待发送内部画面帧中选择目标数据;
如果否,将所述待发送内部画面帧确定为目标数据。
可选的,当所述待传输数据为预览数据时,所述待发送内部画面帧为缓冲区中的最新内部画面帧;
当待发送内部画面帧所占用的流量小于所述分配的流量时,在利用所述分配的流量传输所述最新内部画面帧的步骤之后,还可以包括:
确定所述分配的流量中是否存在剩余流量;
如果是,检测所述缓冲区中是否存在新的内部画面帧;
如果存在,判断新的内部画面帧所占用的流量是否大于所述剩余流量;
如果大于,利用所述剩余流量发送新的内部画面帧中的部分数据;
如果不大于,利用所述剩余流量发送新的内部画面帧;并返回执行所述确定所述分配的流量中是否存在剩余流量的步骤。
可选的,在检测所述缓冲区中不存在新的内部画面帧的情况下,还包括:
利用所述剩余流量,发送目标内部画面帧对应的非画面帧;其中,所述目标内部画面帧为:最新内部画面帧或者上一次检测到的新的内部画面帧。
可选的,当所述待传输数据为回放数据时,所述判断待发送内部画面帧所占用的流量是否大于所述分配的流量的步骤,可以包括:
根据接收到的回放指令,确定待发送内部画面帧;
判断所确定的全部待发送内部画面帧所占用的流量是否大于所述分配的流量;
所述在所述待发送内部画面帧中选择目标数据的步骤,可以包括:
根据所述回放指令及所述分配的流量,在所确定的待发送内部画面帧中抽取目标内部画面帧作为目标数据;
所述将所述待发送内部画面帧确定为目标数据的步骤,可以包括:
在待发送内部画面帧对应的非画面帧中抽取目标非画面帧;
将所述目标非画面帧及所述待发送内部画面帧确定为目标数据。
可选的,所述根据所述回放指令及所述分配的流量,在所确定的待发送内部画面帧中抽取目标内部画面帧作为目标数据的步骤,可以包括:
确定所述回放指令中携带的回放速度信息;
利用第一预设规则,结合所述回放速度信息、待发送内部画面帧的大小、间隔时长及所述分配的流量,计算抽取间隔;
根据所述抽取间隔,在所述待发送内部画面帧中抽取目标内部画面帧作为目标数据;
所述在待发送内部画面帧对应的非画面帧中抽取目标非画面帧的步骤,包括:
根据所述回放指令,确定回放数据的大小及时长;
利用第二预设规则,结合所述回放数据的大小及时长、待发送内部画面帧的大小、间隔时长及所述分配的流量,计算抽取速率;
根据所述抽取速率,在待发送内部画面帧对应的非画面帧中抽取目标非画面帧。
可选的,所述利用第一预设规则,结合所述回放速度信息、待发送内部画面帧的大小、间隔时长及所述分配的流量,计算抽取间隔的步骤,可以包括:
利用如下算式,计算抽取间隔:
抽取间隔=内部画面帧的大小/(所述分配的流量*内部画面帧的间隔时长/回放速度);
所述利用第二预设规则,结合所述回放数据的大小及时长、待发送内部画面帧的大小、间隔时长及所述分配的流量,计算抽取速率的步骤,包括:
利用如下算式,计算抽取速率:
抽取速率={[所述分配的流量-(内部画面帧的大小/内部画面帧的间隔时长)]/(回放数据的大小/回放数据的时长)*(帧率-1/内部画面帧的间隔时长)}/1秒。
可选的,在所述每隔预设时长,为所确定的每份待传输数据分配流量的步骤之前,还可以包括:
判断每份待传输数据所占用的流量之和是否大于其所在网络中的可用流量;如果否,直接传输所述每份待传输数据;如果是,执行所述每隔预设时长,为所确定的每份待传输数据分配流量的步骤;
或者,监测缓冲区是否有预览数据被覆盖;如果没有,直接传输所述每份待传输数据;如果有,执行所述每隔预设时长,为所确定的每份待传输数据分配流量的步骤;
或者,监测回放数据是否有延时;如果没有,直接传输所述每份待传输数据;如果有,执行所述每隔预设时长,为所确定的每份待传输数据分配流量的步骤。
为达到上述目的,本发明实施例还公开了一种视频传输装置,包括:
第一确定模块,用于确定每个视频传输请求对应的每份待传输数据;
分配模块,用于每隔预设时长,为所确定的每份待传输数据分配流量;
第一判断模块,用于针对每份待传输数据,判断为其分配的流量是否小于所述待传输数据所占用的流量;如果否,触发第一传输模块,如果是,触发第二确定模块;
第一传输模块,用于利用所述分配的流量传输所述待传输数据;
第二确定模块,用于在所述待传输数据中确定目标数据,所述目标数据所占用的流量不大于所述分配的流量;
第二传输模块,用于利用所述分配的流量传输所述目标数据;
第三传输模块,用于在所述分配的流量之后的下一次分配流量的情况下,利用所述下一次分配的流量,传输所述待传输数据中除所述目标数据之外的数据。
可选的,所述分配模块,具体可以用于:
根据预设的数据属性与权重的对应关系,确定每份待传输数据对应的权重;
根据待传输数据所在网络中可用流量的大小及所确定的权重,为每份待传输数据分配流量。
可选的,所述装置还可以包括:
第二判断模块,用于判断是否存在用户设定的流量阈值;如果是,触发第三确定模块,如果否,触发第一监测模块;
第三确定模块,用于将所述可用流量的大小确定为所述流量阈值;
第一监测模块,用于监测所述可用流量的大小。
可选的,所述待传输数据中包括待发送内部画面帧;所述第二确定模块,可以包括:
判断子模块,用于判断待发送内部画面帧所占用的流量是否大于所述分配的流量;如果是,触发选择子模块,如果否,触发确定子模块;
选择子模块,用于在所述待发送内部画面帧中选择目标数据;
确定子模块,用于将所述待发送内部画面帧确定为目标数据。
可选的,当所述待传输数据为预览数据时,所述待发送内部画面帧为缓冲区中的最新内部画面帧;所述装置还可以包括:
第四确定模块,用于当待发送内部画面帧所占用的流量小于所述分配的流量时,在第二传输模块利用所述分配的流量传输所述最新内部画面帧之后,确定所述分配的流量中是否存在剩余流量,如果是,触发检测模块;
检测模块,用于检测所述缓冲区中是否存在新的内部画面帧;如果存在,触发第三判断模块;
第三判断模块,用于判断新的内部画面帧所占用的流量是否大于所述剩余流量;如果大于,触发第一发送模块,如果不大于,触发第二发送模块;
第一发送模块,用于利用所述剩余流量发送新的内部画面帧中的部分数据;
第二发送模块,用于利用所述剩余流量发送新的内部画面帧,并触发所述第四确定模块。
可选的,所述装置还可以包括:
第三发送模块,用于在检测所述缓冲区中不存在新的内部画面帧的情况下,利用所述剩余流量,发送目标内部画面帧对应的非画面帧;其中,所述目标内部画面帧为:最新内部画面帧或者上一次检测到的新的内部画面帧。
可选的,当所述待传输数据为回放数据时,所述判断子模块,具体用于:
根据接收到的回放指令,确定待发送内部画面帧;
判断所确定的全部待发送内部画面帧所占用的流量是否大于所述分配的流量;
所述选择子模块,具体用于:
根据所述回放指令及所述分配的流量,在所确定的待发送内部画面帧中抽取目标内部画面帧作为目标数据;
所述确定子模块,具体用于:
在待发送内部画面帧对应的非画面帧中抽取目标非画面帧;
将所述目标非画面帧及所述待发送内部画面帧确定为目标数据。
可选的,所述选择子模块,可以包括:
第一确定单元,用于确定所述回放指令中携带的回放速度信息;
第一计算单元,用于利用第一预设规则,结合所述回放速度信息、待发送内部画面帧的大小、间隔时长及所述分配的流量,计算抽取间隔;
第一抽取单元,用于根据所述抽取间隔,在所述待发送内部画面帧中抽取目标内部画面帧作为目标数据;
所述确定子模块,可以包括:
第二确定单元,用于根据所述回放指令,确定回放数据的大小及时长;
第二计算单元,用于利用第二预设规则,结合所述回放数据的大小及时长、待发送内部画面帧的大小、间隔时长及所述分配的流量,计算抽取速率;
第二抽取单元,用于根据所述抽取速率,在待发送内部画面帧对应的非画面帧中抽取目标非画面帧;
第三确定单元,用于将所述目标非画面帧及所述待发送内部画面帧确定为目标数据。
可选的,所述第一计算单元,具体可以用于:
利用如下算式,计算抽取间隔:
抽取间隔=内部画面帧的大小/(所述分配的流量*内部画面帧的间隔时长/回放速度);
所述第二计算单元,具体可以用于:
利用如下算式,计算抽取速率:
抽取速率={[所述分配的流量-(内部画面帧的大小/内部画面帧的间隔时长)]/(回放数据的大小/回放数据的时长)*(帧率-1/内部画面帧的间隔时长)}/1秒。
可选的,所述装置还可以包括:
第四判断模块,用于判断每份待传输数据所占用的流量之和是否大于其所在网络中的可用流量;如果否,直接传输所述每份待传输数据;如果是,触发所述分配模块;
或者,第二监测模块,用于监测缓冲区是否有预览数据被覆盖;如果没有,直接传输所述每份待传输数据;如果有,触发所述分配模块;
或者,第三监测模块,用于监测回放数据是否有延时;如果没有,直接传输所述每份待传输数据;如果有,触发所述分配模块。
应用本发明实施例,为所确定的每份待传输数据分配流量,当待传输数据需要占用的流量大于为其分配的流量时,利用该分配的流量传输待传输数据中的部分数据,下一次分配流量后,再传输剩余部分数据。由此可见,一方面,通过分配流量可以对传输流量进行控制,减少传输视频资源占用较多带宽造成的网络拥堵情况;另一方面,如果待传输数据需要占用的流量大于为其分配的流量,只传输部分数据,再分配流量后,再传输剩余部分数据,也就是说,本方案不会阻塞丢弃视频数据,视频可以正常解码播放。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种视频传输方法的流程示意图;
图2为本发明实施例提供的一种传输预览数据的流程示意图;
图3为本发明实施例提供的一种传输回放数据的流程示意图;
图4为本发明实施例提供的缓冲区示意图;
图5为本发明实施例提供的一种视频传输装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决上述技术问题,本发明实施例提供了一种视频传输方法及装置,可以应用于各种电子设备,具体不做限定。下面首先对本发明实施例提供的视频传输方法进行详细说明。
图1为本发明实施例提供的一种视频传输方法的流程示意图,包括:
S101:确定每个视频传输请求对应的每份待传输数据。
可以理解,执行本方案的电子设备可以接收多个用户或者多个用户设备发送的视频传输请求,并确定每个视频传输请求对应的待传输数据。一个视频传输请求可以对应一份待传输数据,或者,也可以对应多份,具体不做限定。
S102:每隔预设时长,为所确定的每份待传输数据分配流量。
该预设时长可以根据实际情况进行设定,比如,可以设定为1s,每隔1s进行一次流量分配。
作为一种实施方式,可以根据预设的数据属性与权重的对应关系,确定每份待传输数据对应的权重;根据待传输数据所在网络中可用流量的大小及所确定的权重,为所确定的每份待传输数据分配流量。
举例来说,数据属性可以包括:数据对应的用户身份信息、数据类型(可以分为预览数据和回放数据)、采集该数据的采集设备信息等等。
可以为上述数据属性设定权重,比如,如果数据对应的用户(请求该数据的用户)为普通用户,则其对应的权重可以稍低一些,如果数据对应的用户为VIP(very importantperson),则其对应的权重可以稍高一些;预览数据及回放数据的权重可以根据通常情况下的播放比例进行权重的设定;采集设备信息可以包括采集设备的地理位置信息等,如果采集设备所在的地理位置为事故多发区域,则该采集设备采集的数据对应的权重可以稍高一些……
作为一种实施方式,可以设置交互界面,用户可以在交互界面中输入上述与权重相关的信息,本设备根据用户的输入信息设定权重。或者,本设备也可以对历史数据进行统计,根据统计结果设定权重。
待传输数据可以有多份,根据上面描述,可以确定每份待传输数据的权重。假设有3份待传输数据A、B、C,其中,待传输数据A为VIP用户请求的预览数据,A对应的采集设备所在的地理位置重要程度较高;待传输数据B为普通用户请求的预览数据,B对应的采集设备所在的地理位置重要程度一般;待传输数据C为普通用户请求的回放数据,C对应的采集设备所在的地理位置重要程度一般。
假设确定A对应的权重为60%,B对应的权重为30%,C对应的权重为10%,假设可用流量的大小为1000MB,则为A分配600MB,为B分配300MB,为C分配100MB。
作为一种实施方式,确定待传输数据所在网络中可用流量可以包括:
判断是否存在用户设定的流量阈值;
如果是,将所述可用流量的大小确定为所述流量阈值;
如果否,监测所述可用流量的大小。
可以理解,在一些情况中,用户会对流量的上限进行设定,这种情况下,可以将用户设定的流量阈值确定为可用流量的大小。如果用户未设置流量阈值,则需要监测可用流量的大小。具体的,可以调用网络写端口,返回可用流量的大小,监测方式可以有多种,具体不做限定。
S103:针对每份待传输数据,判断为其分配的流量是否小于所述待传输数据所占用的流量,如果否,执行S104,如果是,执行S105。
S104:利用所述分配的流量传输所述待传输数据。
S105:在所述待传输数据中确定目标数据,所述目标数据所占用的流量不大于所述分配的流量。
可以理解,对于每份待传输数据来说,如果为其分配的流量大于或者等于其所占用的流量,则可以直接利用为其分配的流量,传输这份待传输数据;如果为其分配的流量小于其所占用的流量,则只能利用这份流量传输部分数据(目标数据),该部分数据(目标数据)所占用的流量可以与这份流量相等,或者,也可以小于这份流量。
根据上面描述,待传输数据可以为预览数据或者回放数据,预览数据及回放数据中都包括内部画面(intra picture)帧,也就是I帧(I frame)。本领域技术人员可以理解,I帧是每个GOP(Group of Pictures,画面组)中的第一个帧,重要程度较高。因此,确定目标数据的过程可以包括:
判断待发送内部画面帧所占用的流量是否大于所述分配的流量;
如果是,在所述待发送内部画面帧中选择目标数据;
如果否,将所述待发送内部画面帧确定为目标数据。
也就是说,当待传输数据所占用的流量大于为其分配的流量时,优先对数据中的I帧进行传输。如果I帧占用的流量不大于该分配的流量,则传输全部的I帧,如果I帧占用的流量仍大于该分配的流量,则在I帧中选择部分I帧进行传输。
当待传输数据为预览数据时,待发送内部画面帧为缓冲区中的最新内部画面帧;
当待发送内部画面帧所占用的流量小于所述分配的流量时,在利用所述分配的流量传输所述最新内部画面帧的步骤之后,可以执行图2所示流程图:
S201:确定所述分配的流量中是否存在剩余流量,如果是,执行S202,如果否,流程结束。
S202:检测所述缓冲区中是否存在新的内部画面帧,如果是,执行S203。
S203:判断新的内部画面帧所占用的流量是否大于所述剩余流量;如果是,执行S204,如果否,执行S205。
S204:利用所述剩余流量发送新的内部画面帧中的部分数据,然后流程结束。
S205:利用所述剩余流量发送新的内部画面帧,并返回执行S201。直至所述分配的流量全部被使用,流程结束。
本领域技术人员可以理解,通常是由DSP(Digital Signal Processing,数字信号处理)模块将预览数据写入环形缓冲区,应用层读取环形缓冲区中的预览数据并将其发送到远端显示。环形缓冲区中包括读写两个指针,DSP模块维护写指针,应用层维护读指针。当带宽不足时,DSP模块执行写操作的速度比应用层执行读操作的速度快;这样会造成数据覆盖,导致预览数据丢失。
如果待传输数据为预览数据,则传输数据时,通常传输环形缓冲区中的最新I帧,这样,可以减少数据丢失情况。需要说明的是,预览数据可以是采集设备实时采集并发送给本设备的,这样,缓冲区中便一直在产生新的I帧。
举例来说,假设待传输数据A为预览数据,为A分配了600MB,缓冲区中存在的最新I帧占用流量60MB,则利用60MB传输该最新I帧。传输后,缓冲区中又产生了新的I帧,该I帧占用流量80MB,则利用80MB传输该新产生的I帧……如果一直有新的I帧产生,则一直传输新的I帧,直至这600MB全部被使用。
如果剩余流量小于新的I帧所占用的流量,则只能传输该新的I帧中的部分数据,而且传输完这部分数据后,可以认为没有剩余流量,图2中流程结束。
如果上述过程中,S202检测到所述缓冲区中不存在新的内部画面帧,则可以利用所述剩余流量,发送目标内部画面帧对应的非画面帧;其中,所述目标内部画面帧为:最新内部画面帧或者上一次检测到的新的内部画面帧。
目标内部画面帧可以理解为:利用本次分配的流量进行数据传输过程中,最后一次传输的I帧。如果只传输了一次I帧,缓冲区中没产生过新的I帧,则目标内部画面帧为最新内部画面帧;如果传输了多次I帧后,缓冲区中不再产生新的I帧,则目标内部画面帧为上一次检测到的新的内部画面帧。
延续上述例子,如果没有新的I帧产生,而且这600MB也没有使用完,则可以传输目标内部画面帧对应的非画面帧。非画面帧可以为P帧或B帧,目标内部画面帧对应的非画面帧可以理解为:上述“最后一次传输的I帧”之后的P帧或B帧。“之后”并不限于与I帧相邻的P帧或B帧,也可以是与I帧相邻的P帧或B帧再之后的P帧或B帧。
也就是说,优先传输I帧,如果I帧传输完后,仍有剩余流量,则继续传输P帧或B帧,直至分配的流量全部被使用。
当所述待传输数据为回放数据时,所述判断待发送内部画面帧所占用的流量是否大于所述分配的流量的步骤,包括:
根据接收到的回放指令,确定待发送内部画面帧;
判断所确定的全部待发送内部画面帧所占用的流量是否大于所述分配的流量;
所述在所述待发送内部画面帧中选择目标数据的步骤,包括:
根据所述回放指令及所述分配的流量,在所确定的待发送内部画面帧中抽取目标内部画面帧作为目标数据;
所述将所述待发送内部画面帧确定为目标数据的步骤,包括:
在待发送内部画面帧对应的非画面帧中抽取目标非画面帧;
将所述目标非画面帧及所述待发送内部画面帧确定为目标数据。
上述过程可以结合图3所示流程图进行理解:
S301:根据接收到的回放指令,确定待发送内部画面帧。
S302:判断所确定的全部待发送内部画面帧所占用的流量是否大于所述分配的流量;如果是,执行S303,如果否,执行S304。
S303:根据所述回放指令及所述分配的流量,在所确定的待发送内部画面帧中抽取目标内部画面帧作为目标数据;
S304:在待发送内部画面帧对应的非画面帧中抽取目标非画面帧;
S305:将所述目标非画面帧及所述待发送内部画面帧确定为目标数据。
本领域技术人员可以理解,回放数据不是采集设备实时采集并发送的数据,回放数据可以是本设备或其他设备中存储的历史数据。本设备可以接收用户发送的回放指令,该回放指令中可以携带有回放数据的标识信息、回放速度信息等。
本设备可以根据回放指令中携带的回放数据的标识信息,确定出待传输的回放数据,再进一步可以确定出回放数据中的待发送内部画面帧,也就是待发送I帧。
具体的,S302中可以计算:I帧大小-(分配的流量*I帧的间隔时长/回放速度);如果计算结果大于0或等于0,则表示S302判断结果为否,全部待发送I帧所占用的流量不大于分配的流量,也就是确定全部I帧都能够被发送出去;如果计算结果小于0,则表示S302判断结果为是,全部待发送I帧所占用的流量大于分配的流量,也就是确定全部I帧不能都被发送出去。
当S302判断结果为是时,也就是说,流量不够传输全部I帧时,可以抽取部分I帧进行传输。作为一种实施方式,S303可以包括:
确定所述回放指令中携带的回放速度信息;
利用第一预设规则,结合所述回放速度信息、待发送内部画面帧的大小、间隔时长及所述分配的流量,计算抽取间隔;
根据所述抽取间隔,在所述待发送内部画面帧中抽取目标内部画面帧作为目标数据。
具体的,可以利用如下算式,计算抽取间隔:
抽取间隔=内部画面帧的大小/(所述分配的流量*内部画面帧的间隔时长/回放速度);
假设计算结果为2,则每两个I帧抽取1个I帧(作为目标数据)进行传输。
当S302判断结果为否时,可以传输全部I帧。另外,如果传输全部I帧后,流量仍有剩余,可以在待发送内部画面帧对应的非画面帧中抽取目标非画面帧;将所述目标非画面帧及所述待发送内部画面帧确定为目标数据。
作为一种实施方式,可以根据所述回放指令,确定回放数据的大小及时长;
利用第二预设规则,结合所述回放数据的大小及时长、待发送内部画面帧的大小、间隔时长及所述分配的流量,计算抽取速率;
根据所述抽取速率,在待发送内部画面帧对应的非画面帧中抽取目标非画面帧。
具体的,可以利用如下算式,计算抽取速率:
抽取速率={[所述分配的流量-(内部画面帧的大小/内部画面帧的间隔时长)]/(回放数据的大小/回放数据的时长)*(帧率-1/内部画面帧的间隔时长)}/1秒
大括号内部分:{[所述分配的流量-(内部画面帧的大小/内部画面帧的间隔时长)]/(回放数据的大小/回放数据的时长)*(帧率-1/内部画面帧的间隔时长)}表示1s内能够传输非I帧的数量。如果该数量为10,则1s内可以传输10个非I帧,抽取速率为每秒10帧。
根据该抽取速率抽取目标非I帧并进行传输。
需要说明的是,可以在每次分配流量后,都重新计算上述计算抽取间隔及抽取速率,这样,可以提高抽帧的准确度。
S106:利用所述分配的流量传输所述目标数据。
S107:在所述分配的流量之后的下一次分配流量的情况下,利用所述下一次分配的流量,传输所述待传输数据中除所述目标数据之外的数据。
可以理解,S102中每隔预设时长,分配一次流量,如果下一次分配的流量足够传输待传输数据,则直接进行传输,如果下一次分配的流量仍不足够传输待传输数据,则确定目标数据,仅对目标数据进行传输。上述过程也就是重新执行本方案,在此不做赘述。需要说明的是,下一次分配流量后的待传输数据不仅包括本次待传输数据,还包括上次待传输数据中的未传输部分数据,也就是“所述待传输数据中除所述目标数据之外的数据”。
在本实施例中,可以在检测到下一次分配流量之后执行S107;也可以根据每次分配流量间隔的时长(S102中的预设时长),确定等待时长,到达等待时长后,执行S107。比如,如果每隔1s分配一次流量,则可以在利用本次分配的流量进行数据传输后,等待0.5s,再执行S107。该等待时长可以根据实际情况进行调整。
需要说明的是,在执行S102之前,可以判断每份待传输数据所占用的流量之和是否大于其所在网络中的可用流量;如果否,直接传输每份待传输数据;如果是,执行S102。
可以理解,如果每份待传输数据所占用的流量之和不大于可用流量,表示流量充足,网络状态较好,不需要进行流量控制,也就不需要执行S102及后续步骤。
或者,也可以监测缓冲区是否有预览数据被覆盖,或者,也可以监测回放数据是否有延时,如果否,则直接传输每份待传输数据,如果是,则执行S102。
类似的,如果监测缓冲区没有预览数据被覆盖,则表示网络状态较好,回放数据没有延时,也表示网络状态较好,不需要进行流量控制,不需要执行S102。
具体的,待传输数据可以包括预览数据和/或回放数据。确定待传输数据所占用的流量之和,可以分别确定预览数据占用的流量、以及回放数据占用的流量。
环形缓冲区的示意图可以如图4所示,可以通过统计图4中写指针的位移,确定DSP模块写入环形缓冲区的数据量大小,并进一步确定预览数据所占用的流量大小。
该预览数据所占用的流量可以为:(DSP模块写入环形缓冲区数据量大小)/(统计时长)。
计算回放数据所占用的流量大小,首先需要根据接收到的回放指令,确定待回放数据,该待回放数据量大小/传输时长,便计算出回放数据所占用的流量。
应用本发明图1所示实施例,为所确定的每份待传输数据分配流量,当待传输数据需要占用的流量大于为其分配的流量时,利用该分配的流量传输待传输数据中的部分数据,下一次分配流量后,再传输剩余部分数据。由此可见,一方面,通过分配流量可以对传输流量进行控制,减少传输视频资源占用较多带宽造成的网络拥堵情况;另一方面,如果待传输数据需要占用的流量大于为其分配的流量,只传输部分数据,再分配流量后,再传输剩余部分数据,也就是说,本方案不会阻塞丢弃视频数据,视频可以正常解码播放。
与上述方法实施例相对应,本发明实施例还提供一种视频传输装置。
图5为本发明实施例提供的一种视频传输装置的结构示意图,包括:
第一确定模块501,用于确定每个视频传输请求对应的每份待传输数据;
分配模块502,用于每隔预设时长,为所确定的每份待传输数据分配流量;
第一判断模块503,用于针对每份待传输数据,判断为其分配的流量是否小于所述待传输数据所占用的流量;如果否,触发第一传输模块504,如果是,触发第二确定模块505;
第一传输模块504,用于利用所述分配的流量传输所述待传输数据;
第二确定模块505,用于在所述待传输数据中确定目标数据,所述目标数据所占用的流量不大于所述分配的流量;
第二传输模块506,用于利用所述分配的流量传输所述目标数据;
第三传输模块507,用于在所述分配的流量之后的下一次分配流量的情况下,利用所述下一次分配的流量,传输所述待传输数据中除所述目标数据之外的数据。
在本实施例中,分配模块502,具体可以用于:
根据预设的数据属性与权重的对应关系,确定每份待传输数据对应的权重;
根据待传输数据所在网络中可用流量的大小及所确定的权重,为每份待传输数据分配流量。
在本实施例中,所述装置还可以包括:第二判断模块、第三确定模块和第一监测模块(图中未示出),其中,
第二判断模块,用于判断是否存在用户设定的流量阈值;如果是,触发第三确定模块,如果否,触发第一监测模块;
第三确定模块,用于将所述可用流量的大小确定为所述流量阈值;
第一监测模块,用于监测所述可用流量的大小。
在本实施例中,所述待传输数据中包括待发送内部画面帧;第二确定模块505,可以包括:判断子模块、选择子模块和确定子模块(图中未示出),其中,
判断子模块,用于判断待发送内部画面帧所占用的流量是否大于所述分配的流量;如果是,触发选择子模块,如果否,触发确定子模块;
选择子模块,用于在所述待发送内部画面帧中选择目标数据;
确定子模块,用于将所述待发送内部画面帧确定为目标数据。
在本实施例中,当所述待传输数据为预览数据时,所述待发送内部画面帧为缓冲区中的最新内部画面帧;所述装置还可以包括:第四确定模块、检测模块、第三判断模块、第一发送模块和第二发送模块(图中未示出),其中,
第四确定模块,用于当待发送内部画面帧所占用的流量小于所述分配的流量时,在第二传输模块利用所述分配的流量传输所述最新内部画面帧之后,确定所述分配的流量中是否存在剩余流量确定所述分配的流量中的剩余流量;
检测模块,用于检测所述缓冲区中是否存在新的内部画面帧;如果存在,触发第三判断模块;
第三判断模块,用于判断新的内部画面帧所占用的流量是否大于所述剩余流量;如果大于,触发第一发送模块,如果不大于,触发第二发送模块;
第一发送模块,用于利用所述剩余流量发送新的内部画面帧中的部分数据;
第二发送模块,用于利用所述剩余流量发送新的内部画面帧,并触发所述第四确定模块。
在本实施例中,所述装置还可以包括:
第三发送模块(图中未示出),用于在检测所述缓冲区中不存在新的内部画面帧的情况下,利用所述剩余流量,发送目标内部画面帧对应的非画面帧;其中,所述目标内部画面帧为:最新内部画面帧或者上一次检测到的新的内部画面帧。
在本实施例中,当所述待传输数据为回放数据时,所述判断子模块,具体可以用于:
根据接收到的回放指令,确定待发送内部画面帧;
判断所确定的全部待发送内部画面帧所占用的流量是否大于所述分配的流量;
所述选择子模块,具体可以用于:
根据所述回放指令及所述分配的流量,在所确定的待发送内部画面帧中抽取目标内部画面帧作为目标数据;
所述确定子模块,具体可以用于:
在待发送内部画面帧对应的非画面帧中抽取目标非画面帧;
将所述目标非画面帧及所述待发送内部画面帧确定为目标数据。
在本实施例中,所述选择子模块,可以包括:
第一确定单元,用于确定所述回放指令中携带的回放速度信息;
第一计算单元,用于利用第一预设规则,结合所述回放速度信息、待发送内部画面帧的大小、间隔时长及所述分配的流量,计算抽取间隔;
第一抽取单元,用于根据所述抽取间隔,在所述待发送内部画面帧中抽取目标内部画面帧作为目标数据;
所述确定子模块,可以包括:
第二确定单元,用于根据所述回放指令,确定回放数据的大小及时长;
第二计算单元,用于利用第二预设规则,结合所述回放数据的大小及时长、待发送内部画面帧的大小、间隔时长及所述分配的流量,计算抽取速率;
第二抽取单元,用于根据所述抽取速率,在待发送内部画面帧对应的非画面帧中抽取目标非画面帧;
第三确定单元,用于将所述目标非画面帧及所述待发送内部画面帧确定为目标数据。
在本实施例中,所述第一计算单元,具体可以用于:
利用如下算式,计算抽取间隔:
抽取间隔=内部画面帧的大小/(所述分配的流量*内部画面帧的间隔时长/回放速度);
所述第二计算单元,具体用于:
利用如下算式,计算抽取速率:
抽取速率={[所述分配的流量-(内部画面帧的大小/内部画面帧的间隔时长)]/(回放数据的大小/回放数据的时长)*(帧率-1/内部画面帧的间隔时长)}/1秒。
在本实施例中,所述装置还可以包括:
第四判断模块(图中未示出),用于判断每份待传输数据所占用的流量之和是否大于其所在网络中的可用流量;如果否,直接传输所述每份待传输数据;如果是,触发所述分配模块;
或者,第二监测模块(图中未示出),用于监测缓冲区是否有预览数据被覆盖;如果没有,直接传输所述每份待传输数据;如果有,触发所述分配模块;
或者,第三监测模块(图中未示出),用于监测回放数据是否有延时;如果没有,直接传输所述每份待传输数据;如果有,触发所述分配模块。
应用本发明图5所示实施例,为所确定的每份待传输数据分配流量,当待传输数据需要占用的流量大于为其分配的流量时,利用该分配的流量传输待传输数据中的部分数据,下一次分配流量后,再传输剩余部分数据。由此可见,一方面,通过分配流量可以对传输流量进行控制,减少传输视频资源占用较多带宽造成的网络拥堵情况;另一方面,如果待传输数据需要占用的流量大于为其分配的流量,只传输部分数据,再分配流量后,再传输剩余部分数据,也就是说,本方案不会阻塞丢弃视频数据,视频可以正常解码播放。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (18)
1.一种视频传输方法,其特征在于,包括:
确定每个视频传输请求对应的每份待传输数据,所述待传输数据中包括待发送内部画面帧;
每隔预设时长,为所确定的每份待传输数据分配流量;
针对每份待传输数据,判断为其分配的流量是否小于所述待传输数据所占用的流量;
如果否,利用所述分配的流量传输所述待传输数据;
如果是,判断所述待发送内部画面帧所占用的流量是否大于所述分配的流量;如果是,在所述待发送内部画面帧中选择目标数据;如果否,将所述待发送内部画面帧确定为目标数据,所述目标数据所占用的流量不大于所述分配的流量;
利用所述分配的流量传输所述目标数据;
在所述分配的流量之后的下一次分配流量的情况下,利用所述下一次分配的流量,传输所述待传输数据中除所述目标数据之外的数据。
2.根据权利要求1所述的方法,其特征在于,所述为所确定的每份待传输数据分配流量的步骤,包括:
根据预设的数据属性与权重的对应关系,确定每份待传输数据对应的权重;
根据待传输数据所在网络中可用流量的大小及所确定的权重,为每份待传输数据分配流量。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
判断是否存在用户设定的流量阈值;
如果是,将所述可用流量的大小确定为所述流量阈值;
如果否,监测所述可用流量的大小。
4.根据权利要求1所述的方法,其特征在于,当所述待传输数据为预览数据时,所述待发送内部画面帧为缓冲区中的最新内部画面帧;
当待发送内部画面帧所占用的流量小于所述分配的流量时,在利用所述分配的流量传输所述最新内部画面帧的步骤之后,还包括:
确定所述分配的流量中是否存在剩余流量;
如果是,检测所述缓冲区中是否存在新的内部画面帧;
如果存在,判断新的内部画面帧所占用的流量是否大于所述剩余流量;
如果大于,利用所述剩余流量发送新的内部画面帧中的部分数据;
如果不大于,利用所述剩余流量发送新的内部画面帧,并返回执行所述确定所述分配的流量中是否存在剩余流量的步骤。
5.根据权利要求4所述的方法,其特征在于,在检测所述缓冲区中不存在新的内部画面帧的情况下,还包括:
利用所述剩余流量,发送目标内部画面帧对应的非画面帧;其中,所述目标内部画面帧为:最新内部画面帧或者上一次检测到的新的内部画面帧。
6.根据权利要求1所述的方法,其特征在于,当所述待传输数据为回放数据时,所述判断待发送内部画面帧所占用的流量是否大于所述分配的流量的步骤,包括:
根据接收到的回放指令,确定待发送内部画面帧;
判断所确定的全部待发送内部画面帧所占用的流量是否大于所述分配的流量;
所述在所述待发送内部画面帧中选择目标数据的步骤,包括:
根据所述回放指令及所述分配的流量,在所确定的待发送内部画面帧中抽取目标内部画面帧作为目标数据;
所述将所述待发送内部画面帧确定为目标数据的步骤,包括:
在待发送内部画面帧对应的非画面帧中抽取目标非画面帧;
将所述目标非画面帧及所述待发送内部画面帧确定为目标数据。
7.根据权利要求6所述的方法,其特征在于,所述根据所述回放指令及所述分配的流量,在所确定的待发送内部画面帧中抽取目标内部画面帧作为目标数据的步骤,包括:
确定所述回放指令中携带的回放速度信息;
利用第一预设规则,结合所述回放速度信息、待发送内部画面帧的大小、间隔时长及所述分配的流量,计算抽取间隔;
根据所述抽取间隔,在所述待发送内部画面帧中抽取目标内部画面帧作为目标数据;
所述在待发送内部画面帧对应的非画面帧中抽取目标非画面帧的步骤,包括:
根据所述回放指令,确定回放数据的大小及时长;
利用第二预设规则,结合所述回放数据的大小及时长、待发送内部画面帧的大小、间隔时长及所述分配的流量,计算抽取速率;
根据所述抽取速率,在待发送内部画面帧对应的非画面帧中抽取目标非画面帧。
8.根据权利要求7所述的方法,其特征在于,所述利用第一预设规则,结合所述回放速度信息、待发送内部画面帧的大小、间隔时长及所述分配的流量,计算抽取间隔的步骤,包括:
利用如下算式,计算抽取间隔:
抽取间隔=内部画面帧的大小/(所述分配的流量*内部画面帧的间隔时长/回放速度);
所述利用第二预设规则,结合所述回放数据的大小及时长、待发送内部画面帧的大小、间隔时长及所述分配的流量,计算抽取速率的步骤,包括:
利用如下算式,计算抽取速率:
抽取速率={[所述分配的流量-(内部画面帧的大小/内部画面帧的间隔时长)]/(回放数据的大小/回放数据的时长)*(帧率-1/内部画面帧的间隔时长)}/1秒。
9.根据权利要求1-8任一项所述的方法,其特征在于,在所述每隔预设时长,为所确定的每份待传输数据分配流量的步骤之前,还包括:
判断每份待传输数据所占用的流量之和是否大于其所在网络中的可用流量;如果否,直接传输所述每份待传输数据;如果是,执行所述每隔预设时长,为所确定的每份待传输数据分配流量的步骤;
或者,监测缓冲区是否有预览数据被覆盖;如果没有,直接传输所述每份待传输数据;如果有,执行所述每隔预设时长,为所确定的每份待传输数据分配流量的步骤;
或者,监测回放数据是否有延时;如果没有,直接传输所述每份待传输数据;如果有,执行所述每隔预设时长,为所确定的每份待传输数据分配流量的步骤。
10.一种视频传输装置,其特征在于,包括:
第一确定模块,用于确定每个视频传输请求对应的每份待传输数据,所述待传输数据中包括待发送内部画面帧;
分配模块,用于每隔预设时长,为所确定的每份待传输数据分配流量;
第一判断模块,用于针对每份待传输数据,判断为其分配的流量是否小于所述待传输数据所占用的流量;如果否,触发第一传输模块,如果是,触发第二确定模块;
第一传输模块,用于利用所述分配的流量传输所述待传输数据;
第二确定模块包括判断子模块、选择子模块和确定子模块;所述判断子模块,用于判断所述待发送内部画面帧所占用的流量是否大于所述分配的流量;如果是,触发选择子模块,如果否,触发确定子模块;所述选择子模块,用于在所述待发送内部画面帧中选择目标数据;所述确定子模块,用于将所述待发送内部画面帧确定为目标数据,所述目标数据所占用的流量不大于所述分配的流量;
第二传输模块,用于利用所述分配的流量传输所述目标数据;
第三传输模块,用于在所述分配的流量之后的下一次分配流量的情况下,利用所述下一次分配的流量,传输所述待传输数据中除所述目标数据之外的数据。
11.根据权利要求10所述的装置,其特征在于,所述分配模块,具体用于:
根据预设的数据属性与权重的对应关系,确定每份待传输数据对应的权重;
根据待传输数据所在网络中可用流量的大小及所确定的权重,为每份待传输数据分配流量。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第二判断模块,用于判断是否存在用户设定的流量阈值;如果是,触发第三确定模块,如果否,触发第一监测模块;
第三确定模块,用于将所述可用流量的大小确定为所述流量阈值;
第一监测模块,用于监测所述可用流量的大小。
13.根据权利要求10所述的装置,其特征在于,当所述待传输数据为预览数据时,所述待发送内部画面帧为缓冲区中的最新内部画面帧;所述装置还包括:
第四确定模块,用于当待发送内部画面帧所占用的流量小于所述分配的流量时,在第二传输模块利用所述分配的流量传输所述最新内部画面帧之后,确定所述分配的流量中是否存在剩余流量,如果是,触发检测模块;
检测模块,用于检测所述缓冲区中是否存在新的内部画面帧;如果存在,触发第三判断模块;
第三判断模块,用于判断新的内部画面帧所占用的流量是否大于所述剩余流量;如果大于,触发第一发送模块,如果不大于,触发第二发送模块;
第一发送模块,用于利用所述剩余流量发送新的内部画面帧中的部分数据;
第二发送模块,用于利用所述剩余流量发送新的内部画面帧,并触发所述第四确定模块。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
第三发送模块,用于在检测所述缓冲区中不存在新的内部画面帧的情况下,利用所述剩余流量,发送目标内部画面帧对应的非画面帧;其中,所述目标内部画面帧为:最新内部画面帧或者上一次检测到的新的内部画面帧。
15.根据权利要求10所述的装置,其特征在于,当所述待传输数据为回放数据时,所述判断子模块,具体用于:
根据接收到的回放指令,确定待发送内部画面帧;
判断所确定的全部待发送内部画面帧所占用的流量是否大于所述分配的流量;
所述选择子模块,具体用于:
根据所述回放指令及所述分配的流量,在所确定的待发送内部画面帧中抽取目标内部画面帧作为目标数据;
所述确定子模块,具体用于:
在待发送内部画面帧对应的非画面帧中抽取目标非画面帧;
将所述目标非画面帧及所述待发送内部画面帧确定为目标数据。
16.根据权利要求15所述的装置,其特征在于,所述选择子模块,包括:
第一确定单元,用于确定所述回放指令中携带的回放速度信息;
第一计算单元,用于利用第一预设规则,结合所述回放速度信息、待发送内部画面帧的大小、间隔时长及所述分配的流量,计算抽取间隔;
第一抽取单元,用于根据所述抽取间隔,在所述待发送内部画面帧中抽取目标内部画面帧作为目标数据;
所述确定子模块,包括:
第二确定单元,用于根据所述回放指令,确定回放数据的大小及时长;
第二计算单元,用于利用第二预设规则,结合所述回放数据的大小及时长、待发送内部画面帧的大小、间隔时长及所述分配的流量,计算抽取速率;
第二抽取单元,用于根据所述抽取速率,在待发送内部画面帧对应的非画面帧中抽取目标非画面帧;
第三确定单元,用于将所述目标非画面帧及所述待发送内部画面帧确定为目标数据。
17.根据权利要求16所述的装置,其特征在于,所述第一计算单元,具体用于:
利用如下算式,计算抽取间隔:
抽取间隔=内部画面帧的大小/(所述分配的流量*内部画面帧的间隔时长/回放速度);
所述第二计算单元,具体用于:
利用如下算式,计算抽取速率:
抽取速率={[所述分配的流量-(内部画面帧的大小/内部画面帧的间隔时长)]/(回放数据的大小/回放数据的时长)*(帧率-1/内部画面帧的间隔时长)}/1秒。
18.根据权利要求10-17任一项所述的装置,其特征在于,所述装置还包括:
第四判断模块,用于判断每份待传输数据所占用的流量之和是否大于其所在网络中的可用流量;如果否,直接传输所述每份待传输数据;如果是,触发所述分配模块;
或者,第二监测模块,用于监测缓冲区是否有预览数据被覆盖;如果没有,直接传输所述每份待传输数据;如果有,触发所述分配模块;
或者,第三监测模块,用于监测回放数据是否有延时;如果没有,直接传输所述每份待传输数据;如果有,触发所述分配模块。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710071846.8A CN108419103B (zh) | 2017-02-09 | 2017-02-09 | 一种视频传输方法及装置 |
US16/482,988 US10681400B2 (en) | 2017-02-09 | 2018-01-10 | Method and device for transmitting video |
PCT/CN2018/072117 WO2018145551A1 (zh) | 2017-02-09 | 2018-01-10 | 一种视频传输方法及装置 |
EP18751758.6A EP3582503A4 (en) | 2017-02-09 | 2018-01-10 | VIDEO TRANSMISSION METHOD AND DEVICE |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710071846.8A CN108419103B (zh) | 2017-02-09 | 2017-02-09 | 一种视频传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108419103A CN108419103A (zh) | 2018-08-17 |
CN108419103B true CN108419103B (zh) | 2020-01-17 |
Family
ID=63107910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710071846.8A Active CN108419103B (zh) | 2017-02-09 | 2017-02-09 | 一种视频传输方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10681400B2 (zh) |
EP (1) | EP3582503A4 (zh) |
CN (1) | CN108419103B (zh) |
WO (1) | WO2018145551A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109348273B (zh) * | 2018-10-25 | 2021-04-09 | 希诺麦田技术(深圳)有限公司 | 多路视频实时传输方法、装置、基站设备及存储介质 |
CN111953612B (zh) * | 2020-07-21 | 2024-02-23 | 西安万像电子科技有限公司 | 数据传输控制方法及装置 |
CN111953613B (zh) * | 2020-07-21 | 2024-02-23 | 西安万像电子科技有限公司 | 数据传输控制方法及装置 |
CN117478612B (zh) * | 2023-12-27 | 2024-03-15 | 成都新希望金融信息有限公司 | 流量分配方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101077010A (zh) * | 2004-12-15 | 2007-11-21 | 皇家飞利浦电子股份有限公司 | 用于通过无线网络的数字视频传输的方法和*** |
CN103152649A (zh) * | 2013-01-30 | 2013-06-12 | 北京佳讯飞鸿电气股份有限公司 | 一种流媒体分发传输分级别自动减帧控制方法 |
CN103281509A (zh) * | 2013-05-29 | 2013-09-04 | 华为技术有限公司 | 一种视频会议中优化显示方法和装置 |
CN104469302A (zh) * | 2014-12-02 | 2015-03-25 | 深圳市泛海三江电子有限公司 | 一种视频监控的优化方法及装置 |
CN106302247A (zh) * | 2016-08-09 | 2017-01-04 | 乐视控股(北京)有限公司 | 一种带宽分配方法和装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030069964A1 (en) | 2001-10-04 | 2003-04-10 | Shteyn Yevgeniy Eugene | Digital content catering system |
KR101396675B1 (ko) * | 2006-01-05 | 2014-05-16 | 텔레폰악티에볼라겟엘엠에릭슨(펍) | 미디어 내용 관리 |
US8751679B2 (en) * | 2011-10-07 | 2014-06-10 | Ericsson Television Inc. | HTTP adaptive streaming server with automatic rate shaping |
US8760490B2 (en) * | 2011-11-30 | 2014-06-24 | Cisco Technology, Inc. | Techniques for a rate-adaptive video conference bridge |
US8549570B2 (en) * | 2012-02-23 | 2013-10-01 | Ericsson Television Inc. | Methods and apparatus for managing network resources used by multimedia streams in a virtual pipe |
US9660922B2 (en) * | 2012-03-23 | 2017-05-23 | Cisco Technology, Inc. | Network assisted rate shifting for adaptive bit rate streaming |
US8792347B2 (en) * | 2012-06-01 | 2014-07-29 | Opera Software Ireland Limited | Real-time network monitoring and subscriber identification with an on-demand appliance |
WO2014134811A1 (zh) | 2013-03-07 | 2014-09-12 | 华为技术有限公司 | 用于分配带宽的方法和视频网关 |
CN104125429B (zh) * | 2013-04-27 | 2018-07-06 | 杭州海康威视数字技术股份有限公司 | 视频数据传输的调节方法及装置 |
-
2017
- 2017-02-09 CN CN201710071846.8A patent/CN108419103B/zh active Active
-
2018
- 2018-01-10 WO PCT/CN2018/072117 patent/WO2018145551A1/zh unknown
- 2018-01-10 US US16/482,988 patent/US10681400B2/en active Active
- 2018-01-10 EP EP18751758.6A patent/EP3582503A4/en not_active Ceased
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101077010A (zh) * | 2004-12-15 | 2007-11-21 | 皇家飞利浦电子股份有限公司 | 用于通过无线网络的数字视频传输的方法和*** |
CN103152649A (zh) * | 2013-01-30 | 2013-06-12 | 北京佳讯飞鸿电气股份有限公司 | 一种流媒体分发传输分级别自动减帧控制方法 |
CN103281509A (zh) * | 2013-05-29 | 2013-09-04 | 华为技术有限公司 | 一种视频会议中优化显示方法和装置 |
CN104469302A (zh) * | 2014-12-02 | 2015-03-25 | 深圳市泛海三江电子有限公司 | 一种视频监控的优化方法及装置 |
CN106302247A (zh) * | 2016-08-09 | 2017-01-04 | 乐视控股(北京)有限公司 | 一种带宽分配方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2018145551A1 (zh) | 2018-08-16 |
CN108419103A (zh) | 2018-08-17 |
EP3582503A1 (en) | 2019-12-18 |
EP3582503A4 (en) | 2019-12-18 |
US10681400B2 (en) | 2020-06-09 |
US20190349616A1 (en) | 2019-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108419103B (zh) | 一种视频传输方法及装置 | |
CN107105309B (zh) | 直播调度方法及装置 | |
JP6421422B2 (ja) | 映像解析装置、監視装置、監視システムおよび映像解析方法 | |
JP2020043583A (ja) | サーバにおいてマルチビットレートストリーミングメディアをアダプティブに提供するための方法及び装置 | |
CN102917249B (zh) | Iptv预约***以及基于该***的预约计划添加方法 | |
JP2010534428A5 (zh) | ||
KR20150085376A (ko) | 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템 및 이의 부하 분산 방법 | |
JP2017504995A5 (zh) | ||
CN111858067B (zh) | 一种数据处理方法及装置 | |
CN111324886A (zh) | 业务请求的处理方法、装置和服务器 | |
CN109587511A (zh) | 多设备视频直播方法、设备、***及存储介质 | |
CN113395460B (zh) | 一种视频解码方法、装置、设备及可读存储介质 | |
CN114024973A (zh) | 直播云转码的资源调度方法、装置、服务器及*** | |
KR101109603B1 (ko) | 응용 프로그램 실행 방법 및 장치 | |
US10419806B1 (en) | Modularly activated cloud-DVR storage | |
CN113727198A (zh) | 一种切片视频卡顿识别方法、网络设备及存储介质 | |
CN109788337B (zh) | 一种对所采集的视频数据进行发送处理的方法及装置 | |
CN115037968A (zh) | 视频的播放方法、装置、存储介质及电子装置 | |
CN108024112B (zh) | 一种视频编码方法及装置 | |
CN115278281A (zh) | 直播质量保障方法、装置、计算设备和存储介质 | |
CN110113641B (zh) | 视频数据的传输方法、装置、边缘服务节点及介质 | |
JP2009170985A (ja) | オンデマンドデータ配信システム | |
CN110807106A (zh) | 一种多媒体数据的处理方法、装置、计算机设备和存储介质 | |
US9060192B2 (en) | Method of and a system for providing buffer management mechanism | |
CN111083413B (zh) | 一种图像显示方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |