CN113709412B - 直播流处理方法、装置和系统、计算机可读存储介质 - Google Patents
直播流处理方法、装置和系统、计算机可读存储介质 Download PDFInfo
- Publication number
- CN113709412B CN113709412B CN202010436889.3A CN202010436889A CN113709412B CN 113709412 B CN113709412 B CN 113709412B CN 202010436889 A CN202010436889 A CN 202010436889A CN 113709412 B CN113709412 B CN 113709412B
- Authority
- CN
- China
- Prior art keywords
- audio
- time length
- slice
- video
- video data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-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/47202—End-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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/643—Communication protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本公开涉及一种直播流处理方法、装置和系统、计算机可读存储介质。该直播流处理方法包括:接收终端推流器推送的音视频数据流;根据视频数据的时间戳计算视频时长,根据音频数据的时间戳计算音频时长;根据视频时长和音频时长确定音视频数据流的当前切片时长;判断当前切片时长是否大于预定切片时长;在当前切片时长大于预定切片时长的情况下,对音视频数据流进行切片处理。本公开通过同时考虑音频视频时间戳进行切片时长计算,可以防止音频或者视频中断丢失引起的切片失控。
Description
技术领域
本公开涉及视频监控领域,特别涉及一种直播流处理方法、装置和系统、计算机可读存储介质。
背景技术
随着我国宽带带宽提升,以及第五代移动通信的普及,显著增加了数据传输带宽和速率,能够快速传输高质量的音视频,所以基于互联网、物联网的视频监控在国内也进入高速发展时期,通过监控摄像头或者智能手机连接网络即可进行实时的视频监控。并且随着近年智慧城市的发展,以及汽车互联网,物联网的发展,视频监控的需求在各个领域进一步扩展,越来越多地被用在安全防范、远程教学、社区服务等领域,而且随着云计算的发展,云服务的使用规模也越来越大。
发明内容
发明人通过研究发现:如何将传统的专网视频监控和云服务结合起来,实现通过云服务对监控视频的实时切片存储与历史录像查询播放是一个亟待解决的问题。
鉴于以上技术问题中的至少一项,本公开提供了一种直播流处理方法、装置和系统、计算机可读存储介质,可以通过同时考虑音频视频时间戳进行切片时长计算,防止音频或者视频中断丢失引起的切片失控。
根据本公开的一个方面,提供一种直播流处理方法,包括:
接收终端推流器推送的音视频数据流;
根据视频数据的时间戳计算视频时长,根据音频数据的时间戳计算音频时长;
根据视频时长和音频时长确定音视频数据流的当前切片时长;
判断当前切片时长是否大于预定切片时长;
在当前切片时长大于预定切片时长的情况下,对音视频数据流进行切片处理。
在本公开的一些实施例中,所述根据视频时长和音频时长确定音视频数据流的当前切片时长包括:
将视频时长和音频时长中的最大时长作为音视频数据流的当前切片时长。
在本公开的一些实施例中,所述直播流处理方法还包括:
设定对象存储云的生命周期文件夹,将相同生命周期的切片文件存储在所述生命周期文件夹中,并指示对象存储云自动删除过期的切片文件,或将到期的切片文件转储为低频存储类型文件或归档存储类型文件。
在本公开的一些实施例中,所述直播流处理方法还包括:
在接收到终端播放器发起的点播请求的情况下,根据点播起始时间和点播的终端推流器标识,从对象存储云获取切片文件对应的共享链接和时长信息;
将切片文件名、切片文件对应的共享链接和时长信息添加到播放列表;
将所述播放列表发送给终端播放器,并指示终端播放器点播时根据播放列表从对象存储云拉取切片文件进行播放。
在本公开的一些实施例中,所述从对象存储云获取切片文件对应的共享链接和时长信息包括:
根据点播起始时间和点播的终端推流器标识,从对象存储云查询对应的切片文件名;
从对象存储云获取所述切片文件名对应切片的共享链接;
从所述切片文件名提取出对应切片的时长信息。
根据本公开的另一方面,提供一种媒体服务器,包括:
数据接收模块,用于接收终端推流器推送的音视频数据流;
时长计算模块,用于根据视频数据的时间戳计算视频时长,根据音频数据的时间戳计算音频时长;
切片时长确定模块,用于根据视频时长和音频时长确定音视频数据流的当前切片时长;
时长比较模块,用于判断当前切片时长是否大于预定切片时长;
切片处理模块,用于在当前切片时长大于预定切片时长的情况下,对音视频数据流进行切片处理。
在本公开的一些实施例中,所述媒体服务器用于执行实现如上述任一实施例所述的直播流处理方法的操作。
根据本公开的另一方面,提供一种媒体服务器,包括:
存储器,用于存储指令;
处理器,用于执行所述指令,使得所述媒体服务器执行实现如上述任一实施例所述的直播流处理方法的操作。
根据本公开的另一方面,提供一种对象存储云,包括:
文件夹设定模块,用于设置生命周期文件夹;
文件接收模块,用于接收媒体服务器上传的切片文件;
文件存储模块,用于将相同生命周期的切片文件存储在所述生命周期文件夹中。
在本公开的一些实施例中,所述对象存储云还包括:
文件处理模块,用于按照切片文件的生命周期,自动删除过期的切片文件,或将到期的切片文件转储为低频存储类型文件或归档存储类型文件。
在本公开的一些实施例中,所述对象存储云还包括:
查询处理模块,用于在接收到媒体服务器的查询请求的情况下,根据终端播放器的点播请求中的点播起始时间和点播的终端推流器标识,向媒体服务器提供满足条件的切片文件的名称和共享链接。
根据本公开的另一方面,提供一种直播流处理系统,包括如上述任一实施例所述的媒体服务器。
在本公开的一些实施例中,所述直播流处理系统还包括如上述任一实施例所述的对象存储云。
在本公开的一些实施例中,所述直播流处理系统还包括终端推流器、终端播放器和负载均衡服务器中的至少一项。
根据本公开的另一方面,提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行时实现如上述任一实施例所述的直播流处理方法。
本公开通过同时考虑音频视频时间戳进行切片时长计算,可以防止音频或者视频中断丢失引起的切片失控。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开直播流处理方法一些实施例的示意图。
图2为本公开直播流处理方法另一些实施例的示意图。
图3为本公开一些实施例中整个文件目录的示意图。
图4为本公开媒体服务器一些实施例的示意图。
图5为本公开媒体服务器另一些实施例的示意图。
图6为本公开对象存储云一些实施例的示意图。。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1为本公开直播流处理方法一些实施例的示意图。优选的,本实施例可由本公开直播流处理系统或本公开媒体服务器执行。该方法可以包括步骤11-步骤15,其中:
步骤11,媒体服务器接收终端推流器推送的音视频数据流。
在本公开的一些实施例中,所述终端推流器可以包括监控摄像头,手机等监控终端。
在本公开的一些实施例中,步骤11之前,所述直播流处理方法还可以包括:终端推流器通过负载均衡服务器向媒体服务器发起直播推送音视频流请求,被允许后开始推送音视频流到媒体服务器。
步骤12,媒体服务器根据视频数据的时间戳计算视频时长,根据音频数据的时间戳计算音频时长。
在本公开的一些实施例中,步骤12可以包括步骤121和步骤122,其中:
步骤121,对于视频数据,如果当前时间戳比之前时间戳小,说明时间戳进行了重置,则更新之前时间戳为当前时间戳继续;如果当前时间戳比之前时间戳大,则进行运算得到视频时长。
步骤122,对于音频,如果当前时间戳比之前时间戳小,说明时间戳进行了重置,则更新之前时间戳为当前时间戳继续,如果当前时间戳比之前时间戳大,则进行运算得到音频时长。
步骤13,媒体服务器根据视频时长和音频时长确定音视频数据流的当前切片时长。
在本公开的一些实施例中,步骤13可以包括:将视频时长和音频时长中的最大时长作为音视频数据流的当前切片时长。
步骤14,媒体服务器判断当前切片时长是否大于预定切片时长。
步骤15,媒体服务器在当前切片时长大于预定切片时长的情况下,对音视频数据流进行切片处理。
在本公开的一些实施例中,步骤15中,所述对音视频数据流进行切片处理的步骤可以包括:根据HLS(HTTP Live Streaming,网络直播流)协议对音视频数据流进行TS切片。HLS是一个基于HTTP(Hyper Text Transfer Protocol,超文本传输协议)的流媒体网络传输协议。HLS的工作原理是把整个流分成一个个小的基于HTTP的TS(Transport Stream,传送流)文件来下载播放。在开始一个流媒体会话时,客户端会下载一个包含元数据的extended M3U(m3u8)playlist(播放列表)文件,用于寻找可用的媒体流TS文件。
在本公开的一些实施例中,所述直播流处理方法还可以包括:在当前切片时长不大于预定切片时长的情况下,对当前音视频数据流不进行处理,等到接收到下一段音视频数据流后,将当前音视频数据流和下一段音视频数据流作为整体,执行步骤12-步骤14。
基于本公开上述实施例提供的直播流处理方法,可以同时考虑音频视频时间戳进行切片时长计算,通过选取最大值实现切片时间控制,防止音频或者视频中断丢失引起的切片失控。
图2为本公开直播流处理方法另一些实施例的示意图。优选的,本实施例可由本公开直播流处理系统执行。该方法可以包括步骤21-步骤25,其中:
步骤21,终端推流器向媒体服务器推送音视频数据流;媒体服务器将接收的音视频数据进行切片处理,生成TS切片。
在本公开的一些实施例中,步骤21可以包括步骤211-步骤213,其中:
步骤211,终端推流器通过RTMP(Real Time Messaging Protocol,实时消息传输协议)或者RTSP(Real Time Streaming Protocol,实时流传输协议)发起推流请求,经过负载均衡服务器分配到媒体服务器进行处理。
步骤212,媒体服务器接受推流请求开始收流,终端推流器向媒体服务器发送音视频数据。
步骤213,媒体服务器将接收的音视频数据进行切片处理,生成TS切片。
在本公开的一些实施例中,步骤213可以包括步骤a和步骤b,其中:
步骤a,根据当前音视频流时间戳更新当前切片时长参数duration(初始值为0)。
在本公开的一些实施例中,步骤a可以包括步骤a1-步骤a3,其中:
步骤a1,对于视频,如果当前时间戳video_dts比之前时间戳video_pre_dts小,说明时间戳进行了重置,则更新之前时间戳为当前时间戳继续;如果当前时间戳video_dts比之前时间戳video_pre_dts大,则进行运算得到视频时长video_duration。
如果video_dts<video_pre_dts,说明时间戳重置,则记录视频前一个时间戳video_pre_dts=video_dts。
如果video_dts>video_pre_dts,则:
video_duration=video_duration+video_dts-video_pre_dts
步骤a2,对于音频,如果当前时间戳audio_dts比之前时间戳audio_pre_dts小,说明时间戳进行了重置,则更新之前时间戳为当前时间戳继续;如果audio_dts比之前时间戳audio_pre_dts大,则进行运算得到音频时长audio_duration。
如果audio_dts<audio_pre_dts,说明时间戳重置,则记录音频前一个时间戳audio_pre_dts=audio_dts;
如果audio_dts>audio_pre_dts,则:
audio_duration=audio_duration+audio_dts-audio_pre_dts;
步骤a3,获取当前切片时长(初始值为0),可解决只有音频或者只有视频,以及音频或者视频发生丢失的情况。
在本公开的一些实施例中,步骤a3可以包括:将视频时长audio_duration和音频时长video_duration中的最大时长作为音视频数据流的当前切片时长duration。
duration=audio_duration>video_duration?audio_duration:video_duration)。
步骤b,根据切片时长duration决定是否进行切片。
在本公开的一些实施例中,步骤b可以包括:在得到的切片时长与设定的切片时长做比较,如果大于等于设定时长,则进行切片。
步骤22,媒体服务器将收到的媒体流生成切片文件,上传到对象存储云。
在本公开的一些实施例中,对象存储云可以实现为对象云存储服务器。
在本公开的一些实施例中,对象存储可以是一种存储海量文件的分布式存储服务,具有高扩展性、低成本、可靠安全等优点。通过API(Application ProgrammingInterface,应用程序接口)、SDK(Software Development Kit,软件开发工具包)和工具等多样化方式,用户可简单、快速地接入对象存储,进行多格式文件的上传、下载和管理,实现海量数据存储和管理,全面优化存储成本。
在本公开的一些实施例中,步骤22可以包括:设定对象存储云的生命周期文件夹,将相同生命周期的切片文件存储在所述生命周期文件夹中,并指示对象存储云自动删除过期的切片文件,或将到期的切片文件转储为低频存储类型文件或归档存储类型文件。
在本公开的一些实施例中,HLS切片生命周期设定可以包括:对象存储技术支持设置生命周期(Lifecycle)规则,自动删除过期的文件和碎片,或将到期的文件转储为低频或归档存储类型,从而节省存储费用。本公开上述实施例可以通过在对象存储中的存储控制bucket下设置文件夹来实现切片文件生命周期的管理,文件夹之下存储具有相同生命周期的各个直播监控通道的切片。
在本公开的一些实施例中,步骤22可以包括:媒体服务器接将收到的媒体流生成切片文件之后,会在对象存储云的bucket下创建文件夹,文件夹名称为生命周期lifecycleDays参数,即如果lifecycleDays为30天,则会在bucket下创建名称为“30”的文件夹,然后会在这个文件夹下创建以直播频道live channel名称命名的目录,生成的ts文件会存储在这个目录下,切片文件名称举例为:
livetest-20170904171453144-20000.ts。
图3为本公开一些实施例中整个文件目录的示意图。如图3所示,对于相同生命周期的视频流就可以同意通过对象存储的生命周期特性来实现。
步骤23,终端播放器(例如监控播放器,手机等)通过负载均衡服务器向媒体服务器发起观看点播请求,其中,所述点播请求可包括点播起始时间和点播的终端推流器标识(例如摄像头标识)。
在本公开的一些实施例中,步骤23可以包括:终端播放器发起针对某一终端推流器(例如摄像头1)的点播播放请求,负载均衡服务器将此播放请求交给媒体服务器进行处理。
步骤24,媒体服务器根据点播起始时间和点播的终端推流器标识,从对象存储云获取切片文件对应的共享链接和时长信息;将切片文件名、切片文件对应的共享链接和时长信息添加到播放列表;将所述播放列表发送给终端播放器。
在本公开的一些实施例中,步骤24可以包括:媒体服务器根据点播的起止时间和点播的终端推流器标识,通过对象存储云的查询接口,查询符合条件的切片文件;对于满足条件的切片文件,通过对象存储的共享链接功能生成共享链接;通过切片文件名中的切片时长信息以及切片的共享链接,插入到m3u8文件中,并发送给客户端(终端播放器)。
在本公开的一些实施例中,步骤24可以包括:媒体服务器通过对象存储云查询接口获得符合起止时间和点播终端推流器标识的切片文件;并通过对象存储云生成切片对象共享链接接口获得切片的共享链接;将共享链接URL,和从文件名中提取切片的时长信息,写入到m3u8的EXTINF项后边,形成了一个完整的可点播的m3u8文件实现了点播功能。下面为本公开一些实施例中m3u8文件的示意:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-ALLOW-CACHE:YES
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-TARGETDURATION:10
#EXTINF:10.24,no desc
http://beijing.xxyunapi.cn/bucket-test/1010/channel_test/channel_test-20190731102447495-10240.ts?Signature=bygAIdVIrh9zjfGTuwn5w%2BLqmzg%3D&AWSAccessKeyId=fba468b32935cc36785a&Expires=1609322052
步骤25,客户端(终端播放器)收到m3u8文件,并从对象存储云的共享链接下载相应切片并播放,完成HLS点播。
本公开上述实施例可以利用对象存储高扩展性、低成本、可靠安全等优点,以及HLS协议通用性强的优点,通过媒体服务器、对象存储云和HLS协议实现了监控直播的切片、存储和点播功能。
本公开上述实施例同时考虑音频视频时间戳进行切片时长计算,通过选取最大值实现切片时间控制,可以防止音频或者视频中断丢失引起的切片失控。
本公开上述实施例通过对象存储生命周期设置,自动删除过期的切片文件,或将到期的文件转储为低频或归档存储类型,从而节省存储费用。
本公开上述实施例可以通过对象存储共享链接生成M3U8索引文件,点播时直接从对象存储拉取切片文件进行播放。
针对视频监控的切片、存储、点播等问题,结合HLS协议和对象存储,本公开上述实施例提出了一种基于云存储以及音视频时间戳进行直播流切片与点播的方法。
本公开上述实施例属于视频监控领域,涉及计算机技术领域。本公开上述实施例可以将视频监控中的音视频流切片和对象云存储服务结合起来,实现通过HLS协议以及对象云存储服务对监控视频的点播观看。
图2还给出了本公开直播流处理系统一些实施例的示意图。如图2所示,本公开直播流处理系统可以包括媒体服务器100、终端推流器200和负载均衡服务器300,其中:
终端推流器200,用于通过负载均衡服务器300向媒体服务器发起直播推送音视频流请求,被允许后开始推送音视频流到媒体服务器100。
在本公开的一些实施例中,所述终端推流器200可为监控摄像头,手机等监控终端。
媒体服务器100,用于接收终端推流器200推送的音视频数据流;根据视频数据的时间戳计算视频时长,根据音频数据的时间戳计算音频时长;根据视频时长和音频时长确定音视频数据流的当前切片时长;判断当前切片时长是否大于预定切片时长;在当前切片时长大于预定切片时长的情况下,对音视频数据流进行切片处理。
基于本公开上述实施例提供的直播流处理系统,可以通过对音视频时间戳同时进行切片时长计算,并通过取最大值来控制切片时长,防止音频或者视频中断引起的切片失控。
在本公开的一些实施例中,如图2所示,所述直播流处理系统还可以包括对象存储云400,其中:
对象存储云400,用于设置生命周期文件夹;接收媒体服务器100上传的切片文件;将相同生命周期的切片文件存储在所述生命周期文件夹中。
在本公开的一些实施例中,对象存储云400还可以用于按照切片文件的生命周期,自动删除过期的切片文件,或将到期的切片文件转储为低频存储类型文件或归档存储类型文件。
在本公开的一些实施例中,对象存储云400可以实现为对象存储云服务器。
本公开上述实施例的对象存储云可以通过对象存储生命周期设置以及切片存储目录设计,自动删除过期的切片文件,或将到期的文件转储为低频或归档存储类型,从而节省存储费用。
在本公开的一些实施例中,如图2所示,所述直播流处理系统还可以包括终端播放器500,其中:
终端播放器500,用于通过负载均衡服务器向媒体服务器发起观看点播请求,其中,所述点播请求可包括点播起始时间和点播的终端推流器标识(例如摄像头标识)。
在本公开的一些实施例中,终端播放器500可以实现为监控播放器,手机等播放设备。
媒体服务器100,用于根据点播起始时间和点播的终端推流器标识,从对象存储云获取切片文件对应的共享链接和时长信息;将切片文件名、切片文件对应的共享链接和时长信息添加到播放列表;将所述播放列表发送给终端播放器500。
终端播放器500还可以用于用于收到m3u8文件,并从对象存储云400的共享链接下载相应切片并播放,完成HLS点播。
本公开上述实施例可以通过对象存储共享链接实现点播功能,通过切片文件名记录时长信息实现查询按时间功能以及m3u8所需要的时长信息记录。
本公开上述实施例可以通过媒体服务器和对象存储云实现了监控直播的切片、存储和点播功能。
图4为本公开媒体服务器一些实施例的示意图。如图4所示,本公开媒体服务器(例如图2实施例的媒体服务器100)可以包括数据接收模块110、时长计算模块120、切片时长确定模块130、时长比较模块140和切片处理模块150,其中:
数据接收模块110,用于接收终端推流器200推送的音视频数据流。
时长计算模块120,用于根据视频数据的时间戳计算视频时长,根据音频数据的时间戳计算音频时长。
切片时长确定模块130,用于根据视频时长和音频时长确定音视频数据流的当前切片时长。
在本公开的一些实施例中,切片时长确定模块130可以用于将视频时长和音频时长中的最大时长作为音视频数据流的当前切片时长。
时长比较模块140,用于判断当前切片时长是否大于预定切片时长。
切片处理模块150,用于在当前切片时长大于预定切片时长的情况下,对音视频数据流进行切片处理。
在本公开的一些实施例中,所述媒体服务器100用于执行实现如上述任一实施例(例如图1或图2实施例)所述的直播流处理方法的操作。
基于本公开上述实施例提供的媒体服务器,可以通过对音视频时间戳同时进行切片时长计算,并通过取最大值来控制切片时长,防止音频或者视频中断引起的切片失控。
在本公开的一些实施例中,如图4所示,本公开媒体服务器还可以包括生命周期设定模块160,其中:
生命周期设定模块160,用于设定对象存储云400的生命周期文件夹,将相同生命周期的切片文件存储在所述生命周期文件夹中,并指示对象存储云400自动删除过期的切片文件,或将到期的切片文件转储为低频存储类型文件或归档存储类型文件。
本公开上述实施例的对象存储云可以通过对象存储生命周期设置以及切片存储目录设计,自动删除过期的切片文件,或将到期的文件转储为低频或归档存储类型,从而节省存储费用。
在本公开的一些实施例中,如图4所示,本公开媒体服务器还可以包括查询模块170、信息添加模块180和列表发送模块190,其中:
查询模块170,用于在接收到终端播放器500发起的点播请求的情况下,根据点播起始时间和点播的终端推流器标识,从对象存储云400获取切片文件对应的共享链接和时长信息。
在本公开的一些实施例中,查询模块170可以根据点播起始时间和点播的终端推流器标识,从对象存储云400查询对应的切片文件名;从对象存储云400获取所述切片文件名对应切片的共享链接;从所述切片文件名提取出对应切片的时长信息。
信息添加模块180,用于将切片文件名、切片文件对应的共享链接和时长信息添加到播放列表。
列表发送模块190,用于将所述播放列表发送给终端播放器500,并指示终端播放器500点播时根据播放列表从对象存储云400拉取切片文件进行播放。
本公开上述实施例可以通过对象存储共享链接实现点播功能,通过切片文件名记录时长信息实现查询按时间功能以及m3u8所需要的时长信息记录。
本公开上述实施例可以通过媒体服务器和对象存储云实现了监控直播的切片、存储和点播功能。
图5为本公开媒体服务器另一些实施例的示意图。如图5所示,本公开媒体服务器(例如图2实施例的媒体服务器100)可以包括存储器101和处理器102,其中:
存储器101,用于存储指令。
处理器102,用于执行所述指令,使得所述媒体服务器100执行实现如上述任一实施例(例如图1或图2实施例)所述的直播流处理方法的操作。
本公开上述实施例可以将视频监控中的音视频流切片和对象云存储服务结合起来,实现通过HLS协议以及对象云存储服务对监控视频的点播观看。
图6为本公开对象存储云一些实施例的示意图。如图6所示,本公开对象存储云(例如图2实施例的对象存储云400)可以包括文件夹设定模块410、文件接收模块420和文件存储模块430,其中:
文件夹设定模块410,用于设置生命周期文件夹。
文件接收模块420,用于接收媒体服务器100上传的切片文件。
文件存储模块430,用于将相同生命周期的切片文件存储在所述生命周期文件夹中。
在本公开的一些实施例中,如图6所示,所述对象存储云还可以包括文件处理模块440,其中:
文件处理模块440,用于按照切片文件的生命周期,自动删除过期的切片文件,或将到期的切片文件转储为低频存储类型文件或归档存储类型文件。
在本公开的一些实施例中,如图6所示,所述对象存储云还可以包括查询处理模块450,其中:
查询处理模块450,用于在接收到媒体服务器100的查询请求的情况下,根据终端播放器500的点播请求中的点播起始时间和点播的终端推流器标识,向媒体服务器100提供满足条件的切片文件的名称和共享链接。
基于本公开上述实施例提供的对象存储云,可以通过对象存储生命周期设置,自动删除过期的切片文件,或将到期的文件转储为低频或归档存储类型,从而节省存储费用。
本公开上述实施例可以通过对象存储共享链接生成M3U8索引文件,点播时直接从对象存储拉取切片文件进行播放。
本公开上述实施例可以利用对象存储高扩展性、低成本、可靠安全等优点,以及HLS协议通用性强的优点,通过媒体服务器、对象存储云和HLS协议实现了监控直播的切片、存储和点播功能。
根据本公开的另一方面,提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行时实现如上述任一实施例(例如图1或图2实施例)所述的直播流处理方法。
基于本公开上述实施例提供的计算机可读存储介质,可以通过对象存储生命周期设置,自动删除过期的切片文件,或将到期的文件转储为低频或归档存储类型,从而节省存储费用。
本公开上述实施例同时考虑音频视频时间戳进行切片时长计算,通过选取最大值实现切片时间控制,可以防止音频或者视频中断丢失引起的切片失控。
本公开上述实施例可以通过对象存储共享链接生成M3U8索引文件,点播时直接从对象存储拉取切片文件进行播放。
本公开上述实施例可以利用对象存储高扩展性、低成本、可靠安全等优点,以及HLS协议通用性强的优点,通过媒体服务器、对象存储云和HLS协议实现了监控直播的切片、存储和点播功能。
在上面所描述的媒体服务器和对象存储云可以实现为用于执行本申请所描述功能的通用处理器、可编程逻辑控制器(PLC)、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意适当组合。
至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指示相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。
Claims (14)
1.一种直播流处理方法,其特征在于,包括:
接收终端推流器推送的音视频数据流;
根据视频数据的解码时间戳计算视频时长,根据音频数据的解码时间戳计算音频时长;
根据视频时长和音频时长确定音视频数据流的当前切片时长;
判断当前切片时长是否大于预定切片时长;
在当前切片时长大于预定切片时长的情况下,对音视频数据流进行切片处理;
其中,所述根据视频数据的解码时间戳计算视频时长包括:根据视频数据的当前解码时间戳和视频数据的之前解码时间戳,确定视频时长;
所述根据音频数据的解码时间戳计算音频时长包括:根据音频数据的当前解码时间戳和音频数据的之前解码时间戳,确定音频时长;
其中,所述根据视频时长和音频时长确定音视频数据流的当前切片时长包括:
将视频时长和音频时长中的最大时长作为音视频数据流的当前切片时长。
2.根据权利要求1所述的直播流处理方法,其特征在于,还包括:
设定对象存储云的生命周期文件夹,将相同生命周期的切片文件存储在所述生命周期文件夹中,并指示对象存储云自动删除过期的切片文件,或将到期的切片文件转储为低频存储类型文件或归档存储类型文件。
3.根据权利要求1或2所述的直播流处理方法,其特征在于,还包括:
在接收到终端播放器发起的点播请求的情况下,根据点播起始时间和点播的终端推流器标识,从对象存储云获取切片文件对应的共享链接和时长信息;
将切片文件名、切片文件对应的共享链接和时长信息添加到播放列表;
将所述播放列表发送给终端播放器,并指示终端播放器点播时根据播放列表从对象存储云拉取切片文件进行播放。
4.根据权利要求3所述的直播流处理方法,其特征在于,所述从对象存储云获取切片文件对应的共享链接和时长信息包括:
根据点播起始时间和点播的终端推流器标识,从对象存储云查询对应的切片文件名;
从对象存储云获取所述切片文件名对应切片的共享链接;
从所述切片文件名提取出对应切片的时长信息。
5.一种媒体服务器,其特征在于,包括:
数据接收模块,用于接收终端推流器推送的音视频数据流;
时长计算模块,用于根据视频数据的时间戳计算视频时长,根据音频数据的时间戳计算音频时长;
切片时长确定模块,用于根据视频时长和音频时长确定音视频数据流的当前切片时长;
时长比较模块,用于判断当前切片时长是否大于预定切片时长;
切片处理模块,用于在当前切片时长大于预定切片时长的情况下,对音视频数据流进行切片处理;
其中,媒体服务器,用于在根据视频数据的解码时间戳计算视频时长的情况下,根据视频数据的当前解码时间戳和视频数据的之前解码时间戳,确定视频时长;在根据音频数据的解码时间戳计算音频时长的情况下,根据音频数据的当前解码时间戳和音频数据的之前解码时间戳,确定音频时长;
其中,切片时长确定模块,用于将视频时长和音频时长中的最大时长作为音视频数据流的当前切片时长。
6.根据权利要求5所述的媒体服务器,其特征在于,所述媒体服务器用于执行实现如权利要求1-4中任一项所述的直播流处理方法的操作。
7.一种媒体服务器,其特征在于,包括:
存储器,用于存储指令;
处理器,用于执行所述指令,使得所述媒体服务器执行实现如权利要求1-4中任一项所述的直播流处理方法的操作。
8.一种对象存储云,其特征在于,包括:
文件夹设定模块,用于设置生命周期文件夹;
文件接收模块,用于接收媒体服务器上传的切片文件,其中,媒体服务器接收终端推流器推送的音视频数据流,根据视频数据的当前解码时间戳和视频数据的之前解码时间戳,确定视频时长,根据音频数据的当前解码时间戳和音频数据的之前解码时间戳,确定音频时长,将视频时长和音频时长中的最大时长作为音视频数据流的当前切片时长,判断当前切片时长是否大于预定切片时长,在当前切片时长大于预定切片时长的情况下,对音视频数据流进行切片处理,并将切片处理后的切片文件上传到对象存储云;
文件存储模块,用于将相同生命周期的切片文件存储在所述生命周期文件夹中。
9.根据权利要求8所述的对象存储云,其特征在于,还包括:
文件处理模块,用于按照切片文件的生命周期,自动删除过期的切片文件,或将到期的切片文件转储为低频存储类型文件或归档存储类型文件。
10.根据权利要求8或9所述的对象存储云,其特征在于,还包括:
查询处理模块,用于在接收到媒体服务器的查询请求的情况下,根据终端播放器的点播请求中的点播起始时间和点播的终端推流器标识,向媒体服务器提供满足条件的切片文件的名称和共享链接。
11.一种直播流处理系统,其特征在于,包括如权利要求5-7中任一项所述的媒体服务器。
12.根据权利要求11所述的直播流处理系统,其特征在于,还包括如权利要求8-10中任一项所述的对象存储云。
13.根据权利要求11或12所述的直播流处理系统,其特征在于,还包括终端推流器、终端播放器和负载均衡服务器中的至少一项。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行时实现如权利要求1-4中任一项所述的直播流处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010436889.3A CN113709412B (zh) | 2020-05-21 | 2020-05-21 | 直播流处理方法、装置和系统、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010436889.3A CN113709412B (zh) | 2020-05-21 | 2020-05-21 | 直播流处理方法、装置和系统、计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113709412A CN113709412A (zh) | 2021-11-26 |
CN113709412B true CN113709412B (zh) | 2023-05-19 |
Family
ID=78646205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010436889.3A Active CN113709412B (zh) | 2020-05-21 | 2020-05-21 | 直播流处理方法、装置和系统、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113709412B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115243077A (zh) * | 2022-07-21 | 2022-10-25 | 平安信托有限责任公司 | 音视频资源点播方法、装置、计算机设备及存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005086362A (ja) * | 2003-09-05 | 2005-03-31 | Matsushita Electric Ind Co Ltd | データ多重化方法、データ送信方法およびデータ受信方法 |
CN101330622A (zh) * | 2008-07-24 | 2008-12-24 | 中兴通讯股份有限公司 | 基于h.264编码的播放系统、方法以及用户设备 |
CN101895750A (zh) * | 2010-07-13 | 2010-11-24 | 上海未来宽带技术及应用工程研究中心有限公司 | 面向机顶盒和pc的实时流媒体服务器及工作方法 |
CN102232298A (zh) * | 2011-04-07 | 2011-11-02 | 华为技术有限公司 | 媒体内容的传输处理方法、装置与系统 |
CN102447893A (zh) * | 2010-09-30 | 2012-05-09 | 北京沃安科技有限公司 | 手机视频实时采集和发布的方法及系统 |
CN102932670A (zh) * | 2012-11-29 | 2013-02-13 | 百视通网络电视技术发展有限责任公司 | 一种流媒体切片方法及系统 |
CN103905922A (zh) * | 2014-03-18 | 2014-07-02 | 深圳市云宙多媒体技术有限公司 | 一种基于http协议的流媒体协议封装方法及装置 |
CN104902311A (zh) * | 2015-05-28 | 2015-09-09 | 青岛海信宽带多媒体技术有限公司 | 一种音视频资源共享的方法、共享网关及系统 |
CN108234433A (zh) * | 2016-12-22 | 2018-06-29 | 华为技术有限公司 | 用于处理视频业务的方法和装置 |
CN109376254A (zh) * | 2018-09-11 | 2019-02-22 | 青岛海信移动通信技术股份有限公司 | 数据流的处理方法、装置、电子设备及可读存储介质 |
CN109729380A (zh) * | 2018-12-24 | 2019-05-07 | 聚好看科技股份有限公司 | 音视频播放方法和设备 |
CN109889919A (zh) * | 2019-03-27 | 2019-06-14 | 深圳市网心科技有限公司 | 一种视频转码方法、装置、系统及介质 |
CN110149518A (zh) * | 2018-02-12 | 2019-08-20 | 腾讯科技(深圳)有限公司 | 媒体数据的处理方法、系统、装置、设备以及存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050052717A (ko) * | 2003-12-01 | 2005-06-07 | 엘지전자 주식회사 | 오디오 원본 보존 트랜스코딩 시스템 및 방법 |
US20130077699A1 (en) * | 2011-09-23 | 2013-03-28 | Prime Image | Methods and systems for control, management and editing of digital audio/video segment duration with remapped time code |
CN103167320B (zh) * | 2011-12-15 | 2016-05-25 | 中国电信股份有限公司 | 音视频同步方法、系统及手机直播客户端 |
CN102821308B (zh) * | 2012-06-04 | 2014-11-05 | 西安交通大学 | 一种多场景流媒体课件录制与直播方法 |
CN102761776B (zh) * | 2012-08-01 | 2015-01-14 | 重庆大学 | 基于SVC的P2PVoD系统视音频同步方法 |
CN105357591B (zh) * | 2015-11-16 | 2018-10-12 | 北京理工大学 | 一种自适应码率视频直播的QoE监控和优化方法 |
CN107231581B (zh) * | 2016-03-25 | 2020-04-28 | 中国电信股份有限公司 | 用于视频播放的方法、系统及流媒体播放控制服务器 |
CN106911941B (zh) * | 2017-03-02 | 2019-08-16 | 上海幻电信息科技有限公司 | 一种自适应视频切片方法 |
CN106961613A (zh) * | 2017-03-30 | 2017-07-18 | 上海七牛信息技术有限公司 | 一种流式实时转码点播方法及系统 |
CN109819345B (zh) * | 2017-11-20 | 2021-08-10 | 网宿科技股份有限公司 | 直播视频的处理、时移方法、视频处理装置及云存储系统 |
CN108391176A (zh) * | 2018-04-09 | 2018-08-10 | 四川百视通科技有限公司 | 一种rtmp协议到hls协议的实时转换系统及其工作方法 |
US11019123B2 (en) * | 2018-06-22 | 2021-05-25 | International Business Machines Corporation | Multi-bitrate component sharding |
-
2020
- 2020-05-21 CN CN202010436889.3A patent/CN113709412B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005086362A (ja) * | 2003-09-05 | 2005-03-31 | Matsushita Electric Ind Co Ltd | データ多重化方法、データ送信方法およびデータ受信方法 |
CN101330622A (zh) * | 2008-07-24 | 2008-12-24 | 中兴通讯股份有限公司 | 基于h.264编码的播放系统、方法以及用户设备 |
CN101895750A (zh) * | 2010-07-13 | 2010-11-24 | 上海未来宽带技术及应用工程研究中心有限公司 | 面向机顶盒和pc的实时流媒体服务器及工作方法 |
CN102447893A (zh) * | 2010-09-30 | 2012-05-09 | 北京沃安科技有限公司 | 手机视频实时采集和发布的方法及系统 |
CN102232298A (zh) * | 2011-04-07 | 2011-11-02 | 华为技术有限公司 | 媒体内容的传输处理方法、装置与系统 |
CN102932670A (zh) * | 2012-11-29 | 2013-02-13 | 百视通网络电视技术发展有限责任公司 | 一种流媒体切片方法及系统 |
CN103905922A (zh) * | 2014-03-18 | 2014-07-02 | 深圳市云宙多媒体技术有限公司 | 一种基于http协议的流媒体协议封装方法及装置 |
CN104902311A (zh) * | 2015-05-28 | 2015-09-09 | 青岛海信宽带多媒体技术有限公司 | 一种音视频资源共享的方法、共享网关及系统 |
CN108234433A (zh) * | 2016-12-22 | 2018-06-29 | 华为技术有限公司 | 用于处理视频业务的方法和装置 |
CN110149518A (zh) * | 2018-02-12 | 2019-08-20 | 腾讯科技(深圳)有限公司 | 媒体数据的处理方法、系统、装置、设备以及存储介质 |
CN109376254A (zh) * | 2018-09-11 | 2019-02-22 | 青岛海信移动通信技术股份有限公司 | 数据流的处理方法、装置、电子设备及可读存储介质 |
CN109729380A (zh) * | 2018-12-24 | 2019-05-07 | 聚好看科技股份有限公司 | 音视频播放方法和设备 |
CN109889919A (zh) * | 2019-03-27 | 2019-06-14 | 深圳市网心科技有限公司 | 一种视频转码方法、装置、系统及介质 |
Non-Patent Citations (3)
Title |
---|
基于RTSP的H.264媒体格式的实时传输及音视频同步;龚锐;陈晓荣;;光学仪器(第03期);全文 * |
新媒体视频开放平台发展现状与关键技术研究;于蓉蓉;张俭;袁潮;田卉;温建伟;杨蕾;黄晓伟;;电信科学(第12期);全文 * |
音视频切片与推流技术在九头鸟FM广播融媒体平台中的应用;王洪杰;刘鹏飞;;有线电视技术(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113709412A (zh) | 2021-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210211482A1 (en) | Hypermedia Apparatus and Method | |
US11350139B2 (en) | Video live broadcast method and apparatus | |
JP5588517B2 (ja) | データセグメントのオプションのブロードキャスト配信によるストリーミング | |
US9392307B2 (en) | Smart pre-load for video-on-demand in an HTTP adaptive streaming environment | |
US9716733B2 (en) | System and method for reusing file portions between different file formats | |
US9529888B2 (en) | System and method for efficiently providing media and associated metadata | |
CN109819345B (zh) | 直播视频的处理、时移方法、视频处理装置及云存储系统 | |
CN103379362B (zh) | 视频点播方法和系统 | |
US20140280784A1 (en) | File Transfer Based Upon Streaming Format | |
EP3471421B1 (en) | Live broadcast video replay method, server, and system | |
CN103002274A (zh) | 一种基于离线下载的移动多媒体实时转码播放系统及方法 | |
KR101743228B1 (ko) | 스트리밍 장치 및 그 방법, 이를 이용한 스트리밍 서비스 시스템 및 컴퓨터로 판독 가능한 기록매체 | |
US20210021655A1 (en) | System and method for streaming music on mobile devices | |
CN112218165B (zh) | 视频播放的控制方法、装置、电子设备及存储介质 | |
CN105812831B (zh) | 网络节目的录制方法、装置、系统以及播放方法、装置 | |
CN113709412B (zh) | 直播流处理方法、装置和系统、计算机可读存储介质 | |
KR101397183B1 (ko) | 스트리밍 서비스에서의 재생 목록 파일 관리 방법 및 그 장치 | |
US10862935B2 (en) | Distribution device and information device | |
EP3461135A1 (fr) | Procédé de gestion du droit d'accès à un contenu numérique | |
FR3005386A1 (fr) | Procede et dispositif de fourniture d’une partie deja diffusee d’un flux multimedia, terminal utilisateur, programme d’ordinateur et medium de stockage correspondants | |
CN113364724B (zh) | 直播分发方法、系统、装置及计算机可读存储介质 | |
JP6009501B2 (ja) | データセグメントのオプションのブロードキャスト配信によるストリーミング | |
CN117278769A (zh) | 直播回放视频生成方法、装置、直播平台、计算机设备及存储介质 | |
CN117596438A (zh) | 一种视频流处理系统及方法 | |
CN104994442A (zh) | 一种传输视频文件的方法及装置 |
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 |