CN109286820B - 基于分布式存储***的流媒体点播方法及*** - Google Patents

基于分布式存储***的流媒体点播方法及*** Download PDF

Info

Publication number
CN109286820B
CN109286820B CN201811440535.5A CN201811440535A CN109286820B CN 109286820 B CN109286820 B CN 109286820B CN 201811440535 A CN201811440535 A CN 201811440535A CN 109286820 B CN109286820 B CN 109286820B
Authority
CN
China
Prior art keywords
file
bucket
description information
plug
flow
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
CN201811440535.5A
Other languages
English (en)
Other versions
CN109286820A (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.)
Huayun data holding group Co., Ltd
Original Assignee
Wuxi Huayun Data Technology Service 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 Wuxi Huayun Data Technology Service Co Ltd filed Critical Wuxi Huayun Data Technology Service Co Ltd
Priority to CN201811440535.5A priority Critical patent/CN109286820B/zh
Publication of CN109286820A publication Critical patent/CN109286820A/zh
Application granted granted Critical
Publication of CN109286820B publication Critical patent/CN109286820B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2181Source of audio or video content, e.g. local disk arrays comprising remotely distributed storage units, e.g. when movies are replicated over a plurality of video 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/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/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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26291Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for providing content or additional data updates, e.g. updating software modules, stored at the client
    • 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
    • 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
    • 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/85406Content authoring involving a specific file format, e.g. MP4 format

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了一种基于分布式存储***的流媒体点播方法及***,该基于分布式存储***的流媒体点播***包括:运行于客户端中的推流点播工具、流媒体网关、流媒体服务器、数据库、分布式存储***以及对象存储网关。通过本发明的技术方案,用户在推流时通过设定分片播放长度,将用户推送的RTMP协议媒体流转码切分为HLS协议的TS文件,从而无需在流媒体播放过程中对点播素材重新转码封装,确保用户能够复用推流所产生的TS文件并快速生成M3U8文件或者直接复用在先生成的M3U8文件,以最终从指定存储桶下载与点播素材所对应的TS文件,并直接向用户进行展示,从而显著地降低了流媒体在客户端播放的等待时间,提高了流媒体播放的流畅度。

Description

基于分布式存储***的流媒体点播方法及***
技术领域
本发明涉及媒体点播技术领域,尤其涉及一种基于分布式存储的流媒体点播方法及基于该方法的一种基于分布式存储***的流媒体点播***。
背景技术
流媒体是采用流式传输的方式在因特网播放的媒体格式。实现流式传输的方式包括:顺序流式传输和实时流式传输。顺序流式传输基于HTTP协议渐进下载协议;实时流式传输基于RSTP(Real–time Streaming Transport Protocol)/RTP(Real-time TransportProtocol)的实时流媒体协议。目前主流的技术方案是HTTP协议渐进下载协议,其典型代表是苹果公司的HLS(HTTP Live Streaming,HTTP自适应实时传输流)。
HLS最初是苹果公司针对其iPhone、iPod、iTouch和iPad等移动设备而开发的流媒体协议,后来在桌面QuickTime播放器中也得到了应用。HLS允许内容提供者通过普通Web服务器向上述客户端提供接近实时的音视频流媒体服务,包括直播和点播。HLS支持将同一节目编码为不同码率的多个替换流,客户端软件可以根据网络带宽的变化在这些不同码率的替换流之间进行智能切换。HLS只需要根据列表文件中的时间轴找出对应的TS片段下载即可,不需要range request(即,HTTP范围请求),对代理服务器的要求小很多。所有代理服务器都支持小文件的高效缓存。
通常的,一个视频文件会被分割为多个TS文件,每个TS文件通过URI指示其位置。HLS协议通过一个用UTF-8文本编码的播放列表索引每个TS文件的位置,客户端按照播放列表顺序播放视频片段。随着H.264、4K、5K标准的视频文件普及,拆分所形成的TS文件的数量会急剧增加。
申请人检索后发现,公开号CN104602035A的中国发明专利公开了“一种流媒体点播方法和流媒体点播***”,其采用的技术方案如下:当流媒体服务器集群中的任一流媒体服务器接收到来自终端的流媒体点播请求时,将流媒体点播请求发送至分布式存储装置;分布式存储装置从分布式存储服务器集群中选择出目标存储服务器,并将流媒体点播请求发送至目标存储服务器;目标存储服务器根据流媒体点播请求中的索引号获取目标数据,并将目标数据发送至任一流媒体服务器;任一流媒体服务器根据预设的流媒体协议对目标数据进行预设处理操作,并将处理后得到的流化数据发布至终端。
该现有技术存在的缺陷为:(1)索引号统计表的生成需要耗费时间、空间;(2)路由选择导致点播等待时间变长,容易成为点播瓶颈;(3)点播过程仍然需要等待流化处理后才能够播放,从而导致影响点播体验。同时,在现有技术中,在点播时如果数据缓存中不存在TS文件,就会由转码集群临时对点播素材文件进行转码生成TS文件。因此TS文件会占用数据缓存,并对点播素材所需要占用的存储空间造成了占用,因此无法解决数据本地化存储的问题;反之,如果数据缓存中没有TS文件又会影响客户端的点播效果,这对于客户端的用户在拖拉播放进度条,并从指定的位置播放视频时造成视频文件播放的卡顿。
有鉴于此,有必要对现有技术中基于分布式存储的流媒体点播***予以改进,以解决上述问题。
发明内容
本发明的目的在于揭示一种基于分布式存储的流媒体点播方法及***,用以解决现有技术中流媒体点播***中转码封装效率相对较低,提高流媒体在客户端播放时的流畅度,并实现点播数据的迅速定位,防止流媒体服务器出现性能瓶颈,以支持用户从任意时间轴为起始点进行播放,以提高流媒体点播时的用户体验。
为实现上述第一个发明目的,本发明首先揭示了一种基于分布式存储***的流媒体点播方法,包括:
S1、在分布式存储***中创建至少一个存储桶,并在指定存储桶中创建流频道,以配置出至少包含由用户设定的分片播放长度的流频道描述信息,并发送至数据库中作持久化存储;
S2、仅在接收到的推流请求通过权限认定及流频道可用性判断后,根据分片播放长度将用户推送的RTMP协议媒体流转码切分为基于HLS协议的TS文件,并在推流结束后生成与本次推流所对应的M3U8文件;
S3、将TS文件与M3U8文件保存至指定存储桶中,生成对应的描述信息并发送至数据库中作持久化存储;
S4、根据所述描述信息自指定存储桶中获取流媒体播放所需的M3U8文件,向所述指定存储桶下载与点播素材所对应的TS文件,并直接向用户进行展示。
作为本发明的进一步改进,所述步骤S1中所创建的存储桶包含至少一个流频道;所述步骤S1中的流频道描述信息还包括流频道名称、指定存储桶名称及流频道状态。
作为本发明的进一步改进,所述步骤S3中的描述信息由TS文件描述信息与M3U8文件描述信息组成;
所述TS文件描述信息或者M3U8文件描述信息由以下参数共同描述:点播素材的开始时间、点播素材的结束时间、文件名、分布式存储***中的逻辑位置。
作为本发明的进一步改进,所述文件名由时间戳和/或字符编码描述,所述字符编码选自***数字、ASCⅡ、Unicode、UTF-8、符号中任意一种或者几种的组合。
作为本发明的进一步改进,所述分布式存储***选自兼容S3协议的分布式存储***或者基于Swift协议的分布式存储***。
作为本发明的进一步改进,所述步骤S2执行转码切分开始前和/或转码切分结束后还包括:对流频道状态进行更新。
作为本发明的进一步改进,所述步骤S4还包括:判断数据库中是否存在与点播素材所对应的M3U8文件;
若是,则直接通过指定存储桶下载与点播素材所对应的TS文件,并直接向用户进行展示;
若否,则根据拉流请求所关联的描述信息在数据库中匹配出与该拉流请求所对应的TS文件描述信息,根据所述TS文件描述信息生成点播素材所对应的M3U8文件并保存至指定存储桶中,同时生成对应的M3U8文件描述信息,并发送至数据库中作持久化存储,以根据保存至指定存储桶中的点播素材所对应的M3U8文件从指定存储桶中下载与所述点播素材所对应的TS文件,并直接向用户进行展示。
作为本发明的进一步改进,所述步骤S1中在指定存储桶中创建流频道后,还包括:用户使用推流点播工具配置推流地址、用户名及密码;其中,所述分片播放长度由用户在推流点播工具中设定。
同时,基于上述发明,本申请还揭示了一种基于分布式存储***的流媒体点播***,包括:运行于客户端中的推流点播工具、流媒体网关、流媒体服务器、数据库、分布式存储***以及对象存储网关;
客户端向分布式存储***发起创建至少一个存储桶的请求,在指定存储桶中创建流频道,以配置出至少包含由用户设定的分片播放长度的流频道描述信息,并发送至数据库中作持久化存储;仅在流媒体服务器接收到推流请求并通过所述流媒体服务器执行权限认定及流频道可用性判断后,根据所述分片播放长度将用户推送的RTMP协议媒体流转码切分为HLS协议的TS文件,并在推流结束后生成与本次推流所对应的M3U8文件;
流媒体服务器将TS文件与M3U8文件通过所述对象存储网关保存至指定存储桶中,并由流媒体服务器生成对应的描述信息以通过流媒体网关发送至数据库中作持久化存储;客户端根据所述描述信息自指定存储桶中获取流媒体播放地址,向所述指定存储桶下载与点播素材所对应的TS文件,并直接向用户进行展示。
作为本发明的进一步改进,所述在指定存储桶中创建流频道的操作由用户通过推流点播工具执行。
作为本发明的进一步改进,所述存储桶包含至少一个流频道;所述流频道描述信息还包括流频道名称、指定存储桶名称及流频道状态。
作为本发明的进一步改进,所述描述信息由TS文件描述信息与M3U8文件描述信息组成;
所述TS文件描述信息或者M3U8文件描述信息由以下参数共同描述:点播素材的开始时间、点播素材的结束时间、文件名以及分布式存储***中的逻辑位置。
作为本发明的进一步改进,所述文件名由时间戳和/或字符编码描述,所述字符编码选自***数字、ASCⅡ、Unicode、UTF-8、符号中任意一种或者几种的组合;
所述分布式存储***选自兼容S3协议的分布式存储***或者基于Swift协议的分布式存储***。
作为本发明的进一步改进,在流媒体网关与两个以上的指定存储桶之间建立索引关系,以将TS文件与M3U8文件通过所述对象存储网关保存至两个以上的指定存储桶中,并将流频道与指定存储桶之间的映射关系保存至数据库中。
与现有技术相比,本发明的有益效果是:在发明所揭示的一种基于分布式存储的流媒体点播方法及***中,用户在推流时通过设定分片播放长度,将用户推送的RTMP协议媒体流转码切分为HLS协议的TS文件,无需在流媒体播放(拉流)过程中对点播素材进行转码封装,并确保用户能够复用推流所产生的TS文件并快速生成M3U8文件或者直接复用在先生成的M3U8文件,以最终从指定存储桶下载与点播素材所对应的TS文件,并直接向用户进行展示,从而显著地减少了流媒体在客户端进行播放的等待时间,提高了流媒体播放的流畅度;同时,在推流阶段中,可将点播素材保存至分布式存储***中的存储桶中,从而在拉流时使得用户通过客户端能够直接访问存储桶,实现了支持大规模数据分发,有效避免了流媒体服务器出现性能瓶颈,从而提高了用户的点播体验。
附图说明
图1为本发明基于分布式存储***的流媒体点播方法的流程图;
图2为本发明基于分布式存储***在推流时的流程时序图;
图3为本发明基于分布式存储***在拉流时的流程时序图;
图4为本发明基于分布式存储***的流媒体点播***的实例图;
图5为本发明一种分布式存储***的流媒体点播***的在一种变形例中当分布式存储***中的一个存储桶的容量无法满足多个分片播放长度时将多个TS文件与M3U8文件保存至多个指定存储桶的实例图。
具体实施方式
下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
“推流”(Push Stream)是把采集阶段封包好的内容传输到流媒体服务器(例如Nginx服务器)的过程。推流传输内容包括两部分:M3U8文件(一种描述文件)及TS文件。TS文件中的视频必须是H264格式编码,音频必须是AAC格式或MP3格式编码。“拉流”(PullStream)是指流媒体服务器已有直播内容,用指定地址进行拉取的过程,并最终在客户端1中进行播放的过程。在本申请中,该客户端1可被配置为平板电脑、手机、桌面型电脑或者其他具有I/O功能的计算装置,且均设置显示器,以最终对点播素材的展示。同时,在本申请中,术语“点播素材”与“流媒体”具等同含义。术语“以上”通常包含本数。术语“点播素材”是“流媒体”的下位概念。术语“RTMP”,是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。支持该协议的软件包括Adobe Media Server/Ultrant Media Server/red5等。
接下来,申请人对基于本发明的几种具体实现方式作范例性阐述。
实施例一:
参图1至图3并配合参照图4所示,本实施例公开了一种基于分布式存储***的流媒体点播方法的具体实施方式。
在本实施例中,该基于分布式存储***的流媒体点播方法,并包括以下步骤S1至步骤S4。
步骤S1、在分布式存储***6中创建至少一个存储桶(即图4中的存储桶601~存储桶60i,其中,参数i为大于或者等于二的正整数),并在指定存储桶(在本实施例中,指定存储桶选定为存储桶601)中创建流频道(roomchannel),以配置出至少包含由用户8设定的分片播放长度的流频道描述信息,并发送至数据库5中作持久化存储;
步骤S2、仅在接收到的推流请求通过权限认定及流频道可用性判断后,根据分片播放长度将用户8推送的RTMP协议媒体流转码切分为基于HLS协议的TS文件,并在推流结束后生成与本次推流所对应的M3U8文件;
步骤S3、将TS文件与M3U8文件保存至指定存储桶中,生成对应的描述信息并发送至数据库5中作持久化存储;
步骤S4、根据所述描述信息自指定存储桶601中获取流媒体播放所需的M3U8文件,向所述指定存储桶601下载与点播素材所对应的TS文件,并直接向用户8进行展示。
具体的,步骤S1中所创建的存储桶(Bucket)包含至少一个流频道。步骤S1中的流频道描述信息还包括流频道名称(room channel)、指定存储桶名称(hotel bucket)及流频道状态(enable),当然该流频道描述信息亦可以由分片播放长度、流频道名称、指定存储桶名称及流频道状态共同描述。步骤S3中的描述信息由TS文件描述信息与M3U8文件描述信息组成;其中,TS文件描述信息由以下参数共同描述:点播素材的开始时间、点播素材的结束时间、文件名、在分布式存储***6中的逻辑位置,其中,前述的逻辑位置是指定存储桶或者其他的存储桶在分布式存储***6中的逻辑位置,以标记出指定存储桶或者其他的存储桶的逻辑位置,以便于后期对象存储网关7执行保存或者读取TS文件与M3U8文件的操作。
在本实施例中,该文件名由时间戳和/或字符编码描述,字符编码选自***数字、ASCⅡ、Unicode、UTF-8、符号中任意一种或者几种的组合。例如:用户8请求点播的流媒体文件是歌曲《我爱你中国》视频文件,则TS文件描述信息中的文件名可标记为“我爱你中国_1”、“我爱你中国_2”等等,或者标记为“我爱你中国~”、“我爱你中国¥”,或者标记为“我爱你中国”+“97”,其中“97”是ASCⅡ值,或者“我爱你中国_1a”“我爱你中国_1b”等等,或者“我爱你中国20181117141136”(含义:视频文件名为“我爱你中国”2018年11月17日14点11分36秒)。
M3U8文件描述信息由以下参数共同描述:点播素材的开始时间、点播素材的结束时间、点播素材的文件名、在分布式存储***6中的逻辑位置。需要说明的是,在本实施例中,该M3U8文件描述信息可以上述TS文件描述信息相同的描述方式加以描述,在此不再赘述。
在本实施例中,分布式存储***6选自兼容S3协议的分布式存储***或者基于Swift协议的分布式存储***,具体例如兼容S3协议或者基于Swift协议的Ceph存储***、Swift存储***或者Minion存储***。更具体的,在本实施中,该分布式存储***6选定为基于S3协议的Ceph存储***。步骤S2执行转码切分开始前和/或转码切分结束后还包括:对流频道状态进行更新。通过对流频道状态进行更新操作,使得分布式存储***6中的存储桶等待下一个推流请求所产生的TS文件及M3U8文件。其中,上文所涉及的“转码切分”是基于用户8发起的一个或者多个推流请求所导致的一个或者多个在推流阶段(相对于拉流阶段而言)所执行的转码的数据封装操作。
尤其的,为了实现复用由前一个用户8发起的推流请求而导致的推流所产生的TS文件并快速生成M3U8文件或者直接复用在先生成的M3U8文件的技术效果或者在已经执行过流媒体点播的分布式存储***中复用在先生成的M3U8文件,在本实施例中,在步骤S4还包括:判断数据库5中是否存在与点播素材所对应的M3U8文件;
若是,则直接通过指定存储桶601调用与点播素材所对应的TS文件,并直接向用户8进行展示;
若否,则根据拉流请求所关联的描述信息在数据库5中匹配出与该拉流请求所对应的TS文件描述信息,根据所述TS文件描述信息生成点播素材对应的M3U8文件并保存至指定存储桶601中,同时生成对应的M3U8文件描述信息(其进一步具体为根据上述“根据所述TS文件描述信息生成点播素材对应的M3U8文件”的描述信息),并发送至数据库5中作持久化存储,以根据保存至指定存储桶601中的点播素材所对应的M3U8文件从指定存储桶601中下载与所述点播素材所对应的TS文件,并直接向用户8在客户端1中进行展示。
同时,在本实施例中,步骤S1中在指定存储桶601中创建流频道后,还包括:用户8使用推流点播工具2配置推流地址、用户名及密码;其中,分片播放长度由用户8在推流点播工具2中设定,推流点播工具2为OBS(Open Broadcaster Software,一种互联网流媒体直播内容输入作软件)或者FFMPEG。OBS支持OS X,Windows,Linux操作***,并适用于多种直播场景,满足大部分直播行为或者点播行为的操作需求。FFMPEG是一种用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。在本实施例中,推流点播工具2选为OBS摄像头工具。
需要说明的是,在本实施例中,推流点播工具2与客户端1在物理上可以作为一个整体,但彼此在逻辑上相互独立;同时,推流点播工具2与客户端1在物理上也可以是分离的两个物理体,于此场景中,该推流点播工具2具体被配置为OBS摄像头工具。同时,为了解决单个存储桶无法满足推流阶段及拉流阶段中所产生的TS分片数据,在本实施例中,还可以在流媒体网关3与两个以上的指定存储桶之间建立索引关系,以索引表的形式保存至流媒体网关3中,以将TS文件与M3U8文件通过所述对象存储网关7保存至两个以上的指定存储桶中(参图5中的存储桶601与存储桶602,当然该存储桶601与存储桶602也是指定存储桶),并将流频道与指定存储桶601及指定存储桶602之间的映射关系保存至数据库5中。具体的,该索引表可以被配置为轻量级文件,例如JSON格式的轻量级文件、XML格式的轻量级文件、TXT格式的轻量级文件,并进一步优选为JSON格式的轻量级文件。
接下来,申请人结合图2与图3,对本实施例所揭示的基于分布式存储***的流媒体点播方法所涉及的推流与拉流两个过程中进行进一步的展开叙述。
参图2所示,推流阶段过程具体如下步骤1)~步骤14)所示。
步骤1)用户8通过推流点播工具2提供的创建存储桶接口,向对象存储网关7发送消息创建存储桶bucket。
步骤2)对象存储网关7接收到创建存储桶的请求后,在分布式存储***6中创建存储桶bucket。在本实施例中,申请人以存储桶601为范例作示范性说明,并在后文中将存储桶601的作用等同于指定存储桶601,但需要说明的是,在分布式存储***6中的用于保存TS文件、保存M3U8文件的指定存储桶的数量并不局限于一个,其可以根据点播素材的时长、点播素材的画质、点播素材的视频格式(例如:H.264、4K格式、3K格式、2K格式、高清格式)而进行划定;同时,在分布式存储***6中的多个存储桶的容量可以相等,也可以不相等,并优选为相等,从而更好的体现分布式存储***6在视频流就近上传的架构优势。
步骤3)用户8通过推流点播工具2提供的在指定存储桶601中创建流频道接口,向流媒体网关3发送存储桶名称(hotelbucket)、流频道名称(roomchannel)、流频道状态(enable)、分片可播放长度(5s)等信息创建流频道roomchannel,流媒体网关3接收到在指定存储桶601中创建流频道请求后,创建流频道信息包括以下内容:频道名称、存储桶名称、频道状态、分片可播放长度等,默认分片可播放长度为5秒。
步骤4)流媒体网关3将创建流频道信息(频道名称、存储桶名称、频道状态、分片可播放长度等)发送至数据库5进行持久化存储。
步骤5)用户8使用推流点播工具2获取推流地址(即URL)。
步骤6)推流点播工具2向流媒体网关3发送请求获取推流地址。
步骤7)流媒体网关3返回推流地址(rtmp://172.17.101.121:8001/hls)给推流点播工具2。
步骤8)推流点播工具2返回给用户8推流地址(rtmp://172.17.101.121:8001/hls)。
步骤9)用户8在推流点播工具2(OBS摄像头工具)配置推流地址(rtmp://172.17.101.121:8001/hls)、用户名(hotelbucket)、密码(roomchannel),然后推流至流媒体服务器4。
步骤10)用户8使用推流点播工具2(例如OBS摄像头工具)推流至流媒体服务器4。
步骤11)流媒体服务器4接收到推流请求后,向流媒体网关3发送请求,对本次推流请求进行鉴权、检查流频道状态、获取分片可播放长度。流媒体网关3会根据用户名(hotelbucket)、密码(roomchannel)查询数据库5中是否存在对应的流频道信息;如果存在对应的流频道信息,并且流频道的状态为可用状态(即enable),那么允许本次推流,返回给流媒体服务器4该流频道的分片可播放长度。
步骤12)鉴权通过并且流频道状态可用,流媒体服务器4根据分片可播放长度,将用户8推送的RTMP协议媒体流转码切分为HLS协议的TS文件。其中,术语“媒体流”是指:基于RTMP协议进行传输的音视频数据流。在推流结束后,会生成本次推流所对应的M3U8文件。在推流结束后,流媒体服务器4将此次推流所对应的TS文件及M3U8文件,并发送给对象存储网关7,并进一步存储至指定存储桶601中,并如下所示:
(http://172.16.111.131:8001/hotelbucket/roomchannel/)。
推流结束后,流媒体服务器4会将生成的TS文件描述信息与M3U8文件描述信息,并将TS文件描述信息与M3U8文件描述信息发送给流媒体网关3。
TS文件描述信息包括:点播素材的开始时间、点播素材的结束时间、在分布式存储***6的存储位置(即存储位置)、文件名。M3U8文件描述信息包括:点播素材的开始时间、点播素材的结束时间、文件名、在分布式存储***6的存储位置。例如,某次推流所对应的点播素材的视频流时长2分钟,分片可播放时长为5秒,那么通过步骤12)可转码生成24个TS文件、1个描述视频流的M3U8文件,并将24个TS文件及1个描述视频流的M3U8文件保存至指定存储桶601中,以待下一次因在下一次推流请求所导致的M3U8文件被复用。
TS文件描述信息如下所示:
(0,5,roomchannel-1.ts,
http://172.16.111.131:8001/hotelbucket/roomchannel/roomchannel-0.ts)
(5,10,roomchannel-2.ts,
http://172.16.111.131:8001/hotelbucket/roomchannel/roomchannel-1.ts)
………………………………………………………………………………
(110,120,roomchannel-24.ts,
http://172.16.111.131:8001/hotelbucket/roomchannel/roomchannel-23.ts)。
M3U8文件描述信息如下:
(0,120,roomchannel-1.m3u8,
http://172.16.111.131:8001/hotelbucket/roomchannel/roomchannel-1.m3u8)。
步骤14)流媒体网关3接收到流媒体服务器4发送的TS文件描述信息与M3U8文件描述信息,流媒体网关3将TS文件描述信息与M3U8文件描述信息持久化存储到数据库5中。
参图3所示,拉流阶段过程具体如下步骤1)~步骤17)所示。
步骤1)用户8通过推流点播工具2,例如提供的统一API接口,发送存储桶名称、流频道名称等信息,获取存储桶601中流频道内视频流的开始时间与结束时间信息接口。
步骤2)推流点播工具2向流媒体网关3发送指定存储桶名称、流频道名称等信息,获取流频道内视频流开始时间与结束时间信息(即点播素材的开始时间与点播素材的结束时间)。
步骤3)流媒体网关3接收获取存储桶601中流频道内视频流开始时间与结束时间信息的请求后,根据指定存储桶名称、流频道名称等信息,向数据库5发送查询请求。
步骤4)数据库5获取流频道内视频流开始时间与结束时间信息返回给流媒体网关3。
步骤5)流媒体网关3返回给推流点播工具2流频道内视频流开始时间与结束时间。
步骤6)推流点播工具2返回给用户8流频道内视频流开始时间与结束时间。例如,hotel bucket存储桶的room channel频道内的视频流长度为2分钟,那么开始时间是0秒、结束时间是120秒。
步骤7)用户8根据获取的存储桶601中流频道内点播素材的开始时间与点播素材的结束时间信息,使用推流点播工具2向流媒体网关3发送存储桶名称、流频道名称、点播素材的开始时间、点播素材的结束时间以获取点播的M3U8地址,其中“M3U8地址”是M3U8文件在分布式存储***6中的存储地址,申请人范例性地示出了一个“M3U8地址”,具体如下所示:
http://172.16.111.131:8001/hotelbucket/roomchannel/vod-roomchannel-1.m3u8;其中,“172.16.111.131”是点播素材的URL,“8001”是对象存储网关7运行在“172.16.111.131”设备的端口号,“vod-roomchannel-1”某次点播所对应的M3U8文件的文件名。
例如,获取的hotel bucket存储桶601的room channel频道内的视频流开始时间是0s、结束时间是120秒,那么点播素材的开始时间与点播素材的结束时间应该在0秒到120秒范围内,某次点播请求的指定存储桶名称hotelbucket、流频道名称room channel、点播素材的开始时间是49秒、点播素材的结束时间是1分37秒。
步骤8)推流点播工具2向流媒体网关3发送点播请求,点播请求中有存储桶名称、流频道名称、点播开始时间、点播结束时间。在本步骤中,所谓的点播请求与拉流阶段中的拉流请求具有等同含义。
步骤9)流媒体网关3接收到获取点播地址请求后,根据指定存储桶名称、流频道名称、点播素材的开始时间、点播素材的结束时间向数据库5发送查询请求。
步骤10)数据库5返回M3U8文件描述信息与TS文件描述信息。
如果本次请求的时间存在某个M3U8文件对应的点播素材的开始时间与点播素材的结束时间内,则转至执行步骤13)。
如果本次请求的时间在不存在任何M3U8文件对应的点播素材的开始时间与点播素材的结束时间内,则转至执行步骤11。
步骤11)如果点播请求的时间在不存在任何M3U8文件对应的点播素材的开始时间与点播素材的结束时间内,那么根据点播时间对应的TS文件描述信息以及TS文件的数量,以M3U8文件规则填入到TS文件中生成本次点播的M3U8文件。将生成的本次点播的M3U8文件发送给对象存储网关7,并最终存储到分布式存储***6中。
例如,某次点播请求的存储桶名称hotelbucket、流频道名称roomchannel、点播素材的开始时间是32秒、点播素材的结束时间是1分47秒。推流时是按照5秒的分片可播放长度切分的,那么开始时间是在30秒~35秒的TS文件对应的时间片内,结束时间是在1分45秒~1分50秒的TS文件对应的时间片内,如果不存在某个M3U8文件对应的开始时间是30秒、结束时间是1分50秒,那么本次点播所请求的M3U8文件需要生成。本次点播对应的TS文件是:30秒~35秒的TS文件、35秒~40秒的TS文件、……、1分45秒~1分50秒的TS文件等16个TS文件,根据这些TS文件描述信息以及TS文件的数量,以M3U8文件规则填入到文件中,以生成本次点播素材所对应的M3U8文件。
步骤12)流媒体网关3将生成的点播M3U8文件描述信息持久化存储到数据库5中。
步骤13)执行判断数据库5中是否存在与点播素材所对应的M3U8文件的步骤;若是,则直接通过指定存储桶601下载与点播素材所对应的TS文件,并直接向用户8进行展示。
若否,则根据拉流请求所关联的描述信息在数据库5中匹配出与该拉流请求所对应的TS文件描述信息,根据所述TS文件描述信息生成点播素材所对应的M3U8文件并保存至指定存储桶601中,同时生成对应的M3U8文件描述信息,并发送至数据库3中作持久化存储,以根据保存至指定存储桶601中的点播素材所对应的M3U8文件从指定存储桶601中下载与所述点播素材所对应的TS文件,并直接向用户8进行展示。
具体的,如果本次请求的时间存储在某个M3U8文件对应的开始时间与结束时间内,那么将该M3U8文件就是点播请求的M3U8文件。可复用该M3U8文件,将其返回给推流点播工具2。例如,某次点播请求的存储桶名称hotelbucket、流频道名称roomchannel、点播素材的开始时间是49秒、点播素材的结束时间是1分37秒。推流时是按照5秒的分片可播放长度切分的,那么开始时间是在45秒~50秒的TS文件对应的时间片内,结束时间是在1分35秒~1分40秒的TS文件对应的时间片内,如果存在某个M3U8文件对应的开始时间是45秒、结束时间是1分40秒,那么该M3U8文件就是本次点播所请求的M3U8文件。
将点播对应的M3U8文件的地址返回给推流点播工具2。例如,点播对应的M3U8文件在分布式存储***6中的地址是:
http://172.16.111.131:8001/hotelbucket/roomchannel/test-1.m3u8,那么将该地址返回给推流点播工具2。
步骤14)推流点播工具2将获取到的M3U8文件地址发送给用户8。
步骤15)用户在推流点播工具2配置点播M3U8文件在分布式存储***6中的地址(即存储地址)。
步骤16)推流点播工具2直接访问对象存储网关7,下载M3U8文件内所列的TS文件。
步骤17)对象存储网关7返回TS文件至推流点播工具2,推流点播工具2播放TS文件对应的视频片段或者在在客户端1中播放TS文件对应的视频片段。
在本实施例中,引入推流转码存储机制,用户8可以在推流时根据设定的分片播放时间将RTMP协议媒体流转码为TS文件,无需点播时再进行转码。用户发送点播请求时可以复用TS文件快速生成点播的M3U8文件或者直接复用之前点播的M3U8文件,减少点播等待时间短,从而提高点播体验。同时,基于分布式存储***选自兼容S3协议的分布式存储***6或者基于Swift协议的分布式存储***6作为点播素材的临时存放空间,推流时将数据存储至分布式存储***6,解决了数据本地化的问题,从而使得用户8点播时直接访问分布式存储***6下载TS文件,有效地支持大规模数据分发。
实施例二:
本实施例公开了一种基于分布式存储***的流媒体点播***的具体实施方式。本实施例所揭示的基于分布式存储***的流媒体点播***基于实施例一所揭示的基于分布式存储***的流媒体点播方法而实现。
参图4所示,并配合参照图2及图3,在本实施例中,公开了一种基于分布式存储的流媒体点播***,其包括:
运行于客户端1中的推流点播工具2、流媒体网关3、流媒体服务器4、数据库5、分布式存储***6以及对象存储网关7。客户端1向分布式存储***6发起创建至少一个存储桶(即图4中的存储桶601至存储桶60i)的请求,用户8通过推流点播工具2在指定存储桶601中创建流频道,以配置出至少包含由用户8设定的分片播放长度的流频道描述信息,并发送至数据库5中作持久化存储。
在本实施例中,仅在流媒体网关3接收到的推流后并通过所述流媒体服务器4执行权限认定及流频道可用性判断后,根据分片播放长度将用户推送的RTMP协议媒体流转码切分为HLS协议的TS文件,并在推流结束后生成与本次推流所对应的M3U8文件。流媒体服务器4将TS文件与M3U8文件通过所述对象存储网关7保存至指定存储桶601中,并由流媒体服务器4生成对应的描述信息,以通过流媒体网关3发送至数据库5中作持久化存储。其中,客户端1根据所述描述信息自指定存储桶601中获取流媒体播放地址,向所述指定存储桶601调用与点播素材所对应的TS文件,并直接向用户8进行展示。
在本实施例中,存储桶601~存储桶60i包含至少一个流频道。流频道描述信息还包括:流频道名称、指定存储桶601名称及流频道状态。描述信息由TS文件描述信息与M3U8文件描述信息组成;其中,TS文件描述信息由以下参数共同描述:点播素材的开始时间、点播素材的结束时间、文件名(其含义参实施例一所示)、在分布式存储***6中的逻辑位置;M3U8文件描述信息由以下参数共同描述:点播素材的开始时间、点播素材的结束时间、文件名(其含义参实施例一所示)、在分布式存储***6中的逻辑位置。
进一步的,在本实施例中,该分布式存储***6选自分布式存储***选自兼容S3协议的分布式存储***6或者基于Swift协议的分布式存储***6,并具体为基于Swift协议的Minion存储***。
实施例三:
结合参照图5所示,本实施例揭示了本发明一种基于分布式存储***的流媒体点播***的一种变形实施例。
基于S3协议的分布式存储***6,使得分布式存储***6中的单个存储桶或者指定存储桶的容量可达5TB,以尽量满足用户8对待点播的流媒体文件过大的需求,但若因为分片播放长度不合理或者点播素材的文件超过分布式存储***6中任意一个存储桶的容量后,则可基于本实施例三中揭示的一种分布式存储***的流媒体点播***实现。为此,在本实施例中,在流媒体网关3与两个以上的指定存储桶之间建立索引关系,以将TS文件与M3U8文件通过所述对象存储网关7保存至两个以上的指定存储桶中,并将流频道与指定存储桶之间的映射关系保存至数据库5中。
在推流切片的时候如果流媒体服务器4发现存储桶无法支持TS文件或者M3U8文件的持久化存储,会通知流媒体网关3。流媒体网关会创建新的存储桶给流媒体服务器4去存储切片(即,通过在推流阶段中通过转码切分所形成的至少一个TS文件)这些的,同时会将频道与存储桶的映射关系保存在数据库5中。
参图5所示,若用户8切分的粒度较小,并将点播素材切分为十个TS文件,切成了1、2、3、4、5~10等十个TS文件,存储桶601(第一个指定存储桶)中保存TS-1~TS-5,存储桶602(第二个指定存储桶)中保存TS-5~TS-10。流媒体网关3会分别于存储桶601及存储桶602建立索引关系。该索引关系可被配置为XML格式的轻量级文件,并保存至数据库5中。
本实施例与实施例二中相同部分的技术特征请参实施例二所示,在此不再赘述。本实施例所揭示的一种基于分布式存储***的流媒体点播***相对于实施例二而言,能够满足极端情况下的对流媒体点播请求的需求。具体而言,通常而言分布式存储***6中的存储桶的数量在一定时间内是固定的,且每个存储桶的容量也是既定的。因此,当用户8发起的点播请求文件特别巨大的点播素材,例如长达十几个或者几天的高清视频文件时,当分布式存储***6中不存在一次性存储所有TS文件的场景时,则可将根据用户8所设定的分片播放长度,将巨大的流媒体文件转码切分所形成的多个TS文件平均的或者不平均地持久化至指定存储桶中,从而提高了对流媒体点播的适应性,降低了实现了支持大规模数据分发,有效避免了流媒体服务器出现性能瓶颈,从而提高了用户的点播体验。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

Claims (14)

1.一种基于分布式存储***的流媒体点播方法,其特征在于,包括:
S1、在分布式存储***中创建至少一个存储桶,并在指定存储桶中创建流频道,以配置出至少包含由用户设定的分片播放长度的流频道描述信息,并发送至数据库中作持久化存储;
S2、仅在接收到的推流请求通过权限认定及流频道可用性判断后,根据分片播放长度将用户推送的RTMP协议媒体流转码切分为基于HLS协议的TS文件,并在推流结束后生成与本次推流所对应的M3U8文件;
S3、将TS文件与M3U8文件保存至指定存储桶中,生成对应的描述信息并发送至数据库中作持久化存储;
S4、根据所述描述信息自指定存储桶中获取流媒体播放所需的M3U8文件,向所述指定存储桶下载与点播素材所对应的TS文件,并直接向用户进行展示。
2.根据权利要求1所述的方法,其特征在于,所述步骤S1中所创建的存储桶包含至少一个流频道;所述步骤S1中的流频道描述信息还包括流频道名称、指定存储桶名称及流频道状态。
3.根据权利要求1所述的方法,其特征在于,所述步骤S3中的描述信息由TS文件描述信息与M3U8文件描述信息组成;
所述TS文件描述信息或者M3U8文件描述信息由以下参数共同描述:点播素材的开始时间、点播素材的结束时间、文件名、分布式存储***中的逻辑位置。
4.根据权利要求3所述的方法,其特征在于,所述文件名由时间戳和/或字符编码描述,所述字符编码选自***数字、ASCⅡ、Unicode、UTF-8、符号中任意一种或者几种的组合。
5.根据权利要求3所述的方法,其特征在于,所述分布式存储***选自兼容S3协议的分布式存储***或者基于Swift协议的分布式存储***。
6.根据权利要求2所述的方法,其特征在于,所述步骤S2执行转码切分开始前和/或转码切分结束后还包括:对流频道状态进行更新。
7.根据权利要求1至6中任意一项所述的方法,其特征在于,所述步骤S4还包括:判断数据库中是否存在与点播素材所对应的M3U8文件;
若是,则直接通过指定存储桶下载与点播素材所对应的TS文件,并直接向用户进行展示;
若否,则根据拉流请求所关联的描述信息在数据库中匹配出与该拉流请求所对应的TS文件描述信息,根据所述TS文件描述信息生成点播素材所对应的M3U8文件并保存至指定存储桶中,同时生成对应的M3U8文件描述信息,并发送至数据库中作持久化存储,以根据保存至指定存储桶中的点播素材所对应的M3U8文件从指定存储桶中下载与所述点播素材所对应的TS文件,并直接向用户进行展示。
8.根据权利要求7所述的方法,其特征在于,所述步骤S1中在指定存储桶中创建流频道后,还包括:用户使用推流点播工具配置推流地址、用户名及密码;其中,所述分片播放长度由用户在推流点播工具中设定。
9.一种基于分布式存储***的流媒体点播***,其特征在于,包括:运行于客户端(1)中的推流点播工具(2)、流媒体网关(3)、流媒体服务器(4)、数据库(5)、分布式存储***(6)以及对象存储网关(7);
客户端(1)向分布式存储***(6)发起创建至少一个存储桶的请求,在指定存储桶中创建流频道,以配置出至少包含由用户设定的分片播放长度的流频道描述信息,并发送至数据库(5)中作持久化存储;仅在流媒体服务器(4)接收到推流请求并通过所述流媒体服务器(4)执行权限认定及流频道可用性判断后,根据所述分片播放长度将用户推送的RTMP协议媒体流转码切分为HLS协议的TS文件,并在推流结束后生成与本次推流所对应的M3U8文件;
流媒体服务器(4)将TS文件与M3U8文件通过所述对象存储网关(7)保存至指定存储桶中,并由流媒体服务器(4)生成对应的描述信息以通过流媒体网关(3)发送至数据库(5)中作持久化存储;客户端(1)根据所述描述信息自指定存储桶中获取流媒体播放地址,向所述指定存储桶下载与点播素材所对应的TS文件,并直接向用户进行展示。
10.根据权利要求9所述的***,其特征在于,所述在指定存储桶中创建流频道的操作由用户通过推流点播工具(2)执行。
11.根据权利要求9所述的***,其特征在于,所述存储桶包含至少一个流频道;所述流频道描述信息还包括流频道名称、指定存储桶名称及流频道状态。
12.根据权利要求9所述的***,其特征在于,所述描述信息由TS文件描述信息与M3U8文件描述信息组成;
所述TS文件描述信息或者M3U8文件描述信息由以下参数共同描述:点播素材的开始时间、点播素材的结束时间、文件名以及分布式存储***中的逻辑位置。
13.根据权利要求12所述的***,其特征在于,所述文件名由时间戳和/或字符编码描述,所述字符编码选自***数字、ASCⅡ、Unicode、UTF-8、符号中任意一种或者几种的组合;
所述分布式存储***选自兼容S3协议的分布式存储***或者基于Swift协议的分布式存储***。
14.根据权利要求9所述的***,其特征在于,在流媒体网关(3)与两个以上的指定存储桶之间建立索引关系,以将TS文件与M3U8文件通过所述对象存储网关(7)保存至两个以上的指定存储桶中,并将流频道与指定存储桶之间的映射关系保存至数据库(5)中。
CN201811440535.5A 2018-11-29 2018-11-29 基于分布式存储***的流媒体点播方法及*** Active CN109286820B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811440535.5A CN109286820B (zh) 2018-11-29 2018-11-29 基于分布式存储***的流媒体点播方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811440535.5A CN109286820B (zh) 2018-11-29 2018-11-29 基于分布式存储***的流媒体点播方法及***

Publications (2)

Publication Number Publication Date
CN109286820A CN109286820A (zh) 2019-01-29
CN109286820B true CN109286820B (zh) 2019-08-06

Family

ID=65173470

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811440535.5A Active CN109286820B (zh) 2018-11-29 2018-11-29 基于分布式存储***的流媒体点播方法及***

Country Status (1)

Country Link
CN (1) CN109286820B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110430438A (zh) * 2019-07-29 2019-11-08 天闻数媒科技(湖南)有限公司 一种直播流切片的方法
CN110493657A (zh) * 2019-08-22 2019-11-22 兰州启源信息技术服务有限公司 OnStream智能在线流媒体平台***
CN111191094A (zh) * 2019-12-31 2020-05-22 深圳创新科技术有限公司 一种ceph存储对象搜索方法、装置及存储设备
CN111565168B (zh) * 2020-03-02 2023-05-23 杭州云毅网络科技有限公司 一种对象存储方法、***、存储介质及电子设备
CN113364724B (zh) * 2020-03-05 2022-12-30 中国电信股份有限公司 直播分发方法、***、装置及计算机可读存储介质
CN111629283B (zh) * 2020-05-14 2023-04-07 武汉群宇科技有限公司 一种多流媒体网关服务***及方法
CN111866603B (zh) * 2020-07-21 2022-04-26 广州市保伦电子有限公司 一种基于srs的视频文件生产方法、后台服务器和***
CN111741338A (zh) * 2020-07-22 2020-10-02 深圳力维智联技术有限公司 Hls流媒体播放方法、***、设备及存储介质
CN115623282B (zh) * 2022-12-02 2023-04-07 杭州海康威视数字技术股份有限公司 加密视频的定点播放方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104469391A (zh) * 2014-11-21 2015-03-25 深圳市天威视讯股份有限公司 一种基于云平台的数字电视内容分发***及方法
CN106791889A (zh) * 2016-12-27 2017-05-31 北京奇艺世纪科技有限公司 一种视频处理方法及***、分布式对象存储***
CN108391176A (zh) * 2018-04-09 2018-08-10 四川百视通科技有限公司 一种rtmp协议到hls协议的实时转换***及其工作方法
CN108429922A (zh) * 2018-01-03 2018-08-21 平安科技(深圳)有限公司 视频文件处理方法、应用服务器及计算机可读存储介质
CN108513162A (zh) * 2017-02-23 2018-09-07 中兴通讯股份有限公司 直播回看的缓存、播放方法及***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104469391A (zh) * 2014-11-21 2015-03-25 深圳市天威视讯股份有限公司 一种基于云平台的数字电视内容分发***及方法
CN106791889A (zh) * 2016-12-27 2017-05-31 北京奇艺世纪科技有限公司 一种视频处理方法及***、分布式对象存储***
CN108513162A (zh) * 2017-02-23 2018-09-07 中兴通讯股份有限公司 直播回看的缓存、播放方法及***
CN108429922A (zh) * 2018-01-03 2018-08-21 平安科技(深圳)有限公司 视频文件处理方法、应用服务器及计算机可读存储介质
CN108391176A (zh) * 2018-04-09 2018-08-10 四川百视通科技有限公司 一种rtmp协议到hls协议的实时转换***及其工作方法

Also Published As

Publication number Publication date
CN109286820A (zh) 2019-01-29

Similar Documents

Publication Publication Date Title
CN109286820B (zh) 基于分布式存储***的流媒体点播方法及***
CN106170095B (zh) 内容分发网络***和方法
US9871844B2 (en) Method and apparatus for transmitting and receiving adaptive streaming mechanism-based content
US10009659B2 (en) System and method for hybrid push-based streaming
Stockhammer Dynamic adaptive streaming over HTTP-- standards and design principles
CN107743708B (zh) 经由dash来参与abr流传送会话的方法、装置和节点
US9271021B2 (en) Delivery of streaming media content
US20140129618A1 (en) Method of streaming multimedia data over a network
US20140247887A1 (en) Just-in-time (jit) encoding for streaming media content
US20140297881A1 (en) Downloading and adaptive streaming of multimedia content to a device with cache assist
TWI717744B (zh) 用於更新媒體呈現資料的方法和裝置
US20130198342A1 (en) Media format negotiation mechanism delivering client device media capabilities to a server
US20150172353A1 (en) Method and apparatus for interacting with a media presentation description that describes a summary media presentation and an original media presentation
CN103813185B (zh) 一种分段节目快速分发的方法、服务器及客户端
CN113767639B (zh) 接收媒体数据的方法、装置和非易失性计算机可读介质
JP6338709B2 (ja) ストリーミング装置とその方法、これを用いたストリーミングサービスシステム及びコンピュータ読み取り可能な記録媒体(Streaming apparatus and method thereof,streaming service system using the streaming apparatus and computer readable recording medium)
CN107534793B (zh) 接收装置、传输装置以及数据处理方法
US20210021655A1 (en) System and method for streaming music on mobile devices
CN113661692B (zh) 接收媒体数据的方法、装置和非易失性计算机可读存储介质
AU2011233856B2 (en) Method and apparatus for providing timeshift service in digital broadcasting system and system thereof
Van Deursen et al. On media delivery protocols in the web
WO2021017958A1 (zh) 视频转码方法及装置
JP6597604B2 (ja) 受信装置、送信装置、データ通信方法、およびデータ処理方法
CN106303587A (zh) 一种下载音视频数据的方法及装置
Badhe et al. MOBILE VIDEO STREAMING WITH HLS

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
CB03 Change of inventor or designer information

Inventor after: Xu Guangbin

Inventor after: Yang Chaohui

Inventor after: Xie Yiming

Inventor after: Li Zhongwen

Inventor after: Tan Ruizhong

Inventor after: Pu Tianhui

Inventor after: Hao Junqing

Inventor before: Xu Guangbin

Inventor before: Yang Chaohui

Inventor before: Xie Yiming

Inventor before: Hao Junqing

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 214000, science and software park, Binhu District, Jiangsu, Wuxi 6

Patentee after: Huayun data holding group Co., Ltd

Address before: 214000, science and software park, Binhu District, Jiangsu, Wuxi 6

Patentee before: WUXI CHINAC DATA TECHNICAL SERVICE Co.,Ltd.

CP01 Change in the name or title of a patent holder