CN115250266B - 视频处理方法及装置、流媒体设备及存储点播系统 - Google Patents
视频处理方法及装置、流媒体设备及存储点播系统 Download PDFInfo
- Publication number
- CN115250266B CN115250266B CN202211154528.5A CN202211154528A CN115250266B CN 115250266 B CN115250266 B CN 115250266B CN 202211154528 A CN202211154528 A CN 202211154528A CN 115250266 B CN115250266 B CN 115250266B
- Authority
- CN
- China
- Prior art keywords
- file
- original
- video
- sidx
- real
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供了一种视频处理方法及装置、流媒体设备及存储点播系统,在存储实时视频码流时,流媒体设备将获取的实时视频码流按照fMP4格式封装成原始MP4文件后,上传至云存储服务器中;在实时视频码流封装完成后,生成索引文件sidx,并将索引文件sidx保存至预设存储器中;当需要播放原始MP4文件时,流媒体设备将原始MP4文件与索引文件sidx拼接成目标MP4文件,并将目标MP4文件发送至播放器;由于索引文件sidx位于目标MP4文件的头部位置,因此播放器在加载出索引文件sidx后,即可进行原始MP4文件的播放。这样在兼顾存储性能和播放器兼容性的同时,降低了在线播放MP4文件的首屏时间,提升了用户体验。
Description
技术领域
本发明涉及视频通信技术领域,尤其是涉及一种视频处理方法及装置、流媒体设备及存储点播系统。
背景技术
云存储,诸如OSS(Object Storage Service,对象存储服务)、HDFS(HadoopDistributed File System,Hadoop分布式文件系统)等设计具有存储的高容错性、可扩展性。但是云存储一般设计成一次写入,多次读取的场景,只支持顺序写且不支持文件修改。
常用的视频存储封装格式有TS(TransportStream,传送流)、PS(ProgramStream,节目流)、MP4(Moving Picture Experts Group4,动态图像专家组4),以及私有格式等。针对海量的实时视频录像存储,不同场景会有不同方案。互联网直播系统一般对直播码流,先通过流媒体转成TS格式存到本地磁盘,然后统一上传到云存储。由于多了一步存储本地再上传的步骤,在视频码流数量非常多时会消耗大量的磁盘IO(磁盘的输入和输出),所以整个系统存储性能较差。
传统安防场景接入多路IPC(Internet Protocol Camera,网络摄像机)摄像头会直存存储服务器。存储服务器一般内置流媒体,通过流媒体将摄像头的码流数据转成私有格式或PS格式,直接存到服务器本地磁盘。流媒体直存本地存储方案性能较高,但由于选择私有格式或PS格式,点播时会有兼容性的问题。
发明内容
本发明的目的在于提供一种视频处理方法及装置、流媒体设备及存储点播系统,以兼顾存储性能和播放器兼容性。
第一方面,本发明实施例提供了一种视频处理方法,应用于流媒体设备,所述视频处理方法包括:
将获取的实时视频码流按照fMP4格式封装成原始MP4文件后,上传至云存储服务器中,同时记录每个视频片段的视频信息;
在所述实时视频码流封装完成后,根据每个所述视频片段的视频信息生成索引文件sidx,并将所述索引文件sidx保存至预设存储器中;
当接收到播放器对所述原始MP4文件的点播请求时,将所述原始MP4文件与所述索引文件sidx拼接成目标MP4文件;其中,所述索引文件sidx位于所述目标MP4文件的头部位置;
将所述目标MP4文件发送至所述播放器,以使所述播放器在加载出所述索引文件sidx后,进行所述原始MP4文件的播放。
进一步地,所述将获取的实时视频码流按照fMP4格式封装成原始MP4文件后,上传至云存储服务器中的步骤,包括:
在内存中缓存从IPC摄像头获取到的实时视频码流;
当每缓存到一组所述实时视频码流的视频片段数据时,将所述视频片段数据封装成moof+mdat的box格式,并写入所述云存储服务器中。
进一步地,所述视频处理方法还包括:
根据预设的分段方式,确定是否缓存到一组所述实时视频码流的视频片段数据;其中,所述分段方式包括按预设存储大小分段或按预设时长分段。
进一步地,所述视频信息包括每帧媒体的索引位置、帧大小以及是否关键帧信息;所述预设存储器包括本地磁盘或所述云存储服务器。
进一步地,所述原始MP4文件由多个box组成,所述box包括ftyp和moov;所述将所述原始MP4文件与所述索引文件sidx拼接成目标MP4文件的步骤,包括:
根据所述原始MP4文件中各个box的大小,计算出文件偏移信息;
根据所述文件偏移信息,将所述索引文件sidx插入到所述原始MP4文件的ftyp和moov的后边,得到目标MP4文件。
第二方面,本发明实施例还提供了一种视频处理装置,应用于流媒体设备,所述视频处理装置包括:
第一存储模块,用于将获取的实时视频码流按照fMP4格式封装成原始MP4文件后,上传至云存储服务器中,同时记录每个视频片段的视频信息;
第二存储模块,用于在所述实时视频码流封装完成后,根据每个所述视频片段的视频信息生成索引文件sidx,并将所述索引文件sidx保存至预设存储器中;
文件拼接模块,用于当接收到播放器对所述原始MP4文件的点播请求时,将所述原始MP4文件与所述索引文件sidx拼接成目标MP4文件;其中,所述索引文件sidx位于所述目标MP4文件的头部位置;
文件发送模块,用于将所述目标MP4文件发送至所述播放器,以使所述播放器在加载出所述索引文件sidx后,进行所述原始MP4文件的播放。
进一步地,所述第一存储模块具体用于:
在内存中缓存从IPC摄像头获取到的实时视频码流;
当每缓存到一组所述实时视频码流的视频片段数据时,将所述视频片段数据封装成moof+mdat的box格式,并写入所述云存储服务器中。
第三方面,本发明实施例还提供了一种流媒体设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面的视频处理方法。
第四方面,本发明实施例还提供了一种存储点播系统,包括第三方面的流媒体设备,还包括云存储服务器和播放器;所述流媒体设备分别与所述云存储服务器和所述播放器连接。
进一步地,所述存储点播系统还包括IPC摄像头,所述IPC摄像头与所述流媒体设备连接;所述流媒体设备用于从所述IPC摄像头获取实时视频码流。
本发明实施例提供的视频处理方法及装置、流媒体设备及存储点播系统,在存储实时视频码流时,流媒体设备将获取的实时视频码流按照fMP4格式封装成原始MP4文件后,上传至云存储服务器中,同时记录每个视频片段的视频信息;在实时视频码流封装完成后,根据每个视频片段的视频信息生成索引文件sidx,并将索引文件sidx保存至预设存储器中;当播放器在线播放已存储的原始MP4文件时,流媒体设备将原始MP4文件与索引文件sidx拼接成目标MP4文件,并将目标MP4文件发送至播放器;由于索引文件sidx位于目标MP4文件的头部位置,因此播放器在加载出索引文件sidx后,即可进行原始MP4文件的播放。这样在兼顾存储性能和播放器兼容性的同时,降低了在线播放MP4文件的首屏时间,大大提升了用户体验。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种存储点播系统的结构示意图;
图2为本发明实施例提供的另一种存储点播系统的结构示意图;
图3为本发明实施例提供的一种视频处理方法的流程示意图;
图4为本发明实施例提供的一种原始MP4文件的结构示意图;
图5为本发明实施例提供的一种MP4文件拼接示意图;
图6为本发明实施例提供的一种目标MP4文件的结构示意图;
图7为本发明实施例提供的一种流媒体设备取流存储的流程示意图;
图8为本发明实施例提供的一种在线点播的流程示意图;
图9为本发明实施例提供的一种视频处理装置的结构示意图;
图10为本发明实施例提供的一种流媒体设备的结构示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前常用的视频存储封装格式有TS、PS、MP4,以及私有格式等。其中,TS格式兼容性好,主流播放器都支持,但一般文件切片较小,存储海量视频录像时文件数量会过大,查找效率会很慢。PS格式存储结构简单,支持扩展,一些传统安防厂商会选择PS加扩展私有数据的方式存储,但PS格式兼容性差,一些播放器无法支持。私有格式功能丰富,较灵活,但需要定制播放器,没有兼容性,开发难度较高。MP4格式功能丰富,兼容性好,是目前应用最广泛的音视频封装格式。目前MP4支持fMP4(Fragmented Moving Picture Experts Group4,片段化动态图像专家组4)方式,这种方式是由多个视频片段组成一个完整的MP4文件,更加适合流式存储。
针对海量的实时视频录像存储不同场景会有不同方案。其中,互联网直播系统对直播码流先通过流媒体转成TS格式存到本地磁盘,然后统一上传到云存储,这种存储方式会消耗大量的磁盘IO,导致整个系统存储性能较差;传统安防场景接入多路IPC摄像头会直存存储服务器,这种存储方式需要将摄像头的码流数据转成私有格式或PS格式,导致点播时会有兼容性的问题。
为了同时兼顾存储性能和播放器兼容性,本实施例选择了流媒体转MP4格式直存云存储的方式。流媒体取到IPC摄像头码流转成MP4格式,不再存本地磁盘,而直接存云存储中。这样既节省了磁盘IO,又能让主流播放器都能直接点播视频录像。
MP4是一种通用的音视频封装格式。MP4文件格式定义为由若干个box组成,box有不同的类型和大小,每种box有不同的功能。比如ftyp保存文件的版本号;mdat保存音视频数据;moov保存录像时长、文件索引;sidx保存段索引等。播放器在线播放MP4文件时会加载整个MP4文件后才能显示首屏画面。
MP4直存云存储的方式存储性能高、兼容性好,但同时带来一个问题:在线点播存储在云存储中的MP4文件,播放器会加载整个MP4文件才会播放,首屏时间会很长,也即用户在线点击播放到看到第一幅画面的时间会很长。为了解决整个问题,本发明实施例提供了一种视频处理方法及装置、流媒体设备及存储点播系统,将MP4文件和索引文件sidx分开存储,并在在线播放时拼接MP4,可以兼顾存储性能和播放器兼容性,同时降低在线播放MP4文件的首屏时间,从而大大提升用户体验。
参见图1所示的一种存储点播系统的结构示意图,该存储点播系统包括流媒体设备101,还包括云存储服务器102和播放器103;流媒体设备101分别与云存储服务器102和播放器103连接。
流媒体设备101能够将获取到的实时视频码流按照fMP4格式封装成原始MP4文件后,上传至云存储服务器102中,并在实时视频码流封装完成后,生成索引文件sidx,该索引文件sidx与原始MP4文件分开存储。播放器103可以通过HTTP(Hyper Text TransferProtocol,超文本传输协议)协议在线播放已存储的MP4录像文件;流媒体设备101当接收到播放器103对原始MP4文件的点播请求时,将原始MP4文件与索引文件sidx拼接成目标MP4文件,并将目标MP4文件发送至播放器103;其中,索引文件sidx位于目标MP4文件的头部位置;播放器103在加载出索引文件sidx后,即可进行原始MP4文件的播放。这样在兼顾存储性能和播放器兼容性的同时,降低了在线播放MP4文件的首屏时间,大大提升了用户体验。
参见图2所示的另一种存储点播系统的结构示意图,上述存储点播系统还包括IPC摄像头104,IPC摄像头104与流媒体设备101连接;流媒体设备101用于从IPC摄像头104获取实时视频码流。
为了便于理解,下面将参照图2对上述存储点播系统的运行流程进行详细介绍。
上述存储点播系统的运行流程主要包括取流、转封装、存储、点播四个步骤。
流媒体设备101首先通过RTSP、GB28181等协议,取到IPC摄像头104的实时视频码流。一般实时视频码流的音视频数据是封装成RTP(Real-time Transport Protocol,实时传送协议)或PS格式的,流媒体设备101取到音视频数据后需要转封装,也就是将收到的RTP或PS格式的音视频数据重新封装成MP4规范的格式进行存储。
流媒体设备101对音视频数据转封装后进行云存储直存,也就是不存流媒体设备101的本地磁盘,而是直接调用接口上传到云存储集群(云存储服务器102)中。这样相比存储本地再上传的方式,节省了磁盘IO。为了适配云存储直存这种流式存储,本实施例选择fMP4格式。fMP4格式是MP4的一种分段格式,一般把每个GOP(Group of Pictures)分为一段,每段第一帧数据为I帧,所以每一段都能独立显示音视频。fMP4的索引box为sidx,sidx保存的是每一段视频(即每个视频片段)的大小、时长。把sidx保存在MP4文件头部,播放器读到sidx就可以不需要加载整个MP4文件而直接播放了。由于sidx只能是音视频数据生成后才能生成,而云存储又不支持文件修改,所以本实施例提出在完整的MP4文件生成后再重新生成sidx,并单独保存在本地磁盘(也可以保存在云存储服务器102中)。流媒体设备101在内存中缓存音视频数据,每收到一组GOP的数据就统一打包成moof+mdat的box格式,写入到云存储中。
写完一个完整MP4文件之后,流媒体设备101遍历整个MP4文件,根据已有的视频信息重新生成索引文件sidx,并单独保存。MP4文件的分段方式可以根据业务需求具体配置,可以按预设存储大小分段或按预设时长分段,比如按1G分段(即预设存储大小为1G)或按1小时分段(即预设时长为1小时)。整个过程MP4文件和sidx都是顺序写,只不过是分别存储。
播放器103可以通过HTTP协议在线播放已存储的MP4录像文件。在线播放需要流媒体设备101进行MP4文件拼接。当流媒体设备101收到MP4点播请求,会根据原始MP4文件和相应的sidx拼接成目标MP4文件。这个目标MP4文件并不是实际生成在内存或者硬盘上的,而是相当于一个映射文件。根据原始MP4文件各个box的大小,计算出文件偏移,把sidx插入到ftyp和moov后边。这样播放器点播时收到就是带索引文件sidx的目标MP4文件。由于索引文件sidx在目标MP4的头部位置,所以播放器103只要加载出完整的sidx信息就能正常进行播放,而不需要加载整个MP4文件。这样就达到了较少首屏时间的目的。
本实施例在兼顾大规模实时存储时的磁盘性能和播放器兼容性的同时,优化了在线播放MP4文件的首屏时间。
本发明实施例还提供了一种视频处理方法,该视频处理方法应用于上述流媒体设备。参见图3所示的一种视频处理方法的流程示意图,该视频处理方法主要包括如下步骤S302~步骤S308:
步骤S302,将获取的实时视频码流按照fMP4格式封装成原始MP4文件后,上传至云存储服务器中,同时记录每个视频片段的视频信息。
在一些可能的实施例中,流媒体设备可以在内存中缓存从IPC摄像头获取到的实时视频码流;当每缓存到一组实时视频码流的视频片段数据时,将视频片段数据封装成moof+mdat的box格式,并写入云存储服务器中。
流媒体设备可以根据预设的分段方式,确定是否缓存到一组实时视频码流的视频片段数据;其中,分段方式包括按预设存储大小分段或按预设时长分段。其中,预设存储大小和预设时长均可以根据实际需求设置,例如预设存储大小为1G,每1G的实时视频码流为一组实时视频码流;预设时长为1小时,每1小时的实时视频码流为一组实时视频码流。
上述视频信息可以包括每帧媒体的索引位置、帧大小以及是否关键帧信息等。封装得到的原始MP4文件的结构可以如图4所示。
步骤S304,在实时视频码流封装完成后,根据每个视频片段的视频信息生成索引文件sidx,并将索引文件sidx保存至预设存储器中。
上述预设存储器可以是本地磁盘或云存储服务器。
步骤S306,当接收到播放器对原始MP4文件的点播请求时,将原始MP4文件与索引文件sidx拼接成目标MP4文件;其中,索引文件sidx位于目标MP4文件的头部位置。
原始MP4文件由多个box组成,box可以包括ftyp和moov;基于此,步骤S306可以通过如下过程实现:从云存储服务器和预设存储器分别读取原始MP4文件和相应的索引文件sidx,根据原始MP4文件中各个box的大小,计算出文件偏移信息;根据文件偏移信息,将索引文件sidx插入到原始MP4文件的ftyp和moov的后边(如图5所示),得到目标MP4文件。拼接得到的目标MP4文件的结构可以如图6所示。
步骤S308,将目标MP4文件发送至播放器,以使播放器在加载出索引文件sidx后,进行原始MP4文件的播放。
这样在兼顾存储性能和播放器兼容性的同时,降低了在线播放MP4文件的首屏时间,大大提升了用户体验。
为了便于理解,下面将参照图7和图8分别对流媒体设备取流存储的过程和在线点播的过程进行示例性介绍。
参见图7所示的一种流媒体设备取流存储的流程示意图,流媒体设备取流存储的过程包括如下步骤S702~步骤S714:
步骤S702,获取RTP视频码流。
步骤S704,将RTP视频码流转封装为fMP4数据。
步骤S706,fMP4数据在内存中缓存。
步骤S708,判断是否缓存一组GOP。如果是,执行步骤S710;如果否,重新执行步骤S702。
步骤S710,将fMP4数据存储至云存储服务器。
步骤S712,判断是否取流结束。如果是,执行步骤S714;如果否,重新执行步骤S702。
步骤S714,生成sidx,并写入本地磁盘。
参见图8所示的一种在线点播的流程示意图,播放器的在线点播的过程包括如下步骤S802~步骤S812:
步骤S802,发送HTTP播放请求。
步骤S804,定位到原始MP4文件和sidx文件。
步骤S806,从原始MP4文件读取ftyp。
步骤S808,从原始MP4文件读取moov。
步骤S810,读取sidx文件。
步骤S812,从原始MP4文件读取剩余数据。
对应于上述的视频处理方法,本发明实施例还提供了一种视频处理装置,该视频处理装置应用于上述流媒体设备。参见图9所示的一种视频处理装置的结构示意图,该视频处理装置包括:
第一存储模块901,用于将获取的实时视频码流按照fMP4格式封装成原始MP4文件后,上传至云存储服务器中,同时记录每个视频片段的视频信息;
第二存储模块902,用于在实时视频码流封装完成后,根据每个视频片段的视频信息生成索引文件sidx,并将索引文件sidx保存至预设存储器中;
文件拼接模块903,用于当接收到播放器对原始MP4文件的点播请求时,将原始MP4文件与索引文件sidx拼接成目标MP4文件;其中,索引文件sidx位于目标MP4文件的头部位置;
文件发送模块904,用于将目标MP4文件发送至播放器,以使播放器在加载出索引文件sidx后,进行原始MP4文件的播放。
这样在兼顾存储性能和播放器兼容性的同时,降低了在线播放MP4文件的首屏时间,大大提升了用户体验。
进一步地,上述第一存储模块901具体用于:
在内存中缓存从IPC摄像头获取到的实时视频码流;
当每缓存到一组实时视频码流的视频片段数据时,将视频片段数据封装成moof+mdat的box格式,并写入云存储服务器中。
进一步地,上述第一存储模块901还用于:
根据预设的分段方式,确定是否缓存到一组实时视频码流的视频片段数据;其中,分段方式包括按预设存储大小分段或按预设时长分段。
进一步地,上述视频信息包括每帧媒体的索引位置、帧大小以及是否关键帧信息;预设存储器包括本地磁盘或云存储服务器。
进一步地,上述原始MP4文件由多个box组成,box包括ftyp和moov;上述文件拼接模块903具体用于:
根据原始MP4文件中各个box的大小,计算出文件偏移信息;
根据文件偏移信息,将索引文件sidx插入到原始MP4文件的ftyp和moov的后边,得到目标MP4文件。
本实施例所提供的视频处理装置,其实现原理及产生的技术效果和前述视频处理方法实施例相同,为简要描述,视频处理装置实施例部分未提及之处,可参考前述视频处理方法实施例中相应内容。
如图10所示,本发明实施例提供的一种流媒体设备1000,包括:处理器1001、存储器1002和总线,存储器1002存储有可在处理器1001上运行的计算机程序,当流媒体设备1000运行时,处理器1001与存储器1002之间通过总线通信,处理器1001执行计算机程序,以实现上述的视频处理方法。
具体地,上述存储器1002和处理器1001能够为通用的存储器和处理器,这里不做具体限定。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行前面方法实施例中所述的视频处理方法。该计算机可读存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (9)
1.一种视频处理方法,其特征在于,应用于流媒体设备,所述视频处理方法包括:
将获取的实时视频码流按照fMP4格式封装成原始MP4文件后,上传至云存储服务器中,同时记录每个视频片段的视频信息;
在所述实时视频码流封装完成后,根据每个所述视频片段的视频信息生成索引文件sidx,并将所述索引文件sidx保存至预设存储器中;
当接收到播放器对所述原始MP4文件的点播请求时,将所述原始MP4文件与所述索引文件sidx拼接成目标MP4文件;其中,所述索引文件sidx位于所述目标MP4文件的头部位置;
将所述目标MP4文件发送至所述播放器,以使所述播放器在加载出所述索引文件sidx后,进行所述原始MP4文件的播放;
所述原始MP4文件由多个box组成,所述box包括ftyp和moov;所述将所述原始MP4文件与所述索引文件sidx拼接成目标MP4文件的步骤,包括:
根据所述原始MP4文件中各个box的大小,计算出文件偏移信息;
根据所述文件偏移信息,将所述索引文件sidx插入到所述原始MP4文件的ftyp和moov的后边,得到目标MP4文件。
2.根据权利要求1所述的视频处理方法,其特征在于,所述将获取的实时视频码流按照fMP4格式封装成原始MP4文件后,上传至云存储服务器中的步骤,包括:
在内存中缓存从IPC摄像头获取到的实时视频码流;
当每缓存到一组所述实时视频码流的视频片段数据时,将所述视频片段数据封装成moof+mdat的box格式,并写入所述云存储服务器中。
3.根据权利要求2所述的视频处理方法,其特征在于,所述视频处理方法还包括:
根据预设的分段方式,确定是否缓存到一组所述实时视频码流的视频片段数据;其中,所述分段方式包括按预设存储大小分段或按预设时长分段。
4.根据权利要求1所述的视频处理方法,其特征在于,所述视频信息包括每帧媒体的索引位置、帧大小以及是否关键帧信息;所述预设存储器包括本地磁盘或所述云存储服务器。
5.一种视频处理装置,其特征在于,应用于流媒体设备,所述视频处理装置包括:
第一存储模块,用于将获取的实时视频码流按照fMP4格式封装成原始MP4文件后,上传至云存储服务器中,同时记录每个视频片段的视频信息;
第二存储模块,用于在所述实时视频码流封装完成后,根据每个所述视频片段的视频信息生成索引文件sidx,并将所述索引文件sidx保存至预设存储器中;
文件拼接模块,用于当接收到播放器对所述原始MP4文件的点播请求时,将所述原始MP4文件与所述索引文件sidx拼接成目标MP4文件;其中,所述索引文件sidx位于所述目标MP4文件的头部位置;
文件发送模块,用于将所述目标MP4文件发送至所述播放器,以使所述播放器在加载出所述索引文件sidx后,进行所述原始MP4文件的播放;
所述原始MP4文件由多个box组成,所述box包括ftyp和moov;所述文件拼接模块具体用于:
根据所述原始MP4文件中各个box的大小,计算出文件偏移信息;
根据所述文件偏移信息,将所述索引文件sidx插入到所述原始MP4文件的ftyp和moov的后边,得到目标MP4文件。
6.根据权利要求5所述的视频处理装置,其特征在于,所述第一存储模块具体用于:
在内存中缓存从IPC摄像头获取到的实时视频码流;
当每缓存到一组所述实时视频码流的视频片段数据时,将所述视频片段数据封装成moof+mdat的box格式,并写入所述云存储服务器中。
7.一种流媒体设备,其特征在于,包括存储器、处理器;所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述权利要求1-4中任一项所述的视频处理方法。
8.一种存储点播系统,其特征在于,包括权利要求7所述的流媒体设备,还包括云存储服务器和播放器;所述流媒体设备分别与所述云存储服务器和所述播放器连接。
9.根据权利要求8所述的存储点播系统,其特征在于,所述存储点播系统还包括IPC摄像头,所述IPC摄像头与所述流媒体设备连接;所述流媒体设备用于从所述IPC摄像头获取实时视频码流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211154528.5A CN115250266B (zh) | 2022-09-22 | 2022-09-22 | 视频处理方法及装置、流媒体设备及存储点播系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211154528.5A CN115250266B (zh) | 2022-09-22 | 2022-09-22 | 视频处理方法及装置、流媒体设备及存储点播系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115250266A CN115250266A (zh) | 2022-10-28 |
CN115250266B true CN115250266B (zh) | 2022-12-16 |
Family
ID=83699300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211154528.5A Active CN115250266B (zh) | 2022-09-22 | 2022-09-22 | 视频处理方法及装置、流媒体设备及存储点播系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115250266B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107231581A (zh) * | 2016-03-25 | 2017-10-03 | 中国电信股份有限公司 | 用于视频播放的方法、系统及流媒体播放控制服务器 |
CN111083410A (zh) * | 2019-12-30 | 2020-04-28 | 珠海全志科技股份有限公司 | 一种用于dvr的音视频流的处理方法及装置 |
CN113038033A (zh) * | 2021-03-02 | 2021-06-25 | 深圳市浩科电子有限公司 | 一种获取视频的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8886896B2 (en) * | 2009-10-30 | 2014-11-11 | Adobe Systems Incorporated | Storage format for media streams |
CN115002375A (zh) * | 2022-06-01 | 2022-09-02 | 南京甄视智能科技有限公司 | 一种通过索引文件定位关键帧实现录像回放的方法和系统 |
-
2022
- 2022-09-22 CN CN202211154528.5A patent/CN115250266B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107231581A (zh) * | 2016-03-25 | 2017-10-03 | 中国电信股份有限公司 | 用于视频播放的方法、系统及流媒体播放控制服务器 |
CN111083410A (zh) * | 2019-12-30 | 2020-04-28 | 珠海全志科技股份有限公司 | 一种用于dvr的音视频流的处理方法及装置 |
CN113038033A (zh) * | 2021-03-02 | 2021-06-25 | 深圳市浩科电子有限公司 | 一种获取视频的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115250266A (zh) | 2022-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4270379B2 (ja) | デジタル情報の効率的な伝送および再生 | |
KR101885852B1 (ko) | 컨텐트 전송 및 수신 방법 및 장치 | |
CN101120590B (zh) | 现场提交数字信号的方法 | |
JP6585773B2 (ja) | ハイブリッドネットワークにおけるマルチメディアデータを受信するための方法 | |
US20020122656A1 (en) | Method and apparatus for recording broadcast data | |
KR20070007160A (ko) | 분산 저장 시스템에서의 방법 및 스트림 | |
US10277927B2 (en) | Movie package file format | |
JP2007173987A (ja) | マルチメディアデータ送受信システム、及び装置、又はプログラム | |
US8401370B2 (en) | Application tracks in audio/video containers | |
EP1929406A2 (en) | Method and system for combining edit information with media content | |
WO2008029640A1 (en) | Method and device for playing video data of high bit rate format by player suitable to play video data of low bit rate format | |
US20130138736A1 (en) | Multimedia file sharing method and system thereof | |
JP2012054788A (ja) | データファイル転送装置、その制御方法、プログラム及び記憶媒体 | |
JP2006074391A (ja) | ファイル記録方法および記録装置 | |
JP4719506B2 (ja) | 端末装置、コンテンツ再生方法、及びコンピュータプログラム | |
CN115250266B (zh) | 视频处理方法及装置、流媒体设备及存储点播系统 | |
JP2016072858A (ja) | メディアデータ生成方法、メディアデータ再生方法、メディアデータ生成装置、メディアデータ再生装置、コンピュータ読み取り可能な記録媒体、及びプログラム | |
JP4679609B2 (ja) | 映像収録再生装置、映像収録方法及び映像再生方法 | |
US10104142B2 (en) | Data processing device, data processing method, program, recording medium, and data processing system | |
JP5423661B2 (ja) | ネットワークシステム、サーバ、再生装置及びコンテンツ再生方法 | |
JP2012065078A (ja) | ビデオサーバ及び映像データの管理方法 | |
US20110276662A1 (en) | Method of constructing multimedia streaming file format, and method and apparatus for servicing multimedia streaming using the multimedia streaming file format | |
KR20150005576A (ko) | 컨텐츠 다운로드를 위한 시스템 및 방법 | |
JP2007166553A (ja) | 動画像処理装置及び動画像処理方法 | |
JP2005110024A (ja) | データ送信装置、データ送受信システム、及びデータ送受信方法 |
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 |