CN115086714A - 数据处理方法、装置、设备及存储介质 - Google Patents

数据处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115086714A
CN115086714A CN202210667519.XA CN202210667519A CN115086714A CN 115086714 A CN115086714 A CN 115086714A CN 202210667519 A CN202210667519 A CN 202210667519A CN 115086714 A CN115086714 A CN 115086714A
Authority
CN
China
Prior art keywords
data
frame
processed
description information
frame data
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.)
Granted
Application number
CN202210667519.XA
Other languages
English (en)
Other versions
CN115086714B (zh
Inventor
张俊勤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jingdong Technology Information Technology Co Ltd
Original Assignee
Jingdong Technology Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jingdong Technology Information Technology Co Ltd filed Critical Jingdong Technology Information Technology Co Ltd
Priority to CN202210667519.XA priority Critical patent/CN115086714B/zh
Publication of CN115086714A publication Critical patent/CN115086714A/zh
Priority to PCT/CN2023/073991 priority patent/WO2023241057A1/zh
Application granted granted Critical
Publication of CN115086714B publication Critical patent/CN115086714B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/233Processing of audio elementary streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本公开涉及数据处理技术领域,尤其涉及一种数据处理方法、装置、设备及存储介质。以源站节点为执行主体时,方法包括:获取当前的待处理帧数据;解析所述待处理帧数据,生成所述待处理帧数据对应的一致性描述信息,其中,所述一致性描述信息为所述待处理帧数据进行切片时使用的描述信息;依次将所述一致性描述信息和对应的所述待处理帧数据,分发给至少一个边缘节点。本公开用以解决现有技术中在边缘节点或源站节点独立进行流媒体数据切片,导致切片处理效果差、效率低的问题。

Description

数据处理方法、装置、设备及存储介质
技术领域
本公开涉及数据处理技术领域,尤其涉及一种数据处理方法、装置、设备及存储介质。
背景技术
在当前主流内容分发网络中,流媒体数据的播放,需要根据基于超文本传输协议的自适应码率流媒体传输协议完成切片处理。现有技术中,常用的切片方式有两种,一种是源站节点将数据发送给边缘节点后,由边缘节点进行切片。但是该方式下,不同的边缘节点因为配置参数不同等原因,导致生成的每个分片的时长等参数可能出现差别。因为差别的存在,可能导致在流媒体切换时,从不同边缘节点获取的流媒体数据播放不连续、重帧以及卡顿等播放事故出现,切片处理效果差。另一种是源站节点切片,边缘节点回源,从而为用户提供分片直播流。但是该方式下,需要源站节点具有强大的计算能力,且无法充分利用边缘节点的分布式计算能力,切片处理效率低。
发明内容
本公开提供一种数据处理方法、装置、设备及存储介质,用以解决现有技术中在边缘节点或源站节点独立进行流媒体数据切片,导致切片处理效果差、效率低的问题。
本公开提供一种数据处理方法,应用于源站节点,包括:获取当前的待处理帧数据;解析所述待处理帧数据,生成所述待处理帧数据对应的一致性描述信息,其中,所述一致性描述信息为所述待处理帧数据进行切片时使用的描述信息;依次将所述一致性描述信息和对应的所述待处理帧数据,分发给至少一个边缘节点。
根据本公开提供的一种数据处理方法,所述获取当前的待处理帧数据,包括:获取基于消息队列传输的当前帧数据,其中,所述消息队列中包括视频帧和音频帧;确定所述当前帧数据为视频帧或音频帧后,基于所述当前帧数据,获取所述待处理帧数据;所述生成所述待处理帧数据对应的一致性描述信息,包括:当所述当前帧数据为所述视频帧时,生成带有视频标识的、所述待处理帧数据对应的一致性描述信息;当所述当前帧数据为所述音频帧时,生成带有音频标识的、所述待处理帧数据对应的一致性描述信息。
根据本公开提供的一种数据处理方法,所述确定所述当前帧数据为视频帧或音频帧后,基于所述当前帧数据,获取所述待处理帧数据,包括:当所述当前帧数据为所述视频帧时,将所述当前帧数据作为所述待处理帧数据;当所述当前帧数据为所述音频帧时,获取包括所述当前帧数据的、连续的N个音频帧;将所述N个音频帧作为所述待处理帧数据,其中,N为大于0的整数。
根据本公开提供的一种数据处理方法,所述当所述当前帧数据为所述音频帧时,获取包括所述当前帧数据的、连续的N个音频帧,包括:当所述当前帧数据为所述音频帧时,缓存所述当前帧数据;再次获取基于消息队列传输的当前帧数据,判断再次获取的所述当前帧数据是否为所述音频帧;若否,将已缓存的所述音频帧作为所述待处理帧数据;若是,判断再次获取的所述当前帧数据和已缓存的所述音频帧的总数据长度,是否小于或等于预设的打包基本码流最大长度,若是,缓存所述当前帧数据;若否,将已缓存的所述音频帧作为所述待处理帧数据,并清空音频缓存空间后缓存所述当前帧数据。
根据本公开提供的一种数据处理方法,所述依次将所述一致性描述信息和对应的所述待处理帧数据,分发给至少一个边缘节点,包括:将所述一致性描述信息作为所述消息队列中的视频帧,分发给至少一个所述边缘节点;基于所述消息队列,将所述视频帧分发给至少一个所述边缘节点;或者,基于所述消息队列,将所述N个音频帧依次分发给至少一个所述边缘节点。
根据本公开提供的一种数据处理方法,所述一致性描述信息为自定义补充增强信息;所述解析所述待处理帧数据,生成所述待处理帧数据对应的一致性描述信息,包括:判断所述待处理帧数据中是否包含补充增强信息;若否,生成所述待处理帧数据的自定义补充增强信息;若是,确定所述补充增强信息不是所述自定义补充增强信息后,生成所述待处理帧数据的自定义补充增强信息。
根据本公开提供的一种数据处理方法,所述自定义补充增强信息包括所述自定义标识符,所述自定义标识符用于指示所述一致性描述信息是根据自定义一致性协议生成的;所述获取待处理帧数据之前,还包括:申请所述自定义标识符的标识缓存空间,其中,所述标识缓存空间中缓存的所述自定义标识符,是由上一帧所述待处理帧数据对应的所述自定义补充增强信息中提取的;所述确定所述补充增强信息不是所述自定义补充增强信息,包括:获取所述标识缓存空间中的所述自定义标识符;将所述补充增强信息中的协议标识符,与所述标识缓存空间中的所述自定义标识符进行比较,当比较结果指示不一致时,确定所述补充增强信息不是所述自定义补充增强信息。
本公开提供一种数据处理方法,应用于边缘节点,包括:获取源站节点传输的一致性描述信息,以及获取所述一致性描述信息对应的待处理帧数据,其中,所述一致性描述信息为所述待处理帧数据进行切片时使用的描述信息;根据所述一致性描述信息,对所述待处理帧数据进行切片,生成至少一个一致性传输流分片。
根据本公开提供的一种数据处理方法,所述一致性描述信息包括视频标识或音频标识,所述待处理帧数据为视频帧或音频帧;所述根据所述一致性描述信息,对所述待处理帧数据进行切片,包括:确定所述一致性描述信息包括所述视频标识时,根据所述一致性描述信息更新当前视频切片描述信息,以根据所述当前视频切片描述信息,对下一帧获取的所述视频帧进行切片处理;确定所述一致性描述信息包括所述音频标识时,采用当前音频切片描述信息,对预先设置的数据缓存空间内的所述音频帧进行切片处理后,清空所述数据缓存空间,并根据所述一致性描述信息更新当前音频切片描述信息。
根据本公开提供的一种数据处理方法,所述获取源站节点传输的一致性描述信息,以及获取所述一致性描述信息对应的待处理帧数据,包括:获取所述源站节点基于消息队列传输的数据帧;当所述数据帧为音频帧时,将所述音频帧存储至所述数据缓存空间,其中,所述数据缓存空间内的所述音频帧,为当前音频切片描述信息对应的待处理帧数据;当所述数据帧为视频帧时,确定所述视频帧为所述当前视频切片描述信息对应的所述待处理帧数据,或者,确定所述视频帧为所述一致性描述信息。
根据本公开提供的一种数据处理方法,所述一致性描述信息为自定义补充增强信息;所述确定所述视频帧为所述一致性描述信息,包括:确定所述视频帧为补充增强信息;确定所述补充增强信息为自定义补充增强信息。
本公开还提供一种用于数据处理的源站节点装置,包括:源站获取模块,用于获取当前的待处理帧数据;信息生成模块,用于解析所述待处理帧数据,生成所述待处理帧数据对应的一致性描述信息,其中,所述一致性描述信息为所述待处理帧数据进行切片时使用的描述信息;分发模块,用于依次将所述一致性描述信息和所述待处理帧数据,分发给至少一个边缘节点。
本公开还提供一种用于数据处理的边缘节点装置,包括:边缘获取模块,用于获取源站节点传输的一致性描述信息,以及获取所述一致性描述信息对应的待处理帧数据,其中,所述一致性描述信息为所述待处理帧数据进行切片时使用的描述信息;切片处理模块,用于根据所述一致性描述信息,对所述待处理帧数据进行切片,生成至少一个一致性传输流分片。
本公开还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述的源站节点为执行主体的数据处理方法;或者,所述处理器执行所述程序时实现如上述任一种所述的边缘节点为执行主体的数据处理方法。
本公开还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述的源站节点为执行主体的数据处理方法;或者,该计算机程序被处理器执行时实现如上述任一种所述的边缘节点为执行主体的数据处理方法。
本公开提供的数据处理方法、装置、设备及存储介质,由源站节点和边缘节点配合完成切片的过程。源站节点获取待处理帧数据后,生成该待处理帧数据对应的一致性描述信息,该一致性描述信息则是用于待处理帧数据进行切片时使用的描述信息。然后边缘节点将一直性描述信息和对应的待处理帧数据,依次分发给至少一个边缘节点。而边缘节点获取到源站节点传输的一次性描述信息和对应的待处理帧数据后,根据一次性描述信息对待处理帧数据进行切片,生成至少一个一致性传输流分片。在上述过程中,由源站节点生成待处理帧数据进行切片时使用的一致性描述信息,然后由边缘节点基于该一致性描述信息完成切片过程,也就是由源站节点对各个需要切片的待处理帧数据,进行了切片一致性的预处理,避免了边缘节点独立切片造成的切片参数存在差别,保证了各个一致性传输流分片的播放效果;同时,待处理帧数据的实际切片过程则是在边缘节点完成的,充分利用了边缘节点的计算能力,提升切片处理效率。
附图说明
为了更清楚地说明本公开或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本公开提供的网络架构示意图;
图2是本公开提供的通过源站节点实现数据处理方法的流程示意图;
图3是本公开提供的自定义补充增强信息数据配置示意图;
图4是本公开提供的基础协议数据区数据配置示意图;
图5是本公开提供的切片更新扩展数据区数据配置示意图;
图6是本公开提供的消息队列中视频帧排列示例图;
图7是本公开提供的通过边缘节点实现数据处理方法的流程示意图;
图8是本公开提供的边缘节点基于消息队列接收数据帧时的处理流程示意图;
图9是本公开提供的CDN网络中实现数据处理方法的示意图;
图10是本公开提供的用于数据处理的源站节点装置的结构示意图;
图11是本公开提供的用于数据处理的边缘节点装置的结构示意图;
图12是本公开提供的电子设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开实施例一部分实施例,而不是全部的实施例。基于本公开实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开实施例保护的范围。
首先,对本公开提到的技术术语进行解释,具体如下:
内容分发网络(Content Delivery Network,CDN):建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络。
基于实时消息传输协议(Real Time Messaging Protocol,RTMP):一种用来进行实时数据通信的网络协议,主要用来在支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。
基于超文本传输协议的自适应码率流媒体传输协议(HTTP Live Streaming,HLS):一种动态码率自适应技术,主要用于服务器和终端的音视频服务。
消息队列(MSG):一个消息的链表,具有特定的格式以及特定的优先级。
打包基本码流(Packet Elementary Stream,PES):PES流是音视频数据流经过PES打包器处理后形成的数据流。
ADTS(Audio Data Transport Stream):ADTS指的是基本码流(ElementaryStream,ES)的一种数据格式。
补充增强信息(Supplemental Enhancement Information,SEI):是码流范畴里面的概念,提供了向音视频码流中加入信息的办法,是H.264视频压缩标准的特性之一。
传输流(Transport Stream,TS):HLS协议规定的音视频封装格式。
本公开提供的数据处理方法,主要应用于类似于内容分发网络(ContentDelivery Network,CDN)的网络架构中,由源站节点和边缘节点配合实现待处理帧数据的切片。具体的,如图1所示,源站节点与M个边缘节点通信连接,M为大于0的整数。源站节点接收外部传输的多媒体数据流,然后将多媒体数据流转发给各个边缘节点。需要说明的是,源站节点为具有数据处理能力的任意一种设备,例如,服务器、计算机等;每个边缘节点为具有数据处理能力的任意一种设备,例如,服务器、笔记本电脑或智能手机等,各个边缘节点实现的设备类型可以是一样的,也可以是不一样的。源站节点与各个边缘节点的连接方式既可以是有线连接,也可以是无线连接。
下面以源站节点为执行主体,介绍本公开提供的数据处理方法。
一个实施例中,如图2所示,通过源站节点实现数据处理方法的流程步骤如下:
步骤201,获取当前的待处理帧数据。
本实施例中,源站节点接收外部传输的多媒体数据流。具体的,当多媒体数据流的传输基于实时消息传输协议(Real Time Messaging Protocol,RTMP)时,源站节点接收推送或拉取的RTMP数据流。RTMP数据流包括视频数据、音频数据和/或协议控制数据等不同类型的数据。而流媒体播放时需要进行切片处理的数据是视频数据和音频数据,例如,在基于超文本传输协议(Hyper Text Transfer Protocol,HTTP)的自适应码率流媒体传输协议(HTTP Live Streaming,HLS)下完成切片时,则切片处理的对象为视频数据和音频数据。
本实施例中,根据实际情况和需要预先设定一致性协议,该一致性协议用于指示源站节点和边缘节点相互配合,实现基于两端节点的一致性切片处理。更具体的,可以在HLS协议的基础上,对HLS协议进行需求化修改,以得到最终适用于源站节点和边缘节点两端的一致性协议。基于一致性协议,在源站节点预先设置一致性信息封装逻辑,按照该一致性信息封装逻辑,以帧为处理单元,对RTMP数据流进行处理。该一致性信息封装逻辑使源站节点能够基于一致性协议的内容,对视频帧或音频帧进行一致性封装,即生成对应的一致性描述信息。
一个实施例中,RTMP数据流是基于消息队列(MSG)进行传输的。具体的,获取当前的待处理帧数据,具体实现过程如下:获取基于消息队列传输的当前帧数据,其中,消息队列中包括视频帧和音频帧;确定当前帧数据为视频帧或音频帧后,基于当前帧数据,获取待处理帧数据;生成待处理帧数据对应的一致性描述信息,包括:当当前帧数据为视频帧时,生成带有视频标识的、待处理帧数据对应的一致性描述信息;当当前帧数据为音频帧时,生成带有音频标识的、待处理帧数据对应的一致性描述信息。
本实施例中,源站节点只针对视频(Video)数据或音频(Audio)数据生成一致性描述信息,当源站节点实时接收到一帧数据后,将该帧数据作为当前帧数据,对当前帧数据进行解析,即可确定当前帧帧数据是否为视频帧或音频帧。若当前帧数据不是视频帧或音频帧,则舍弃该当前数据帧,不进行一致性处理,继续接收下一帧数据,作为当前帧数据进行处理。若当前帧数据为视频帧时,对应生成的一致性描述信息中则包含视频标识;若当前帧数据为音频帧时,对应生成的一致性描述信息中则包含音频标识。
本实施例中,源站节点通过对接收的当前帧数据进行类型识别,只针对需要分片的视频帧和音频帧进行处理,避免对其他类型数据进行无效处理导致的处理资源浪费。
一个实施例中,由于视频帧和音频帧的数据长度是不一样的,视频帧的长度大于音频帧的长度。则确定当前帧数据为视频帧或音频帧后,基于当前帧数据,获取待处理帧数据,具体实现过程如下:当当前帧数据为视频帧时,将当前帧数据作为待处理帧数据;当当前帧数据为音频帧时,获取包括当前帧数据的、连续的N个音频帧;将N个音频帧作为待处理帧数据,其中,N为大于0的整数。
本实施例中,若当前帧数据为视频帧,则直接将该视频帧作为待处理帧数据;若当前帧数据为音频帧,则需要将连续的N个音频帧作为待处理数据。
一个实施例中,N的取值根据实际处理过程而定。具体的,当当前帧数据为音频帧时,获取包括当前帧数据的、连续的N帧音频帧,实现的具体过程如下:当当前帧数据为音频帧时,缓存当前帧数据;再次获取基于消息队列传输的当前帧数据,判断再次获取的当前帧数据是否为音频帧;若否,将已缓存的音频帧作为待处理帧数据;若是,判断再次获取的当前帧数据和已缓存的音频帧的总数据长度,是否小于或等于预设的打包基本码流最大长度,若是,缓存当前帧数据;若否,将已缓存的音频帧作为待处理帧数据,并清空音频缓存空间后缓存当前帧数据。
本实施例中,由于音频帧的数据长度小于视频帧的数据长度,若连续获取多个音频帧,则将N个音频帧作为一个大的帧数据来处理。具体的,根据预设的打包基本码流(Packet Elementary Stream,PES)最大长度,将连续的N个音频帧作为一个PES包。当上一帧获取到的帧数据为视频数据或其他类型数据等非音频帧时,且当下获得的当前帧数据为音频帧,则解析该音频帧,结合预设的PES最大长度,预生成一个PES包对应的ADTS(AudioData Transport Stream)头数据,其中,ADTS指的是基本码流(Elementary Stream,ES)的一种数据格式。将当前的音频帧缓存,继续接收后续的音频帧,直至再次获取的当前帧数据不再是音频帧,或者,直至再次获取的音频帧和已缓存的音频帧的总数据长度,超过预设的PES最大长度。已缓存的音频帧与预设生成的ADTS头数据形成一个PES包,将该PES包作为待处理数据帧,生成对应的一致性描述信息。
生成一个PES包后,清除已缓存的音频帧。当再次获取的当前帧数据仍然是音频帧时,重复预生成一个ADTS头数据,生成PES包的过程,直至新接收的当前帧数据不再是音频帧。
本实施例中,是否生成一个新的ADTS头数据,可以根据已缓存的音频帧数据量是否为零来确定。当已缓存的音频帧数据量不为零时,只继续缓存当前接收的音频帧;当已缓存的音频帧数据量为零,即没有缓存的音频帧,且当前接收了一个音频帧时,生成一个新的ADTS头数据。
本实施例中,由于音频帧数据长度较小,则若获取连续的音频帧,则将连续的音频帧重新打包成至少一个PES包,生成该PES包对应的一致性描述信息。由此可以避免每一个音频帧均生成对应的一致性描述信息,造成处理资源浪费的问题,同时,减少源站节点和边缘节点之间的数据传输量。
步骤202,解析待处理帧数据,生成待处理帧数据对应的一致性描述信息,其中,一致性描述信息为待处理帧数据进行切片时使用的描述信息。
本实施例中,获取待处理帧数据后,解析待处理帧数据,生成对应的一致性描述信息。具体的,当待处理帧数据为视频帧时,生成的一致性描述信息中包含视频标识;当待处理帧数据为音频帧时,生成的一致性描述信息中包含音频标识。
一致性描述信息在待处理帧数据进行切片时使用,具体的,一致性描述信息包括每个切片的时长、视频帧数、音频帧数、视频起始cc、音频起始cc、更精确到某帧的90K时间戳以及其他描述信息中的一种或几种。其中,cc(continuity_counte)指的是递增计数器。
一个实施例中,一致性描述信息为自定义补充增强信息。自定义补充增强信息指的是根据需要设置具体配置值的补充增强信息(Supplemental EnhancementInformation,SEI)。通过SEI添加待处理帧数据进行切片时使用的描述信息,使原有流媒体数据不会收到新增信息的影响。具体的,解析待处理帧数据,生成待处理帧数据对应的一致性描述信息,具体实现过程如下:判断待处理帧数据中是否包含补充增强信息;若否,生成待处理帧数据的自定义补充增强信息;若是,确定补充增强信息不是自定义补充增强信息后,生成待处理帧数据的自定义补充增强信息。
本实施例中,将自定义补充增强信息表示为JDSEI。源站节点接收外部传输的一阵数据(即待处理帧数据)后,会判断该待处理帧数据是否包含SEI,若不包含,则直接构造生成该待处理帧数据对应的JDSEI。若包含,则判断该SEI是否为JDSEI,若是,则表明该待处理帧数据已经配置了进行一致性切片使用的描述信息,不需要再次生成该JDSEI,直接转发该待处理帧数据;若否,则表明该待处理帧数据中包含的SEI不是JDSEI,该待处理帧数据中没有配置进行一致性切片使用的描述信息,需要重新生成该待处理帧数据对应的JDSEI。
本实施例中,通过确定待处理帧数据中是否已经配置了自定义补充增强信息,当待处理帧数据中已经包含自定义补充增强信息时,则不需要再重复生成自定义补充增强信息,避免数据重复和处理资源浪费。
一个实施例中,自定义补充增强信息包括自定义标识符,自定义标识符用于指示一致性描述信息是根据自定义一致性协议生成的。具体的,在获取待处理帧数据之前,申请自定义标识符的标识缓存空间,其中,标识缓存空间中缓存的自定义标识符,是由上一帧待处理帧数据对应的自定义补充增强信息中提取的。确定补充增强信息不是自定义补充增强信息,实现过程如下:获取标识缓存空间中的自定义标识符;将补充增强信息中的协议标识符,与标识缓存空间中的自定义标识符进行比较,当比较结果指示不一致时,确定补充增强信息不是自定义补充增强信息。
本实施例中,预先申请专用的缓存空间,用于保存最新的自定义补充增强信息。当对上一帧的待处理帧数据进行处理时,确定或生成上一帧待处理帧数据的自定义补充增强信息后,将自定义补充增强信息缓存至预先申请的标识缓存空间中。在对本次获取的待处理帧数据进行处理时,通过标识缓存空间中存储的自定义补充增强信息,来确定待处理帧数据中包含的补充增强信息是否为自定义补充增强信息。若本次获取的待处理帧数据中包含的是自定义补充增强信息,则清空标识缓存空间,将本次获取的待处理帧数据中包含的自定义补充增强信息更新至标识缓存空间;若本次获取的待处理帧数据中不包含自定义补充增强信息,则清空标识缓存空间,将本次生成的待处理帧数据中对应的自定义补充增强信息更新至标识缓存空间。便于对下一帧获取的待处理帧数据进行处理。
一个实施例中,自定义补充增强信息(表示为JDSEI)根据实际情况和需要设定具体配置格式和参数,例如,根据数据大小的限制和配置参数需求,将自定义补充增强信息按照图3所示进行配置。
具体的,自定义补充增强信息中的描述信息包含四部分,分别为:FLV-HEAD、SEI-HEAD、Base-Data和Extended-Data。
第一部分为FLV-HEAD:此部分为流媒体协议(Flash Video,FLV)数据头,表示模拟视频封装信息。此数据头为5字节数据信息,具体的,为基于FLV协议下的Video Data信息。
第二部分为SEI-HEAD:此部分为SEI标识符信息,此部分包含4+2字节。第1~4字节填充SEI信息区长度;第5字节存储0x06,代表此数据帧为H.264的SEI帧信息,其中,H.264表示一种流媒体编解码规则;第6字节存储0x05,0x05代表此SEI信息为自定义信息数据。其中,0x06和0x05分别是基于十六进制的数字。
第三部分为Base-Data:此部分为基础协议数据区,作为每个SEI帧需要传输的数据,具体内容如图4所示。
图4中,每格代表一个比特(1bit),第一行为位标识符,第一行中的0~7代表8比特(bit),每8个bit为一个字节(byte),一行为4个byte。在该基础协议数据区共有18个字节,代表了15类信息,分别表示为第二行至第五行中的1~15,具体如下:
1:占8bit,代表协议长度,即自定义SEI数据中载荷大小(payload size)信息。若自定义的一致性协议长度低于255bit,则占用1字节或2字节即可满足协议需求。
2:占4字节,32biTS,代表协议标识符(即上述实施例中的自定义标识符),用于标识为自定义协议信息,即通用唯一识别码(Universally Unique Identifier,UUID)。可选的,4字节存储的数据为:0x4A,0x53,0x45和0x49(代表该数据帧为JDSEI)。SEI自定义数据要求UUID需要16byte,为了降低数据量,此处仅使用4byte作为区分,其余15byte替换为有效的数据区(可能不足15bytes)。0x4A,0x53,0x45和0x49分别是基于十六进制的数字。
3:占8biTS,代表协议版本(version),存储格式例如,当版本为version:1.0.0.1时,则8biTS存储的数据为:10 00 00 01,即:0x81,其中,10 00 00 01为二进制数字,0x81为十六进制数字。
4:占2bit,代表协议标识的数据类型,音频类型和视频类型,0代表视频,1代表音频。由于切片是针对视频数据和音频数据的,在自定义的一致性协议下暂时不存在第三种类型。
5:占1bit,代表是否为关键帧(I帧),0代表非关键帧,1代表关键帧。其中音频数据全为0。
6:占1bit,代表本帧显示时间戳(Presentation Time Stamp,PTS)和解码时间戳(Decoding Time StampdTS,DTS)是否相同,0代表相同,1代表不同。其中音频数据全为0。
7:占1bit,代表是否更新切片,0代表不更新切片,1代表更新切片。当为1时,会启用后续的扩展数据区,即Extended-Data区。
8:占1bit,代表此切片是否与上一个切片连续,若不连续,则需要在生成的m3u8中添加#EXT-X-DISCONTINUITY,代表不连续。其中,m3u8为播放传输流(Transport Stream,TS)分片时使用的索引文件,#EXT-X-DISCONTINUITY用于描述此切片与上一个切片不连续。
9:占1bit,代表切片文件的灵活使用(active)项,暂时无实际用途,可后续作为预留(reserved)使用。
10:占1bit,代表切片文件是否开启以高级加密标准(Advanced EncryptionStandard,AES)进行加密,开启后,关键密钥(key_frags)和开放式安全套接层协议(OpenSecure SockeTS Layer,openssl)基于随机密钥(key)才生效。
11:占4bit,代表TS切片封装的音视频数据的起始cc(continuity counter),0x00~0x0F循环。
12:占4bit,代表TS切片封装节目关联表(Program Association Table,PAT)和节目映射表(Program Map Table,PMT)的起始cc,此cc在切片头添加,在视频I帧前添加,纯音频数据则仅有切片头添加。具体数值在0x00~0x0F循环,0x00~0x0F为十六进制数字。
13:占8bit,1个字节,预留(reserved)字段,协议更新时使用。
14:占5byte,代表此帧数据的90K时间戳,若数据类型=0,即视频,则代表紧随此JDSEI帧之后的第一个视频帧所处的90K时间戳。若数据类型=1,即音频,依旧代表紧随此JDSEI帧之后的第一个音频帧所处的90K时间戳。
15:占4byte,代表90K的PTS与DTS差值,此值在6不为0,即PTS与DTS不相同的情况下存在。
第四部分为Extended-Data:此部分数据为切片更新扩展数据,仅当需要关闭当前切片,开启新切片时发送。在Base-Data中7所代表的更新切片项为1时启用,记录了切片的相关信息。如图5所示,每格代表一个字节(1byte),第一行为字节标识符,第一行中的0~7代表8字节(byte)。在该切片更新扩展数据区共有32个字节,代表了4类信息,分别表示为第二行中的1~4,具体如下:
1:占8bytes,切片的所属身份证标识号(Identity document,ID),此ID可以为顺序递增数字、系统时间或切片时间戳等具有标识信息的内容。
2:占4bytes,切片所属的计值和事件序列标识值(sequence id),用于更新EXT-X-MEDIA-SEQUENCE使用,使m3u8能一致。其中,EXT-X-MEDIA-SEQUENCE用于指定切片开始的序号。
3:占4bytes,切片所属key_frags,此项在BaseData的10位置为1,即开启AES加密时使用,代表有多少个切片使用同一个加密key,当此项为0时,表示采用当前的最新key。
4:占16bytes,AES所使用的openssl生成的16字节伪随机key,用于对文件加密使用,在BaseData的10位置为1时存在。
本实施例中,上述自定义补充增强信息的具体配置内容,仅是一个示例性说明,具体配置的字节数量和每个字节存储的具体内容,可以根据实际情况和需要设定。
步骤203,依次将一致性描述信息和对应的待处理帧数据,分发给至少一个边缘节点。
本实施例中,生成一致性描述信息后,将一致性描述信息和对应的待处理帧数据,依次分发给至少一个边缘节点。
一个实施例中,依次将一致性描述信息和对应的待处理帧数据,分发给至少一个边缘节点,具体实现过程如下:将一致性描述信息作为消息队列中的视频帧,分发给至少一个边缘节点;当待处理帧数据为视频帧时,将待处理帧数据作为消息队列中的视频帧,分发给至少一个边缘节点;当待处理帧数据为音频帧时,将待处理帧数据作为消息队列中的音频帧,分发给至少一个边缘节点。
本实施例中,不论一致性描述信息是针对视频帧还是音频帧的,均将一致性描述信息作为一个视频帧插入消息队列中进行分发。而对应的视频帧仍旧以视频帧分发,对应的音频帧仍旧以音频帧分发。由此,可以保证一致性描述信息的顺利分发,尤其是在HLS协议等约束下,保证一致性描述信息能够成功传输给边缘节点。
一个实施例中,当一致性描述信息为自定义补充增强信息(表示为JDSEI)时,将JDSEI作为一个新的视频帧插入原始流媒体数据的消息队列中。
如图6所示,V1、V2、V3、V4……Vk分别表示不同的视频帧;A1、A2……Aj分别表示不同的音频帧;JDSEI 1、JDSEI 2、JDSEI 3、JDSEI 4、JDSEI 5、JDSEI 6……JDSEI n分别表示不同的自定义补充增强信息。V1对应JDSEI 1,V2对应JDSEI 2,V3对应JDSEI 3,A1对应JDSEI 4,V4对应JDSEI 5,A2对应JDSEI 6,Vk对应JDSEI n,Aj对应JDSEI(n+1)。按照图6中的顺序,基于消息队列发送各个JDSEI、视频帧和音频帧。其中,n为大于0的整数,k为大于0的整数,j为大于0的整数。
下面以边缘节点为执行主体,介绍本公开提供的数据处理方法。
一个实施例中,如图7所示,通过边缘节点实现数据处理方法的流程步骤如下:
步骤701,获取源站节点传输的一致性描述信息,以及获取一致性描述信息对应的待处理帧数据,其中,一致性描述信息为待处理帧数据进行切片时使用的描述信息。
本实施例中,源站节点将一致性描述信息和对应的待处理帧数据分发给至少一个边缘节点之后,各个边缘节点分别接收分发的一致性描述信息和对应的待处理帧数据。若要根据一致性描述信息对待处理帧数据进行切片,边缘节点需要预先设置一致性信息解析逻辑,按照该一致性信息解析逻辑,基于一致性描述信息对待处理帧数据进行切片。
一个实施例中,源站节点将一致性描述信息作为视频帧,与流媒体数据的视频帧和音频帧,共同基于消息队列传输给各个边缘节点时,边缘节点获取源站节点传输的一致性描述信息,以及获取一致性描述信息对应的待处理帧数据,具体实现过程如下:获取源站节点基于消息队列传输的数据帧;当数据帧为音频帧时,将音频帧存储至数据缓存空间,其中,数据缓存空间内的音频帧,为当前音频切片描述信息对应的待处理帧数据;当数据帧为视频帧时,确定视频帧为当前视频切片描述信息对应的待处理帧数据,或者,确定视频帧为一致性描述信息。
本实施例中,边缘节点接收到一致性描述信息后,会解析该一致性描述信息,若解析后确定一致性描述信息是针对音频数据的,则更新当前音频切片描述信息,以保持当前音频切片描述信息为针对音频数据最新的描述信息;若解析后确定一致性描述信息是针对视频数据的,则更新当前视频切片描述信息,以保持当前视频切片描述信息为针对视频数据最新的描述信息。
本实施例中,边缘节点基于消息队列逐个接收数据帧。接收到一个数据帧后,边缘节点首先判断该数据帧是音频帧还是视频帧,当接收的数据帧是音频帧时,则该音频帧为待播放的原始流媒体数据,先将该音频帧存储至数据缓存空间,而数据缓存空间内的音频帧,为当前音频切片描述信息对应的待处理帧数据。
当接收的数据帧是视频帧时,由于源站节点将一致性描述信息作为视频帧传输,则该视频帧是一致性描述信息或待播放的原始流媒体数据。若确定该视频帧为待播放的原始流媒体数据,则该视频帧为当前视频切片描述信息对应的待处理帧视频。
一个实施例中,当源站节点将连续的N个音频帧作为一个PES包进行传输时,边缘节点在接收一个音频帧的一致性描述信息后,或首先接收一个带有ADTS头数据的音频帧,此时,将ADTS头数据与该音频帧存储至数据缓存空间中,然后再将后续连续接收的音频帧逐个存储至数据缓存空间,直至N个音频帧全部存储完毕。便于后续边缘节点根据一致性描述信息,将对应的PES包切片。
步骤702,根据一致性描述信息,对待处理帧数据进行切片,生成至少一个一致性传输流分片。
本实施中,边缘节点根据一致性描述信息,将对应的待处理帧数据切片,生成至少一个一致性传输流(Transport Stream,TS)分片。这些TS分片可以基于HLS协议进行播放。需要说明的是,TS分片生成的,边缘节点本地若存在播放条件,则边缘节点可以在本地播放生成的TS分片;和/或,边缘节点可以将生成的TS分片存储在本地存储器中,当其他边缘节点或者其他类型的客户端,向存储有TS分片的边缘节点请求这些TS分片时,该边缘节点可以将本地的TS分片传输给其他边缘节点或客户端。
一个实施例中,一致性描述信息是针对视频数据或音频数据的。具体的,一致性描述信息包括视频标识或音频标识,待处理帧数据为视频帧或音频帧。基于上述,根据一致性描述信息,对待处理帧数据进行切片,具体实现过程如下:确定一致性描述信息包括视频标识时,根据一致性描述信息更新当前视频切片描述信息,以根据当前视频切片描述信息,对下一帧获取的视频帧进行切片处理;确定一致性描述信息包括音频标识时,采用当前音频切片描述信息,对预先设置的数据缓存空间内的音频帧进行切片处理后,清空数据缓存空间,并根据一致性描述信息更新当前音频切片描述信息。
本实施例中,当源站节点为接收的每一个视频帧配置一个对应的一致性描述信息,而为连续的N个音频帧配置一个对应的一致性描述信息时,边缘节点要根据视频帧和音频帧传输的不同特点,对视频帧或音频帧进行切片。
具体的,当边缘节点获得的一致性描述信息包含视频标识时,解析该一致性描述信息,更新当前视频切片描述信息。根据源站节点数据传输方式,源站节点发送包含视频标识的一致性描述信息后,会在下一帧发送该一致性描述信息对应的视频帧。所以边缘节点下一帧接收的会是当前视频切片描述信息对应的视频帧。此时,即可通过当前视频切片描述信息将对应的视频帧切片。
当边缘节点获得的一致性描述信息包含音频标识时,暂时不更新当前音频切片描述信息。因为源站节点在发送包含音频标识的一致性描述信息后,会发送该一致性描述信息对应的连续的N个音频帧。所以边缘节点接收一个包含音频标识的一致性描述信息后,表示连续的N个音频帧已经传输完毕,并均已存储于数据缓存空间中了,所以,使用上一次更新的当前音频切片描述信息,将数据缓存空间中的所有音频帧切片。切片完成后,再使用本次获得的一致性描述信息更新当前音频切片描述信息,然后边缘节点继续接收更新后的当前音频切片描述信息对应的连续N个音频帧。
一个实施例中,当一致性描述信息为自定义补充增强信息时,确定视频帧为一致性描述信息,具体实现过程如下:确定视频帧为补充增强信息;确定补充增强信息为自定义补充增强信息。
本实施例中,源站节点从外部接收的某一帧数据,自带有SEI,该SEI不是一致性描述信息,而是包含描述该帧数据其他信息的,即该SEI不是本公开中自定义补充增强信息(表示为JDSEI)。当源站节点在传输数据时,除了传输该帧数据对应的JDSEI,还会将原始配置的SEI传输,然后再传输对应的帧数据。相对应的,边缘节点会连续接收JDSEI、原始SEI和真实的帧数据。为了避免解析错误,边缘节点确定接收到SEI后,会判断该SEI是否为JDSEI,若否,则解析该原始SEI,实现相应的其他功能;若是,则解析该JDSEI,用于后续的切片处理。
一个实施例中,一致性描述信息为自定义补充增强信息(表示为JDSEI)。当源站节点将一致性描述信息作为视频帧,与流媒体数据的视频帧和音频帧,共同基于消息队列传输给各个边缘节点时,如图8所示,边缘节点基于消息队列接收数据帧时的处理过程如下:
步骤801,接收新的数据帧;
步骤802,判断数据帧是否为音频帧,若是,执行步骤803,若否,执行步骤804;
步骤803,将音频帧存储至数据缓存空间,执行步骤801;
步骤804,判断视频帧是否为JDSEI,若否,执行步骤805,若是,执行步骤806;
步骤805,根据当前视频切片描述信息,对该视频帧进行切片,其中,当前视频切片描述信息是由上一帧得到的包含视频标识的JDSEI更新得到的,执行步骤801;
步骤806,判断JDSEI中是否包含视频标识,若是,执行步骤807,若否,执行步骤808;
步骤807,解析包含视频标识的JDSEI,更新当前视频切片描述信息,执行步骤801;
步骤808,确定JDSEI中包含音频标识,根据当前音频切片描述信息,对数据缓存空间中的所有音频帧进行切片,其中,当前音频切片描述信息是由上一次得到的包含音频标识的JDSEI更新得到的;
步骤809,清空数据缓存空间,并解析本次获得的包含音频标识的JDSEI,更新当前音频切片描述信息,执行步骤801。
一个实施例中,如图9所示,在一个CDN网络中,包括源站节点和三个边缘节点(edge),三个边缘节点分别为edge1、edge2和edge3。源站节点分别与三个边缘节点通信连接。源站节点配置有一致性信息封装模块,用于实现预先设置的一致性信息封装逻辑。每个边缘节点分别设置有一致性信息解析模块,用于实现预先设置的一致性信息解析逻辑。
具体的,源站节点启用一致性信息封装模块,接收推送或拉取的RTMP数据流。通过一致性信息封装模块,将RTMP数据流包括的每一个待处理帧数据进行处理,生成对应的自定义补充增强信息(标识为JDSEI),按照帧分割频率进行JDSEI的发送,通过RTMP协议分发给CDN网络中的每一个edge。
边缘节点启用一致性信息封装模块,解析源站节点传输的RTMP数据流。通过一致性信息封装模块,解析收到的JDSEI,以基于HLS协议完成对视频数据或音频数据的切片,生成TS分片。
由于各个边缘节点中配置的一致性信息封装模块,均是根据一致性协议生成的,所以各个边缘节点生成的TS分片的参数均一致,用户可在edge1、edge2、edge3随意切换获取TS分片,并正常播放。
本实施例中,一致性切片功能被提出,在源站节点唯一的情况下,原始的RTMP数据流被进行一致性封装处理,从而在边缘节点生成的TS分片均遵从源站节点的统一设定,保证TS分片的参数一致。而新增的JDSEI,不影响原始RTMP数据流的正常播放,并对当前流带宽的影响尽可能的降低。一致性TS分片的生成,不仅解决了边缘节点切片不规律的问题,并可以延伸出多点缓冲,P2P透传缓冲等终端新的机制。且可以抛弃原有的源站节点切片透传到边缘的模式,降低内网带宽。
本公开提供的数据处理方法,由源站节点和边缘节点配合完成切片的过程。源站节点获取待处理帧数据后,生成该待处理帧数据对应的一致性描述信息,该一致性描述信息则是用于待处理帧数据进行切片时使用的描述信息。然后边缘节点将一直性描述信息和对应的待处理帧数据,依次分发给至少一个边缘节点。而边缘节点获取到源站节点传输的一次性描述信息和对应的待处理帧数据后,根据一次性描述信息对待处理帧数据进行切片,生成至少一个一致性传输流分片。在上述过程中,由源站节点生成待处理帧数据进行切片时使用的一致性描述信息,然后由边缘节点基于该一致性描述信息完成切片过程,也就是由源站节点对各个需要切片的待处理帧数据,进行了切片一致性的预处理,避免了边缘节点独立切片造成的切片参数存在差别,保证了各个一致性传输流分片的播放效果;同时,待处理帧数据的实际切片过程则是在边缘节点完成的,充分利用了边缘节点的计算能力,提升切片处理效率。
下面对本公开实施例提供的用于数据处理的源站节点装置进行描述,下文描述的用于数据处理的源站节点装置,与上文描述的以源站节点为执行主体的数据处理方法可相互对应参照。如图10所示,用于数据处理的源站节点装置包括:
源站获取模块1001,用于获取当前的待处理帧数据;
信息生成模块1002,用于解析待处理帧数据,生成待处理帧数据对应的一致性描述信息,其中,一致性描述信息为待处理帧数据进行切片时使用的描述信息;
分发模块1003,用于依次将一致性描述信息和待处理帧数据,分发给至少一个边缘节点。
一个实施例中,源站获取模块1001,具体用于获取基于消息队列传输的当前帧数据,其中,消息队列中包括视频帧和音频帧;确定当前帧数据为视频帧或音频帧后,基于当前帧数据,获取待处理帧数据;
信息生成模块1002,具体用于当当前帧数据为视频帧时,生成带有视频标识的、待处理帧数据对应的一致性描述信息;当当前帧数据为音频帧时,生成带有音频标识的、待处理帧数据对应的一致性描述信息。
一个实施例中,源站获取模块1001,具体用于当当前帧数据为视频帧时,将当前帧数据作为待处理帧数据;当当前帧数据为音频帧时,获取包括当前帧数据的、连续的N个音频帧;将N个音频帧作为待处理帧数据,其中,N为大于0的整数。
一个实施例中,源站获取模块1001,具体用于当当前帧数据为音频帧时,缓存当前帧数据;再次获取基于消息队列传输的当前帧数据,判断再次获取的当前帧数据是否为音频帧;若否,将已缓存的音频帧作为待处理帧数据;若是,判断再次获取的当前帧数据和已缓存的音频帧的总数据长度,是否小于或等于预设的打包基本码流最大长度,若是,缓存当前帧数据;若否,将已缓存的音频帧作为待处理帧数据,并清空音频缓存空间后缓存当前帧数据。
一个实施例中,分发模块1003,具体用于将一致性描述信息作为消息队列中的视频帧,分发给至少一个边缘节点;基于消息队列,将视频帧分发给至少一个边缘节点;或者,基于消息队列,将N个音频帧依次分发给至少一个边缘节点。
一个实施例中,信息生成模块1002,具体用于判断待处理帧数据中是否包含补充增强信息;若否,生成待处理帧数据的自定义补充增强信息;若是,确定补充增强信息不是自定义补充增强信息后,生成待处理帧数据的自定义补充增强信息,其中,一致性描述信息为自定义补充增强信息。
一个实施例中,用于数据处理的源站节点装置还包括空间申请模块1004,用于获取待处理帧数据之前,申请自定义标识符的标识缓存空间,其中,标识缓存空间中缓存的自定义标识符,是由上一帧待处理帧数据对应的自定义补充增强信息中提取的。
信息生成模块1002,具体用于获取标识缓存空间中的自定义标识符;将补充增强信息中的协议标识符,与标识缓存空间中的自定义标识符进行比较,当比较结果指示不一致时,确定补充增强信息不是自定义补充增强信息。
下面对本公开实施例提供的用于数据处理的边缘节点装置进行描述,下文描述的用于数据处理的边缘节点装置,与上文描述的以边缘节点为执行主体的数据处理方法可相互对应参照。如图11所示,用于数据处理的边缘节点装置包括:
边缘获取模块1101,用于获取源站节点传输的一致性描述信息,以及获取一致性描述信息对应的待处理帧数据,其中,一致性描述信息为待处理帧数据进行切片时使用的描述信息;
切片处理模块1102,用于根据一致性描述信息,对待处理帧数据进行切片,生成至少一个一致性传输流分片。
一个实施例中,切片处理模块1102,具体用于确定一致性描述信息包括视频标识时,根据一致性描述信息更新当前视频切片描述信息,以根据当前视频切片描述信息,对下一帧获取的视频帧进行切片处理;确定一致性描述信息包括音频标识时,采用当前音频切片描述信息,对预先设置的数据缓存空间内的音频帧进行切片处理后,清空数据缓存空间,并根据一致性描述信息更新当前音频切片描述信息,其中,一致性描述信息包括视频标识或音频标识,待处理帧数据为视频帧或音频帧。
一个实施例中,边缘获取模块1101,具体用于获取源站节点基于消息队列传输的数据帧;当数据帧为音频帧时,将音频帧存储至数据缓存空间,其中,数据缓存空间内的音频帧,为当前音频切片描述信息对应的待处理帧数据;当数据帧为视频帧时,确定视频帧为当前视频切片描述信息对应的待处理帧数据,或者,确定视频帧为一致性描述信息。
一个实施例中,边缘获取模块1101,具体用于确定视频帧为补充增强信息;确定补充增强信息为自定义补充增强信息,其中,一致性描述信息为自定义补充增强信息。
图12示例了一种电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)1201、通信接口(Communications Interface)1202、存储器(memory)1203和通信总线1204,其中,处理器1201,通信接口1202,存储器1203通过通信总线1204完成相互间的通信。处理器1201可以调用存储器1203中的逻辑指令,以执行源站节点为执行主体的数据处理方法,该方法包括:获取当前的待处理帧数据;解析待处理帧数据,生成待处理帧数据对应的一致性描述信息,其中,一致性描述信息为待处理帧数据进行切片时使用的描述信息;依次将一致性描述信息和对应的待处理帧数据,分发给至少一个边缘节点;
或者,以执行边缘节点为执行主体的数据处理方法,该方法包括:获取源站节点传输的一致性描述信息,以及获取一致性描述信息对应的待处理帧数据,其中,一致性描述信息为待处理帧数据进行切片时使用的描述信息;根据一致性描述信息,对待处理帧数据进行切片,生成至少一个一致性传输流分片。
此外,上述的存储器1203中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本公开还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的源站节点为执行主体的数据处理方法,该方法包括:获取当前的待处理帧数据;解析待处理帧数据,生成待处理帧数据对应的一致性描述信息,其中,一致性描述信息为待处理帧数据进行切片时使用的描述信息;依次将一致性描述信息和对应的待处理帧数据,分发给至少一个边缘节点;
或者,计算机能够执行上述各方法所提供的边缘节点为执行主体的数据处理方法,该方法包括:获取源站节点传输的一致性描述信息,以及获取一致性描述信息对应的待处理帧数据,其中,一致性描述信息为待处理帧数据进行切片时使用的描述信息;根据一致性描述信息,对待处理帧数据进行切片,生成至少一个一致性传输流分片。
又一方面,本公开还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的源站节点为执行主体的数据处理方法,该方法包括:获取当前的待处理帧数据;解析待处理帧数据,生成待处理帧数据对应的一致性描述信息,其中,一致性描述信息为待处理帧数据进行切片时使用的描述信息;依次将一致性描述信息和对应的待处理帧数据,分发给至少一个边缘节点;
或者,该计算机程序被处理器执行时实现以执行上述各提供的边缘节点为执行主体的数据处理方法,该方法包括:获取源站节点传输的一致性描述信息,以及获取一致性描述信息对应的待处理帧数据,其中,一致性描述信息为待处理帧数据进行切片时使用的描述信息;根据一致性描述信息,对待处理帧数据进行切片,生成至少一个一致性传输流分片。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围。

Claims (15)

1.一种数据处理方法,其特征在于,应用于源站节点,包括:
获取当前的待处理帧数据;
解析所述待处理帧数据,生成所述待处理帧数据对应的一致性描述信息,其中,所述一致性描述信息为所述待处理帧数据进行切片时使用的描述信息;
依次将所述一致性描述信息和对应的所述待处理帧数据,分发给至少一个边缘节点。
2.根据权利要求1所述的数据处理方法,其特征在于,所述获取当前的待处理帧数据,包括:
获取基于消息队列传输的当前帧数据,其中,所述消息队列中包括视频帧和音频帧;
确定所述当前帧数据为视频帧或音频帧后,基于所述当前帧数据,获取所述待处理帧数据;
所述解析所述待处理帧数据,生成所述待处理帧数据对应的一致性描述信息,包括:
当所述当前帧数据为所述视频帧时,解析所述视频帧,生成带有视频标识的、所述待处理帧数据对应的一致性描述信息;
当所述当前帧数据为所述音频帧时,解析所述音频帧,生成带有音频标识的、所述待处理帧数据对应的一致性描述信息。
3.根据权利要求2所述的数据处理方法,其特征在于,所述确定所述当前帧数据为视频帧或音频帧后,基于所述当前帧数据,获取所述待处理帧数据,包括:
当所述当前帧数据为所述视频帧时,将所述当前帧数据作为所述待处理帧数据;
当所述当前帧数据为所述音频帧时,获取包括所述当前帧数据的、连续的N个音频帧;将所述N个音频帧作为所述待处理帧数据,其中,N为大于0的整数。
4.根据权利要求3所述的数据处理方法,其特征在于,所述当所述当前帧数据为所述音频帧时,获取包括所述当前帧数据的、连续的N个音频帧,包括:
当所述当前帧数据为所述音频帧时,缓存所述当前帧数据;
再次获取基于消息队列传输的当前帧数据,判断再次获取的所述当前帧数据是否为所述音频帧;
若否,将已缓存的所述音频帧作为所述待处理帧数据;
若是,判断再次获取的所述当前帧数据和已缓存的所述音频帧的总数据长度,是否小于或等于预设的打包基本码流最大长度,若是,缓存所述当前帧数据;若否,将已缓存的所述音频帧作为所述待处理帧数据,并清空音频缓存空间后缓存所述当前帧数据。
5.根据权利要求3所述的数据处理方法,其特征在于,所述依次将所述一致性描述信息和对应的所述待处理帧数据,分发给至少一个边缘节点,包括:
将所述一致性描述信息作为所述消息队列中的视频帧,分发给至少一个所述边缘节点;
基于所述消息队列,将所述视频帧分发给至少一个所述边缘节点;或者,基于所述消息队列,将所述N个音频帧依次分发给至少一个所述边缘节点。
6.根据权利要求1所述的数据处理方法,其特征在于,所述一致性描述信息为自定义补充增强信息;
所述解析所述待处理帧数据,生成所述待处理帧数据对应的一致性描述信息,包括:
判断所述待处理帧数据中是否包含补充增强信息;若否,生成所述待处理帧数据的自定义补充增强信息;若是,确定所述补充增强信息不是所述自定义补充增强信息后,生成所述待处理帧数据的自定义补充增强信息。
7.根据权利要求6所述的数据处理方法,其特征在于,所述自定义补充增强信息包括所述自定义标识符,所述自定义标识符用于指示所述一致性描述信息是根据自定义一致性协议生成的;
所述获取待处理帧数据之前,还包括:
申请所述自定义标识符的标识缓存空间,其中,所述标识缓存空间中缓存的所述自定义标识符,是由上一帧所述待处理帧数据对应的所述自定义补充增强信息中提取的;
所述确定所述补充增强信息不是所述自定义补充增强信息,包括:
获取所述标识缓存空间中的所述自定义标识符;将所述补充增强信息中的协议标识符,与所述标识缓存空间中的所述自定义标识符进行比较,当比较结果指示不一致时,确定所述补充增强信息不是所述自定义补充增强信息。
8.一种数据处理方法,其特征在于,应用于边缘节点,包括:
获取源站节点传输的一致性描述信息,以及获取所述一致性描述信息对应的待处理帧数据,其中,所述一致性描述信息为所述待处理帧数据进行切片时使用的描述信息;
根据所述一致性描述信息,对所述待处理帧数据进行切片,生成至少一个一致性传输流分片。
9.根据权利要求8所述的数据处理方法,其特征在于,所述一致性描述信息包括视频标识或音频标识,所述待处理帧数据为视频帧或音频帧;
所述根据所述一致性描述信息,对所述待处理帧数据进行切片,包括:
确定所述一致性描述信息包括所述视频标识时,根据所述一致性描述信息更新当前视频切片描述信息,以根据所述当前视频切片描述信息,对下一帧获取的所述视频帧进行切片处理;
确定所述一致性描述信息包括所述音频标识时,采用当前音频切片描述信息,对预先设置的数据缓存空间内的所述音频帧进行切片处理后,清空所述数据缓存空间,并根据所述一致性描述信息更新当前音频切片描述信息。
10.根据权利要求9所述的数据处理方法,其特征在于,所述获取源站节点传输的一致性描述信息,以及获取所述一致性描述信息对应的待处理帧数据,包括:
获取所述源站节点基于消息队列传输的数据帧;
当所述数据帧为音频帧时,将所述音频帧存储至所述数据缓存空间,其中,所述数据缓存空间内的所述音频帧,为当前音频切片描述信息对应的待处理帧数据;
当所述数据帧为视频帧时,确定所述视频帧为所述当前视频切片描述信息对应的所述待处理帧数据,或者,确定所述视频帧为所述一致性描述信息。
11.根据权利要求10所述的数据处理方法,其特征在于,所述一致性描述信息为自定义补充增强信息;
所述确定所述视频帧为所述一致性描述信息,包括:
确定所述视频帧为补充增强信息;
确定所述补充增强信息为自定义补充增强信息。
12.一种用于数据处理的源站节点装置,其特征在于,包括:
源站获取模块,用于获取当前的待处理帧数据;
信息生成模块,用于解析所述待处理帧数据,生成所述待处理帧数据对应的一致性描述信息,其中,所述一致性描述信息为所述待处理帧数据进行切片时使用的描述信息;
分发模块,用于依次将所述一致性描述信息和所述待处理帧数据,分发给至少一个边缘节点。
13.一种用于数据处理的边缘节点装置,其特征在于,包括:
边缘获取模块,用于获取源站节点传输的一致性描述信息,以及获取所述一致性描述信息对应的待处理帧数据,其中,所述一致性描述信息为所述待处理帧数据进行切片时使用的描述信息;
切片处理模块,用于根据所述一致性描述信息,对所述待处理帧数据进行切片,生成至少一个一致性传输流分片。
14.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述的数据处理方法;
或者,所述处理器执行所述程序时实现如权利要求8至11任一项所述的数据处理方法。
15.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述的数据处理方法;
或者,该计算机程序被处理器执行时实现如权利要求8至11任一项所述的数据处理方法。
CN202210667519.XA 2022-06-13 2022-06-13 数据处理方法、装置、设备及存储介质 Active CN115086714B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210667519.XA CN115086714B (zh) 2022-06-13 2022-06-13 数据处理方法、装置、设备及存储介质
PCT/CN2023/073991 WO2023241057A1 (zh) 2022-06-13 2023-01-31 数据处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210667519.XA CN115086714B (zh) 2022-06-13 2022-06-13 数据处理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN115086714A true CN115086714A (zh) 2022-09-20
CN115086714B CN115086714B (zh) 2024-08-16

Family

ID=83251856

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210667519.XA Active CN115086714B (zh) 2022-06-13 2022-06-13 数据处理方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN115086714B (zh)
WO (1) WO2023241057A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023241057A1 (zh) * 2022-06-13 2023-12-21 京东科技信息技术有限公司 数据处理方法、装置、设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013170835A2 (zh) * 2012-08-24 2013-11-21 中兴通讯股份有限公司 直播内容分发系统及方法
CN103973662A (zh) * 2013-02-06 2014-08-06 华为技术有限公司 流媒体请求方法及控制器
WO2017028675A1 (zh) * 2015-08-18 2017-02-23 中兴通讯股份有限公司 直播频道播放方法、装置及系统
WO2017035804A1 (zh) * 2015-09-02 2017-03-09 深圳好视网络科技有限公司 一种传送流切片方法及装置
CN108055594A (zh) * 2017-11-14 2018-05-18 北京百度网讯科技有限公司 边缘切片的实现方法、装置、计算机设备及存储介质
CN111510752A (zh) * 2020-06-18 2020-08-07 平安国际智慧城市科技股份有限公司 数据传输方法、装置、服务器及存储介质
CN112367527A (zh) * 2020-10-28 2021-02-12 广州市网星信息技术有限公司 一种传送流文件生成方法、装置、设备及存储介质
WO2021143362A1 (zh) * 2020-01-17 2021-07-22 北京达佳互联信息技术有限公司 资源传输方法及终端
WO2022022140A1 (zh) * 2020-07-31 2022-02-03 腾讯科技(深圳)有限公司 数据包的同步方法、装置、设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108600859B (zh) * 2018-03-30 2020-10-20 深圳市网心科技有限公司 一种数据切片方法及系统
CN109495505B (zh) * 2018-12-21 2021-10-08 北京金山云网络技术有限公司 流媒体协议转换方法、装置、系统及计算机可读介质
CN109618208A (zh) * 2018-12-25 2019-04-12 湖南快乐阳光互动娱乐传媒有限公司 一种直播流分布式切片同步方法及装置
US20210195259A1 (en) * 2019-12-23 2021-06-24 Comcast Cable Communications, Llc Method and apparatus for managing redundant segmented streams
CN111770390B (zh) * 2020-07-09 2024-02-09 腾讯科技(深圳)有限公司 数据处理方法、装置、服务器及存储介质
CN115086714B (zh) * 2022-06-13 2024-08-16 京东科技信息技术有限公司 数据处理方法、装置、设备及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013170835A2 (zh) * 2012-08-24 2013-11-21 中兴通讯股份有限公司 直播内容分发系统及方法
CN103973662A (zh) * 2013-02-06 2014-08-06 华为技术有限公司 流媒体请求方法及控制器
WO2017028675A1 (zh) * 2015-08-18 2017-02-23 中兴通讯股份有限公司 直播频道播放方法、装置及系统
WO2017035804A1 (zh) * 2015-09-02 2017-03-09 深圳好视网络科技有限公司 一种传送流切片方法及装置
CN108055594A (zh) * 2017-11-14 2018-05-18 北京百度网讯科技有限公司 边缘切片的实现方法、装置、计算机设备及存储介质
WO2021143362A1 (zh) * 2020-01-17 2021-07-22 北京达佳互联信息技术有限公司 资源传输方法及终端
CN111510752A (zh) * 2020-06-18 2020-08-07 平安国际智慧城市科技股份有限公司 数据传输方法、装置、服务器及存储介质
WO2022022140A1 (zh) * 2020-07-31 2022-02-03 腾讯科技(深圳)有限公司 数据包的同步方法、装置、设备及存储介质
CN112367527A (zh) * 2020-10-28 2021-02-12 广州市网星信息技术有限公司 一种传送流文件生成方法、装置、设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023241057A1 (zh) * 2022-06-13 2023-12-21 京东科技信息技术有限公司 数据处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
WO2023241057A1 (zh) 2023-12-21
CN115086714B (zh) 2024-08-16

Similar Documents

Publication Publication Date Title
JP6106775B2 (ja) ダウンローディング及びストリーミングをサポートするパケット受信方法
US12088652B2 (en) Deadline signaling for streaming of media data
KR102301333B1 (ko) 브로드캐스트 채널을 통한 dash 콘텐츠 스트리밍 방법 및 장치
US20150181003A1 (en) Method and apparatus for transmitting and receiving packets in hybrid transmission service of mmt
KR102026266B1 (ko) 부호화된 미디어 데이터를 전송하는 장치에서의 네트워크 지터 추정 방법
CN111343511B (zh) 一种通过组播实现的hls直播系统及方法
KR20130120422A (ko) 멀티미디어 전송 시스템을 위한 데이터 송수신 방법 및 장치
KR102306352B1 (ko) Mmtp 디캡슐화 버퍼의 시그날링 및 동작
CN113287323A (zh) 用于流媒体数据的多解码器接口
BR112020022899A2 (pt) sinalizar, em um arquivo de manifesto, seções ausentes de dados de mídia para rede de fluxo contínuo
CN115086714B (zh) 数据处理方法、装置、设备及存储介质
CN107920072B (zh) 一种基于数据特征的多媒体共享方法及系统
KR102356956B1 (ko) Mmt에서 미디어 데이터의 저 지연 소비 시그날링 및 동작 방법 및 장치
CN108924596B (zh) 媒体数据传输方法、装置及存储介质
WO2021017958A1 (zh) 视频转码方法及装置
EP3096525B1 (en) Communication apparatus, communication data generation method, and communication data processing method
CN112203105A (zh) 一种新媒体移动直播方法及系统
JP7562485B2 (ja) ストリーミングサーバ、送信方法及びプログラム
CA3187668A1 (en) Methods and systems for multicast communication session management
CN113409801A (zh) 用于实时音频流播放的噪音处理方法、系统、介质和装置
CN110545492A (zh) 媒体流的实时递送方法及服务器
Varisetty et al. Client-side bandwidth estimation technique for adaptive streaming of a browser based free-viewpoint application
WO2024164714A1 (zh) 一种音频编解码方法、音频编解码装置、计算机设备及存储介质
JP6738306B2 (ja) データ転送装置及びデータ転送方法
US20220407904A1 (en) Timed Media HTTP Request Aggregation

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