CN114449316A - 一种视频处理方法、装置、电子设备及存储介质 - Google Patents
一种视频处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114449316A CN114449316A CN202111456865.5A CN202111456865A CN114449316A CN 114449316 A CN114449316 A CN 114449316A CN 202111456865 A CN202111456865 A CN 202111456865A CN 114449316 A CN114449316 A CN 114449316A
- Authority
- CN
- China
- Prior art keywords
- media
- video
- frames
- frame
- 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.)
- Granted
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/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/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
-
- 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/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23608—Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本公开是关于一种视频处理方法,包括:获取待播放视频中的多路媒体数据;其中,各路所述媒体数据中均包括多帧媒体帧;将不同路所述媒体数据中的所述媒体帧写入不同类型的媒体帧集合;其中,不同类型的所述媒体帧集合之间交错分布,并且至少两个相邻的同类型所述媒体帧集合中所述媒体帧的数量相同;根据所述媒体帧集合,生成目标视频;其中,在目标视频的头信息中,所述媒体帧的数量相同的同类型所述媒体帧集合共用一个帧数记录信息。
Description
技术领域
本公开涉及信息处理领域,尤其涉及一种视频处理方法、装置、电子设备及存储介质。
背景技术
视频点播应用的广泛普及,尤其是短视频应用的发展,是最近几年移动互联网领域一个非常明显的发展趋势,其根本原因是文字信息和图片信息已无法满足人们获取信息的需求,视频依靠内容的丰富性逐渐被用户接受。
在短视频的播放场景中,影响用户体验的主要因素包括视频的内容质量,如果在视频内容质量相差不大的情况下,视频从加载到播放的速度、播放过程的卡顿以及视频清晰度都是影响用户体验的重要指标。在视频从加载到播放这一过程中,在网络能够满足视频带宽需求的情况下,视频从加载到播放的速度一般都很快,但在网络不稳定的时候,容易造成启加载和播放的卡顿。
目前优化视频从加载到播放这一过程的速度的技术方式包括视频预加载技术、播放器内核优化、mp4的moov头信息位置调整等,这些技术优化后的收益是叠加的,可以作为一个相互的补充,上面已有的技术但是这些方案大部分都是在播放视频的客户端进行的优化,对于单纯从客户端对于视频从加载到播放这一过程的速度进行优化的效果已经达到了最大化。
发明内容
本公开提供一种视频处理方法、装置、电子设备及存储介质。
本公开实施例的第一方面,提供一种视频处理方法,包括:获取待播放视频中的多路媒体数据;其中,各路所述媒体数据中均包括多帧媒体帧;将不同路所述媒体数据中的所述媒体帧写入不同类型的媒体帧集合;其中,不同类型的所述媒体帧集合之间交错分布,并且至少两个相邻的同类型所述媒体帧集合中所述媒体帧的数量相同;根据所述媒体帧集合,生成目标视频;其中,在目标视频的头信息中,所述媒体帧的数量相同的同类型所述媒体帧集合共用一个帧数记录信息。
在一个实施例中,所述将不同路所述媒体数据中的所述媒体帧写入不同类型的媒体帧集合,包括:在至少两个相邻的同类型所述媒体帧集合中写入相同数量的所述媒体帧;其中,所述媒体帧集合中的所述媒体帧为:与所述媒体帧集合的类型对应的所述媒体数据中的所述媒体帧。
在一个实施例中,所述在至少两个相邻的同类型所述媒体帧集合中写入相同数量的所述媒体帧,包括:获取不同路所述媒体数据中所述媒体帧的时间信息;根据所述时间信息,将同一路所述媒体数据中相同数量的所述媒体帧写入至少两个相邻的同类型所述媒体帧集合。
在一个实施例中,多路所述媒体数据至少包括:一路音频数据和一路视频数据;所述媒体帧至少包括:音频帧和视频帧;所述媒体帧集合至少包括:音频帧集合和视频帧集合;所述音频帧集合中写入有所述音频帧,所述视频帧集合中写入有所述视频帧。
在一个实施例中,所述获取待播放视频中的多路媒体数据,包括:对所述待播放视频进行解析,得到多路不同的所述媒体数据。
本公开实施例的第二方面,提供一种视频处理方法,包括:获取目标视频;其中,所述目标视频包括多路媒体数据,所述媒体数据包括媒体帧集合,所述媒体帧集合中包括媒体帧;在所述目标视频的头信息中,所述媒体帧的数量相同的同类型所述媒体帧集合共用一个帧数记录信息;根据共用的所述帧数记录信息,解析所述目标视频;播放解析后的所述目标视频。
在一个实施例中,所述根据共用的所述帧数记录信息,解析所述目标视频,包括:解析所述共用的所述帧数记录信息,获取所述帧数记录信息记录的所述数量;根据所述数量解析各个所述媒体帧集合中的所述媒体帧。
本公开实施例的第三方面,提供一种视频处理装置,包括:媒体数据获取模块,用于获取待播放视频中的多路媒体数据;其中,各路所述媒体数据中均包括多帧媒体帧;媒体帧写入模块,用于将不同路所述媒体数据中的所述媒体帧写入不同类型的媒体帧集合;其中,不同类型的所述媒体帧集合之间交错分布,并且至少两个相邻的同类型所述媒体帧集合中所述媒体帧的数量相同;生成模块,用于根据所述媒体帧集合,生成目标视频;其中,在目标视频的头信息中,所述媒体帧的数量相同的同类型所述媒体帧集合共用一个帧数记录信息。
本公开实施例的第四方面,提供一种视频处理装置,包括:目标视频获取模块,用于获取目标视频;其中,所述目标视频包括多路媒体数据,所述媒体数据包括媒体帧集合,所述媒体帧集合中包括媒体帧;在所述目标视频的头信息中,所述媒体帧的数量相同的同类型所述媒体帧集合共用一个帧数记录信息;目标视频解析模块,用于根据共用的所述帧数记录信息,解析所述目标视频;启播模块,用于启播解析后的所述目标视频。
本公开实施例的第五方面,提供一种电子设备,包括:处理器和用于存储能够在所述处理器上运行的可执行指令的存储器,其中:处理器用于运行所述可执行指令时,所述可执行指令执行上述任一实施例所述的方法。
本公开实施例的第六方面,提供一种非临时性计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述任一实施例所述的方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开实施例通过获取待播放视频中的多路媒体数据,各路媒体数据中均包括多帧媒体帧,然后将不同路媒体数据中的媒体帧写入不同类型的媒体帧集合,不同类型的媒体帧集合之间交错分布,并且至少两个相邻的同类型媒体帧集合中媒体帧的数量相同。根据媒体帧集合生成目标视频,在目标视频的头信息中,媒体帧的数量相同的同类型媒体帧集合共用一个帧数记录信息。
至少两个相邻的同类型媒体帧集合中的媒体帧的数量相同时,目标视频的头信息中,可以用同一个帧数记录信息来记录这些媒体帧集合中的媒体帧数量,从而减小了由于相邻的同类型媒体帧集合中的媒体帧数量不一致而需要单独记录每个媒体帧集合中媒体帧的数量,导致的记录媒体帧数量的数据过大的问题,进而减少了目标视频的头信息的大小,在客户端加载视频时的加载时间也会减小,从而减少了视频加载至开始播放之间的时长,提高了视频的播放速度,也提高了用户的使用体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种MP4格式的视频文件中不同数据对象块的数据大小的示意图;
图2是根据一示例性实施例示出的一种视频处理方法的流程示意图;
图3是根据一示例性实施例示出的一种待播放视频的视频数据中的视频帧集合的示意图;
图4是根据一示例性实施例示出的一种目标视频的视频数据中的视频帧集合的示意图;
图5是根据一示例性实施例示出的一种与图3对应的视频文件大小的示意图;
图6是根据一示例性实施例示出的一种与图4对应的视频文件大小的示意图;
图7是根据一示例性实施例示出的另一种视频处理方法的流程示意图;
图8是根据一示例性实施例示出的一种视频处理装置的结构示意图;
图9是根据一示例性实施例示出的另一种视频处理装置的结构示意图;
图10是根据一示例性实施例示出的另一种根据待播放视频得到目标视频的示意图;
图11是根据一示例性实施例示出的一种待播放视频的视频数据示意图;
图12是根据一示例性实施例示出的一种目标视频的视频数据示意图;
图13是根据一示例性实施例示出的一种终端设备的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置的例子。
通常情况下,点播视频(非直播视频和本地视频)的视频格式大多数都是mp4格式,视频数据是以数据对象块(box)的形式存在,多个数据对象块形成视频数据。视频数据中主要的数据对象块有ftyp数据对象块、moov数据对象块和mdat数据对象块等,ftyp数据对象块是指视频文件的类型,一般为固定的格式;moov数据对象块为视频文件的头信息,它描述了后面mdat数据对象块的组织信息和媒体基本信息。在点播流这种场景下,moov数据对象块都在mdat数据对象块的前面,mdat数据对象块为真正的媒体数据,mdat数据对象块的数据量的大小是最大的。在视频播放时,视频前面1.5秒左右的数据量大小直接影响视频的启播速度,即从开始记载到开始播放这段时间的速度。而在前1.5秒左右的数据中,moov数据对象块的数据大小的占比很大,例如一些小分辨率和小码率的视频,moov的占比更大,直接影响了视频的启播速度。
参考图1,为一种MP4格式的视频文件中不同数据对象块的数据大小的示意图,各个数据对象块后边对应的数字表示该数据对象块在视频文件中的数据大小。从图1中可以看出,moov数据对象块的数据大小在整个文件中的占比还是很大的,直接影响了视频文件的数据的大小。
参考图2,为本公开实施例提供的一种视频处理方法的流程示意图,该视频处理方法包括以下步骤:
步骤S100,获取待播放视频中的多路媒体数据;其中,各路媒体数据中均包括多帧媒体帧;
步骤S200,将不同路媒体数据中的媒体帧写入不同类型的媒体帧集合;其中,不同类型的媒体帧集合之间交错分布,并且至少两个相邻的同类型媒体帧集合中媒体帧的数量相同;
步骤S300,根据媒体帧集合,生成目标视频;其中,在目标视频的头信息中,媒体帧的数量相同的同类型媒体帧集合共用一个帧数记录信息。
该实施例可以应用于网络侧或者服务器,网络侧或者服务器中存储有相应的待播放视频的各种信息,可以供客户端进行加载并播放。
视频文件中包括多路媒体数据,不同路的媒体数据中包括的媒体数据不同。多路媒体数据通常在视频文件的moov数据对象块中,即moov数据对象块包括多路媒体数据,多路媒体数据至少可以包括一路音频数据和一路视频数据,还可以包括一路文本数据等。每一路媒体数据中都包括多帧媒体帧,这些媒体帧组成相应的媒体数据,例如,视频数据中包括多帧视频帧,音频数据中包括多帧音频帧。
通过获取待播放视频中的多路媒体数据,可以对待播放视频中不同路媒体数据中的媒体进行后续步骤的处理。在该实施例中,由于待播放视频的视频文件存储在服务器中,服务器可以直接获取待播放视频的多路媒体数据,具体的获取过程并不进行限定。例如,通过解析的方式,得到多路不同的媒体数据。不同路的媒体数据可以包括音频数据、视频数据和文本数据等。
对于步骤S200,在获取待播放视频中的多路媒体数据中的媒体帧之后,将不同路媒体数据中的媒体帧写入不同类型的媒体帧集合。不同路的媒体数据中的媒体帧写入的媒体帧集合的类型不同,同一路媒体数据中媒体帧和媒体帧集合相匹配,即媒体帧集合中写入的媒体帧的类型与该媒体帧集合的类型一致。例如,媒体帧集合包括音频帧集合、视频帧集合和文件帧集合。将音频数据中的音频帧写入音频帧集合,将视频数据中的视频帧写入视频帧集合,将文本数据中的文本帧写入文本帧集合等,音频帧集合、视频帧集合和文本帧集合为不同类型的媒体帧集合,用于写入不同的媒体帧。媒体帧集合的具体格式和结构等不在这里进行限定,能够写入对应的媒体帧即可,例如消息队列等。
在该实施例中,不同类型的媒体帧集合之间交错分布,并且至少两个相邻的同类型媒体帧集合中媒体帧的数量相同。
例如,待播放视频的视频文件中包括一路视频数据和一路音频数据,视频数据中包括多个视频帧,音频数据中包括多个音频帧,将视频帧写入视频帧集合,将音频帧写入音频帧集合,视频帧集合和音频帧集合交错分布,相邻两个视频帧集合之间具有一个音频帧集合,相邻两个音频帧集合之间具有一个视频帧集合。如视频帧集合1、音频帧集合1、视频帧集合2、音频帧集合2、视频帧集合3、音频帧集合3等。
至少两个相邻的同类型媒体帧集合中的媒体帧的数量相同。例如,对于视频帧集合而言,视频帧集合1中具有的视频帧的数量和视频帧集合2中具有的视频帧的数量相同。再例如,视频帧集合2中具有的视频帧的数量和视频帧集合3中具有的视频帧的数量相同。再例如,视频帧集合1中具有的视频帧的数量、视频帧集合2中具有的视频帧的数量和视频帧集合3中具有的视频帧的数量相同。
再例如,对于音频帧集合而言,音频帧集合1中具有的音频帧的数量和音频帧集合2中具有的音频帧的数量相同。再例如,音频帧集合2中具有的音频帧的数量和音频帧集合3中具有的音频帧的数量相同。再例如,音频帧集合1中具有的音频帧的数量、音频帧集合2中具有的音频帧的数量和音频帧集合3中具有的音频帧的数量相同。
再例如,至少两个相邻的音频帧集合中包括的音频帧的数量相等,并且至少两个相邻的视频帧集合中包括的视频帧的数量相等。如:视频帧集合1中具有的视频帧的数量和视频帧集合2中具有的视频帧的数量相同,并且音频帧集合1中具有的音频帧的数量和音频帧集合2中具有的音频帧的数量相同。
至少两个相邻的连个同类型的媒体帧集合中写入的媒体帧的数量相同即可。
对于步骤S300,在通过步骤S200得到媒体帧集合后,根据媒体帧集合即可生成目标视频。在目标视频的头信息中,媒体帧的数量相同的同类型媒体帧集合共用一个帧数记录信息。
由于至少两个相邻的同类型媒体帧集合中写入的媒体帧数量相同,所以媒体帧的数量相同的同类型媒体帧集合可以通过同一个帧数记录信息来记录媒体帧的数量,这样就减少了媒体帧数量记录信息的大小,不需要每个媒体帧集合都需要使用一个媒体帧记录信息来记录媒体帧的数量。从而减小了由于相邻的同类型媒体帧集合中的媒体帧数量不一致而需要单独记录每个媒体帧集合中媒体帧的数量,导致的记录媒体帧数量的数据过大的问题,进而减少了目标视频的头信息的大小,在客户端加载视频时的加载时间也会减小,从而减少了视频加载至开始播放之间的时长,提高了视频的播放速度,也提高了用户的使用体验。
在另一实施例中,参考图3,为一种待播放视频的视频数据中的视频帧集合的示意图。图3示出了待播放视频中的媒体帧集合1、媒体帧集合2、媒体帧集合3和媒体帧集合4共4个媒体帧集合。4个媒体帧集合包括音频帧集合和视频帧集合,视频帧集合中包括视频帧集合1和视频帧集合2,媒体帧集合1即为视频帧集合1,媒体帧集合2即为视频帧集合2。音频帧集合包括音频帧集合1和音频帧集合2,媒体帧集合3即为音频帧集合1,媒体帧集合4即为音频帧集合2。视频帧集合和音频帧集合交错分布。如图3所示,视频帧集合1后边为一个音频帧集合1,然后音频帧集合1后边为另一个视频帧集合2。
视频帧集合1中包括视频帧1、视频帧2、视频帧3和视频帧4四个视频帧,视频帧集合2中包括视频帧5、视频帧6和视频7三个视频帧。由于视频帧集合1和视频帧集合2为相邻的视频帧集合,并且两个视频帧集合中包括的视频帧的数量不同。在MP4格式的文件中,moov数据对象块中如果相邻的同类型媒体帧集合中的媒体帧数量不同,则相邻的两个媒体帧集合各自需要使用一个帧数记录信息来记录帧数,所以视频帧集合1和视频帧集合2分别需要通过一个帧数记录信息来记录视频帧的帧数。
音频帧集合1中包括音频帧1、音频帧2和音频帧3三个视频帧,音频帧集合2中包括音频帧5和音频帧6两个视频帧。音频帧集合1和音频帧集合2分别需要通过一个帧数记录信息来记录音频帧的帧数。
图3所示的视频帧集合来表示待播放视频的全部视频帧集合,视频数据中包括的多个视频帧集合中,相邻的两个视频帧集合中包括的视频帧的数量都不同,这样就会导致每个视频帧集合都需要一个帧数记录信息来记录视频帧数,从而导致帧数记录信息数量的增大,帧数记录信息的数量增加后,帧数记录信息占用的数据大小也会增大,从而增大了待播放视频的头信息的大小,即增大了moov数据对象块的大小,增加了客户端在加载待播放视频的时间,降低了用户体验。
参考图4,为一种目标视频的视频数据中的视频帧集合的示意图。该示意图所示的媒体帧集合的结构即为通过上述步骤S100至步骤S300所得到的目标视频的媒体帧的示意图。
图4中的示出了待播放视频中的媒体帧集合A、媒体帧集合B、媒体帧集合C和媒体帧集合D共4个媒体帧集合,媒体帧集合A和媒体帧集合C为视频帧集合,媒体帧集合B和媒体帧集合D为音频帧集合。媒体帧集合A中包括视频帧a1、视频帧a2、视频帧a3和视频帧a4四个视频帧,媒体帧集合C中包括视频帧a5、视频帧a6、视频帧a7和视频帧a8四个视频帧,由于媒体帧集合A和媒体帧集合C都是视频帧集合,属于同一类型的媒体帧集合,并且两个视频帧集合相邻,包括的视频帧的数量也是相同的,所以可以用同一个帧数记录信息记录这两个视频帧集合中的视频帧数,从而减少了帧数记录信息的数量,进而减少了帧数记录信息所占用的数据大小,便于减少加载目标视频的时间,提高目标视频的加载速度,提高用户的使用体验。
同理,媒体帧集合B和媒体帧集合D为音频帧集合,媒体帧集合B和媒体帧集合D中包括的音频帧的数量也是相同的。媒体帧集合B包括音频帧b1、音频帧b2和音频帧b3三个音频帧,媒体帧集合D包括音频帧b4、音频帧b5和音频帧b6三个音频帧。媒体帧集合B和媒体帧集合D为相邻的音频帧集合,媒体帧集合B和媒体帧集合D可以用同一个帧数记录信息记录这两个视频帧集合中的视频帧数,从而减少了帧数记录信息的数量,进而减少了帧数记录信息所占用的数据大小,便于减少加载目标视频的时间,提高目标视频的加载速度,提高用户的使用体验。
具有相同数量的媒体帧的相邻媒体帧集合的数量越多,同一个帧数记录信息就可以记录更多的媒体帧集合中的媒体帧数量,帧数记录信息的数量越少,帧数记录信息所占用的数据大小也就越少,越利于减少加载目标视频的时间,进一步提高目标视频的加载速度。
在另一实施例中,图5为与图3对应的视频文件大小的示意图,图6为与图4对应的视频文件大小的示意图。
参考图5和图6,在moov数据对象块中,每个track表示一路媒体数据,在该实施例中,视频文件中包括两路个媒体数据(track),一个track表示一路音频数据,另一个track表示一路视频数据。每路媒体数据包括多个连续的媒体帧集合(trunk),每个trunk包括一定数量的媒体帧(sample)。在待播放视频的媒体帧集合如图3所示时,moov数据对象块的大小如图5所示,moov数据对象块中的track(也可以表示为trak)的大小如图5中的方框所示。在经过步骤S100至步骤S300得到的目标视频的媒体帧结合如图4所示时,moov数据对象块的大小如图5所示。对比图5和图6中的moov数据对象块的大小可知,图6中的moov数据对象块的大小明显小于图5中moov数据对象块的大小。
具体地,帧数记录信息的数据大小(stco)对moov数据对象块的大小影响较大,对比图5和图6,图6中的stco的大小明显小于图5中的stco的大小,即图4所示的媒体帧集合的帧数记录信息的大小明显小于图3所示的媒体帧集合的帧数记录信息的大小。
在另一实施例中,步骤S200,将不同路媒体数据中的媒体帧写入不同类型的媒体帧集合,包括:
在至少两个相邻的同类型媒体帧集合中写入相同数量的媒体帧;其中,媒体帧集合中的媒体帧为:与媒体帧集合的类型对应的媒体数据中的媒体帧。
在得到待播放视频的媒体数据后,可以得到各路媒体数据的各个媒体帧,然后在至少两个相邻的同类型媒体帧集合中写入相同数量的媒体帧,写入媒体帧集合中的媒体帧与媒体帧集合的类型相匹配。例如,在音频媒体帧集合1和音频媒体帧3中写入相同数量的音频媒体帧,在视频媒体帧集合1和视频媒体帧集合3中写入相同数量的视频媒体帧。
在另一实施例中,在至少两个相邻的同类型所述媒体帧集合中写入相同数量的所述媒体帧,包括:
获取不同路媒体数据中媒体帧的时间信息,根据时间信息将同一路媒体数据中相同数量的媒体帧写入至少两个相邻的同类型媒体帧集合。
媒体数据中各路媒体帧都具有对应的时间信息,例如时间戳,同一路的媒体帧按照时间信息进行排序,对于同一路媒体数据中的媒体帧而言,根据时间信息将媒体帧写入相应的媒体帧集合中,并且至少两个相邻的媒体帧集合中写入的媒体帧数量相同。
例如,获取待播放视频的媒体数据后,可以获取音频数据和视频数据,音频数据中包括多个带有时间信息的音频帧,视频数据中包括多个带有时间信息的视频帧。按照视频帧的时间信息的先后顺序将4视频帧写入第一视频帧集合,然后在按照音频帧的时间信息的先后顺序将3个音频帧写入第一音频帧集合,然后在继续按照视频帧的时间信息的先后顺序将4视频帧写入第二视频帧集合,按照音频帧的时间信息的先后顺序将3个音频帧写入第二音频帧集合等。这样可以保证视频数据的质量和完整性。
在另一实施例中,还可以通过改变写入媒体帧集合的媒体帧的数量来减少moov数据对象块的大小。在写入媒体帧集合中的媒体帧的数量越多时,媒体帧集合的数量越少,记录媒体帧集合中媒体帧的帧数记录信息的个数越少,帧数记录信息的数据大小越少,从而可以减少moov数据对象块的大小。
在一个实施例中,单个媒体帧集合中写入媒体帧的数量在6个至10个的区间内。
在另一实施例中,参考图7,为另一种视频处理方法的流程示意图,该方法包括:
步骤S10,获取目标视频;其中,目标视频包括多路媒体数据,媒体数据包括媒体帧集合,媒体帧集合中包括媒体帧;在目标视频的头信息中,媒体帧的数量相同的同类型媒体帧集合共用一个帧数记录信息;
步骤S20,根据共用的帧数记录信息,解析目标视频;
步骤S30,播放解析后的目标视频。
该方法的至少可以在移动终端中执行,即该方法的执行主体至少可以包括移动终端。移动终端可以包括手机、平板电脑、车载中控设备、可穿戴设备、智能设备等,智能设备又可包括智能办公设备和智能家居设备等。
在服务器生成目标视频后,终端设备可以从服务器加载该目标视频,然后解析目标视频进行播放。由于目标视频的头信息中,媒体帧的数量相同的同类型媒体帧集合共用一个帧数记录信息,所以目标视频的头信息的大小减小了。终端在解析目标视频的头信息时,解析共用的帧数记录信息后即可确定共用该帧数记录信息的媒体帧集合的信息,不需要逐个解析媒体帧所对应的帧数记录信息,也可以减少解析时间,从而提高了加载目标视频的速度,提高用户体验。
在一个实施例中,步骤S20,根据共用的帧数记录信息,解析目标视频,包括:
解析共用的帧数记录信息,获取帧数记录信息记录的数量。在将共用的帧数记录信息解析后即可获取该帧数记录信息所记录的帧数的数量,从而可以确定共用该帧数记录信息的媒体帧集合中的媒体帧数量,然后即可根据数量解析各个媒体帧集合中的媒体帧。
对于共用该帧数记录信息的媒体帧集合而言,终端只需对该共用的帧数记录信息进行解析即可,不需要对每个媒体帧集合的帧数记录信息进行解析,从而减少了终端的解析量,减少终端解析目标视频的时间,提高终端加载目标视频的速度。
在另一实施例中,参考图8,为一种视频处理装置的结构示意图,该装置包括:
媒体数据获取模块1,用于获取待播放视频中的多路媒体数据;其中,各路所述媒体数据中均包括多帧媒体帧;
媒体帧写入模块2,用于将不同路所述媒体数据中的所述媒体帧写入不同类型的媒体帧集合;其中,不同类型的所述媒体帧集合之间交错分布,并且至少两个相邻的同类型所述媒体帧集合中所述媒体帧的数量相同;
生成模块3,用于根据所述媒体帧集合,生成目标视频;其中,在目标视频的头信息中,所述媒体帧的数量相同的同类型所述媒体帧集合共用一个帧数记录信息。
在另一实施例中,媒体帧写入模块2还用于:
在至少两个相邻的同类型所述媒体帧集合中写入相同数量的所述媒体帧;其中,所述媒体帧集合中的所述媒体帧为:与所述媒体帧集合的类型对应的所述媒体数据中的所述媒体帧。
在另一实施例中,媒体帧写入模块2,包括:
时间信息获取单元,获取不同路所述媒体数据中所述媒体帧的时间信息;
写入单元,根据所述时间信息,将同一路所述媒体数据中相同数量的所述媒体帧写入至少两个相邻的同类型所述媒体帧集合。
在另一实施例中,多路所述媒体数据至少包括:一路音频数据和一路视频数据;
所述媒体帧至少包括:音频帧和视频帧;
所述媒体帧集合至少包括:音频帧集合和视频帧集合;所述音频帧集合中写入有所述音频帧,所述视频帧集合中写入有所述视频帧。
在另一实施例中,媒体数据获取模块1包括:
解析单元,对所述待播放视频进行解析,得到多路不同的所述媒体数据。
在另一实施例中,参考图9,为另一种视频处理装置的结构示意图,包括:
目标视频获取模块4,用于获取目标视频;其中,所述目标视频包括多路媒体数据,所述媒体数据包括媒体帧集合,所述媒体帧集合中包括媒体帧;在所述目标视频的头信息中,所述媒体帧的数量相同的同类型所述媒体帧集合共用一个帧数记录信息;
目标视频解析模块5,用于根据共用的所述帧数记录信息,解析所述目标视频;
启播模块6,用于启播解析后的所述目标视频。
在另一实施例中,目标视频解析模块5,包括:
第一解析单元,解析所述共用的所述帧数记录信息,获取所述帧数记录信息记录的所述数量;
第二解析单元,根据所述数量解析各个所述媒体帧集合中的所述媒体帧。
在另一实施例中,参考图5和图6,图5为原始的mp4视频数据的示意图,图6为是优化moov后的视频数据的示意图。可以看出右边的视频moov明显比原始的视频小。在moov中,每个track代表一路音频或者视频的媒体信息,该视频文件中有2条track,一路视频一路音频,经过优化后,主要是stsc和stco这2个值减小了。每路媒体数据是由多个连续的trunk组成,而每个trunk中包含一定数量的sample,每个trunk中包含的sample的个数越多,stsc这个值会越小,当然sample的个数不能非常大,因为需要考虑播放端的读包的缓存问题,针对小视频这个值在6-10之间比较合理。另外如果连续的trunk的sample个税如果一样,则stco这个值会比较小,所以我们针对240p的视频,我们可以把视频和音频的trunk中sample的大小分别设置成8,6,而且大小都是连续的,这样就能压缩了moov中stsc和stco的大小。
参考图3和图4,上面图4表示的一般的mp4的trunk和sample结构,图5是经过优化后的trunk和sample结构,可以看到图4的4个trunk类型以此是video,audio,video,audio,其中sample的个数依次是4,3,3,2,经过优化后sample的个数变为4,3,4,3,这样连续的同类型trunk中samples的个数变成一样了,这样stco会相应的减小,同时适当调大每个trunk中sample的个数,比如8,6,8,6的结构,则stsc也会相应的减小。
参考图10,为另一种根据待播放视频得到目标视频的示意图。
通过ffmpeg工具进行待播放视频的原始文件的转存储,包括对待播放视频的媒体数据的转存储,通过ffmpeg对待播放视频的生成步骤进行相应的修改,待播放视频的视频数据参考图11。整个转存储的过程为,先解封装(demux)分别读出每路的音频包和视频包,音频包包括音频帧集合,音频帧集合中包括音频帧,视频包包括视频帧集合,视频帧集合中包括视频帧,解封装也是为解析的过程。然后存入对应一个缓存队列,当视频或者音频的包到达一个固定的数量后,再连续写入目标文件,这样生成的文件就是满足目标结构的文件,即目标文件,参考图12。
在另一实施例中,还提供了一种电子设备,包括:
处理器和用于存储能够在所述处理器上运行的可执行指令的存储器,其中:
处理器用于运行所述可执行指令时,所述可执行指令执行上述任一实施例所述的方法。
在另一实施例中,还提供了一种非临时性计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述任一实施例所述的方法。
需要说明的是,本公开实施例中的“第一”和“第二”仅为表述和区分方便,并无其他特指含义。
图13是根据一示例性实施例示出的一种终端设备的框图。例如,终端设备可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图13,终端设备可以包括以下一个或多个组件:处理组件802,存储器804,电力组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制终端设备的整体操作,诸如与展示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在终端设备的操作。这些数据的示例包括用于在终端设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件806为终端设备的各种组件提供电力。电力组件806可以包括电源管理***,一个或多个电源,及其他与为终端设备生成、管理和分配电力相关联的组件。
多媒体组件808包括在终端设备和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶展示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当终端设备处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当终端设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为终端设备提供各个方面的状态评估。例如,传感器组件814可以检测到终端设备的打开/关闭状态,组件的相对定位,例如组件为终端设备的展示器和小键盘,传感器组件814还可以检测终端设备或终端设备一个组件的位置改变,用户与终端设备接触的存在或不存在,终端设备方位或加速/减速和终端设备的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于终端设备和其他设备之间有线或无线方式的通信。终端设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,终端设备可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (11)
1.一种视频处理方法,其特征在于,包括:
获取待播放视频中的多路媒体数据;其中,各路所述媒体数据中均包括多帧媒体帧;
将不同路所述媒体数据中的所述媒体帧写入不同类型的媒体帧集合;其中,不同类型的所述媒体帧集合之间交错分布,并且至少两个相邻的同类型所述媒体帧集合中所述媒体帧的数量相同;
根据所述媒体帧集合,生成目标视频;其中,在目标视频的头信息中,所述媒体帧的数量相同的同类型所述媒体帧集合共用一个帧数记录信息。
2.根据权利要求1所述的方法,其特征在于,所述将不同路所述媒体数据中的所述媒体帧写入不同类型的媒体帧集合,包括:
在至少两个相邻的同类型所述媒体帧集合中写入相同数量的所述媒体帧;其中,所述媒体帧集合中的所述媒体帧为:与所述媒体帧集合的类型对应的所述媒体数据中的所述媒体帧。
3.根据权利要求2所述的方法,其特征在于,所述在至少两个相邻的同类型所述媒体帧集合中写入相同数量的所述媒体帧,包括:
获取不同路所述媒体数据中所述媒体帧的时间信息;
根据所述时间信息,将同一路所述媒体数据中相同数量的所述媒体帧写入至少两个相邻的同类型所述媒体帧集合。
4.根据权利要求1至3任一项所述的方法,其特征在于,多路所述媒体数据至少包括:一路音频数据和一路视频数据;
所述媒体帧至少包括:音频帧和视频帧;
所述媒体帧集合至少包括:音频帧集合和视频帧集合;所述音频帧集合中写入有所述音频帧,所述视频帧集合中写入有所述视频帧。
5.根据权利要求1所述的方法,其特征在于,所述获取待播放视频中的多路媒体数据,包括:
对所述待播放视频进行解析,得到多路不同的所述媒体数据。
6.一种视频处理方法,其特征在于,包括:
获取目标视频;其中,所述目标视频包括多路媒体数据,所述媒体数据包括媒体帧集合,所述媒体帧集合中包括媒体帧;在所述目标视频的头信息中,所述媒体帧的数量相同的同类型所述媒体帧集合共用一个帧数记录信息;
根据共用的所述帧数记录信息,解析所述目标视频;
播放解析后的所述目标视频。
7.根据权利要求6所述的方法,其特征在于,所述根据共用的所述帧数记录信息,解析所述目标视频,包括:
解析所述共用的所述帧数记录信息,获取所述帧数记录信息记录的所述数量;
根据所述数量解析各个所述媒体帧集合中的所述媒体帧。
8.一种视频处理装置,其特征在于,包括:
媒体数据获取模块,用于获取待播放视频中的多路媒体数据;其中,各路所述媒体数据中均包括多帧媒体帧;
媒体帧写入模块,用于将不同路所述媒体数据中的所述媒体帧写入不同类型的媒体帧集合;其中,不同类型的所述媒体帧集合之间交错分布,并且至少两个相邻的同类型所述媒体帧集合中所述媒体帧的数量相同;
生成模块,用于根据所述媒体帧集合,生成目标视频;其中,在目标视频的头信息中,所述媒体帧的数量相同的同类型所述媒体帧集合共用一个帧数记录信息。
9.一种视频处理装置,其特征在于,包括:
目标视频获取模块,用于获取目标视频;其中,所述目标视频包括多路媒体数据,所述媒体数据包括媒体帧集合,所述媒体帧集合中包括媒体帧;在所述目标视频的头信息中,所述媒体帧的数量相同的同类型所述媒体帧集合共用一个帧数记录信息;
目标视频解析模块,用于根据共用的所述帧数记录信息,解析所述目标视频;
启播模块,用于启播解析后的所述目标视频。
10.一种电子设备,其特征在于,包括:
处理器和用于存储能够在所述处理器上运行的可执行指令的存储器,其中:
处理器用于运行所述可执行指令时,所述可执行指令执行上述权利要求1至5或6至7任一项所述的方法。
11.一种非临时性计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述权利要求1至5或6至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111456865.5A CN114449316B (zh) | 2021-12-02 | 2021-12-02 | 一种视频处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111456865.5A CN114449316B (zh) | 2021-12-02 | 2021-12-02 | 一种视频处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114449316A true CN114449316A (zh) | 2022-05-06 |
CN114449316B CN114449316B (zh) | 2023-09-22 |
Family
ID=81363564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111456865.5A Active CN114449316B (zh) | 2021-12-02 | 2021-12-02 | 一种视频处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114449316B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008106842A1 (fr) * | 2007-03-08 | 2008-09-12 | Zte Corporation | Procédé de mise en oeuvre d'informations d'invite de programme de diffusion multimédia mobile |
KR20130084345A (ko) * | 2012-01-17 | 2013-07-25 | (주)피타소프트 | Mp4 파일 구성 장치 및 복구 장치, mp4 파일 구성 방법 및 복구 방법 |
WO2015117572A1 (zh) * | 2014-07-28 | 2015-08-13 | 中兴通讯股份有限公司 | 一种浓缩视频的运动目标标注方法、播放方法及装置 |
CN109788372A (zh) * | 2019-01-24 | 2019-05-21 | 维沃移动通信有限公司 | 一种流媒体的播放方法及相关装置 |
CN110662084A (zh) * | 2019-10-15 | 2020-01-07 | 北京齐尔布莱特科技有限公司 | 一种mp4文件流直播的方法、移动终端及存储介质 |
-
2021
- 2021-12-02 CN CN202111456865.5A patent/CN114449316B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008106842A1 (fr) * | 2007-03-08 | 2008-09-12 | Zte Corporation | Procédé de mise en oeuvre d'informations d'invite de programme de diffusion multimédia mobile |
KR20130084345A (ko) * | 2012-01-17 | 2013-07-25 | (주)피타소프트 | Mp4 파일 구성 장치 및 복구 장치, mp4 파일 구성 방법 및 복구 방법 |
WO2015117572A1 (zh) * | 2014-07-28 | 2015-08-13 | 中兴通讯股份有限公司 | 一种浓缩视频的运动目标标注方法、播放方法及装置 |
CN109788372A (zh) * | 2019-01-24 | 2019-05-21 | 维沃移动通信有限公司 | 一种流媒体的播放方法及相关装置 |
CN110662084A (zh) * | 2019-10-15 | 2020-01-07 | 北京齐尔布莱特科技有限公司 | 一种mp4文件流直播的方法、移动终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114449316B (zh) | 2023-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017181556A1 (zh) | 游戏直播方法及装置 | |
JP6626440B2 (ja) | マルチメディアファイルを再生するための方法及び装置 | |
US20090096927A1 (en) | System and method for video coding using variable compression and object motion tracking | |
CN106559712B (zh) | 视频播放处理方法、装置及终端设备 | |
WO2017181551A1 (zh) | 视频处理方法及装置 | |
CN106911967B (zh) | 直播回放方法及装置 | |
CN111246283B (zh) | 视频播放方法、装置、电子设备及存储介质 | |
CN106210757A (zh) | 直播方法、直播装置及直播*** | |
CN104639977B (zh) | 节目播放的方法及装置 | |
EP3163887A1 (en) | Method and apparatus for performing media synchronization | |
JP2011504339A (ja) | 可変画質を有する写真を生成するシステム及び方法 | |
CN105120337A (zh) | 视频特效处理方法、装置及终端设备 | |
CN101232611B (zh) | 图像处理设备及其方法 | |
US20220264053A1 (en) | Video processing method and device, terminal, and storage medium | |
CN106792024B (zh) | 多媒体信息的分享方法及装置 | |
CN111583952A (zh) | 音频处理方法、装置、电子设备及存储介质 | |
CN109963168A (zh) | 视频预览方法及装置 | |
CN107040825B (zh) | 终端、电视机、多屏互动***和抓屏参数的设置方法 | |
CN111147942A (zh) | 视频播放方法、装置、电子设备及存储介质 | |
CN115639934A (zh) | 内容分享方法、装置、设备、计算机可读存储介质及产品 | |
CN111739538B (zh) | 一种翻译方法、装置、耳机和服务器 | |
CN112764636A (zh) | 视频处理方法、装置、电子设备和计算机可读存储介质 | |
CN114449316B (zh) | 一种视频处理方法、装置、电子设备及存储介质 | |
CN112866612B (zh) | 插帧方法、装置、终端及计算机可读存储介质 | |
CN110809184A (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 |