CN111356028A - 流媒体服务实现文件序列点播的方法和装置 - Google Patents
流媒体服务实现文件序列点播的方法和装置 Download PDFInfo
- Publication number
- CN111356028A CN111356028A CN202010181707.2A CN202010181707A CN111356028A CN 111356028 A CN111356028 A CN 111356028A CN 202010181707 A CN202010181707 A CN 202010181707A CN 111356028 A CN111356028 A CN 111356028A
- Authority
- CN
- China
- Prior art keywords
- file
- sequence
- media
- request
- time
- 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
Links
Images
Classifications
-
- 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
- H04N21/6437—Real-time Transport Protocol [RTP]
-
- 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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- 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/85406—Content authoring involving a specific file format, e.g. MP4 format
-
- 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/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N21/8586—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了流媒体服务实现文件序列点播的方法和装置。方法包括首先流媒体服务器收到文件序列的点播请求后,根据文件序列号给文件序列排序,按顺序解析文件,建立虚拟逻辑文件,在虚拟逻辑文件中记录文件序列的每个子文件的数据信息并进行信息整合;使用虚拟逻辑文件获取媒体数据并格式化为媒体协议包发送。本发明实现了一次协议请求完成文件序列的播放,播放时子文件之中间过度平滑无卡顿。
Description
技术领域
本发明属于流媒体技术领域,具体涉及一种流媒体服务实现文件序列点播的方法和装置。
背景技术
随着现代流媒体技术的发展,各个行业对视频数据的保存和使用的需求来越强烈,视频资料的大小也越来越大。这样给视频资料的存储带来一些问题。对达到几十上百G的文件,一般采用的方式是拆分成多个小的文件存储。但是这样给流媒体点播也带来了问题,标准流媒体协议如RTSP一次请求一个文件,对被拆分成文件序列的文件就需要多次请求才能完成一个大文件的点播,严重影响用户体验和工作效率。例如在医院手术室中,使用的手术录像设备中的录像质量一般都很高,单路腔镜信号10分钟的录像大概有1.5G左右。现在市面上的录像设备,一般会在文件大小2G以内进行切分文件,也就是说大概10几分钟就会录制一个MP4视频文件,这样做的好处是防止在录制过程中出现问题,导致前面所有的录制都不可用,另外也防止文件太大不容易存储。一台3个小时左右的手术,单路信号大概会产生20个左右的MP4视频文件,30G左右。当要对这台手术的这路录像点播的时候,标准的流媒体协议单次请求,如rtsp://192.168.2.3:554/vod/xxxxxVideo.MP4,只能针对一个文件请求。如果看完这次手术的腔镜的录像请求20次。这样对于上层应用来说,这样的操作导致文件之间的切换有间隔,用户体验很不好。
发明内容
本发明就是为了解决上述问题,达到单次请求可以播放多个文件并达到无缝切换文件的目的。
为达到本发明的目的,本发明采用技术方案:
一方面提供一种流媒体服务实现文件序列点播的方法,包括以下步骤:
流媒体响应于接收到对文件序列的媒体协议请求,则根据文件簇ID得到文件序列中的文件顺序,根据文件顺序加载各文件并解析每个文件获得文件序列中各参数,生成文件对象,所述对文件序列的媒体协议请求中添加文件序列的唯一文件簇ID以及表示请求是针对文件序列的标识;
根据生成的文件对象建立虚拟逻辑文件;
根据媒体协议请求以及建立的虚拟逻辑文件获取媒体数据并格式化为媒体协议数据包并发送。
进一步地,通过媒体协议请求URL的后缀表示请求是针对文件序列。
进一步地,所述文件对象包含文件序列种每个文件的trackbox列表以及每个trackbox中所嵌套的所有类型的Box、文件的媒体信息、媒体播放时长duration和编码参数,所述编码参数包括编码等级、分辨率、色域、码率、编码格式、帧率和/或位深。
进一步地,创建虚拟逻辑文件的方法包括:
建立每个文件的相对播放时长和文件对象的映射关系;虚拟逻辑文件的时长为每个文件的相对播放时长相加。
再进一步地,建立每个文件的相对播放时长和文件对象的映射关系的具体方法包括以下步骤:
依次将每个文件的映射关系计入映射表,命令如下:
第一个文件:durationMp4Map.put(0,MP4Array[0]),
第二个文件:durationMp4Map.put(rd_1+1,MP4Array[1]),
第n个文件:durationMp4Map.put(rd_1+…+rd_(n-1)+1,MP4Array[n-1]),
其中rd_1是第一个文件的时长,第一文件在虚拟逻辑文件中的相对开始时间是0秒;
rd_2 是第二个文件的时长下,第二个文件在虚拟逻辑文件中的相对开始时间是rd_1+1秒;
rd_(n)是第n个文件的时长,第n个文件在虚拟逻辑文件中的相对开始时间是rd_1+…+rd_(n-1)+1,其中durationMp4Map为映射表,MP4Array为存储文件对象的数组。
再进一步地,格式化为媒体协议数据包之前还包括以下步骤:
在媒体协议请求中获得请求的相对开始时间,在虚拟逻辑文件的映射表中确定请求的文件对象;
遍历虚拟逻辑文件的映射表,比较请求的相对开始时间和文件对象在虚拟逻辑文件中的相对开始时间key;
若请求开始时间大于等于key时,再比较请求开始时间是否小于key和文件对象播放时长之和,如果小于则此文件对象即为请求开始的文件对象;请求的开始文件对象后,要查找文件开始时间在文件对象中的相对时间,就是请求开始时间减去key得到文件对象中的相对时间;计算出在文件对象中的相对时间后,就可以使用此相对时间作为开始时间操作文件对象,开始标准的文件流化过程,完成数据打包。
所述文件对象播放时长表达式为:rd=duration/time scale,其中duration为文件序列中的媒体播放时长,time scale为解析文件获得。
进一步地,虚拟逻辑文件得到标准的媒体协议数据包后,需要将媒体协议数据包的时间戳,从文件对象的相对时间转换成拟逻辑文件的相对时间,表示为:虚拟逻辑文件的相对时间=媒体协议数据包的时间戳 +(key*time scale),其中key为文件对象在虚拟逻辑文件中的相对开始时间,time scale为解析文件获得。
另一方面,本发明提供了一种流媒体服务实现文件序列点播装置,其特征在于,包括:
文件对象生成模块,用于流媒体响应于接收到对文件序列的媒体协议请求,则根据文件簇ID得到文件序列中的文件顺序,根据文件顺序加载各文件并解析每个文件获得文件序列中各参数,生成文件对象,所述对文件序列的媒体协议请求中添加文件序列的唯一文件簇ID以及表示请求是针对文件序列的标识;
虚拟逻辑文件建立模块,用于根据生成的文件对象建立虚拟逻辑文件;
媒体数据包发送模块,用于根据媒体协议请求以及建立的虚拟逻辑文件获取媒体数据并格式化为媒体协议数据包并发送。
有益技术效果:
本发明根据文件序列的唯一文件簇ID即文件序号对文件序列排序,然后按照顺序加载文件信息并生成虚拟逻辑文件;当收到用户请求后,建立虚拟逻辑文件时,要根据每个子文件的信息参数,计算出虚拟逻辑文件的duration、time scale等参数,然后根据文件序号以及每个子文件的sample信息和hint track信息计算装配出虚拟文件的sample信息和流媒体包信息,进而完成虚拟逻辑文件的创建,完成文件序列的流化前准备;当流媒体发送数据时,使用虚拟逻辑文件重计算后的参数生成流媒体数据包(如RTP)。媒体服务可以发送一个媒体请求(如RTSP)完成文件序列的处理,并且支持设置进度、快进等播放控制,因此采用本发明客户端只需要发送一次文件序列的媒体请求,即可完成一个文件序列多个子文件的点播,播放时子文件之中间过度平滑无卡顿;并且点播中可以对文件序列进行暂停、设置进度、快进等操作以及用户播放时实现子文件间的透明跳转。
附图说明
图1为本发明实施例提供的一种流媒体服务实现文件序列点播的方法的流程示意图。
具体实施方式
下面结合附图及实施例对本发明作进一步描述。
参考图1所示,本发明提供了一种流媒体服务实现文件序列点播的方法的具体实施例1实现RTSP协议的流媒体服务,本实施例具体实现MP4文件序列点播。方法包括以下步骤:
步骤1,用户向流媒体服务发送点播请求时,为了区分请求的时多个文件还是单个文件,对请求的URL做特殊定义。本实施例中单个文件的请求遵循标准的RTSP协议,如rtsp://192.168.2.3:554/vod/xxx.MP4,其中xxx表示文件名称。多文件即对文件序列的请求,要在URL中添加特殊标记,如rtsp://192.168.2.3:554/vod/xxx.JSS,其中xxx表示文件序列的唯一标识称为文件簇ID,如:3000.JSS中3000即是文件簇ID,JSS为请求后缀和MP4作区分,服务器用此后缀区分是单文件播放还是文件序列播放。通过这个文件簇ID,服务器可以从数据库或者其他方式获得文件序列的详细信息,信息中包含文件序列中所有文件在媒体服务器上存储的相对路径(如:/20191218/video_1.mp4、/20191218/video_2.mp4)的有序列表即MP4文件列表。
当流媒体服务接收到用户的点播请求时,通过请求的后缀JSS判断是对文件序列请求,然后解析出后缀前的文件簇ID,使用文件簇ID在数据库中得到文件序列信息。
步骤2,从步骤1中得到的文件序列信息中取出MP4文件列表,然后按列表顺序加载并使用现有技术解析每个Mp4文件,解析完成后,生成Mp4文件对象并且按顺序存放在对象数组中,对象数组命名为MP4Array。MP4文件对象中包含Mp4文件的trackbox列表、MP4文件的媒体信息、媒体可播放时长(duration)、编码等级、分辨率、色域、码率、帧率、位深等)、以及每个trackbox中所嵌套的所有类型的Box。
步骤3,根据步骤2得到的Mp4文件对象数组MP4Array,生成虚拟逻辑文件对象。虚拟逻辑文件类是对有序Mp4文件序列的抽象,负责处理播放中MP4文件之间的切换、文件序列的seek以及RTP数据包处理等操作。虚拟逻辑文件对象简称虚拟逻辑文件。
虚拟逻辑文件中的核心属性有时长、相对时间和文件对象的映射表命名durationMp4Map(是Map结构,key是文件对象在虚拟文件中的相对开始时间,value是文件对象)、前一个文件的最后序列号表fPreviousFileLastSequenceNumber(Map结构,记录文件的TrackID和最后序列号的映射关系)以及MP4媒体信息(分辨率、码率、编码格式等)。
由于MP4文件序列一般是同一个录像设备录制,如果不是同一设备的录制需要保证个Mp4文件的分辨率、码率、编码格式相同。因此每个文件的time scale、分辨率、码率、编码格式都是相同的,因此虚拟逻辑文件的time scale、分辨率、码率、编码格式参数可以从任何一个Mp4文件对象中获得,这些参数将用于在RTSP协议的DESCRIBE请求阶段,生成SDP格式的响应内容,播放器收到这个响应后根据这些参数来解码播放。
创建虚拟逻辑文件,包括:
首先是建立相对时间和文件对象的映射关系。如果第一个文件的时长是rd_1秒,在虚拟逻辑文件中的相对开始时间是0秒。第二个文件是rd_2秒,在虚拟逻辑文件中的相对开始时间是rd_1+1秒。第n个文件的时长是rd_(n)秒,相对开始时间是rd_1+…+rd_(n-1)+1。那么第一个文件的映射关系计入映射表即durationMp4Map.put(0,MP4Array[0]),第二个文件是durationMp4Map.put(rd_1+1,MP4Array[1]),第n个文件durationMp4Map.put(rd_1+…+rd_(n-1)+1,MP4Array[n-1])。这样相对时间与文件对象建立了映射联系。
然后,虚拟逻辑文件的时长为所有文件对象时长相加,即rd_1+rd_2+…+rd_(n)秒。
步骤4,使用步骤3中得到的虚拟逻辑文件完成流媒体协议请求的握手过程后,使用虚拟逻辑文件生成音视频数据的流媒体数据包如RTP包。
当请求到来时,在RTSP协议的Play请求阶段的Rang头中获得请求的相对开始时间,在虚拟逻辑文件的durationMp4Map中找到请求从哪个文件对象开始。
查找方式是遍历虚拟逻辑文件的durationMp4Map,比较请求的相对开始时间和key(存储文件对象在虚拟逻辑文件中的相对开始时间),当请求开始时间大于等于key时,再比较请求开始时间是否小于key+文件对象播放时长(单位转换计算公式duration/timescale),如果小于则此文件对象即为请求开始的文件对象。
由于MP4文件的时长是相对时间,每个文件的第一帧的相对时间是0,文件的播放时长对应文件对象的duration属性,单位转换成秒,计算公式duration/time scale命名为rd。
找到请求的开始文件对象后,要查找文件开始时间在文件对象中的相对时间,即:请求开始时间–key=文件对象中的相对时间。
计算出在文件对象中的相对时间后,就可以使用此相对时间作为开始时间操作文件对象,开始标准的文件流化过程,完成RTP数据打包。
虚拟逻辑文件得到标准的RTP数据包后,需要将RTP包的时间戳,从文件对象的相对时间转换成虚拟逻辑文件的相对时间,转换方式是RTP包的时间戳 + (key*timescale)。另外每个RTP包的序列号即SequenceNumber需要在整个虚拟逻辑文件的Track中保持递增,即SequenceNumber + 上个文件最后的SequenceNumber。例如:虚拟逻辑文件得到RTP包记为rtpPacket,当前文件对象在durationMp4Map中的key记为 theStartTime,rtpPacket的时间戳记为 packetTime,rtpPacket的序列号记为packetSequenceNumber。rtpPacket所在的Track的前一个文件对象的最后序列号记为theLastSequenceNumber(可以从虚拟逻辑文件的fPreviousFileLastSequenceNumber属性获取)。rtpPacket的时间戳=(theStartTime*time scale) + packetTime,rtpPacket的序列号=packetSequenceNumber+ theLastSequenceNumber。当一个文件读取完成后,切换文件之前记录文件的每个Track的最后序列号到虚拟逻辑文件的fPreviousFileLastSequenceNumber属性中,以便下个文件对象打包数据时使用。当一个文件对象读取完成时根据虚拟逻辑文件的durationMp4Map,取得下一个文件对象,完成文件切换。
步骤5,流媒体服务器从步骤4得到RTP包并发送到终端。完成音视频流传输过程,此过程为标准RTSP协议流程。
步骤6,当完成步骤1到步骤5后,再次收到PLAY命令后将重复步骤3到步骤5完成播放进度的重新设定。
当用户暂停播放后恢复播放时,恢复点应该是整个文件序列范围内使用虚拟逻辑文件进行查找定位。
当用户设置播放位置时,起始点应该是整个文件序列范围内使用虚拟逻辑文件进行查找定位。
当用户播放时,使用虚拟逻辑文件进行数据流化打包,实现子文件间的透明跳转。
本发明实施例公开了一种流媒体服务实现文件序列点播的方法首先流媒体服务器收到点播请求后,判断是否请求文件序列,如果是文件序列,根据文件序列号给文件序列排序,按顺序分析MP4文件,建立虚拟逻辑文件,在虚拟逻辑文件中记录文件序列的每个子文件的数据信息并进行信息整合。当流媒体收到文件序列播放请求后,使用逻辑文件获取媒体数据并格式化为媒体协议包发送。实现了一次协议请求完成文件序列的播放。
基于相同的技术构思,本发明实施例还提供了一种流媒体服务实现文件序列点播装置,包括:
文件对象生成模块,用于流媒体响应于接收到对文件序列的媒体协议请求,则根据文件簇ID得到文件序列中的文件顺序,根据文件顺序加载各文件并解析每个文件获得文件序列中各参数,生成文件对象,所述对文件序列的媒体协议请求中添加文件序列的唯一文件簇ID以及表示请求是针对文件序列的标识;
虚拟逻辑文件建立模块,用于根据生成的文件对象建立虚拟逻辑文件;
媒体数据包发送模块,用于根据媒体协议请求以及建立的虚拟逻辑文件获取媒体数据并格式化为媒体协议数据包并发送。
可选的,通过媒体协议请求URL的后缀表示请求是针对文件序列。
可选的,所述文件对象包含文件序列种每个文件的trackbox列表以及每个trackbox中所嵌套的所有类型的Box、文件的媒体信息、媒体播放时长duration和编码参数,所述编码参数包括编码等级、分辨率、色域、码率、编码格式、帧率和/或位深。
可选的,创建虚拟逻辑文件的方法包括:
建立每个文件的相对播放时长和文件对象的映射关系;虚拟逻辑文件的时长为每个文件的相对播放时长相加。
可选的,建立每个文件的相对播放时长和文件对象的映射关系的具体方法包括以下步骤:依次将每个文件的映射关系计入映射表,命令如下:
第一个文件:durationMp4Map.put(0,MP4Array[0]),
第二个文件:durationMp4Map.put(rd_1+1,MP4Array[1]),
第n个文件:
durationMp4Map.put(rd_1+…+rd_(n-1)+1,MP4Array[n-1]),
其中rd_1是第一个文件的时长,第一文件在虚拟逻辑文件中的相对开始时间是0秒;rd_2 是第二个文件的时长下,第二个文件在虚拟逻辑文件中的相对开始时间是rd_1+1秒;
rd_(n)是第n个文件的时长,第n个文件在虚拟逻辑文件中的相对开始时间是rd_1+…+rd_(n-1)+1。
可选的,格式化为媒体协议数据包之前还包括以下步骤:
在媒体协议请求中获得请求的相对开始时间,在虚拟逻辑文件的映射表中确定请求的文件对象;
遍历虚拟逻辑文件的映射表,比较请求的相对开始时间和文件对象在虚拟逻辑文件中的相对开始时间key;
若请求开始时间大于等于key时,再比较请求开始时间是否小于key和文件对象播放时长之和,如果小于则此文件对象即为请求开始的文件对象;请求的开始文件对象后,要查找文件开始时间在文件对象中的相对时间,就是请求开始时间减去key得到文件对象中的相对时间;计算出在文件对象中的相对时间后,就可以使用此相对时间作为开始时间操作文件对象,开始标准的文件流化过程,完成数据打包。
所述文件对象播放时长表达式为:rd=duration/time scale,其中duration为文件序列中的媒体播放时长,time scale为解析文件获得。
可选的,虚拟逻辑文件得到标准的媒体协议数据包后,需要将媒体协议数据包的时间戳,从文件对象的相对时间转换成虚拟逻辑文件的相对时间。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (8)
1.一种流媒体服务实现文件序列点播的方法,其特征在于,包括以下步骤:
流媒体响应于接收到对文件序列的媒体协议请求,则根据文件簇ID得到文件序列中的文件顺序,根据文件顺序加载各文件并解析每个文件获得文件序列中各参数,生成文件对象,所述对文件序列的媒体协议请求中添加文件序列的唯一文件簇ID以及表示请求是针对文件序列的标识;
根据生成的文件对象建立虚拟逻辑文件;
根据媒体协议请求以及建立的虚拟逻辑文件获取媒体数据并格式化为媒体协议数据包并发送。
2.根据权利要求1所述的一种流媒体服务实现文件序列点播的方法,其特征在于,通过媒体协议请求URL的后缀表示请求是针对文件序列。
3.根据权利要求1所述的一种流媒体服务实现文件序列点播的方法,其特征在于,所述文件对象包含文件序列种每个文件的trackbox列表以及每个trackbox中所嵌套的所有类型的Box、文件的媒体信息、媒体播放时长duration和编码参数,所述编码参数包括编码等级、分辨率、色域、码率、编码格式、帧率和/或位深。
4.根据权利要求1所述的一种流媒体服务实现文件序列点播的方法,其特征在于,创建虚拟逻辑文件的方法包括:
建立每个文件的相对播放时长和文件对象的映射关系;虚拟逻辑文件的时长为每个文件的相对播放时长相加。
5.根据权利要求4所述的一种流媒体服务实现文件序列点播的方法,其特征在于,建立每个文件的相对播放时长和文件对象的映射关系的具体方法包括以下步骤:
依次将每个文件的映射关系计入映射表,命令如下:
第一个文件:durationMp4Map.put(0,MP4Array[0]),
第二个文件:durationMp4Map.put(rd_1+1,MP4Array[1]),
第n个文件:
durationMp4Map.put(rd_1+…+rd_(n-1)+1,MP4Array[n-1]),
其中rd_1是第一个文件的时长,第一文件在虚拟逻辑文件中的相对开始时间是0秒;rd_2 是第二个文件的时长下,第二个文件在虚拟逻辑文件中的相对开始时间是rd_1+1秒;rd_(n)是第n个文件的时长,第n个文件在虚拟逻辑文件中的相对开始时间是
rd_1+…+rd_(n-1)+1秒,其中durationMp4Map为映射表,MP4Array为存储文件对象的数组。
6.根据权利要求5所述的一种流媒体服务实现文件序列点播的方法,其特征在于,格式化为媒体协议数据包之前还包括以下步骤:
在媒体协议请求中获得请求的相对开始时间,在虚拟逻辑文件的映射表中确定请求的文件对象;
遍历虚拟逻辑文件的映射表,比较请求的相对开始时间和文件对象在虚拟逻辑文件中的相对开始时间key;
若请求开始时间大于等于key时,再比较请求开始时间是否小于key和文件对象播放时长之和,如果小于则此文件对象即为请求开始的文件对象;请求的开始文件对象后,要查找文件开始时间在文件对象中的相对时间,就是请求开始时间减去key得到文件对象中的相对时间;计算出在文件对象中的相对时间后,就可以使用此相对时间作为开始时间操作文件对象,开始标准的文件流化过程,完成数据打包;
所述文件对象播放时长表达式为:
rd=duration/time scale,
其中duration为文件序列中的媒体播放时长,time scale为解析文件获得。
7.根据权利要求1所述的一种流媒体服务实现文件序列点播的方法,其特征在于,虚拟逻辑文件得到标准的媒体协议数据包后,需要将媒体协议数据包的时间戳,从文件对象的相对时间转换成虚拟逻辑文件的相对时间。
8.一种流媒体服务实现文件序列点播装置,其特征在于,包括:
文件对象生成模块,用于流媒体响应于接收到对文件序列的媒体协议请求,则根据文件簇ID得到文件序列中的文件顺序,根据文件顺序加载各文件并解析每个文件获得文件序列中各参数,生成文件对象,所述对文件序列的媒体协议请求中添加文件序列的唯一文件簇ID以及表示请求是针对文件序列的标识;
虚拟逻辑文件建立模块,用于根据生成的文件对象建立虚拟逻辑文件;
媒体数据包发送模块,用于根据媒体协议请求以及建立的虚拟逻辑文件获取媒体数据并格式化为媒体协议数据包并发送。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010181707.2A CN111356028A (zh) | 2020-03-16 | 2020-03-16 | 流媒体服务实现文件序列点播的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010181707.2A CN111356028A (zh) | 2020-03-16 | 2020-03-16 | 流媒体服务实现文件序列点播的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111356028A true CN111356028A (zh) | 2020-06-30 |
Family
ID=71197617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010181707.2A Pending CN111356028A (zh) | 2020-03-16 | 2020-03-16 | 流媒体服务实现文件序列点播的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111356028A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102625140A (zh) * | 2012-03-19 | 2012-08-01 | 烽火通信科技股份有限公司 | 流媒体服务器以帧为粒度实时下载播放的方法 |
CN103533395A (zh) * | 2013-09-27 | 2014-01-22 | 武汉市烽视威科技有限公司 | 实现hls频道回看播放的方法及系统 |
CN105208440A (zh) * | 2015-09-22 | 2015-12-30 | 北京暴风科技股份有限公司 | 一种mp4格式视频在线播放的方法及系统 |
CN105611395A (zh) * | 2015-09-22 | 2016-05-25 | 北京暴风科技股份有限公司 | 一种mp4格式视频在线播放的方法及系统 |
CN106375873A (zh) * | 2016-08-31 | 2017-02-01 | 杭州当虹科技有限公司 | 一种hls视频文件下载存储及播放的方法 |
CN107277081A (zh) * | 2016-04-06 | 2017-10-20 | 北京优朋普乐科技有限公司 | 流媒体数据的切片下载方法和装置、流媒体系统 |
CN107707937A (zh) * | 2017-09-22 | 2018-02-16 | 烽火通信科技股份有限公司 | 基于hls协议的时移优化方法及系统 |
CN107801051A (zh) * | 2017-10-27 | 2018-03-13 | 广东省南方数字电视无线传播有限公司 | 虚拟切片信息传输方法和装置、视频服务器 |
US20180124147A1 (en) * | 2012-11-20 | 2018-05-03 | Google Technology Holdings LLC | Method and apparatus for streaming media content to client devices |
CN108156478A (zh) * | 2016-12-06 | 2018-06-12 | 创盛视联数码科技(北京)有限公司 | mp4格式文件转hls格式的视频点播系统及方法 |
-
2020
- 2020-03-16 CN CN202010181707.2A patent/CN111356028A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102625140A (zh) * | 2012-03-19 | 2012-08-01 | 烽火通信科技股份有限公司 | 流媒体服务器以帧为粒度实时下载播放的方法 |
US20180124147A1 (en) * | 2012-11-20 | 2018-05-03 | Google Technology Holdings LLC | Method and apparatus for streaming media content to client devices |
CN103533395A (zh) * | 2013-09-27 | 2014-01-22 | 武汉市烽视威科技有限公司 | 实现hls频道回看播放的方法及系统 |
CN105208440A (zh) * | 2015-09-22 | 2015-12-30 | 北京暴风科技股份有限公司 | 一种mp4格式视频在线播放的方法及系统 |
CN105611395A (zh) * | 2015-09-22 | 2016-05-25 | 北京暴风科技股份有限公司 | 一种mp4格式视频在线播放的方法及系统 |
CN107277081A (zh) * | 2016-04-06 | 2017-10-20 | 北京优朋普乐科技有限公司 | 流媒体数据的切片下载方法和装置、流媒体系统 |
CN106375873A (zh) * | 2016-08-31 | 2017-02-01 | 杭州当虹科技有限公司 | 一种hls视频文件下载存储及播放的方法 |
CN108156478A (zh) * | 2016-12-06 | 2018-06-12 | 创盛视联数码科技(北京)有限公司 | mp4格式文件转hls格式的视频点播系统及方法 |
CN107707937A (zh) * | 2017-09-22 | 2018-02-16 | 烽火通信科技股份有限公司 | 基于hls协议的时移优化方法及系统 |
CN107801051A (zh) * | 2017-10-27 | 2018-03-13 | 广东省南方数字电视无线传播有限公司 | 虚拟切片信息传输方法和装置、视频服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5781179B2 (ja) | サーバにおけるファイル伝送方法及びその装置並びに端末におけるファイル再生方法及びその装置 | |
EP2666288B1 (en) | Apparatus and method for storing and playing content in a multimedia streaming system | |
EP2490445B1 (en) | Method, terminal and server for implementing trickplay | |
JP4944484B2 (ja) | 再生装置、再生方法及びプログラム | |
CA2674189C (en) | Video recording and playing apparatus, and file management method | |
WO2013008867A1 (ja) | 送信装置、送信装置の制御方法、制御プログラム、及び記録媒体 | |
WO2017092327A1 (zh) | 一种播放方法及装置 | |
EP3465460B1 (en) | Systems and methods for providing audio content during trick-play playback | |
US20110219386A1 (en) | Method and apparatus for generating bookmark information | |
WO2015169172A1 (zh) | 网络视频播放的方法和装置 | |
CN111866603B (zh) | 一种基于srs的视频文件生产方法、后台服务器和系统 | |
CN110198494B (zh) | 一种视频播放方法、装置、设备和存储介质 | |
EP2596626A1 (en) | Method for content presentation during trick mode operations | |
CN103491427A (zh) | 一种视频的处理方法和装置 | |
CN104918108A (zh) | 一种基于hls协议的视频精确定位装置及方法 | |
EP2712203A1 (en) | Method and system for enhancing redistributed audio / video content | |
CN110290396B (zh) | 一种视频处理的方法、装置、系统、设备和存储介质 | |
US9332421B2 (en) | Method and apparatus for random access to multimedia content in wireless communication system | |
CN101459976B (zh) | 一种流媒体播放控制方法、设备及系统 | |
CN105979297B (zh) | 一种收看时长统计方法及系统 | |
CN111356028A (zh) | 流媒体服务实现文件序列点播的方法和装置 | |
JP6294527B2 (ja) | 送信装置、送信方法、再生装置、及び再生方法 | |
CN110968288A (zh) | 应用音频隔离采集的方法、装置、存储介质及设备 | |
JP3799607B2 (ja) | 情報配信システム、情報処理装置および方法、記録媒体、並びにプログラム | |
CN109166165A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200630 |
|
RJ01 | Rejection of invention patent application after publication |