CN115412777A - 流媒体数据的传输方法及装置、系统 - Google Patents

流媒体数据的传输方法及装置、系统 Download PDF

Info

Publication number
CN115412777A
CN115412777A CN202110594437.2A CN202110594437A CN115412777A CN 115412777 A CN115412777 A CN 115412777A CN 202110594437 A CN202110594437 A CN 202110594437A CN 115412777 A CN115412777 A CN 115412777A
Authority
CN
China
Prior art keywords
memory
data
slice
playing
writing
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
CN202110594437.2A
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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network 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 Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202110594437.2A priority Critical patent/CN115412777A/zh
Publication of CN115412777A publication Critical patent/CN115412777A/zh
Pending legal-status Critical Current

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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种流媒体数据的传输方法及装置、系统,属于互联网领域。其中,该方法包括:接收推流端发送的媒体分片TS数据,其中,目标流媒体包括多个TS数据;将所述TS数据存储至服务器的内存目录;从所述内存目录中读取所述TS数据,并将所述TS数据发送至所述目标流媒体的播放端。通过本发明,解决了相关技术传输TS数据效率低的技术问题,TS数据的存储从磁盘改用内存,传输性能得到了提升。

Description

流媒体数据的传输方法及装置、系统
技术领域
本发明涉及互联网领域,具体而言,涉及一种流媒体数据的传输方法及装置、系统。
背景技术
相关技术中,HLS(HTTP Live Streaming,基于HTTP(HyperText TransferProtocol,超文本传输协议)的自适应码率流媒体传输协议)是一种流媒体的播放协议,应用于切片播放,切片过程中会占用服务器资源,并且在更新M3U8/M3U(一种视频格式的文件)过程中,可能有客户访问到未写完的M3U8或者TS(Tile Streaming,媒体分片)数据的风险。
相关技术中,HLS协议的TS数据保存在磁盘上,M3U8和TS数据直接更新文件内容。HLS协议的TS数据保存在磁盘上,读写速度慢,占用系统资源大。M3U8的列表实时更新,会有在短时间内,客户访问文件,内容不全的风险,导致TS片获取失败。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明实施例提供了一种流媒体数据的传输方法及装置、系统。
根据本发明实施例的一个方面,提供了一种流媒体数据的传输方法,包括:接收推流端发送的媒体分片TS数据,其中,目标流媒体包括多个TS数据;将所述TS数据存储至服务器的内存目录;从所述内存目录中读取所述TS数据,并将所述TS数据发送至所述目标流媒体的播放端。
进一步,将所述TS数据存储至服务器的内存目录包括:在切片内存中确定播放终止分片,其中,所述切片内存为所述服务器为所述目标流媒体分配的固定内存资源;以所述播放终止分片在所述切片内存中的下一个分片为写入起始分片,其中,所述写入起始分片当前存储历史播放分片;从所述写入起始分片开始在所述切片内存中循环写入所述TS数据。
进一步,所述切片内存的分片数量为M,以所述播放终止分片在所述切片内存中的下一个分片为写入起始分片包括:若所述播放终止分片N1为所述切片内存的内存终止分片M1,将所述切片内存的内存起始分片M0确定为写入起始分片P0;若所述播放终止分片N1不为所述切片内存的内存终止分片M1,将所述播放终止分片N1的下一个切片内存分片N1+1确定为写入起始分片P0,其中,播放片的分片数量为N,写入片的分片数量为P,且M≥N+P,M,N,P均为正整数。
进一步,M=7,N=P=3。
进一步,从所述写入起始分片开始在所述切片内存中循环写入所述TS数据包括:从所述写入起始分片P0开始在所述切片内存剩余的P个分片中写入所述TS数据,若所述切片内存的剩余分片数量小于P,则在写完所述切片内存的剩余分片后从所述切片内存的内存起始分片M0继续写入所述TS数据,直到写入终止分片P1,其中,写入片的分片数量为P,P为正整数。
进一步,在将所述TS数据存储至服务器的内存目录之后,所述方法还包括:接收所述目标流媒体在所述播放端的播放请求;基于所述播放请求在所述内存目录中写入所述TS数据的索引文件,其中,所述索引文件用于映射所述TS数据中的多媒体资源。
进一步,在所述内存目录中写入所述TS数据的索引文件包括:在所述内存目录的备份文件中写入所述TS数据的索引文件;在所述索引文件在所述备份文件中更新完成后,采用所述备份文件覆盖所述内存目录中的访问文件,其中,所述访问文件是所述播放端实时访问的文件。
根据本发明实施例的另一个方面,提供了一种流媒体数据的传输装置,包括:第一接收模块,用于接收推流端发送的媒体分片TS数据,其中,目标流媒体包括多个TS数据;存储模块,用于将所述TS数据存储至服务器的内存目录;处理模块,用于从所述内存目录中读取所述TS数据,并将所述TS数据发送至所述目标流媒体的播放端。
进一步,所述存储模块包括:确定单元,用于在切片内存中确定播放终止分片,其中,所述切片内存为所述服务器为所述目标流媒体分配的固定内存资源;定位单元,用于以所述播放终止分片在所述切片内存中的下一个分片为写入起始分片,其中,所述写入起始分片当前存储历史播放分片;写入单元,用于从所述写入起始分片开始在所述切片内存中循环写入所述TS数据。
进一步,所述切片内存的分片数量为M,所述定位单元包括:第一定位子单元,用于若所述播放终止分片N1为所述切片内存的内存终止分片M1,将所述切片内存的内存起始分片M0确定为写入起始分片P0;第二定位子单元,用于若所述播放终止分片N1不为所述切片内存的内存终止分片M1,将所述播放终止分片N1的下一个切片内存分片N1+1确定为写入起始分片P0,其中,播放片的分片数量为N,写入片的分片数量为P,且M≥N+P,M,N,P均为正整数。
进一步,M=7,N=P=3。
进一步,所述写入单元包括:写入子单元,用于从所述写入起始分片P0开始在所述切片内存剩余的P个分片中写入所述TS数据,若所述切片内存的剩余分片数量小于P,则在写完所述切片内存的剩余分片后从所述切片内存的内存起始分片M0继续写入所述TS数据,直到写入终止分片P1,其中,写入片的分片数量为P,P为正整数。
进一步,所述方法还包括:第二接收模块,用于在所述存储模块将所述TS数据存储至服务器的内存目录之后,接收所述目标流媒体在所述播放端的播放请求;写入模块,用于基于所述播放请求在所述内存目录中写入所述TS数据的索引文件,其中,所述索引文件用于映射所述TS数据中的多媒体资源。
进一步,所述写入模块包括:第一写入单元,用于在所述内存目录的备份文件中写入所述TS数据的索引文件;第二写入单元,用于在所述索引文件在所述备份文件中更新完成后,采用所述备份文件覆盖所述内存目录中的访问文件,其中,所述访问文件是所述播放端实时访问的文件。
根据本发明实施例的另一方面,还提供了一种流媒体数据的传输系统,包括:推流端,服务器,播放端,其中,所述服务器,与所述推流端和所述播放端连接,包括上述实施例所描述的装置;所述推流端,用于向所述服务器推送所述TS数据;所述播放端,用于播放所述TS数据。
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的步骤。
根据本发明实施例的另一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行上述方法中的步骤。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法中的步骤。
通过本发明,接收推流端发送的媒体分片TS数据,目标流媒体包括多个TS数据,将TS数据存储至服务器的内存目录,从内存目录中读取TS数据,并将TS数据发送至目标流媒体的播放端,将推流端发送的TS数据直接存储到内存,减少了从内存再写入磁盘的过程,减少了资源消耗,解决了相关技术传输TS数据效率低的技术问题,TS数据的存储从磁盘改用内存,传输性能得到了提升。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种服务器的硬件结构框图;
图2是根据本发明实施例的一种流媒体数据的传输方法的流程图;
图3是本发明实施例存储TS数据的示意图;
图4是本发明实施例复用切片内存的示意图;
图5是本发明实施例写入索引文件的示意图;
图6是根据本发明实施例的一种流媒体数据的传输装置的结构框图;
图7是实施本发明实施例的一种电子设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
本发明实施例一所提供的方法实施例可以在计算机、服务器(如媒体服务器,云服务器等)、电脑或者类似的数据处理设备中执行。以运行在服务器上为例,图1是本发明实施例的一种服务器的硬件结构框图。如图1所示,服务器可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述服务器还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述服务器的结构造成限定。例如,服务器还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储服务器程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种流媒体数据的传输方法对应的服务器程序,处理器102通过运行存储在存储器104内的服务器程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种流媒体数据的传输方法,图2是根据本发明实施例的一种流媒体数据的传输方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,接收推流端发送的媒体分片TS数据,其中,目标流媒体包括多个TS数据;
在本实施例中,TS数据可以是推流端直接发送过来的原始数据,也可以是基于推流端发送的原始数据进行格式转换后得到的数据。一个完整的目标流媒体可以被切分为多个TS数据。
步骤S204,将TS数据存储至服务器的内存目录;
步骤S206,从内存目录中读取TS数据,并将TS数据发送至目标流媒体的播放端。
本实施例的方案可以应用在点播,直播等流媒体传输的场景中。服务器将TS数据发送到播放端,播放端解析该TS数据,从而在播放端呈现该TS数据对应的音视频内容。
通过上述步骤,接收推流端发送的媒体分片TS数据,目标流媒体包括多个TS数据,将TS数据存储至服务器的内存目录,从内存目录中读取TS数据,并将TS数据发送至目标流媒体的播放端,将推流端发送的TS数据直接存储到内存,减少了从内存再写入磁盘的过程,减少了资源消耗,解决了相关技术传输TS数据效率低的技术问题,TS数据的存储从磁盘改用内存,传输性能得到了提升。
图3是本发明实施例存储TS数据的示意图,内存目录为/dev/shm,推流端发送的TS数据,保存在/dev/shm目录,/dev/shm实际是系统内存目录,播放端在播放数据时,直接从内存目录取数据,性能高,读写速度快。
在实施例中,将TS数据存储至服务器的内存目录包括:
S11,在切片内存中确定播放终止分片,其中,所述切片内存为所述服务器为所述目标流媒体分配的固定内存资源;
由于服务器需要处理海量的任务,包括多个线程,为了提高服务器的处理效率,每一个数据传输流可以得到的内存资源是有限的,切片内存为服务器为传输目标流媒体的TS数据分配的固定内存资源或固定内存空间,由于目标流媒体是通过TS数据来存储的(也可以将推流端发送的源数据转换为HLS格式),因此服务器以分片为单位来分配内存资源,即切片内存,切片数量越大,内存资源越大,切片内存包括播放片和写入片,其中,播放片用于存储播放端当前播放的TS数据(实时播放数据),写入片用于存储服务器正在写入的TS数据(新数据)。
S12,以播放终止分片在切片内存中的下一个分片为写入起始分片,其中,写入起始分片当前存储历史播放分片;
在切片内存中,从播放起始分片至播放终止分片的分段为播放片,从写入起始分片至写入终止分片的分段为写入片。在目标流媒体的播放过程中,播放端每次只会请求一个写入片的TS数据,TS数据是实时更新的,因此播放片和写入片的位置也是实时更新的,本实施例通过循环复用有限的切片内存,可以提高服务器内存资源的利用率。
在本实施例的一个实施方式中,切片内存的分片数量为M,以播放终止分片在切片内存中的下一个分片为写入起始分片包括:若播放终止分片N1为切片内存的内存终止分片M1,将切片内存的内存起始分片M0确定为写入起始分片P0;若播放终止分片N1不为切片内存的内存终止分片M1,将播放终止分片N1的下一个切片内存分片N1+1确定为写入起始分片P0,其中,播放片的分片数量为N,写入片的分片数量为P,且M≥N+P,M,N,P均为正整数。
为了保证播放端的正式播放,且最大化利用切片内存的内存资源,可以将播放片的分片数量和写入片的分片数量设置为相同的分片数量,即上一个时序在写入片写入的TS数据,可以作为当前时序的播放片的TS数据,同时为了防止数据串扰,可以留出至少一个分片作为过渡分片,整个切片内存的分片数量大于写入片和播放片的总和。
可选的,M=7,在直播场景下,N=P=3。当然,M也可以取其他数,如6,5,9等。在另一些场景中,如在该目标流媒体的点播场景中,写入片≥播放片,即P≥N,在P大于N时,在周期内写入的数据大于播放的数据,服务器可以在本地提前缓存较多的TS数据并同步发送到播放端,从而提高数据传输的稳定性和流媒体播放的流畅性。
S13,从写入起始分片开始在切片内存中循环写入TS数据。
在本实施例的一个实施方式中,从写入起始分片P0开始在切片内存剩余的P个分片中写入TS数据,若切片内存的剩余分片数量小于P,则在写完切片内存的剩余分片后从切片内存的内存起始分片M0继续写入TS数据,直到写入终止分片P1,其中,写入片的分片数量为P,P为正整数。
在一个示例中,实施切片为3个TS,写入片和播放片的分片数量为3,则可以向服务器申请保存2N+1=2*3+1=7个片的切片内存。
图4是本发明实施例复用切片内存的示意图,写入片和播放片的指针不重合,播放片使用3个片的内存,写入片也使用3个片的内存,保证内容不被覆盖,在图4示意的一个时序中,播放片的播放起始分片和终止分片为2和4,写入片的写入起始分片和写入终止分片为5和0。在此对复用过程进行说明,如果每次写入一个片(写入周期为一个片),播放终止分片当前为4,以4的下一个分片5作为写入起始分片,5写好以后,可以更新M3U8(TS数据的索引文件)的内容,播放片的内存位置从2 3 4更新为3 4 5,片2空闲,可以被写入片复用,6写好以后,播放片更新为4 5 6,片3可以被复用,0写好以后,播放片更新为5 6 0,片4可以被复用,后续依次类推。
在另一个示例中,还是以切片内存的分片数量为7进行说明,如果每次写入3个片(写入周期为三个片),播放终止分片为5,5的下一个分片6为写入起始分片,在片6,7,0中写入TS数据,若播放终止分片为7,将片0为写入起始分片,在片0,1,2中写入TS数据。
本实施例通过内存复用,相对内存的申请和释放,服务器的性能可以得到显著优化和提升。通过切片内存复用,保证服务器资源不浪费,最大化地提升服务器的处理效率,得益于此,通过循环利用切片内存,可以以较小的内存空间存储与推流端对应的写入片和与播放端对应的播放片,本实施例可以将大容量的多媒体数据直接通过服务器的内存推送给播放端。
在本实施例的一些实施方式中,在将TS数据存储至服务器的内存目录之后,还包括:接收目标流媒体在播放端的播放请求;基于播放请求在内存目录中写入TS数据的索引文件,其中,索引文件用于映射TS数据中的多媒体资源。
可选的,索引文件可以是M3U8文件。在目标流媒体的传输和播放过程中,目标流媒体的音视频文件被切成TS片,通过传输TS数据(一个TS数据的数据包包括若干个TS片),然后播放端先去请求M3U8文件播放列表,然后根据列表中的TS,然后再请求TS片,获取真正的音视频内容。
在一个示例中,在内存目录中写入TS数据的索引文件包括:在内存目录的备份文件中写入TS数据的索引文件;在索引文件在备份文件中更新完成后,采用备份文件覆盖内存目录中的访问文件,其中,访问文件是播放端实时访问的文件。
图5是本发明实施例写入索引文件的示意图,以索引文件为M3U8文件为例,M3U8内容更新,先写入备份文件-index.M3U8.bak,更新完成以后,直接采用备份文件覆盖访问文件-index.M3U8,播放列表在服务器上,无时差变更,客户端再次请求新的播放列表M3U8就可以获取新的TS切片,这样就避免了取M3U8数据不全的问题。
本实施例在写入索引文件时,从写入同一个索引文件,修改成先写备份文件,然后在覆盖访问文件,保证客户无感知,不会获取到因为索引文件更新,访问到不完整的播放列表。
采用本实施例的方案,TS片采用内存复用,性能优于内存覆盖,切片从磁盘存储改用内存存储,提高了读写速度,性能得到也提升。也减少了系统磁盘资源占用。在写入M3u8文件时,采用备份文件进行覆盖,从写入同一个文件,修改成先写备份文件,然后通过备份文件覆盖访问文件,保证客户无感知。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种流媒体数据的传输装置,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本发明实施例的一种流媒体数据的传输装置的结构框图,如图6所示,该装置包括:第一接收模块60,存储模块62,处理模块64,其中,
第一接收模块60,用于接收推流端发送的媒体分片TS数据,其中,目标流媒体包括多个TS数据;
存储模块62,用于将所述TS数据存储至服务器的内存目录;
处理模块64,用于从所述内存目录中读取所述TS数据,并将所述TS数据发送至所述目标流媒体的播放端。
可选的,所述存储模块包括:确定单元,用于在切片内存中确定播放终止分片,其中,所述切片内存为所述服务器为所述目标流媒体分配的固定内存资源;定位单元,用于以所述播放终止分片在所述切片内存中的下一个分片为写入起始分片,其中,所述写入起始分片当前存储历史播放分片;写入单元,用于从所述写入起始分片开始在所述切片内存中循环写入所述TS数据。
可选的,所述切片内存的分片数量为M,所述定位单元包括:第一定位子单元,用于若所述播放终止分片N1为所述切片内存的内存终止分片M1,将所述切片内存的内存起始分片M0确定为写入起始分片P0;第二定位子单元,用于若所述播放终止分片N1不为所述切片内存的内存终止分片M1,将所述播放终止分片N1的下一个切片内存分片N1+1确定为写入起始分片P0,其中,播放片的分片数量为N,写入片的分片数量为P,且M≥N+P,M,N,P均为正整数。
进一步,M=7,N=P=3。
进一步,所述写入单元包括:写入子单元,用于从所述写入起始分片P0开始在所述切片内存剩余的P个分片中写入所述TS数据,若所述切片内存的剩余分片数量小于P,则在写完所述切片内存的剩余分片后从所述切片内存的内存起始分片M0继续写入所述TS数据,直到写入终止分片P1,其中,写入片的分片数量为P,P为正整数。
进一步,所述方法还包括:第二接收模块,用于在所述存储模块将所述TS数据存储至服务器的内存目录之后,接收所述目标流媒体在所述播放端的播放请求;写入模块,用于基于所述播放请求在所述内存目录中写入所述TS数据的索引文件,其中,所述索引文件用于映射所述TS数据中的多媒体资源。
进一步,所述写入模块包括:第一写入单元,用于在所述内存目录的备份文件中写入所述TS数据的索引文件;第二写入单元,用于在所述索引文件在所述备份文件中更新完成后,采用所述备份文件覆盖所述内存目录中的访问文件,其中,所述访问文件是所述播放端实时访问的文件。
本实施例还提供了一种流媒体数据的传输系统,包括:推流端,服务器,播放端,其中,所述服务器,与所述推流端和所述播放端连接,包括上述实施例所描述的装置;所述推流端,用于向所述服务器推送所述TS数据;所述播放端,用于播放所述TS数据。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本申请实施例还提供了一种电子设备,图7是本发明实施例的一种电子设备的结构图,如图7所示,包括处理器71、通信接口72、存储器73和通信总线74,其中,处理器71,通信接口72,存储器73通过通信总线74完成相互间的通信,存储器73,用于存放计算机程序;处理器71,用于执行存储器73上所存放的程序时,实现如下步骤:接收推流端发送的媒体分片TS数据,其中,目标流媒体包括多个TS数据;将所述TS数据存储至服务器的内存目录;从所述内存目录中读取所述TS数据,并将所述TS数据发送至所述目标流媒体的播放端。
可选的,将所述TS数据存储至服务器的内存目录包括:在切片内存中确定播放终止分片,其中,所述切片内存为所述服务器为所述目标流媒体分配的固定内存资源;以所述播放终止分片在所述切片内存中的下一个分片为写入起始分片,其中,所述写入起始分片当前存储历史播放分片;从所述写入起始分片开始在所述切片内存中循环写入所述TS数据。
可选的,所述切片内存的分片数量为M,以所述播放终止分片在所述切片内存中的下一个分片为写入起始分片包括:若所述播放终止分片N1为所述切片内存的内存终止分片M1,将所述切片内存的内存起始分片M0确定为写入起始分片P0;若所述播放终止分片N1不为所述切片内存的内存终止分片M1,将所述播放终止分片N1的下一个切片内存分片N1+1确定为写入起始分片P0,其中,播放片的分片数量为N,写入片的分片数量为P,且M≥N+P,M,N,P均为正整数。
可选的,M=7,N=P=3。
可选的,从所述写入起始分片开始在所述切片内存中循环写入所述TS数据包括:从所述写入起始分片P0开始在所述切片内存剩余的P个分片中写入所述TS数据,若所述切片内存的剩余分片数量小于P,则在写完所述切片内存的剩余分片后从所述切片内存的内存起始分片M0继续写入所述TS数据,直到写入终止分片P1,其中,写入片的分片数量为P,P为正整数。
可选的,在将所述TS数据存储至服务器的内存目录之后,所述方法还包括:接收所述目标流媒体在所述播放端的播放请求;基于所述播放请求在所述内存目录中写入所述TS数据的索引文件,其中,所述索引文件用于映射所述TS数据中的多媒体资源。
可选的,在所述内存目录中写入所述TS数据的索引文件包括:在所述内存目录的备份文件中写入所述TS数据的索引文件;在所述索引文件在所述备份文件中更新完成后,采用所述备份文件覆盖所述内存目录中的访问文件,其中,所述访问文件是所述播放端实时访问的文件。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的流媒体数据的传输方法。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的流媒体数据的传输方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (11)

1.一种流媒体数据的传输方法,其特征在于,包括:
接收推流端发送的媒体分片TS数据,其中,目标流媒体包括多个TS数据;
将所述TS数据存储至服务器的内存目录;
从所述内存目录中读取所述TS数据,并将所述TS数据发送至所述目标流媒体的播放端。
2.根据权利要求1所述的方法,其特征在于,将所述TS数据存储至服务器的内存目录包括:
在切片内存中确定播放终止分片,其中,所述切片内存为所述服务器为所述目标流媒体分配的固定内存资源;
以所述播放终止分片在所述切片内存中的下一个分片为写入起始分片,其中,所述写入起始分片当前存储历史播放分片;
从所述写入起始分片开始在所述切片内存中循环写入所述TS数据。
3.根据权利要求2所述的方法,其特征在于,所述切片内存的分片数量为M,以所述播放终止分片在所述切片内存中的下一个分片为写入起始分片包括:
若所述播放终止分片N1为所述切片内存的内存终止分片M1,将所述切片内存的内存起始分片M0为确定为写入起始分片P0
若所述播放终止分片N1不为所述切片内存的内存终止分片M1,将所述播放终止分片N1的下一个切片内存分片N1+1确定为写入起始分片P0,其中,播放片的分片数量为N,写入片的分片数量为P,且M≥N+P,M,N,P均为正整数。
4.根据权利要求3所述的方法,其特征在于,M=7,N=P=3。
5.根据权利要求2所述的方法,其特征在于,从所述写入起始分片开始在所述切片内存中循环写入所述TS数据包括:
从所述写入起始分片P0开始在所述切片内存剩余的P个分片中写入所述TS数据,若所述切片内存的剩余分片数量小于P,则在写完所述切片内存的剩余分片后从所述切片内存的内存起始分片M0继续写入所述TS数据,直到写入终止分片P1,其中,写入片的分片数量为P,P为正整数。
6.根据权利要求1所述的方法,其特征在于,在将所述TS数据存储至服务器的内存目录之后,所述方法还包括:
接收所述目标流媒体在所述播放端的播放请求;
基于所述播放请求在所述内存目录中写入所述TS数据的索引文件,其中,所述索引文件用于映射所述TS数据中的多媒体资源。
7.根据权利要求6所述的方法,其特征在于,在所述内存目录中写入所述TS数据的索引文件包括:
在所述内存目录的备份文件中写入所述TS数据的索引文件;
在所述索引文件在所述备份文件中更新完成后,采用所述备份文件覆盖所述内存目录中的访问文件,其中,所述访问文件是所述播放端实时访问的文件。
8.一种流媒体数据的传输装置,其特征在于,包括:
第一接收模块,用于接收推流端发送的媒体分片TS数据,其中,目标流媒体包括多个TS数据;
存储模块,用于将所述TS数据存储至服务器的内存目录;
处理模块,用于从所述内存目录中读取所述TS数据,并将所述TS数据发送至所述目标流媒体的播放端。
9.一种流媒体数据的传输系统,其特征在于,包括:推流端,服务器,播放端,其中,
所述服务器,与所述推流端和所述播放端连接,包括权利要求1至7任一项所述方法对应的装置;
所述推流端,用于向所述服务器推送所述TS数据;
所述播放端,用于播放所述TS数据。
10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7中任一项所述的方法步骤。
11.一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:
存储器,用于存放计算机程序;
处理器,用于通过运行存储器上所存放的程序来执行权利要求1至7中任一项所述的方法步骤。
CN202110594437.2A 2021-05-28 2021-05-28 流媒体数据的传输方法及装置、系统 Pending CN115412777A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110594437.2A CN115412777A (zh) 2021-05-28 2021-05-28 流媒体数据的传输方法及装置、系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110594437.2A CN115412777A (zh) 2021-05-28 2021-05-28 流媒体数据的传输方法及装置、系统

Publications (1)

Publication Number Publication Date
CN115412777A true CN115412777A (zh) 2022-11-29

Family

ID=84155385

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110594437.2A Pending CN115412777A (zh) 2021-05-28 2021-05-28 流媒体数据的传输方法及装置、系统

Country Status (1)

Country Link
CN (1) CN115412777A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117156172A (zh) * 2023-10-30 2023-12-01 江西云眼视界科技股份有限公司 视频切片上报方法、系统、存储介质及计算机

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459809A (zh) * 2008-11-26 2009-06-17 天柏宽带网络科技(北京)有限公司 一种数字电视节目播放的方法和系统
CN104243430A (zh) * 2013-06-20 2014-12-24 腾讯科技(深圳)有限公司 一种流媒体播放方法及装置
CN104572952A (zh) * 2014-12-29 2015-04-29 乐视网信息技术(北京)股份有限公司 直播多媒体文件的识别方法及装置
CN104883626A (zh) * 2015-05-22 2015-09-02 深圳市九洲电器有限公司 流媒体管理方法及系统
CN105357544A (zh) * 2015-10-29 2016-02-24 浪潮软件集团有限公司 一种基于hls的多媒体文件处理方法及服务器
CN106303671A (zh) * 2016-08-16 2017-01-04 任晋军 一种流媒体的播放方法
CN106604043A (zh) * 2016-12-30 2017-04-26 Ut斯达康(深圳)技术有限公司 一种互联网直播方法及直播服务器
CN109756757A (zh) * 2019-03-21 2019-05-14 北京数码视讯软件技术发展有限公司 直播数据处理方法及装置、直播方法及装置和直播服务器
CN109936768A (zh) * 2017-12-19 2019-06-25 中国电信股份有限公司 实现利用终端观看iptv直播节目的方法和系统
CN111741338A (zh) * 2020-07-22 2020-10-02 深圳力维智联技术有限公司 Hls流媒体播放方法、系统、设备及存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459809A (zh) * 2008-11-26 2009-06-17 天柏宽带网络科技(北京)有限公司 一种数字电视节目播放的方法和系统
CN104243430A (zh) * 2013-06-20 2014-12-24 腾讯科技(深圳)有限公司 一种流媒体播放方法及装置
CN104572952A (zh) * 2014-12-29 2015-04-29 乐视网信息技术(北京)股份有限公司 直播多媒体文件的识别方法及装置
CN104883626A (zh) * 2015-05-22 2015-09-02 深圳市九洲电器有限公司 流媒体管理方法及系统
CN105357544A (zh) * 2015-10-29 2016-02-24 浪潮软件集团有限公司 一种基于hls的多媒体文件处理方法及服务器
CN106303671A (zh) * 2016-08-16 2017-01-04 任晋军 一种流媒体的播放方法
CN106604043A (zh) * 2016-12-30 2017-04-26 Ut斯达康(深圳)技术有限公司 一种互联网直播方法及直播服务器
CN109936768A (zh) * 2017-12-19 2019-06-25 中国电信股份有限公司 实现利用终端观看iptv直播节目的方法和系统
CN109756757A (zh) * 2019-03-21 2019-05-14 北京数码视讯软件技术发展有限公司 直播数据处理方法及装置、直播方法及装置和直播服务器
CN111741338A (zh) * 2020-07-22 2020-10-02 深圳力维智联技术有限公司 Hls流媒体播放方法、系统、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
荣锋;王巍;陆小翠;: "IP分片算法研究及其在嵌入式系统中的应用", 计算机工程, no. 22 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117156172A (zh) * 2023-10-30 2023-12-01 江西云眼视界科技股份有限公司 视频切片上报方法、系统、存储介质及计算机
CN117156172B (zh) * 2023-10-30 2024-01-16 江西云眼视界科技股份有限公司 视频切片上报方法、系统、存储介质及计算机

Similar Documents

Publication Publication Date Title
US20140165119A1 (en) Offline download method, multimedia file download method and system thereof
CN101677325B (zh) 发布媒体描述信息和获取媒体的方法、装置、系统
CN108063769B (zh) 一种内容服务的实现方法、装置及内容分发网络节点
CN110247985B (zh) 一种资源下载方法、装置、电子设备及介质
CN102694831B (zh) 移动终端流媒体数据补偿方法与系统、内容分发网络
US10506020B2 (en) Data transmission method, and terminal
CN104104971A (zh) 一种视频文件处理方法及系统
CN108200444B (zh) 一种视频直播的方法、装置和系统
WO2017097210A1 (zh) 软件升级方法、装置及系统
CN101588287B (zh) 对等网络数据调度和下载的方法、装置和系统
CN108933764A (zh) 一种实现快速起播的方法和装置
CN112437329A (zh) 一种播放视频的方法、装置、设备、及可读存储介质
WO2018233539A1 (zh) 视频处理方法、计算机存储介质及设备
CN109525622B (zh) 分片资源id的生成方法、资源分享方法,装置及电子设备
WO2021073539A1 (zh) 一种hls播放方法、客户端、服务器及存储介质
CN103533444A (zh) 一种支持时移播放的方法及装置
CN105323597A (zh) Mp4文件播放方法、处理方法和装置以及播放系统
CN110290396B (zh) 一种视频处理的方法、装置、系统、设备和存储介质
CN112243158B (zh) 媒体文件处理方法、装置、计算机可读介质及电子设备
CN115412777A (zh) 流媒体数据的传输方法及装置、系统
CN113115120B (zh) 视频切片方法、装置、电子设备及存储介质
CN102571942A (zh) 一种在p2p网络中推送资源信息并提供服务的方法与设备
US20160301983A1 (en) Data processing method and device in content delivery network
CN116828237B (zh) 视频播放方法和视频播放系统、电子设备及存储介质
EP2634998A1 (en) Method and system for downloading real-time streaming media in peer-to-peer network

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