CN108271039B - 一种文件发送方法及装置 - Google Patents

一种文件发送方法及装置 Download PDF

Info

Publication number
CN108271039B
CN108271039B CN201611264124.6A CN201611264124A CN108271039B CN 108271039 B CN108271039 B CN 108271039B CN 201611264124 A CN201611264124 A CN 201611264124A CN 108271039 B CN108271039 B CN 108271039B
Authority
CN
China
Prior art keywords
file
index
request
user terminal
type
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201611264124.6A
Other languages
English (en)
Other versions
CN108271039A (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201611264124.6A priority Critical patent/CN108271039B/zh
Publication of CN108271039A publication Critical patent/CN108271039A/zh
Application granted granted Critical
Publication of CN108271039B publication Critical patent/CN108271039B/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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4385Multiplex stream processing, e.g. multiplex stream decrypting
    • 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/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/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234336Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by media transcoding, e.g. video is transformed into a slideshow of still pictures or audio is converted into text
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • 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/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)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了一种文件发送的方法及装置。其中,本发明及其实施例通过采用采取“获取文件,并判断所述文件的类型;若所述文件为传输流TS文件,将所述TS文件进行转码操作,得到m3u8索引文件;其中,所述m3u8索引文件的每个分片对应所述TS文件的一个片段;根据用户终端文件请求的类型,向所述用户终端发送所述TS文件”的技术方案,可以解决了相关技术中存在的OTT系统对外部设备提供HLS服务时,需要占用额外存储空间的问题,可以减少内容源站或CDN存储系统的存储消耗,节约了服务资源。

Description

一种文件发送方法及装置
技术领域
本发明涉及视频文件播放技术,具体而言,涉及一种文件发送方法及装置。
背景技术
OTT是“Over The Top”的缩写,是指通过互联网向用户提供各种应用服务。这种应用和目前运营商所提供的通信业务不同,它仅利用运营商的网络,而服务由运营商之外的第三方提供。同时OTT也是国际互联网运营商对互联网电视业务的一种称呼,全称是OTTTV,其本质是利用统一的内容管理与分发平台,通过开放的互联网,向智能机顶盒提供高清的视频、游戏和其他多媒体应用。本文中以下针对OTT的阐述特指OTT TV。
近年来,OTT受到全球电信行业、互联网行业以及电商等的普遍关注,不同的行业对OTT从技术、市场和政策等角度进行了深度探索。OTT以形式灵活、内容多样、部署快速等特点正日益得到运营商及消费者的青睐。随着观看习惯的转变,用户要求能够随时随地在任何设备上观看视频节目。与此同时,全球范围内,包括电视台、有线电视网络公司在内的传统广电正面临新媒体的强劲挑战。
在一般的OTT系统中,点播内容注入是一种重要的流程,它指的是通过内容管理系统(Content Management System,简称为CMS)注入到内容分发系统(Content DeliveryNetwork,简称为CDN),从而使得CDN可以对终端提供点播服务。注入的内容可以是一个传输流(Transport Stream,简称为TS)格式的大文件,也可以是符合实时流媒体协议(HTTPLive Streaming,简称为HLS)的多码率的多个小文件。
一般来说,对于移动终端来说由于所处的网络环境较差,需要提供HLS服务。很多情况下原始片源只有单个TS大文件,或者原先已经发布了很多TS大文件用于机顶盒播放但后来又要新增支持移动终端,通常的做法,一种是需要源站既提供TS大文件也提供HLS的小文件,一种是需要CDN侧注入时既保留原始大的TS文件,又要生成m3u8索引和索引对应的很多个小的ts文件。这两种的做法会带来额外的存储消耗,特别地第一种对内容源站也有额外要求。目前尚未提出有效的解决方案。
发明内容
本发明的实施例提供了一种文件发送方法及装置,以至少解决相关技术中,OTT系统对外部设备提供HLS服务时,需要占用额外存储空间的问题。
根据本发明实施例的一个方面,提供了一种文件发送方法,可以包括:获取文件,并判断所述文件的类型;若所述文件为传输流TS文件,将所述TS文件进行转码操作,得到m3u8索引文件;其中,所述m3u8索引文件的每个分片对应所述TS文件的一个片段;根据用户终端文件请求的类型,向所述用户终端发送所述TS文件。
进一步地,在根据用户终端文件请求的类型,向所述用户终端发送所述TS文件之前,所述方法还包括:将所述TS文件和所述m3u8索引文件存储于内容分发网络系统CDN的文件存储系统中。
进一步地,在获取文件,并判断所述文件的类型之前,所述方法还包括:将所述文件存储于内容分发网络系统CDN的文件存储系统中,在将所述TS文件进行转码操作,得到m3u8索引文件之后,将所述m3u8索引文件存储于CDN的文件存储系统中。
进一步地,根据用户终端的文件请求的类型,向所述用户终端发送所述TS文件,包括:接收所述用户终端的文件请求,并判断所述文件请求的类型;在所述文件请求的类型为渐进式下载HPD请求时,向所述用户终端发送所述TS文件;或者,在所述文件请求的类型为实时流媒体协议HLS请求时,向所述用户终端发送所述m3u8索引文件以及所述m3u8索引文件对应的TS文件的片段。
进一步地,所述m3u8索引文件格式符合m3u8的V4格式;所述m3u8索引文件支持用户终端倍速播放所述TS文件;所述m3u8索引文件包含主索引,其中所述主索引指示所述m3u8索引文件的路径。
根据本发明实施例的另一方面,提供了了一种文件发送装置,该装置可以包括:判断模块,用于获取文件,并判断所述文件的类型;转码模块,用于若所述文件为传输流TS文件,将所述TS文件进行转码操作,得到m3u8索引文件;其中,所述m3u8索引文件的每个分片对应所述TS文件的一个片段;发送模块,用于根据用户终端文件请求的类型,向所述用户终端发送所述TS文件。
进一步地,所述装置还可以包括:第一存储模块,用于在根据用户终端文件请求的类型,向所述用户终端发送所述TS文件之前,将所述TS文件和所述m3u8索引文件存储于内容分发网络系统CDN的文件存储系统中。
进一步地,所述装置还包括:第二存储模块,用于在获取文件,并判断所述文件的类型之前,将所述文件存储于内容分发网络系统CDN的文件存储系统中;第三存储模块,用于在将所述TS文件进行转码操作,得到m3u8索引文件之后,将所述m3u8索引文件存储于CDN的文件存储系统中。
进一步地,所述发送模块包括:判断单元,用于接收所述用户终端的文件请求,并判断所述文件请求的类型;第一发送单元,用于在所述文件请求的类型为渐进式下载HPD请求时,向所述用户终端发送所述TS文件;或者,第二发送单元,用于在所述文件请求的类型为实时流媒体协议HLS请求时,向所述用户终端发送所述m3u8索引文件以及所述m3u8索引文件对应的TS文件的片段。
进一步地,,所述m3u8索引文件格式符合m3u8的V4格式;所述m3u8索引文件支持用户终端倍速播放所述TS文件;所述m3u8索引文件包含主索引,其中所述主索引指示所述m3u8索引文件的路径。
通过本发明及其实施例,通过采用采取“获取文件,并判断所述文件的类型;若所述文件为传输流TS文件,将所述TS文件进行转码操作,得到m3u8索引文件;其中,所述m3u8索引文件的每个分片对应所述TS文件的一个片段;根据用户终端文件请求的类型,向所述用户终端发送所述TS文件”的技术方案,可以解决了相关技术中存在的OTT系统对外部设备提供HLS服务时,需要占用额外存储空间的问题,可以减少内容源站或CDN存储系统的存储消耗,节约了服务资源。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种文件发送方法的流程示意图一;
图2是根据本发明实施例的另一种文件发送方法的流程示意图二;
图3是根据本发明实施例的一种文件的发送装置的结构框图;
图4是根据本发明优选实施例的一种文件发送系统的示意图一;
图5是根据本发明优选实施例的一种文件发送系统的示意图二。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1是根据本发明实施例的一种文件发送方法的流程示意图一。如图1所示,该方法流程可以包括如下步骤:
步骤S100,获取文件,并判断所述文件的类型;
在OTT领域,内容源站、CDN服务系统可以提供多种类型的文件,包括视频文件等,例如至少包括传输流格式的TS文件、实时流媒体协议格式的HLS文件等。
步骤S102,若所述文件为传输流TS文件,将所述TS文件进行转码操作,得到m3u8索引文件;其中,所述m3u8索引文件的每个分片对应所述TS文件的一个片段;
在判断该文件为TS文件的情况下,本发明的实施例需要对该TS文件进行转码操作。经过转码操作之后,TS文件不会产生变化,还得到了一种新型的m3u8格式的索引文件。这种类型的m3u8索引文件的每一个分片可以对应到原TS文件的一个片段,例如一个分片可以对应TS文件的第X至第X+N字节或兆字节内容、或者一个分片对应到TS文件的第X时间至第X+N时间段的内容。
步骤S104,根据用户终端文件请求的类型,向所述用户终端发送所述TS文件。
用户终端可以包括机顶盒、台式电脑;移动设备如手机、笔记本、PAD等。用户终端所处于的网络状况也是一样的,网速有好也有差的情形。根据用户终端的类型和网络情况,向OTT系统请求视频点播服务。服务端可以判断用户终端请求的类型,例如是渐进式下载(http Progressive Download,简称为HPD)大文件请求,还是HLS小文件请求。服务端根据用户端点播文件请求的类型,向其发送视频文件,提供点播服务。
通过采用实施例图1所示的方法,通过“对TS文件进行转码操作,得到m3u8索引文件;该m3u8索引文件的每个分片对应所述TS文件的一个片段;根据用户终端文件请求的类型,向所述用户终端发送所述TS文件”的技术方案,可以解决了相关技术中存在的OTT系统对外部设备提供HLS服务时,需要占用额外存储空间的问题,可以减少内容源站或CDN存储系统的存储消耗,节约了服务资源。
在优选的实施方式中,向所述用户终端发送所述TS文件之前,所述方法还可以包括如下步骤:将所述TS文件和所述m3u8索引文件存储于内容分发网络系统CDN的文件存储系统中。如果内容源站只提供了视频点播的TS文件,而没有HLS小文件。CDN系统获取视频点播请求,向内容源站请求下载该TS文件的,可以对完成对TS文件的转码操作,并将转码操作得到的m3u8索引文件和TS大文件存储到CDN的文件存储系统中,由CDN文件存储系统向外部设备发送文件,对外提供点播服务。
在本实施例另一个优选实施方式中,该方法在判断所述文件的类型之前,还可以包括如下流程:将所述文件存储于内容分发网络系统CDN的文件存储系统中;在将所述TS文件进行转码操作,得到m3u8索引文件之后,将所述m3u8索引文件存储于CDN的文件存储系统中。在CDN文件存储系统中,已经存在的TS大文件,在对外提供HLS服务的时候,可以不需要向内容源站请求下载同一点播的TS大文件对应的HLS小文件。需要对已有的TS大文件进行转码操作,得到一种新类型的m3u8索引文件,该索引文件的每一个分片可以映射到TS大文件的一个片段。将该m3u8索引文件存储于CDN的文件存储系统中,CDN系统可以根据该m3u8索引对外设备提供TS大文件的片段进行发送和下载。
进一步地,本实施例中还提供了其他优选实现方式。例如将TS大文件转码得到一种新的m3u8索引文件,它的格式符合m3u8的V4格式,该m3u8的每一个分片可以映射,对应到TS文件的一个片段,并可以根据这些分片下载对应的TS文件分段。进一步地,本实施例提供的m3u8索引文件还可以支持用户终端倍速播放对应的TS文件。另外,m3u8索引文件还包含了一个主索引,这个主索引标明了m3u8索引文件的路径。
图2是根据本发明实施例的另一种文件发送方法的流程示意图二;如图2所示,该方法流程可以包括如下步骤:
步骤S200,获取文件,并判断所述文件的类型;
内容源站或CDN服务系统对外部设备提供视频点播服务,可以提供多种视频或文件格式。例如可以提供HPD下载方式的TS文件;也可以提供HLS服务的小文件。
步骤S202,若所述文件为传输流TS文件,将所述TS文件进行转码操作,得到m3u8索引文件;其中,所述m3u8索引文件的每个分片对应所述TS文件的一个片段;
在判断结果指向文件类型为TS大文件时,可以对TS文件进行转码操作。经过转码操作之后,TS文件不会产生变化,还得到了一种新型的m3u8格式的索引文件。这种类型的m3u8索引文件的每一个分片可以对应到原TS文件的一个片段,例如一个分片可以对应TS文件的第X至第X+N字节或兆字节内容、或者一个分片对应到TS文件的第X时间至第X+N时间段的内容。
进一步地说,本实施例中如将TS大文件转码得到一种新的m3u8索引文件,它的格式符合m3u8的V4格式,该m3u8的每一个分片可以映射,对应到TS文件的一个片段,并可以根据这些分片下载对应的TS文件分段。该m3u8索引文件还可以支持用户终端倍速播放对应的TS文件,也可以支持终端正常速率播放视频文件。另外,m3u8索引文件还包含了一个主索引,这个主索引标明了m3u8索引文件的路径。
步骤S204,接收所述用户终端的文件请求;
接收来自于外部设备、用户终端的视频点播请求,例如是机顶盒、移动终端等。
步骤S206,判断所述文件请求的类型;
根据不同的用户文件请求类型,向用户终端发送对应的文件。在用户终端文件请求的类型为HPD请求时,执行步骤S208,或者,在用户终端文件请求的类型为HLS请求时,执行步骤S210。用户终端可以包括机顶盒、台式电脑;移动设备如手机、笔记本、PAD等。用户终端所处于的网络状况也是一样的,网速有好也有差的情形。根据用户终端的类型和网络情况,向OTT系统请求视频点播服务。服务端可以判断用户终端请求的类型,例如是渐进式下载(http Progressive Download,简称为HPD)大文件请求,还是HLS小文件请求。服务端根据用户端点播文件请求的类型,向其发送视频文件,提供点播服务。
步骤S208,向所述用户终端发送所述TS文件;
在所述文件请求的类型为渐进式下载HPD请求时,服务端可以向所述用户终端发送用户终端请求的目标TS文件。
步骤S210,向所述用户终端发送所述m3u8索引文件以及所述m3u8索引文件对应的TS文件的片段。
在所述文件请求的类型为实时流媒体协议HLS请求时,服务端向用户发送m3u8索引文件和索引文件对应的TS文件片段。
通过采用实施例图2所示的方法,通过“对TS文件进行转码操作,得到m3u8索引文件;该m3u8索引文件的每个分片对应所述TS文件的一个片段;根据用户终端不同的文件请求类型,向所述用户终端发送不同的文件。如果是HPD请求,就向用户发送TS大文件,而是HLS请求,就向用户发送m3u8索引及其对应的TS文件片段”的技术方案,对不同的场景下提供了不同的点播服务,不再需要对TS文件产生若干小文件,浪费内容源站或CDN存储系统的存储资源,解决了相关技术中存在的OTT系统对外部设备提供HLS服务时,需要占用额外存储空间的问题,可以减少内容源站或CDN存储系统的存储消耗,节约了服务资源。
在本实施例还可以提供一些优选的实施方式,例如,向所述用户终端发送所述TS文件之前,所述方法还可以包括如下步骤:将所述TS文件和所述m3u8索引文件存储于内容分发网络系统CDN的文件存储系统中。如果内容源站只提供了视频点播的TS文件,而没有HLS小文件。CDN系统获取视频点播请求,向内容源站请求下载该TS文件的,可以对完成对TS文件的转码操作,并将转码操作得到的m3u8索引文件和TS大文件存储到CDN的文件存储系统中,由CDN文件存储系统向外部设备发送文件,对外提供点播服务。
在本实施例另一个优选实施方式中,该方法在判断所述文件的类型之前,还可以包括如下流程:将所述文件存储于内容分发网络系统CDN的文件存储系统中;在将所述TS文件进行转码操作,得到m3u8索引文件之后,将所述m3u8索引文件存储于CDN的文件存储系统中。在CDN文件存储系统中,已经存在的TS大文件,在对外提供HLS服务的时候,可以不需要向内容源站请求下载同一点播的TS大文件对应的HLS小文件。需要对已有的TS大文件进行转码操作,得到一种新类型的m3u8索引文件,该索引文件的每一个分片可以映射到TS大文件的一个片段。将该m3u8索引文件存储于CDN的文件存储系统中,CDN系统可以根据该m3u8索引对外设备提供TS大文件的片段进行发送和下载。
图3是根据本发明实施例的一种文件的发送装置的结构框图,如图3所示,该装置可以包括判断模块30、转码模块32、发送模块34。该装置可以实施上文实施例中所列举的方法或实现上文实施例所要达到的效果。下面对该装置进行说明。
判断模块30,可以用于获取文件,并判断所述文件的类型;
转码模块32,与判断模块30连接,可以用于若所述文件为传输流TS文件,将所述TS文件进行转码操作,得到m3u8索引文件;其中,所述m3u8索引文件的每个分片对应所述TS文件的一个片段;
发送模块34,与转码模块32连接,可以用于根据用户终端文件请求的类型,向所述用户终端发送所述TS文件。
通过本实施例提供的装置,通过“对TS文件进行转码操作,得到m3u8索引文件;该m3u8索引文件的每个分片对应所述TS文件的一个片段;根据用户终端文件请求的类型,向所述用户终端发送所述TS文件”的技术方案,可以解决了相关技术中存在的OTT系统对外部设备提供HLS服务时,需要占用额外存储空间的问题,可以减少内容源站或CDN存储系统的存储消耗,节约了服务资源。
进一步地,本实施例提供的装置还可以包括:第一存储模块,用于在根据用户终端文件请求的类型,向所述用户终端发送所述TS文件之前,将所述TS文件和所述m3u8索引文件存储于内容分发网络系统CDN的文件存储系统中。
进一步地,本实施例提供的装置还可以包括:第二存储模块,用于在获取文件,并判断所述文件的类型之前,将所述文件存储于内容分发网络系统CDN的文件存储系统中;第三存储模块,用于在将所述TS文件进行转码操作,得到m3u8索引文件之后,将所述m3u8索引文件存储于CDN的文件存储系统中。
进一步地,本实施例提供的装置中的发送模块34可以包括:判断单元,用于接收所述用户终端的文件请求,并判断所述文件请求的类型;第一发送单元,用于在所述文件请求的类型为渐进式下载HPD请求时,向所述用户终端发送所述TS文件;或者,第二发送单元,用于在所述文件请求的类型为实时流媒体协议HLS请求时,向所述用户终端发送所述m3u8索引文件以及所述m3u8索引文件对应的TS文件的片段。
进一步地,本实施例提供的装置实施例中,所述m3u8索引文件格式符合m3u8的V4格式;所述m3u8索引文件支持用户终端倍速播放所述TS文件;所述m3u8索引文件包含主索引,其中所述主索引指示所述m3u8索引文件的路径。
下面再结合具体实施例对本发明进行说明。
一般来说,对于移动终端来说由于所处的网络环境较差,需要提供HLS服务。很多情况下原始片源只有单个TS大文件,或者原先已经发布了很多TS大文件用于机顶盒播放但后来又要新增支持移动终端,通常的做法,一种是需要源站既提供TS大文件也提供HLS的小文件,一种是需要CDN侧注入时既保留原始大的TS文件,又要生成m3u8索引和索引对应的很多个小的ts文件。这两种的做法会带来额外的存储消耗,特别地第一种对内容源站也有额外要求。
为解决相关技术中,OTT系统对外部设备提供HLS服务时,需要占用额外存储空间的问题。本优选实施例提供了一种基于OTT文件发送系统以及应用该系统进行文件发送的方法,图4是根据本发明优选实施例的一种文件发送系统的示意图。既可以提供HPD大文件和HLS小文件服务而无需占用额外存储空间,可以减少内容源站或CDN存储系统的存储消耗,节约了服务资源。
如图4所示,该系统可以包括:内容管理模块40、内容源站42、STB/移动终端44以及CDN系统,其中CDN系统还可以包括:CDN服务子系统45、CDN存储子系统46、CDN注入子系统47、转码子系统48、内容注入子系统49。
内容管理模块40,与CDN系统连接,主要用于管理视频内容以及向内容注入控制子系统发送内容注入请求。
内容源站42,与CDN系统连接,主要用于向CDN系统提供视频源,接收CDN下拉视频源请求,向它提供视频源内容服务。
STB/移动终端44,与CDN系统连接,代表了用户侧设备,例如可以包括机顶盒STB、移动终端等。
CDN系统,主要用于接收用户点播请求、向内容源站42请求视频点播,下载相应的视频源内容并缓存视频文件;在该优选实施例中,还可以提供对TS大文件的转码操作,得到m3u8索引文件,该m3u8索引的分片对应TS大文件的片段。CDN系统主要包括:CDN服务子系统45、CDN存储子系统46、CDN注入子系统47、转码子系统48、内容注入子系统49。
CDN服务子系统45,主要用于对STB或者移动终端提供CDN服务,例如可以是接收STB/移动终44视频点播请求,并向其提供播放服务。
CDN存储自子系统,与CDN服务子系统45、CDN注入子系统47连接,主要用于提供CDN的文件的存储和读取,例如可以是接受CDN服务子系统47的注入的视频内容,并缓存;向服务子系统45提供视频内容。
CDN注入子系统49,与内容注入控制子系统49、转码子系统48连接,主要用于接收内容注入控制子系统的注入请求,到转码子系统获取到转码后的内容,并存储到CDN存储子系统中。例如可以是将HLS类型小文件、TS文件以及转码得到的m3u8文件注入到CDN存储子系统46。
内容注入控制子系统47与内容管理模块40、转码子系统48连接,主要用于接收外部CMS的内容注入请求,下发转码消息给转码子系统48、下发注入请求给CDN注入子系统49。具体可以是:接受内容管理模块40的内容管理,并根据需求向转码子系统48下达控制命令,使其对内容源站42或CDN存储子系统46的TS大文件进行转码操作,并得到m3u8索引文件,该m3u8索引的分片对应TS大文件的片段。
转码子系统48,与内容注入控制子系统49、内容源站42连接,主要用于接收内容注入控制子系统的转码请求,从源站下拉TS内容,并对TS文件进行格式转换。例如可以是接受CDN内容注入子系统49的控制命令,向内容源站42下拉视频请求,在获取目标视频文件时对TS类型的大文件进行转码操作,并得到m3u8索引文件,该m3u8索引的分片对应TS大文件的片段。并将m3u8索引文件和TS大文件传输给CDN注入子系统,最终到达CDN存储子系统46。这些索引文件和TS大文件用于通过CDN服务子系统45向STB/移动终端44提供视频点播服务。
为了解决上述技术问题,本发明优选实施例提供了一种应用图4所示的系统实现视频文件发送的方法,该方法可以包括如下步骤:
步骤一,在内容注入时,对TS大文件同步进行转码;
在内容注入时,判断该内容的文件类型,如果为TS大文件,就对其进行转码操作。转码后的文件包含了原始的TS大文件和转码生成的M3U8索引,索引中的每个分片对应指向原始TS大文件的一个片段。该m3u8是一个新的m3u8文件:该m3u8索引文件的格式符合M3U8的V4格式,但和现有的m3u8索引是不一样的。例如该索引可以包括有字节区间,代表原始的TS大文件的片段,还可以支持终端倍速播放。另外,m3u8索引文件还可以包括主索引,主索引指示了索引文件的文件路径。
步骤二,转码生成后的文件再注入到CDN的实际的文件存储系统中;
将转码后的TS大文件及其m3u8索引文件,存储到CDN存储子系统中,用于对外部设备提供点播服务。
步骤三,CDN收到终端用户请求时,根据用户终端请求的类型发送相应的文件。
根据终端用户的请求识别是大文件HPD请求还是小文件HLS请求。大文件HPD请求时,提供TS大文件的下载;小文件HLS时提供m3u8索引文件以及对应TS大文件的分段下载。
本优选实施例还可以提供一种HPD大文件和HLS小文件服务的方法流程,主要包括两部分:一,内容注入流程;二、内容服务流程。
本实施例介绍基于OTT的TS大文件内容注入后同时提供HPD大文件和HLS小文件服务的流程。按照图4所示的流程所示,
第一部分,内容注入流程。
1、内容管理模块40向内容注入控制子系统49发送内容注入请求;
2、内容注入控制子系统49收到内容注入请求后,向转码子系统48发送内容
转码消息。
3、转码子系统48收到内容转码消息后到内容源站42下载内容并转码生成m3u8索引。
在这里的内容源站提供的是TS格式的大文件,在需要提供HLS小文件的服务情况下,相关技术中的,一种是需要源站既提供TS大文件也提供HLS的小文件,一种是需要CDN侧注入时既保留原始大的TS文件,又要生成m3u8索引和索引对应的很多个小的ts文件。这两种的做法会带来额外的存储消耗,特别地第一种对内容源站也有额外要求。而本优选实施例提供的方法只需要对TS大文件进行转码操作,得到一种新类型的m3u8文件就可,无需生成新的若干ts小文件,由此节约了内容源站或CDN存储系统的存储开销。
生成的m3u8索引样例如下所示,
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:5
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:4,
1.ts?zbytes=0-100
#EXTINF:4,
1.ts?zbytes=101-200
#EXTINF:4,
1.ts?zbytes=201-300
其中“1.ts?zbytes=0-100”、“1.ts?zbytes=101-200”、“1.ts?zbytes=201-300”等示例代表了对应发布的原始TS大文件的一段范围,可以是用字节表示,也可以用时间等方式表示原TS大文件的一个片段。
4、转码子系统48对文件完全转码后通知内容注入控制子系统49转码成功。
5、内容注入控制子系统49收到转码成功消息后,下发内容注入消息给CDN注入子系统47。
6、CDN注入子系统47收到注入消息后,到CDN转码子系统48下载获取转码后的文件,包括原TS大文件和转码得到的m3u8索引文件。
7、CDN注入子系统47把下载获取的转码后的文件存储到CDN存储子系统46中。
第二部分是内容服务流程:
8、STB或者移动终端44到CDN服务子系统45请求。
根据终端的类型和网络环境等综合考虑,用户设备(不限于STB或移动终端等)向CDN服务子系统45发送的文件请求可以是不同类型。例如可以请求大文件服务的HPD请求,也可以小文件服务的HLS请求。
9、CDN服务子系统45请求收到终端请求后,判断用户设备发送的请求类型。
根据用户设备的请求类型,向用户设备发送对应的文件。
10、CDN服务子系统45把读取到的文件提供给终端用户服务。
CDN服务子系统45根据判断结果,向CDN存储子系统46获取对应的文件,并向用户设备提供对应的文件发送服务。根据终端用户的请求识别是大文件HPD请求还是小文件HLS请求。大文件HPD请求时,CDN服务子系统45需要到CDN存储子系统46中读取TS大文件,提供TS大文件的下载;或者,请求类型为小文件HLS时,CDN服务子系统45读取CDN存储子系统46中的对应文件,向用户设备提供m3u8索引文件以及对应TS大文件的分段下载。
本发明还提供一种优选实施李,图5是根据本发明优选实施例的一种文件发送系统的示意图二。
本优选实施例主要解决的是针对CDN存储子系统中已经缓存的TS大文件,对外提供HLS小文件服务的方法及系统。在图5所示的文件发送系统中的各个组成部分可以参考图4所示对应组成部分的功能或用途。
对于内容已经注入到CDN中的TS大文件,可以直接采用转码方法,并生成对应的m3u8索引文件的方法。如图5所示,该方法可以包括:
步骤一,转码子系统48向CDN存储子系统46发送控制命令,该控制命令用于转子系统48获取CDN存储子系统46中存储的TS大文件,并发起转码操作流程。并将转码操作得到m3u8文件存储在CDN存储子系统46中。
进一步地,采用转码子系统对存储子系统直接转码并生成m3u8索引的方式。该m3u8索引格式符合M3U8的V4格式,还可以支持终端倍速播放,也可以支持普通速率播放。该m3u8索引可以包含主索引,主索引可以指示正常速率的m3u8文件路径和倍速文件的m3u8文件路径。
举例说明支持倍速文件的m3u8文件如下,
(1)支持倍速播放的m3u8主索引的示例
#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=2507000
media.m3u8
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=0,URI="iframe.m3u8"
(2)支持倍速播放的倍速m3u8索引的示例
#EXTM3U
#EXT-X-VERSION:4
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-TARGETDURATION:11
#EXTINF:9.556
#EXT-X-BYTERANGE:2993524@0
1.ts
#EXTINF:9.761
#EXT-X-BYTERANGE:3057632@2993148
1.ts
#EXTINF:10.174
#EXT-X-BYTERANGE:3186976@6050404
1.ts
#EXTINF:9.463
#EXT-X-BYTERANGE:2964384@9237004
1.ts
#EXTINF:9.558
#EXT-X-BYTERANGE:2994088@12201012
1.ts
步骤二,存储子系统46将TS大文件以及对应的转码生成的m3u8索引文件提供给CDN服务子系统45。
步骤三,用户设备如STB/移动终端发起视频播放请求。
根据终端的类型和网络环境等综合考虑,用户设备(不限于STB或移动终端等)向CDN服务子系统45发送的文件请求可以是不同类型。例如可以请求大文件服务的HPD请求,也可以小文件服务的HLS请求。在本优选实施例中,步骤二和步骤三是可以交换顺序。既可以是先发起用户请求,根据用户请求提供相应的文件服务。也可以是将文件及索引缓存起来,根据用户需求进行发送。
步骤四,CDN服务子系统45根据用户设备请求的类型,向用户设备提供服务。
CDN服务子系统45需要对用户设备请求的类型进行判断,根据判断结果向CDN存储子系统46获取对应的文件,并向用户设备提供对应的文件发送服务。根据终端用户的请求识别是大文件HPD请求还是小文件HLS请求。大文件HPD请求时,CDN服务子系统45需要到CDN存储子系统46中读取TS大文件,提供TS大文件的下载;或者,请求类型为小文件HLS时,CDN服务子系统45读取CDN存储子系统46中的对应文件,向用户设备提供m3u8索引文件以及对应TS大文件的分段下载。用户设备还可以根据m3u8的格式或类型进行普通速率播放或者是倍速播放该TS文件。本优选实施例,实现了CDN存储子系统中已经缓存的TS大文件进行转码操作,无需额外的内容相同的若干ts小文件,就可以对用户设备提供HLS文件服务,减少了CDN存储子系统的存储开销,节约了存储资源,提高了CDN系统服务能力。
综上所述,通过上述实施例、优选实施例和实施方式,通过采用采取将TS大文件进行转码操作,得到m3u8索引,该索引文件的分片可以映射到TS大文件的片段。接着通过判断用户设备请求的类型,获取相应的文件并提供服务的方法,解决了相关技术中存在的OTT系统对外部设备提供HLS服务时,需要占用额外存储空间的问题,可以减少内容源站或CDN存储系统的存储消耗,节约了服务资源。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种文件发送方法,其特征在于,包括:
获取文件,并判断所述文件的类型;
若所述文件为传输流TS文件,将所述TS文件进行转码操作,得到m3u8索引文件;其中,所述m3u8索引文件的每个分片对应所述TS文件的一个片段;
根据用户终端文件请求的类型,向所述用户终端发送所述TS文件,包括:接收所述用户终端的文件请求,并判断所述文件请求的类型;
在所述文件请求的类型为渐进式下载HPD请求时,向所述用户终端发送所述TS文件;或者,
在所述文件请求的类型为实时流媒体协议HLS请求时,向所述用户终端发送所述m3u8索引文件以及所述m3u8索引文件对应的TS文件的片段。
2.根据权利要求1所述的方法,其特征在于,在根据用户终端文件请求的类型,向所述用户终端发送所述TS文件之前,所述方法还包括:
将所述TS文件和所述m3u8索引文件存储于内容分发网络系统CDN的文件存储系统中。
3.根据权利要求1所述的方法,其特征在于,在获取文件,并判断所述文件的类型之前,所述方法还包括:
将所述文件存储于内容分发网络系统CDN的文件存储系统中,
在将所述TS文件进行转码操作,得到m3u8索引文件之后,将所述m3u8索引文件存储于CDN的文件存储系统中。
4.根据权利要求1所述的方法,其特征在于,所述m3u8索引文件格式符合m3u8的V4格式;所述m3u8索引文件支持用户终端倍速播放所述TS文件;所述m3u8索引文件包含主索引,其中所述主索引指示所述m3u8索引文件的路径。
5.一种文件发送装置,其特征在于,包括:
判断模块,用于获取文件,并判断所述文件的类型;
转码模块,用于若所述文件为传输流TS文件,将所述TS文件进行转码操作,得到m3u8索引文件;其中,所述m3u8索引文件的每个分片对应所述TS文件的一个片段;
发送模块,用于根据用户终端文件请求的类型,向所述用户终端发送所述TS文件,所述发送模块包括:
判断单元,用于接收所述用户终端的文件请求,并判断所述文件请求的类型;
第一发送单元,用于在所述文件请求的类型为渐进式下载HPD请求时,向所述用户终端发送所述TS文件;或者,
第二发送单元,用于在所述文件请求的类型为实时流媒体协议HLS请求时,向所述用户终端发送所述m3u8索引文件以及所述m3u8索引文件对应的TS文件的片段。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
第一存储模块,用于在根据用户终端文件请求的类型,向所述用户终端发送所述TS文件之前,将所述TS文件和所述m3u8索引文件存储于内容分发网络系统CDN的文件存储系统中。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
第二存储模块,用于在获取文件,并判断所述文件的类型之前,将所述文件存储于内容分发网络系统CDN的文件存储系统中;
第三存储模块,用于在将所述TS文件进行转码操作,得到m3u8索引文件之后,将所述m3u8索引文件存储于CDN的文件存储系统中。
8.根据权利要求5所述的装置,其特征在于,所述m3u8索引文件格式符合m3u8的V4格式;所述m3u8索引文件支持用户终端倍速播放所述TS文件;所述m3u8索引文件包含主索引,其中所述主索引指示所述m3u8索引文件的路径。
CN201611264124.6A 2016-12-30 2016-12-30 一种文件发送方法及装置 Active CN108271039B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611264124.6A CN108271039B (zh) 2016-12-30 2016-12-30 一种文件发送方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611264124.6A CN108271039B (zh) 2016-12-30 2016-12-30 一种文件发送方法及装置

Publications (2)

Publication Number Publication Date
CN108271039A CN108271039A (zh) 2018-07-10
CN108271039B true CN108271039B (zh) 2021-11-12

Family

ID=62755256

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611264124.6A Active CN108271039B (zh) 2016-12-30 2016-12-30 一种文件发送方法及装置

Country Status (1)

Country Link
CN (1) CN108271039B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109714606A (zh) * 2018-12-29 2019-05-03 深圳市网心科技有限公司 一种hls文件播放方法、系统及电子设备和存储介质
CN112243136B (zh) * 2019-07-16 2023-06-30 中国移动通信集团浙江有限公司 内容播放方法、视频存储方法和设备
CN110531939B (zh) * 2019-09-10 2022-09-02 南京焦点领动云计算技术有限公司 一种视频点播系统磁盘空间优化方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101938483A (zh) * 2010-09-03 2011-01-05 中兴通讯股份有限公司 一种直播内容分发方法和系统
CN103763637A (zh) * 2014-01-21 2014-04-30 北京云视睿博传媒科技有限公司 一种流媒体播出方法及其系统
CN104080011A (zh) * 2014-07-08 2014-10-01 浪潮软件集团有限公司 一种基于hls协议实现时移系统的方法
CN104349178A (zh) * 2014-11-21 2015-02-11 赛特斯信息科技股份有限公司 实现按需实时转码和自适应码率流媒体播放的系统及方法
CN105812833A (zh) * 2016-04-07 2016-07-27 网宿科技股份有限公司 文件处理方法和装置
CN105992022A (zh) * 2015-02-05 2016-10-05 天脉聚源(北京)科技有限公司 一种在线录制下载方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103457907A (zh) * 2012-05-28 2013-12-18 中国移动通信集团公司 一种多媒体内容分发方法、设备及系统
CN103826222A (zh) * 2012-11-16 2014-05-28 中国电信股份有限公司 协同执行任务的方法、系统与用户设备
CN103957469B (zh) * 2014-05-21 2017-09-15 百视通网络电视技术发展有限责任公司 基于实时转封装的互联网视频点播方法及系统
CN105812831B (zh) * 2014-12-31 2020-06-09 中兴通讯股份有限公司 网络节目的录制方法、装置、系统以及播放方法、装置
CN104581228A (zh) * 2015-01-06 2015-04-29 南京爱布谷网络科技有限公司 一种服务多种不同终端的带宽自适应流媒体系统
US11423420B2 (en) * 2015-02-06 2022-08-23 The Nielsen Company (Us), Llc Methods and apparatus to credit media presentations for online media distributions
CN105898352A (zh) * 2015-11-13 2016-08-24 乐视云计算有限公司 基于m3u8的流媒体文件直播方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101938483A (zh) * 2010-09-03 2011-01-05 中兴通讯股份有限公司 一种直播内容分发方法和系统
CN103763637A (zh) * 2014-01-21 2014-04-30 北京云视睿博传媒科技有限公司 一种流媒体播出方法及其系统
CN104080011A (zh) * 2014-07-08 2014-10-01 浪潮软件集团有限公司 一种基于hls协议实现时移系统的方法
CN104349178A (zh) * 2014-11-21 2015-02-11 赛特斯信息科技股份有限公司 实现按需实时转码和自适应码率流媒体播放的系统及方法
CN105992022A (zh) * 2015-02-05 2016-10-05 天脉聚源(北京)科技有限公司 一种在线录制下载方法及系统
CN105812833A (zh) * 2016-04-07 2016-07-27 网宿科技股份有限公司 文件处理方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
自适应流媒体技术在CDN中的应用研究;洪伟,陈戈,梁洁,薛沛林;《现代电信科技》;20120425(第04期);全文 *

Also Published As

Publication number Publication date
CN108271039A (zh) 2018-07-10

Similar Documents

Publication Publication Date Title
US11038938B2 (en) Methods and apparatus for providing alternative content
KR101701182B1 (ko) 청크로 스트리밍된 컨텐츠를 복구하기 위한 방법
US10178148B2 (en) Content supply device, content supply method, program, and content supply system
CN102215116B (zh) 在数字广播系统中提供时间偏移服务的方法、设备及系统
US11627184B2 (en) Methods and systems for dynamic data management
US9578352B2 (en) Multi-format distribution of content
CN102547478B (zh) 基于cdn的流媒体触发式切片点播系统和方法
EP2779658A2 (en) Segmented content delivery
US20110119724A1 (en) Proxy Functionality
CN108063769B (zh) 一种内容服务的实现方法、装置及内容分发网络节点
EP2773078B1 (en) Method, system and devices for multimedia content delivery using adaptive streaming
US20180338168A1 (en) Splicing in adaptive bit rate (abr) video streams
US11765421B2 (en) Client based storage of remote element resolutions
KR101705898B1 (ko) 디지털 방송 시스템에서 타임시프트 서비스 제공 방법 및 시스템
CN105577645A (zh) 基于代理的hls客户端装置及其实现方法
WO2011119505A1 (en) Media convergence platform
CN108271039B (zh) 一种文件发送方法及装置
US9665646B1 (en) Method and system for providing bit rate adaptaion to video files having metadata
US10178203B1 (en) Methods and systems for adaptively directing client requests to device specific resource locators
US20220279225A1 (en) Video transcoding method and apparatus
KR101283791B1 (ko) 동영상 파일의 분할을 통한 고속 인코딩 시스템과 인코딩 방법
KR102024642B1 (ko) 라이브 스트리밍 서버 장치 및 이의 운용 방법
WO2016082806A1 (zh) 视频处理方法及装置
US20210117472A1 (en) Validation of documents against specfications for delivery of creatives on a video delivery system
CN106936808B (zh) Http流媒体传输方法及装置

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