CN108989907A - 直播数据流处理方法和系统、电子装置及计算机可读存储介质 - Google Patents
直播数据流处理方法和系统、电子装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN108989907A CN108989907A CN201810959507.8A CN201810959507A CN108989907A CN 108989907 A CN108989907 A CN 108989907A CN 201810959507 A CN201810959507 A CN 201810959507A CN 108989907 A CN108989907 A CN 108989907A
- Authority
- CN
- China
- Prior art keywords
- summary info
- data
- data packet
- caching
- video
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 6
- 238000012545 processing Methods 0.000 claims abstract description 48
- 238000000034 method Methods 0.000 claims abstract description 41
- 238000000605 extraction Methods 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004146 energy storage Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010899 nucleation Methods 0.000 description 1
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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8549—Creating video summaries, e.g. movie trailer
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/84—Generation or processing of descriptive data, e.g. content descriptors
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种直播数据流处理方法,该方法包括:当接收到音视频数据包时,提取数据的摘要信息;检查所提取的摘要信息是否已存在于摘要信息缓存中;当已存在于摘要信息缓存中时,丢弃所述数据包;当未存在于摘要信息缓存中时,向下分发所述数据包,并更新所述摘要信息缓存。本发明还提供一种直播数据流处理系统、电子装置及计算机可读存储介质。本发明提供的直播数据流处理方法和系统、电子装置及计算机可读存储介质能够根据所述摘要信息对回源重连时收到的重复数据进行过滤,避免下发重复数据而导致播放画面重复。
Description
技术领域
本发明涉及直播技术领域,尤其涉及一种直播数据流处理方法和系统、电子装置及计算机可读存储介质。
背景技术
随着视频播放技术的发展,直播场景越来越多地应用到各个客户端。现有直播架构中,每一个节点在回源时,都会有多个备选节点可选。当回源链路出现波动时,节点会主动断开连接,从备选节点中选出一个重新回源。视频数据分为关键帧和非关键帧,关键帧为一个完整的画面,非关键帧是基于关键帧的差值数据,所以拉取视频数据时,必须以关键帧开头。直播数据流是以画面群(Group of Picture,GOP)为单位组成的,每个GOP为以一个关键帧开头的音视频数据,由一个关键帧和多个非关键帧数据组成。播放器拉取直播数据时,本地会有一个2-5秒数据的缓存(buffer),这样在网络抖动时,播放的画面不会立即出现卡顿。基于上述理由,每个节点需要做一个GOP缓存,缓存2-3个GOP数据,这样做一是为了保证拉取视频数据时不黑屏,二是可以让客户端在开始拉取直播数据流时有足够大的数据进行缓存。
但是,这种方式存在着如下的缺陷:重新回源时,会再次从新的备选节点中拉取GOP缓存,此时可能会拉取到一段重复数据,导致重复数据下发,播放器出现画面重复播放,影响用户观看体验。
发明内容
有鉴于此,本发明提出一种直播数据流处理方法和系统、电子装置及计算机可读存储介质,以解决至少一个上述技术问题。
首先,为实现上述目的,本发明提出一种直播数据流处理方法,该方法包括:
当接收到音视频数据包时,提取数据的摘要信息;
检查所提取的摘要信息是否已存在于摘要信息缓存中;
当所提取的摘要信息已存在于摘要信息缓存中时,丢弃所述数据包;及
当所提取的摘要信息未存在于摘要信息缓存中时,向下分发所述数据包,并将所提取的摘要信息更新至所述摘要信息缓存。
可选地,在所述提取数据的摘要信息之前,该方法还包括:
当接收到数据包时,判断所述数据包是否为音视频数据包;
当所述数据包为音视频数据包时,执行所述提取数据的摘要信息;
当所述数据包为非音视频数据包时,直接向下分发所述数据包。
可选地,所述提取数据的摘要信息包括:
判断所述数据包为视频关键帧数据、视频非关键帧数据或音频帧数据;
当所述数据包为视频关键帧数据时,计算得到所述数据包的md5值作为所述摘要信息;
当所述数据包为视频非关键帧数据或音频帧数据时,计算得到所述数据包的数据长度作为所述摘要信息。
可选地,所述更新所述摘要信息缓存包括:
判断所述摘要信息缓存是否已达到最大长度;
当所述摘要信息缓存已达到最大长度时,将所述摘要信息缓存中最先存入的一个视频关键帧数据及其对应的视频非关键帧数据和音频帧数据的摘要信息清除,然后将所提取的摘要信息更新至所述摘要信息缓存;
当所述摘要信息缓存未达到最大长度时,直接将所提取的摘要信息更新至所述摘要信息缓存。
可选地,所述判断所述数据包是否为音视频数据包包括:根据所述数据包的包类型编码来判断所述数据包是否为音视频数据包。
可选地,所述判断所述数据包为视频关键帧数据、视频非关键帧数据或音频帧数据包括:
根据所述数据包的包体部分的第一个字节来判断所述数据包为视频关键帧数据、视频非关键帧数据或音频帧数据。
此外,为实现上述目的,本发明还提供一种电子装置,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的直播数据流处理程序,所述直播数据流处理程序被所述处理器执行时实现如下方法:
当接收到音视频数据包时,提取数据的摘要信息;
检查所提取的摘要信息是否已存在于摘要信息缓存中;
当所提取的摘要信息已存在于摘要信息缓存中时,丢弃所述数据包;及
当所提取的摘要信息未存在于摘要信息缓存中时,向下分发所述数据包,并将所提取的摘要信息更新至所述摘要信息缓存。
可选地,在所述提取数据的摘要信息之前,所述直播数据流处理程序被所述处理器执行时还实现:
当接收到数据包时,判断所述数据包是否为音视频数据包;
当所述数据包为音视频数据包时,执行所述提取数据的摘要信息;
当所述数据包为非音视频数据包时,直接向下分发所述数据包。
可选地,所述提取数据的摘要信息包括:
判断所述数据包为视频关键帧数据、视频非关键帧数据或音频帧数据;
当所述数据包为视频关键帧数据时,计算得到所述数据包的md5值作为所述摘要信息;
当所述数据包为视频非关键帧数据或音频帧数据时,计算得到所述数据包的数据长度作为所述摘要信息。
可选地,所述更新所述摘要信息缓存包括:
判断所述摘要信息缓存是否已达到最大长度;
当所述摘要信息缓存已达到最大长度时,将所述摘要信息缓存中最先存入的一个视频关键帧数据及其对应的视频非关键帧数据和音频帧数据的摘要信息清除,然后将所提取的摘要信息更新至所述摘要信息缓存;
当所述摘要信息缓存未达到最大长度时,直接将所提取的摘要信息更新至所述摘要信息缓存。
进一步地,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有直播数据流处理程序,所述直播数据流处理程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的直播数据流处理方法。
进一步地,为实现上述目的,本发明还提供一种直播数据流处理系统,所述系统包括:
提取模块,用于当接收到音视频数据包时,提取数据的摘要信息;
检查模块,用于检查所提取的摘要信息是否已存在于摘要信息缓存中;
数据包分发模块,用于当所提取的摘要信息已存在于摘要信息缓存中时,丢弃所述数据包;及
当所提取的摘要信息未存在于摘要信息缓存中时,向下分发所述数据包;
更新模块,用于当所提取的摘要信息未存在于摘要信息缓存中时,将所提取的摘要信息更新至所述摘要信息缓存中。
相较于现有技术,本发明所提出的直播数据流处理方法和系统、电子装置及计算机可读存储介质,可以首先判断接收到的数据包是否为音视频数据包,然后针对音视频数据包,基于数据的摘要信息对直播数据流进行去重拼接,其中,通过md5算法和数据长度来生成所述摘要信息,根据所述摘要信息对回源重连时收到的重复数据进行过滤,避免下发重复数据而导致播放画面重复。本方法既可以计算出每一个数据包的摘要信息,从而进行去重处理,同时又最小化额外的系统开销,不会对装置的性能造成影响。
附图说明
图1为实现本发明各个实施例的应用环境架构图;
图2是本发明第一实施例提出的一种电子装置的示意图;
图3是本发明第二实施例提出的一种直播数据流处理方法的流程示意图;
图4是本发明中直播数据流的示意图;
图5是图3中步骤S10的细化流程示意图;
图6是图3中步骤S40的细化流程示意图;
图7是本发明第三实施例提出的一种直播数据流处理方法的流程示意图;
图8是本发明第四实施例提出的一种直播数据流处理系统的模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
请参阅图1,图1为实现本发明各个实施例的一种应用环境架构图。本发明可应用于包括多个电子装置的应用环境中,上述电子装置可以是服务器、智能手机、平板电脑、个人电脑、便携计算机以及其它具有运算功能的电子设备。
上述多个电子装置通过有线或无线网络通信连接,以进行数据传输和交互。在本实施例中,上述多个电子装置组成直播数据流传输的各个节点,其中包括源节点、中间节点和边缘节点。上述源节点为提供直播数据流的数据源的装置,上述中间节点为从源节点到边缘节点之间传输直播数据流的装置,上述边缘节点为播放直播数据流的装置(客户端)。
第一实施例
参阅图2所示,本发明第一实施例提出一种实现直播数据流处理方法的电子装置1。
上述电子装置1包括:存储器11、处理器13、网络接口15及通信总线17。其中,网络接口15可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。通信总线17用于实现这些组件之间的连接通信。
存储器11至少包括一种类型的可读存储介质。上述至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器等的非易失性存储介质。在一些实施例中,上述存储器11可以是电子装置1的内部存储单元,例如该电子装置1的硬盘。在另一些实施例中,上述存储器11也可以是电子装置1的外部存储单元,例如电子装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。
上述存储器11可以用于存储安装于电子装置1的应用软件及各类数据,例如直播数据流处理程序10的程序代码及其运行过程中产生的相关数据。
处理器13在一些实施例中可以是一中央处理器,微处理器或其它数据处理芯片,用于运行存储器11中存储的程序代码或处理数据。
图2仅示出了具有组件11-17以及直播数据流处理程序10的电子装置1,但是应理解的是,图2并未示出电子装置1的所有组件,可以替代实施更多或者更少的组件。
在图2所示的电子装置1实施例中,作为一种计算机存储介质的存储器11中存储直播数据流处理程序10的程序代码,处理器13执行上述直播数据流处理程序10的程序代码时,实现如下方法:
(1)当接收到音视频数据包时,提取数据的摘要信息。
(2)检查所提取的摘要信息是否已存在于摘要信息缓存中。
(3)若已存在于摘要信息缓存中,则丢弃该数据包。
(4)若未存在于摘要信息缓存中,则向下分发该数据包,并更新上述摘要信息缓存。
优选的,该处理器13还可执行上述程序代码以实现如下方法:
(5)当接收到数据包时,判断该数据包是否为音视频数据包。若是,则执行步骤(1)。若否,则直接向下分发该数据包。
上述方法的详细说明请参阅下述第二实施例至第三实施例,在此不再赘述。
第二实施例
参阅图3所示,本发明第二实施例提出一种直播数据流处理方法。在本实施例中,根据不同的需求,图3所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。此外,有关直播数据流的常规处理步骤,可以根据实际应用场景纳入本发明。该方法包括以下:
S10,当接收到音视频数据包时,提取数据的摘要信息。
参阅图4,图4所示为直播数据流的示意图。上述直播数据流包括多个数据包,分为音视频数据包和非音视频数据包。上述音视频数据包可能为视频关键帧、视频非关键帧或音频帧数据;上述非音视频数据包为非音视频帧数据。并且,每一组音视频数据一定以视频关键帧开头。
参阅图5,图5所示为S10的细化流程图。在本实施例中,S10包括:
S100,当该数据包为视频关键帧数据时,计算该数据包的md5值,将数据包的md5值作为上述摘要信息。
S102,当该数据包为视频非关键帧数据时,计算该数据包的数据长度,将该数据包的数据长度作为上述摘要信息。
S104,当该数据包为音频帧数据时,计算该数据包的数据长度,将该数据包的数据长度作为上述摘要信息。
其中,根据标准实时消息传输协议(Real Time Messaging Protocol,RTMP),每个数据包有一个包类型编码(Message Type ID)。其中,Message Type ID=8代表音频数据包,Message Type ID=9代表视频数据包,其他为非音视频数据包。另外,每个每据包分为包头(header)和包体(body)两部分。针对视频数据包,可以通过数据包的body部分的第一个字节来判断该数据包的具体类型。若上述第一个字节等于十六进制0x17,则为视频关键帧,若不等于则为视频非关键帧。在提取上述摘要信息时,取视频关键帧的body部分的所有数据,来计算md5值;取视频非关键帧的header部分中的length字段来作为数据长度。另外,针对Message Type ID=8的音频数据包,则该数据包中为音频帧数据。
S20,检查所提取的摘要信息是否已存在于摘要信息缓存中。若已存在于摘要信息缓存中,则执行S30。若未存在于摘要信息缓存中,则执行S40。
举例来说,上述摘要信息缓存可以存储在在电子装置1进程的内存中,进行动态生成和维护。当电子装置1提取出该音视频数据包的摘要信息后,检查该摘要信息是否已存在于上述摘要信息缓存中,以避免重复分发相同的数据包。
S30,丢弃该数据包。
当所提取的摘要信息已存在于上述摘要信息缓存中时,表示该数据包已被分发过,不需要再次重复分发,因此电子装置1直接丢弃该数据包。
S40,向下分发该数据包,并更新上述摘要信息缓存。
当所提取的摘要信息未存在于上述摘要信息缓存中时,表示该数据包未被分发过,因此电子装置1需要向下分发该数据包。
参阅图6,图6所示为S40中更新摘要信息缓存的细化流程图。在本实施例中,S40包括:
S400,判断上述摘要信息缓存是否已达到最大长度。若已达到最大长度,则执行S402。若未达到最大长度,则执行S404。
S402,将最先存入的一个视频关键帧数据及其对应的视频非关键帧数据和音频帧数据的摘要信息清除,然后将所提取的摘要信息更新至上述摘要信息缓存。
S404,直接将所提取的摘要信息更新至上述摘要信息缓存。
上述更新是指将所提取的摘要信息添加至上述摘要信息缓存中。
本实施例提供的直播数据流处理方法,可以基于数据的摘要信息对直播数据流进行去重拼接,其中,通过md5算法和数据长度来生成上述摘要信息,根据上述摘要信息对回源重连时收到的重复数据进行过滤,避免下发重复数据而导致播放画面重复。本方法既可以计算出每一个数据包的摘要信息,从而进行去重处理,同时又最小化额外的系统开销,不会对装置的性能造成影响。
第三实施例
参阅图7所示,本发明第三实施例提出一种直播数据流处理方法。在本实施例中,根据不同的需求,图7所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。此外,有关直播数据流的常规处理步骤,可以根据实际应用场景纳入本发明。本实施例中,上述直播数据流处理方法的S32-S62与第二实施例的S10-S40相类似,区别在于该方法还包括S12-S22。
S12,当接收到数据包时,判断该数据包是否为音视频数据包。若是,则执行S32。若否,则执行S22。
当电子装置1接收到一个数据包时,先根据该数据包的Message Type ID判断其为音视频数据包或非音视频数据包。其中,Message Type ID=8代表音频数据包,MessageType ID=9代表视频数据包,其他为非音视频数据包。
S22,直接向下分发该数据包。
当判断出该数据包为非音视频数据包时,不需要判断是否重复,直接向下分发该数据包即可。
S32,提取该数据包中数据的摘要信息。
S42,检查所提取的摘要信息是否已存在于摘要信息缓存中。若已存在于摘要信息缓存中,则执行S52。若未存在于摘要信息缓存中,则执行S62。
S52,丢弃该数据包。
S62,向下分发该数据包,并更新上述摘要信息缓存。
其中,S32-S62的具体内容参阅上述第二实施例,在此不再赘述。
本实施例提供的直播数据流处理方法,可以首先判断接收到的数据包是否为音视频数据包,然后针对音视频数据包,基于数据的摘要信息对直播数据流进行去重拼接,其中,通过md5算法和数据长度来生成上述摘要信息,根据上述摘要信息对回源重连时收到的重复数据进行过滤,避免下发重复数据而导致播放画面重复。本方法既可以计算出每一个数据包的摘要信息,从而进行去重处理,同时又最小化额外的系统开销,不会对装置的性能造成影响。
第四实施例
如图8所示,本发明第四实施例提出一种直播数据流处理系统40,应用于上述电子装置1中。
在本实施例中,直播数据流处理系统40包括提取模块402、检查模块404、数据包分发模块406及更新模块408。
提取模块402,用于当接收到音视频数据包时,提取数据的摘要信息。
检查模块404,用于检查所提取的摘要信息是否已存在于摘要信息缓存中。
数据包分发模块406,用于当所提取的摘要信息已存在于摘要信息缓存中时,丢弃该数据包。当所提取的摘要信息未存在于摘要信息缓存中时,向下分发该数据包。
更新模块408,用于当所提取的摘要信息未存在于摘要信息缓存中时,将所提取的摘要信息更新至上述摘要信息缓存中。
上述各个模块的具体功能说明请参阅上述第二实施例至第三实施例,在此不再赘述。
第五实施例
本发明还提供了另一种实施方式,即提供一种计算机可读存储介质,上述计算机可读存储介质存储有直播数据流处理程序10,上述直播数据流处理程序10可被至少一个处理器执行,以使上述至少一个处理器执行如上述的直播数据流处理方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台客户端(可以是手机,计算机,电子装置,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (12)
1.一种直播数据流处理方法,其特征在于,所述方法包括:
当接收到音视频数据包时,提取数据的摘要信息;
检查所提取的摘要信息是否已存在于摘要信息缓存中;
当所提取的摘要信息已存在于摘要信息缓存中时,丢弃所述数据包;及
当所提取的摘要信息未存在于摘要信息缓存中时,向下分发所述数据包,并将所提取的摘要信息更新至所述摘要信息缓存。
2.如权利要求1所述的直播数据流处理方法,其特征在于,在所述提取数据的摘要信息之前,该方法还包括:
当接收到数据包时,判断所述数据包是否为音视频数据包;
当所述数据包为音视频数据包时,执行所述提取数据的摘要信息;
当所述数据包为非音视频数据包时,直接向下分发所述数据包。
3.如权利要求1或2所述的直播数据流处理方法,其特征在于,所述提取数据的摘要信息包括:
判断所述数据包为视频关键帧数据、视频非关键帧数据还是音频帧数据;
当所述数据包为视频关键帧数据时,计算得到所述数据包的md5值作为所述摘要信息;
当所述数据包为视频非关键帧数据或音频帧数据时,计算得到所述数据包的数据长度作为所述摘要信息。
4.如权利要求1或2所述的直播数据流处理方法,其特征在于,所述更新所述摘要信息缓存包括:
判断所述摘要信息缓存是否已达到最大长度;
当所述摘要信息缓存已达到最大长度时,将所述摘要信息缓存中最先存入的一个视频关键帧数据及其对应的视频非关键帧数据和音频帧数据的摘要信息清除,然后将所提取的摘要信息更新至所述摘要信息缓存;
当所述摘要信息缓存未达到最大长度时,直接将所提取的摘要信息更新至所述摘要信息缓存。
5.如权利要求2所述的直播数据流处理方法,其特征在于,
所述判断所述数据包是否为音视频数据包包括:根据所述数据包的包类型编码来判断所述数据包是否为音视频数据包。
6.如权利要求3所述的直播数据流处理方法,其特征在于,所述判断所述数据包为视频关键帧数据、视频非关键帧数据或音频帧数据包括:
根据所述数据包的包体部分的第一个字节来判断所述数据包为视频关键帧数据、视频非关键帧数据或音频帧数据。
7.一种电子装置,其特征在于,所述电子装置包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的直播数据流处理程序,所述直播数据流处理程序被所述处理器执行时实现如下方法:
当接收到音视频数据包时,提取数据的摘要信息;
检查所提取的摘要信息是否已存在于摘要信息缓存中;
当所提取的摘要信息已存在于摘要信息缓存中时,丢弃所述数据包;及
当所提取的摘要信息未存在于摘要信息缓存中时,向下分发所述数据包,并将所提取的摘要信息更新至所述摘要信息缓存。
8.如权利要求7所述的电子装置,其特征在于,在所述提取数据的摘要信息之前,所述直播数据流处理程序被所述处理器执行时还实现:
当接收到数据包时,判断所述数据包是否为音视频数据包;
当所述数据包为音视频数据包时,执行所述提取数据的摘要信息;
当所述数据包为非音视频数据包时,直接向下分发所述数据包。
9.如权利要求7或8所述的电子装置,其特征在于,所述提取数据的摘要信息包括:
判断所述数据包为视频关键帧数据、视频非关键帧数据或音频帧数据;
当所述数据包为视频关键帧数据时,计算得到所述数据包的md5值作为所述摘要信息;
当所述数据包为视频非关键帧数据或音频帧数据时,计算得到所述数据包的数据长度作为所述摘要信息。
10.如权利要求7或8所述的电子装置,其特征在于,所述更新所述摘要信息缓存包括:
判断所述摘要信息缓存是否已达到最大长度;
当所述摘要信息缓存已达到最大长度时,将所述摘要信息缓存中最先存入的一个视频关键帧数据及其对应的视频非关键帧数据和音频帧数据的摘要信息清除,然后将所提取的摘要信息更新至所述摘要信息缓存;
当所述摘要信息缓存未达到最大长度时,直接将所提取的摘要信息更新至所述摘要信息缓存。
11.一种计算机可读存储介质,所述计算机可读存储介质存储有直播数据流处理程序,所述直播数据流处理程序可被至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-6中任一项所述的直播数据流处理方法。
12.一种直播数据流处理系统,其特征在于,所述系统包括:
提取模块,用于当接收到音视频数据包时,提取数据的摘要信息;
检查模块,用于检查所提取的摘要信息是否已存在于摘要信息缓存中;
数据包分发模块,用于当所提取的摘要信息已存在于摘要信息缓存中时,丢弃所述数据包;及
当所提取的摘要信息未存在于摘要信息缓存中时,向下分发所述数据包;
更新模块,用于当所提取的摘要信息未存在于摘要信息缓存中时,将所提取的摘要信息更新至所述摘要信息缓存中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810959507.8A CN108989907A (zh) | 2018-08-22 | 2018-08-22 | 直播数据流处理方法和系统、电子装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810959507.8A CN108989907A (zh) | 2018-08-22 | 2018-08-22 | 直播数据流处理方法和系统、电子装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108989907A true CN108989907A (zh) | 2018-12-11 |
Family
ID=64547259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810959507.8A Pending CN108989907A (zh) | 2018-08-22 | 2018-08-22 | 直播数据流处理方法和系统、电子装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108989907A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110418156A (zh) * | 2019-08-27 | 2019-11-05 | 上海掌门科技有限公司 | 信息处理方法和装置 |
CN112954374A (zh) * | 2021-01-28 | 2021-06-11 | 广州虎牙科技有限公司 | 视频数据处理方法、装置、电子设备及存储介质 |
CN114257879A (zh) * | 2021-12-17 | 2022-03-29 | 深圳市瑞云科技有限公司 | 一种播放视频的方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006172296A (ja) * | 2004-12-17 | 2006-06-29 | Hitachi Software Eng Co Ltd | キャッシュ削除方法及びコンテンツ中継サーバ |
CN101170498A (zh) * | 2007-11-30 | 2008-04-30 | 华中科技大学 | 应用于Ad hoc网络的安全多路径路由方法 |
CN106095835A (zh) * | 2016-05-31 | 2016-11-09 | 广东能龙教育股份有限公司 | 一种客户端图片四层缓存方法 |
CN106790687A (zh) * | 2017-02-17 | 2017-05-31 | 和创(北京)科技股份有限公司 | 网页呈现方法、网页数据处理方法和服务器 |
CN106791898A (zh) * | 2016-12-12 | 2017-05-31 | 广州华多网络科技有限公司 | 一种直播视频加载方法和装置 |
CN106850817A (zh) * | 2012-12-10 | 2017-06-13 | 北京奇虎科技有限公司 | 一种下载管理设备、方法及数据下载系统 |
CN107193498A (zh) * | 2017-05-25 | 2017-09-22 | 山东浪潮商用系统有限公司 | 一种对数据进行去重复处理的方法及装置 |
-
2018
- 2018-08-22 CN CN201810959507.8A patent/CN108989907A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006172296A (ja) * | 2004-12-17 | 2006-06-29 | Hitachi Software Eng Co Ltd | キャッシュ削除方法及びコンテンツ中継サーバ |
CN101170498A (zh) * | 2007-11-30 | 2008-04-30 | 华中科技大学 | 应用于Ad hoc网络的安全多路径路由方法 |
CN106850817A (zh) * | 2012-12-10 | 2017-06-13 | 北京奇虎科技有限公司 | 一种下载管理设备、方法及数据下载系统 |
CN106095835A (zh) * | 2016-05-31 | 2016-11-09 | 广东能龙教育股份有限公司 | 一种客户端图片四层缓存方法 |
CN106791898A (zh) * | 2016-12-12 | 2017-05-31 | 广州华多网络科技有限公司 | 一种直播视频加载方法和装置 |
CN106790687A (zh) * | 2017-02-17 | 2017-05-31 | 和创(北京)科技股份有限公司 | 网页呈现方法、网页数据处理方法和服务器 |
CN107193498A (zh) * | 2017-05-25 | 2017-09-22 | 山东浪潮商用系统有限公司 | 一种对数据进行去重复处理的方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110418156A (zh) * | 2019-08-27 | 2019-11-05 | 上海掌门科技有限公司 | 信息处理方法和装置 |
CN112954374A (zh) * | 2021-01-28 | 2021-06-11 | 广州虎牙科技有限公司 | 视频数据处理方法、装置、电子设备及存储介质 |
CN112954374B (zh) * | 2021-01-28 | 2023-05-23 | 广州虎牙科技有限公司 | 视频数据处理方法、装置、电子设备及存储介质 |
CN114257879A (zh) * | 2021-12-17 | 2022-03-29 | 深圳市瑞云科技有限公司 | 一种播放视频的方法及系统 |
CN114257879B (zh) * | 2021-12-17 | 2023-05-12 | 深圳市瑞云科技有限公司 | 一种播放视频的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102713883B (zh) | 用编解码器强制的帧大小进行音频分割 | |
US8341282B2 (en) | Hybrid buffer management | |
CN106165434B (zh) | 一种用于获取媒体数据的方法及计算机可读介质 | |
CN102843589B (zh) | 智能广告插播系统及智能广告插播方法 | |
US20070143807A1 (en) | Data distribution apparatus, data provision apparatus and data distribution system comprised thereof | |
US20160295269A1 (en) | Information pushing method, device and system | |
CN107637040A (zh) | 使用websocket子协议来传输媒体数据 | |
CN108989907A (zh) | 直播数据流处理方法和系统、电子装置及计算机可读存储介质 | |
US20090247295A1 (en) | Network-Based Methods and Apparatus for Rendering Images to an End User | |
CN106303674B (zh) | 数据传输方法、装置和智能电视系统 | |
CN104662921A (zh) | 用于动态地选择、组装内容和将内容插入流送媒体的方法和系统 | |
CN105898506A (zh) | 媒体文件的多屏播放方法和系统 | |
CN111818354B (zh) | 动画配置、播放方法、装置、电子设备、系统和介质 | |
KR102598237B1 (ko) | 디지털 방송 서비스 방법 및 장치 | |
CN112104893B (zh) | 一种实现网页端无插件播放的视频流管理方法及装置 | |
CN112019905A (zh) | 直播回放方法、计算机设备及可读存储介质 | |
Tizon et al. | MPEG-4-based adaptive remote rendering for video games | |
CN104618738A (zh) | 一种智能电视节目播放方法及装置 | |
CN111726641A (zh) | 直播视频的播放处理方法、装置及服务器 | |
CN101202882A (zh) | 一种媒体资源传输方法、系统及机顶盒 | |
CN112312145B (zh) | 接入服务器、突发流量的缓存方法、系统、计算机设备及可读存储介质 | |
US8750115B2 (en) | Priority-based buffer management | |
US11455228B2 (en) | Non-linear management of real time sequential data in cloud instances via time constraints | |
CN115134632A (zh) | 视频码率控制方法、设备、介质及内容分发网络cdn系统 | |
CN105791964B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181211 |
|
RJ01 | Rejection of invention patent application after publication |