CN112333475A - 流媒体数据的处理方法、处理系统和存储服务器 - Google Patents

流媒体数据的处理方法、处理系统和存储服务器 Download PDF

Info

Publication number
CN112333475A
CN112333475A CN202011182685.8A CN202011182685A CN112333475A CN 112333475 A CN112333475 A CN 112333475A CN 202011182685 A CN202011182685 A CN 202011182685A CN 112333475 A CN112333475 A CN 112333475A
Authority
CN
China
Prior art keywords
streaming media
media data
server
message
storage
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
Application number
CN202011182685.8A
Other languages
English (en)
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.)
BOE Technology Group Co Ltd
Original Assignee
BOE Technology Group 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 BOE Technology Group Co Ltd filed Critical BOE Technology Group Co Ltd
Priority to CN202011182685.8A priority Critical patent/CN112333475A/zh
Publication of CN112333475A publication Critical patent/CN112333475A/zh
Priority to US17/409,572 priority patent/US11457051B2/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1073Registration or de-registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/4061Push-to services, e.g. push-to-talk or push-to-video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • 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/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23116Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving data replication, e.g. over plural servers
    • 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/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2401Monitoring of the client buffer
    • 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/25Management 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/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2543Billing, e.g. for subscription services
    • 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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种流媒体数据的处理方法,包括:接收流媒体数据以根据流媒体数据的头部数据包初始化存储文件、存储队列并启动第一线程进行接收入队操作;启动第二线程并建立消息通道以从存储队列中读取流媒体数据包进行解析,将解析好的流媒体数据包以消息的形式加入消息通道;启动第三线程从消息通道读取消息并按预设要求进行封装以存储到磁盘;确定流媒体数据对应的目标拉流服务器并向目标拉流服务器发布流媒体数据。本申请实施方式流媒体数据的处理方法中,能够保证流媒体数据以较高的速度存储和读取,在播放流媒体文件时,实现更流畅、更清晰的播放效果,提升用户体验。本申请还公开了一种流媒体数据的处理系统、存储服务器和可读存储介质。

Description

流媒体数据的处理方法、处理系统和存储服务器
技术领域
本申请涉及流媒体技术领域,特别涉及一种流媒体数据的处理方法、处理系统、存储服务器和可读存储介质。
背景技术
互联网技术的发展给人们生活带来了极大的便利,例如,人们可以使用流媒体技术实现观看直播视频和点播视频,边观看视频边缓存,节省了观看视频的等待时间。相关技术中,通过在缓存服务器中加入落盘功能实现数据落盘,或配置专门的文件系统,以保证各个服务器能够高效地存储或读取流媒体数据。然而,在缓存服务器中添加功能或配置专门系统可能会影响到流媒体数据处理系统的稳定性,进而影响流媒体数据的存储和读取效率,视频播放效果不佳,用户体验较差。
发明内容
有鉴于此,本申请的实施例提供了一种流媒体数据的处理方法、处理系统、存储服务器和可读存储介质。
本申请提供了一种流媒体数据的处理方法,所述处理方法包括:
接收流媒体数据以根据所述流媒体数据的头部数据包初始化存储文件、存储队列并启动第一线程进行接收入队操作;
启动第二线程并建立消息通道以从存储队列中读取流媒体数据包进行解析,将解析好的所述流媒体数据包以消息的形式加入所述消息通道;
启动第三线程从所述消息通道读取消息并按预设要求进行封装以存储到磁盘;和
确定所述流媒体数据对应的目标拉流服务器并向所述目标拉流服务器发布所述流媒体数据。
在某些实施方式中,所述接收流媒体数据以根据所述流媒体数据的头部数据包初始化存储文件、存储队列并启动第一线程进行接收入队操作包括:
接收配置信息并配置缓存服务器以建立存储服务器与所述缓存服务器的连接;和
监听所述存储服务器与所述缓存服务器的连接以获取所述流媒体数据。
在某些实施方式中,所述配置信息包括:地址、协议类型、密钥。
在某些实施方式中,所述接收流媒体数据以根据所述流媒体数据的头部数据包初始化存储文件、存储队列并启动第一线程进行接收入队操作包括:
定义所述存储队列并按时序将所述流媒体数据包进行缓存,所述存储队列支持入队和出队操作,所述流媒体数据包包括包序号、时间戳及数据负载,所述头部数据包包括流描述信息。
在某些实施方式中,所述确定所述流媒体数据对应的目标拉流服务器并向所述目标拉流服务器发布所述流媒体数据包括:
根据拉流服务器支持的协议建立所述存储服务器与所述拉流服务器的连接并对所述拉流服务器进行注册;
根据所述拉流服务器的注册信息确定所述流媒体数据对应的所述目标拉流服务器;
向所述目标拉流服务器发布所述流媒体数据。
在某些实施方式中,根据拉流服务器支持的协议建立所述存储服务器与所述拉流服务器的连接并对所述拉流服务器进行注册包括:
接收所述拉流服务器的订阅报文以建立所述存储服务器与所述拉流服务器的连接;
向所述拉流服务器发送发布报文以供用户查询所述流媒体数据。
在某些实施方式中,订阅报文和/或发布报文通过传输控制协议以对象简谱字符串发送,所述订阅报文包括流媒体资源标识号、流媒体协议、流媒体名字和时间戳,发布报文包括流媒体资源标识号、流媒体协议、流媒体名字、时间戳、流媒体数据包的包序号和流媒体数据负载。
本申请提供了一种存储服务器,所述存储服务器包括:
接收模块,所述接收模块用于接收流媒体数据以根据所述流媒体数据的头部数据包初始化存储文件、存储队列并启动第一线程进行接收入队操作;
解析模块,所述解析模块用于启动第二线程并建立消息通道以从存储队列中读取流媒体数据包进行解析,将解析好的所述流媒体数据包以消息的形式加入所述消息通道;
存储模块,所述存储模块用于启动第三线程从所述消息通道读取消息并按预设要求进行封装以存储到磁盘;
发布模块,所述发布模块用于确定所述流媒体数据对应的目标拉流服务器并向所述目标拉流服务器发布所述流媒体数据。
本申请提供了一种流媒体数据的处理系统,所述流媒体数据的处理系统包括一个或多个处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在被所述处理器执行的情况下,实现上述任一实施方式的流媒体数据的处理方法的步骤。
本申请提供了一种存储有计算机程序的非易失性计算机可读存储介质,当所述计算机程序被一个或多个处理器执行的情况下,实现上述任一实施方式的流媒体数据的处理方法的步骤。
本申请实施方式流媒体数据的处理方法、处理系统、存储服务器和可读存储介质中,通过存储队列存储流媒体数据包,并通过消息通道实现流媒体数据包的落盘,能够保证流媒体数据以较高的速度存储和读取,在播放流媒体文件时,实现更流畅、更清晰的播放效果,提升用户体验。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本申请某些实施方式的流媒体数据的处理方法的流程示意图。
图2是本申请某些实施方式的流媒体数据的处理系统的结构示意图。
图3是本申请某些实施方式的存储服务器的模块示意图。
图4是本申请某些实施方式的流媒体服务器系统的示意图。
图5是本申请某些实施方式的流媒体数据的处理方法的流程示意图。
图6是本申请某些实施方式的流媒体数据的处理方法的流程示意图。
图7是本申请某些实施方式的流媒体数据的处理方法的流程示意图。
图8是本申请某些实施方式的流媒体数据的处理方法的流程示意图。
图9是本申请某些实施方式的计算机可读存储介质的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
请参阅图1,本申请提供一种流媒体数据的处理方法,包括以下步骤:
S10:接收流媒体数据以根据流媒体数据的头部数据包初始化存储文件、存储队列并启动第一线程进行接收入队操作;
S20:启动第二线程并建立消息通道以从存储队列中读取流媒体数据包进行解析,将解析好的流媒体数据包以消息的形式加入消息通道;
S30:启动第三线程从消息通道读取消息并按预设要求进行封装以存储到磁盘;和
S40:确定流媒体数据对应的目标拉流服务器并向目标拉流服务器发布流媒体数据。
请参阅图2,本申请实施方式提供了一种流媒体数据的处理系统100。流媒体数据的处理系统100包括处理器12和存储器14,存储器14存储有计算机程序16,计算机程序16被处理器12执行时实现:接收流媒体数据以根据流媒体数据的头部数据包初始化存储文件、存储队列并启动第一线程进行接收入队操作,启动第二线程并建立消息通道以从存储队列中读取流媒体数据包进行解析,将解析好的流媒体数据包以消息的形式加入消息通道,启动第三线程从消息通道读取消息并按预设要求进行封装以存储到磁盘,确定流媒体数据对应的目标拉流服务器并向目标拉流服务器发布流媒体数据。
请参阅图3,本申请实施方式还提供了一种存储服务器110,本申请实施方式的处理方法可以由存储服务器110实现。存储服务器110包括接收模块112、解析模块114、存储模块116和发布模块118。S10可以由接收模块112实现,S20可以由解析模块114实现,S30可以由存储模块116实现,S40可以由发布模块118实现。或者说,获取模块112用于接收流媒体数据以根据流媒体数据的头部数据包初始化存储文件、存储队列并启动第一线程进行接收入队操作,解析模块114用于启动第二线程并建立消息通道以从存储队列中读取流媒体数据包进行解析,将解析好的流媒体数据包以消息的形式加入消息通道,存储模块116用于启动第三线程从消息通道读取消息并按预设要求进行封装以存储到磁盘,发布模块118用于确定流媒体数据对应的目标拉流服务器并向目标拉流服务器发布流媒体数据。
请参阅图4,本申请实施方式提供了一种流媒体服务器系统10,包括推流服务器200,存储服务器110,缓存服务器120和拉流服务器300。
具体地,在用户点击观看直播时,推流端的流媒体数据以数据包的形式通过推流服务器200、缓存服务器120、存储服务器110和拉流服务器300传输至用户播放端。其中,由推流服务器200根据流媒体协议将封包好的流媒体数据包发送至缓存服务器120。由于流媒体数据包中的头部数据包定义了该流媒体的协议类型,因此,在缓存服务器120接收到推流服务器200发送的流媒体数据包时,存储服务器110根据该头部数据包,可以对相应的存储文件进行初始化。
例如,头部数据包定义的流媒体协议类型为实时消息传输协议(Real TimeMessaging Protocol,RTMP),则存储服务器110初始化的存储文件为H.264格式。又如,头部数据包定义的流媒体协议类型为实时流传输协议(Real Time Streaming Protocol,RTSP),则存储服务器110初始化的存储文件为流媒体格式(FlashVideo,FLV)。又如,头部数据包定义的流媒体协议类型为基于超文本传输协议的流媒体实时传输协议(Http LiveStreaming,HLS),则存储服务器110初始化的存储文件为H.264格式。
进一步地,存储服务器110根据接收到的头部数据包,还能够初始化存储队列,并启动第一线程。其中,第一线程可以是对流媒体数据包进行接收入队操作的线程。
随后,存储服务器110启动第二线程并建立带缓存的消息通道。其中,第二线程可以是对流媒体数据进行处理的线程。第二线程负责从存储队列中读取流媒体数据,并对读取到的数据进行解析,以及将解析好的流媒体数据以消息的形式加入消息通道。读取数据、解析数据、将数据加入消息通道,循环操作这一过程,如此,能够保证第二线程以较大负载运行,提高数据处理效率。
与此同时,存储服务器110启动第三线程。第三线程可以是存储流媒体数据的线程。第三线程负责从消息通道中读取消息,对读取到的消息进行解析,按照FLV或H.264等文件格式的要求进行封包,将封包好的数据包存储到磁盘。读取数据、解析数据、数据封包、将数据写入磁盘,循环操作这一过程,如此,能够保证第三线程以较大负载运行,提高数据处理效率,并实现流媒体数据的落盘,保证流媒体数据的稳定存储。
第二线程和第三线程独立运行,互不干扰,如此,能够同时实现流媒体数据的读取和落盘,提高视频的流畅度,提升用户体验。
完成流媒体数据的存储后,存储服务器110确定流媒体数据对应的目标拉流服务器,并向目标拉流服务器发布流媒体数据。如此,即便是较高分辨率的视频,也能够保证流媒体数据以较高的速度存储和读取,使用户在播放端能够清晰、流畅地播放视频,提升用户体验。同时能够完成流媒体数据的落盘,保证流媒体数据的稳定存储。
综上,本申请实施方式的流媒体数据的的处理方法、处理系统100和存储服务器110中,通过存储队列存储流媒体数据包,并通过消息通道实现流媒体数据包的落盘,能够保证流媒体数据以较高的速度存储和读取,在播放流媒体文件时,实现更流畅、更清晰的播放效果,提升用户体验。
请参阅图5,在某些实施方式中,S10包括:
S101:接收配置信息并配置缓存服务器120以建立存储服务器110与缓存服务器120的连接;和
S102:监听存储服务器110与缓存服务器120的连接以获取流媒体数据。
在某些实施方式中,S101和S102可以接收模块112实现。或者说,接收模块112用于接收配置信息并配置缓存服务器120以建立存储服务器110与缓存服务器120的连接,以及用于监听存储服务器110与缓存服务器120的连接以获取流媒体数据。
在某些实施方式中,处理器12用于接收配置信息并配置缓存服务器120以建立存储服务器110与缓存服务器120的连接,以及用于监听存储服务器110与缓存服务器120的连接以获取流媒体数据。
具体地,可以通过存储服务器110的REST接口接收配置信息配置缓存服务器120,建立存储服务器110与缓存服务器120的连接。存储服务器110与缓存服务器120的连接建立后,监听该连接,如此,在新的流媒体数据发布时,缓存服务器120能够给存储服务器110发送封包好的流媒体数据包。
存储服务器110接收缓存服务器120发送的流媒体数据包,根据流媒体数据的头部数据包初始化存储文件和存储队列,并启动第一线程对流媒体数据包进行接收入队操作,启动第二线程、建立消息通道和启动第三线程,第二线程循环操作读取数据、解析数据、将数据加入消息通道,第三线程循环操作读取数据、解析数据、数据封包、将数据写入磁盘,如此,能够保证第二线程和第三线程以较大负载运行,提高数据处理效率,并实现流媒体数据的落盘,保证流媒体数据的稳定存储。
在某些实施方式中,配置信息包括:地址信息、协议类型信息、密钥信息。
具体地,地址信息用于查找缓存服务器120,建立存储服务器110与缓存服务器120的连接。协议类型信息用于识别流媒体文件的存储格式,以及确认缓存服务器120和存储服务器110之间的通信规则。密钥信息用于缓存服务器120和存储服务器110之间的身份验证,确保二者的通信安全和通信秘密。
请参阅图6,在某些实施方式中,S10包括:
S103:定义存储队列并按时序将流媒体数据包进行缓存。
在某些实施方式中,S103可以由接收模块112实现。或者说,接收模块112用于定义存储队列并按时序将流媒体数据包进行缓存。
在某些实施方式中,处理器12用于定义存储队列并按时序将流媒体数据包进行缓存。
具体地,存储服务器110在接收到流媒体数据包时,对数据包进行读取和解析,能够得到流媒体数据的标识号、名称、协议类型、时间戳等流描述信息。存储服务器110将流描述信息封包成头部数据包,将头部数据包发送至缓存服务器120,并根据头部数据包,定义和初始化存储队列,为后续的入队和出队操作做准备。
随后,存储服务器110将解析得到的流媒体数据的标识号、包序号、时间戳及数据负载等数据封包成一个或多个流媒体数据包。第一线程通过存储队列,将流媒体数据包按时序依次进行缓存。第二线程从存储队列中读取流媒体数据,并对读取到的数据进行解析,以及将解析好的流媒体数据以消息的形式加入消息通道。第三线程从消息通道中读取消息,对读取到的消息进行解析,按照FLV或H.264等文件格式的要求进行封包,将封包好的数据包存储到磁盘。
如此,保证第一线程、第二线程和第三线程以较大负载运行,能够提高数据处理效率,并实现流媒体数据的落盘,保证流媒体数据的稳定存储。
进一步地,流媒体数据包入队和出队的操作可以是原子操作。原子操作在运行时不会有线程切换,如此,能够保证流媒体数据包入队和出队的时序,同时保证数据传输的高效性,实现更流畅、更清晰的播放效果,提升用户体验。
请参阅图7,在某些实施方式中,S40包括:
S401:根据拉流服务器300支持的协议建立存储服务器110与拉流服务器300的连接并对拉流服务器300进行注册;
S402:根据拉流服务器300的注册信息确定流媒体数据对应的目标拉流服务器;
S403:向目标拉流服务器发布流媒体数据。
在某些实施方式中,S401-S403可以由发布模块116实现。或者说,发布模块116用于根据拉流服务器300支持的协议建立存储服务器110与拉流服务器300的连接并对拉流服务器300进行注册,及用于根据拉流服务器300的注册信息确定流媒体数据对应的目标拉流服务器,以及用于向目标拉流服务器发布流媒体数据。
在某些实施方式中,处理器12用于根据拉流服务器300支持的协议建立存储服务器110与拉流服务器300的连接并对拉流服务器300进行注册,及用于根据拉流服务器300的注册信息确定流媒体数据对应的目标拉流服务器,以及用于向目标拉流服务器发布流媒体数据。
具体地,根据拉流服务器300支持的协议,例如RTMP、RTSP、HLS等,存储服务器110建立与拉流服务器300的连接,并在存储服务器110中注册拉流服务器300。在发布流媒体数据时,缓存服务器120根据拉流服务器300的注册信息,确定流媒体数据对应的目标拉流服务器,并向目标拉流服务器发布流媒体数据。
如此,能够使存储服务器110统一管理拉流服务的连接,能够并发处理多个拉流服务器300的拉流请求,降低数据传输的延迟率。
请参阅图8,在某些实施方式中,S401包括:
S4011:接收拉流服务器300的订阅报文以建立存储服务器110与拉流服务器300的连接;
S4012:向拉流服务器300发送发布报文以供用户查询流媒体数据。
在某些实施方式中,S4011和S4012可以由发布模块116实现。或者说发布模块116用于接收拉流服务器300的订阅报文以建立存储服务器110与拉流服务器300的连接,以及用于向拉流服务器300发送发布报文以供用户查询流媒体数据。
在某些实施方式中,处理器12用于接收拉流服务器300的订阅报文以建立存储服务器110与拉流服务器300的连接,以及用于向拉流服务器300发送发布报文以供用户查询流媒体数据。
具体地,存储服务器110统一数据订阅和数据发布接口,使得多个拉流服务器300在存储服务器110中注册后,均能够向存储服务器110订阅流媒体数据。拉流服务器300向存储服务器110端订阅流媒体数据时,存储服务器110接收拉流服务器300的订阅报文,建立存储服务器110与拉流服务器300的连接。在发布流媒体数据时,存储服务器110启动第一线程、第二线程和第三线程,向拉流服务器300发送发布报文,以供用户在拉流端查询流媒体数据。
在一些实施例中,存储服务器110根据拉流服务器300支持的协议,建立存储服务器110与拉流服务器300的连接,并对拉流服务器300进行注册。在用户观看视频时,拉流服务器300发送订阅报文至存储服务器110,等待存储服务器110发送发布报文。在拉流服务器300接收到发布报文时,对帆布报文进行解析,并同步至对应的REST接口,供用户查阅。
此外,若用户点播的是某个已经存储于存储服务器110中的流媒体文件,拉流服务器300向存储服务器110发送订阅指定流媒体数据标识号的报文,存储服务器110收到订阅报文后根据该流媒体数据标识号读取到对应的流媒体数据,发送至拉流服务器300。
在某些实施方式中,订阅报文和/或发布报文通过传输控制协议以对象简谱字符串发送,订阅报文包括流媒体数据标识号、流媒体协议、流媒体名字和时间戳,发布报文包括流媒体数据标识号、流媒体协议、流媒体名字、时间戳、流媒体数据包的包序号和流媒体数据负载。
具体地,订阅报文和/或发布报文可以通过传输控制协议以JavaScript对象简谱(JavaScript Object Notation,JSON)字符串发送。JSON字符串层次结构简洁清晰,易于理解和阅读,且在机器端的网络传输效率较高,使用JSON字符串编写报文和传输报文,能够提升流媒体服务器系统的研发效率和系统使用过程中的数据传输效率。
进一步地,拉流服务器300向存储服务器110发送订阅报文,订阅报文包括流媒体数据标识号、流媒体协议、流媒体名字和时间戳。其中,流媒体数据标识号用于识别特定的流媒体资源,流媒体协议用于定义拉流服务器300和存储服务器110之间的通信规则,流媒体名字可以是用户订阅的流媒体资源的名称,时间戳用于实现视频和音频播放的同步。
存储服务器110向拉流服务器300发送发布报文,发布报文包括流媒体数据标识号、流媒体协议、流媒体名字、时间戳、流媒体数据包的包序号和流媒体数据负载。其中,流媒体数据包的包序号和流媒体数据负载只在发布报文中存在。包序号用于将存储队列中的一个或多个流媒体数据包排序,保证流媒体数据包入队和出队的时序。流媒体数据负载可以是流媒体数据包中的有效信息。
请参阅图9,本申请实施方式还提供了一种非易失性计算机可读存储介质400,其上存储有计算机程序41,当计算机程序41被一个或多个处理器42执行时,实现上述任一实施方式的流媒体数据的处理方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,程序可存储于一非易失性计算机可读存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种流媒体数据的处理方法,其特征在于,所述处理方法包括:
接收流媒体数据以根据所述流媒体数据的头部数据包初始化存储文件、存储队列并启动第一线程进行接收入队操作;
启动第二线程并建立消息通道以从存储队列中读取流媒体数据包进行解析,将解析好的所述流媒体数据包以消息的形式加入所述消息通道;
启动第三线程从所述消息通道读取消息并按预设要求进行封装以存储到磁盘;和
确定所述流媒体数据对应的目标拉流服务器并向所述目标拉流服务器发布所述流媒体数据。
2.根据权利要求1所述的处理方法,其特征在于,所述接收流媒体数据以根据所述流媒体数据的头部数据包初始化存储文件、存储队列并启动第一线程进行接收入队操作包括:
接收配置信息并配置缓存服务器以建立存储服务器与所述缓存服务器的连接;和
监听所述存储服务器与所述缓存服务器的连接以获取所述流媒体数据。
3.根据权利要求2所述的处理方法,其特征在于,所述配置信息包括:地址、协议类型、密钥。
4.根据权利要求1所述的处理方法,其特征在于,所述接收流媒体数据以根据所述流媒体数据的头部数据包初始化存储文件、存储队列并启动第一线程进行接收入队操作包括:
定义所述存储队列并按时序将所述流媒体数据包进行缓存,所述存储队列支持入队和出队操作,所述流媒体数据包包括包序号、时间戳及数据负载,所述头部数据包包括流描述信息。
5.根据权利要求1所述的处理方法,其特征在于,所述确定所述流媒体数据对应的目标拉流服务器并向所述目标拉流服务器发布所述流媒体数据包括:
根据拉流服务器支持的协议建立所述存储服务器与所述拉流服务器的连接并对所述拉流服务器进行注册;
根据所述拉流服务器的注册信息确定所述流媒体数据对应的所述目标拉流服务器;
向所述目标拉流服务器发布所述流媒体数据。
6.根据权利要求5所述的处理方法,其特征在于,根据拉流服务器支持的协议建立所述存储服务器与所述拉流服务器的连接并对所述拉流服务器进行注册包括:
接收所述拉流服务器的订阅报文以建立所述存储服务器与所述拉流服务器的连接;
向所述拉流服务器发送发布报文以供用户查询所述流媒体数据。
7.根据权利要求6所述的处理方法,其特征在于,订阅报文和/或发布报文通过传输控制协议以对象简谱字符串发送,所述订阅报文包括流媒体资源标识号、流媒体协议、流媒体名字和时间戳,发布报文包括流媒体资源标识号、流媒体协议、流媒体名字、时间戳、流媒体数据包的包序号和流媒体数据负载。
8.一种存储服务器,其特征在于,所述存储服务器包括:
接收模块,所述接收模块用于接收流媒体数据以根据所述流媒体数据的头部数据包初始化存储文件、存储队列并启动第一线程进行接收入队操作;
解析模块,所述解析模块用于启动第二线程并建立消息通道以从存储队列中读取流媒体数据包进行解析,将解析好的所述流媒体数据包以消息的形式加入所述消息通道;
存储模块,所述存储模块用于启动第三线程从所述消息通道读取消息并按预设要求进行封装以存储到磁盘;
发布模块,所述发布模块用于确定所述流媒体数据对应的目标拉流服务器并向所述目标拉流服务器发布所述流媒体数据。
9.一种流媒体数据的处理系统,其特征在于,所述流媒体数据的处理系统包括一个或多个处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在被所述处理器执行的情况下,实现权利要求1-7中任意一项所述的流媒体数据的处理方法的步骤。
10.一种存储有计算机程序的非易失性计算机可读存储介质,其特征在于,当所述计算机程序被一个或多个处理器执行的情况下,实现权利要求1-7中任意一项所述的流媒体数据的处理方法的步骤。
CN202011182685.8A 2020-10-29 2020-10-29 流媒体数据的处理方法、处理系统和存储服务器 Pending CN112333475A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011182685.8A CN112333475A (zh) 2020-10-29 2020-10-29 流媒体数据的处理方法、处理系统和存储服务器
US17/409,572 US11457051B2 (en) 2020-10-29 2021-08-23 Streaming media data processing method, processing system and storage server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011182685.8A CN112333475A (zh) 2020-10-29 2020-10-29 流媒体数据的处理方法、处理系统和存储服务器

Publications (1)

Publication Number Publication Date
CN112333475A true CN112333475A (zh) 2021-02-05

Family

ID=74296770

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011182685.8A Pending CN112333475A (zh) 2020-10-29 2020-10-29 流媒体数据的处理方法、处理系统和存储服务器

Country Status (2)

Country Link
US (1) US11457051B2 (zh)
CN (1) CN112333475A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113452708A (zh) * 2021-06-28 2021-09-28 苏州科达科技股份有限公司 数据解析方法、系统、数据服务器及存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116668415A (zh) * 2022-06-01 2023-08-29 中兴通讯股份有限公司 流媒体数据处理方法及系统
CN115242618B (zh) * 2022-06-17 2024-01-30 北京奇艺世纪科技有限公司 中间件状态排查方法、装置、电子设备以及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170171585A1 (en) * 2015-12-15 2017-06-15 Le Holdings (Beijing) Co., Ltd. Method and Electronic Device for Recording Live Streaming Media
CN107707966A (zh) * 2016-08-08 2018-02-16 大唐软件技术股份有限公司 一种多媒体数据的播放方法和装置
CN110213652A (zh) * 2018-04-13 2019-09-06 腾讯科技(深圳)有限公司 一种音视频数据传输方法、装置及存储介质
CN110868600A (zh) * 2019-11-11 2020-03-06 腾讯云计算(北京)有限责任公司 目标跟踪视频推流方法、显示方法、装置和存储介质
CN111565168A (zh) * 2020-03-02 2020-08-21 杭州云毅网络科技有限公司 一种对象存储方法、系统、存储介质及电子设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4667639B2 (ja) * 2001-05-10 2011-04-13 パナソニック株式会社 映像プロクシサーバ
US9639629B1 (en) * 2011-08-31 2017-05-02 Instart Logic, Inc. Accelerating the downloading of content to an application
US10601946B2 (en) * 2017-02-23 2020-03-24 The Directv Group, Inc. Edge cache segment prefetching
US10834180B2 (en) * 2017-10-09 2020-11-10 Level 3 Communications, Llc Time and location-based trend prediction in a content delivery network (CDN)

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170171585A1 (en) * 2015-12-15 2017-06-15 Le Holdings (Beijing) Co., Ltd. Method and Electronic Device for Recording Live Streaming Media
CN107707966A (zh) * 2016-08-08 2018-02-16 大唐软件技术股份有限公司 一种多媒体数据的播放方法和装置
CN110213652A (zh) * 2018-04-13 2019-09-06 腾讯科技(深圳)有限公司 一种音视频数据传输方法、装置及存储介质
CN110868600A (zh) * 2019-11-11 2020-03-06 腾讯云计算(北京)有限责任公司 目标跟踪视频推流方法、显示方法、装置和存储介质
CN111565168A (zh) * 2020-03-02 2020-08-21 杭州云毅网络科技有限公司 一种对象存储方法、系统、存储介质及电子设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113452708A (zh) * 2021-06-28 2021-09-28 苏州科达科技股份有限公司 数据解析方法、系统、数据服务器及存储介质

Also Published As

Publication number Publication date
US20220141273A1 (en) 2022-05-05
US11457051B2 (en) 2022-09-27

Similar Documents

Publication Publication Date Title
CN113423018B (zh) 一种游戏数据处理方法、装置及存储介质
EP2383941B1 (en) Client terminal, method and system for downloading streaming media
CN112333475A (zh) 流媒体数据的处理方法、处理系统和存储服务器
US10200723B2 (en) Converting live streaming content to video-on-demand streaming content
JP5974392B2 (ja) Isoベースメディアファイルフォーマットに基づく適応ストリーミングについてのセキュアな非同期イベント通知のためのシステム及び方法
US7587507B2 (en) Media recording functions in a streaming media server
US20110302320A1 (en) Systems and methods for network content delivery
CN107079009B (zh) 用于在传输层中以信号形式发送请求加速的系统和方法
US8990407B2 (en) Fast setup response prediction
TW201021573A (en) Proxy functionality
US8898717B1 (en) System and method for obfuscating start-up delay in a linear media service environment
US20220303328A1 (en) Systems and methods for cloud storage direct streaming
EP3734927A1 (en) Content service implementation method and device, and content delivery network node
JP6007697B2 (ja) キャッシュ装置、キャッシュプログラム及びコンテンツ配信システム
US20110082943A1 (en) P2p network system and data transmitting and receiving method thereof
CN109640113A (zh) 一种拖拉视频数据的处理方法及代理服务器
US20090259762A1 (en) Distributed and scalable content streaming architecture
CN113661692B (zh) 接收媒体数据的方法、装置和非易失性计算机可读存储介质
WO2017161757A1 (zh) 一种流媒体文件分发方法及系统
WO2015109847A1 (zh) 一种分段节目快速分发的方法、服务器及客户端
EP3142374B1 (en) Receiving device, transmission device, data communication method, and data processing method
US8973082B2 (en) Interactive program system
CA2845987C (en) Management of delivery of multimedia components
Xu et al. A method for fast channel switching based on MPEG media transport for broadcast TV
Serrano et al. Kaleidoscope: A Cloud-Based Platform for Real-Time Video-Based Interaction

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: 20210205