CN108076377B - 一种视频的存储、播放方法、装置、电子设备及存储介质 - Google Patents

一种视频的存储、播放方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN108076377B
CN108076377B CN201711434492.5A CN201711434492A CN108076377B CN 108076377 B CN108076377 B CN 108076377B CN 201711434492 A CN201711434492 A CN 201711434492A CN 108076377 B CN108076377 B CN 108076377B
Authority
CN
China
Prior art keywords
file
frame
target
slice
video
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
CN201711434492.5A
Other languages
English (en)
Other versions
CN108076377A (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.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology 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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN201711434492.5A priority Critical patent/CN108076377B/zh
Publication of CN108076377A publication Critical patent/CN108076377A/zh
Application granted granted Critical
Publication of CN108076377B publication Critical patent/CN108076377B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本发明公开了一种视频的存储、播放方法、装置、电子设备及存储介质,该视频的存储方法包括:将待存储的视频文件划分成至少一个切片文件;针对每个切片文件,确定用于存储该切片文件的目标m3u8文件,并确定该切片文件中包含的每个I帧和每个关键P帧,其中所述关键P帧为在解码时只依赖前向I帧的P帧;将确定的每个切片文件的标识信息和每个切片文件中包含的每个I帧及每个关键P帧的信息,存储在对应的目标m3u8文件中,其中所述关键P帧的信息包括关键P帧的起始时间及其依赖的前向I帧。在本发明实施例中相邻关键P帧的时间间隔远小于相邻I帧的时间间隔,减少了seek时间点与实际播放视频的时间点间隔,缩小了seek的误差。

Description

一种视频的存储、播放方法、装置、电子设备及存储介质
技术领域
本发明涉及互联网多媒体领域,尤其涉及一种视频的存储、播放方法、装置、电子设备及存储介质。
背景技术
HLS(HTTP Live Streaming,HTTP流媒体直播)协议是由苹果公司提出的基于HTTP的流媒体网络传输协议。它的工作原理是把整个视频文件分割成若干个切片文件即视频片段,切片文件也称作ts(Transport Stream,传送流)文件,每个切片文件中可能包含I帧也可能不包含I帧,并且在一个m3u8文件中记录每个切片文件的具体位置也就是路径信息,m3u8文件在此起到索引文件的作用。在播放HLS视频时,客户端通过下载m3u8文件,并根据m3u8文件中记录的切片文件的路径信息,下载对应的切片文件进行播放。具体地,m3u8文件中记录的信息如图1所示,m3u8文件中包含了若干标签,其中标签#EXTM3U位于m3u8文件中的第一行,起标示作用,标签#EXT-X-TARGETDURATION表示该m3u8文件中包含的多个切片文件中最大文件时长,单位为秒,如图1所示该m3u8文件中包含的多个切片文件中最大文件时长为10秒,标签#EXTINF表示该切片文件的文件时长,单位为秒,如图1所示每个切片文件的文件时长分别为8秒、8秒、10秒、10秒,每个#EXTINF的下一行表示每个#EXTINF对应的切片文件的路径信息,如图1所示每个切片的路径信息分别为Example/example0.Ts、Example/example1.Ts、Example/example2.Ts、Example/example3.Ts。
在播放HLS视频过程中,如果接收到的用户的seek拖放操作,通常做法是,电子设备根据用户拖放的seek时间点,在m3u8文件中查找与该seek时间点最近的切片文件,下载该切片文件,识别该切片文件中的所有I帧,从所有I帧中距离该seek时间点最近的I帧开始播放视频。这样通常需要下载整个切片文件,并且识别整个切片文件中的所有I帧,因此会宽带资源的浪费以及电子设备资源的浪费。
为了解决上述问题,现有技术中在存储HLS视频文件时,通常是将视频文件分割成若干个切片文件后,获取每个切片文件中的I帧的记录信息,其中I帧的记录信息包括I帧的标识信息及长度信息,I帧的标识信息用于指示该I帧位于哪个切片文件中的什么位置,并在将一个切片文件的信息与其对应包含的所有I帧的记录信息,一起记录存储在m3u8文件中。在播放HLS视频过程中,如果接收到的用户的seek拖放操作,电子设备根据用户拖放的seek时间点,在m3u8中查找与该seek时间点最近的I帧,从该I帧开始播放视频,但是由于视频文件在存储时采用的编码方式不同,每两个相邻I帧的时间间隔不同,尤其当采用压缩程度较高的编码方式时,每两个相邻I帧的时间间隔可以达到10秒以上,所以对于用户的seek拖放操作时,seek时间点与实际播放视频的时间点间隔大,seek的误差也会很大。
发明内容
本发明提供一种视频的存储、播放方法、装置、电子设备及存储介质,用以解决现有技术中存在对于用户的seek拖放操作,seek误差大的问题。
本发明提供一种视频的存储方法,该方法包括:
将待存储的视频文件划分成至少一个切片文件;
针对每个切片文件,确定用于存储该切片文件的目标m3u8文件,并确定该切片文件中包含的每个I帧和每个关键P帧,其中所述关键P帧为在解码时只依赖前向I帧的P帧;
将确定的每个切片文件的标识信息和每个切片文件中包含的每个I帧及每个关键P帧的信息,存储在对应的目标m3u8文件中,其中所述关键P帧的信息包括关键P帧的起始时间及其依赖的前向I帧。
进一步地,所述针对每个切片文件,确定用于存储该切片文件的目标m3u8文件包括:
判断当前的第一m3u8文件中存储的切片文件的数量,是否达到预设的数量阈值;
如果是,则生成第二m3u8文件,将第二m3u8文件作为目标m3u8文件;
如果否,则将当前的第一m3u8文件作为目标m3u8文件。
进一步地,所述生成第二m3u8文件后,所述方法还包括:
在所述第一m3u8文件的后一个m3u8文件的标识信息中,保存所述第二m3u8文件的标识信息,并在所述第二m3u8文件的前一个m3u8文件的标识信息中,保存所述第一m3u8文件的标识信息。
进一步地,所述将待存储的视频文件划分成至少一个切片文件包括:
按照预设的时间长度,将待存储的视频文件划分成至少一个切片文件。
本发明提供一种视频的播放方法,该方法包括:
根据接收到的用户seek拖放操作的seek时间点,确定目标m3u8文件;根据所述目标m3u8文件中保存的每个视频帧的起始时间,在所述目标m3u8文件中确定起始时间与所述seek时间点的差值最小的目标视频帧;
如果所述目标视频帧为I帧,确定所述目标视频帧所在的目标切片文件,从所述目标切片文件中所述目标视频帧对应的起始位置开始播放;
如果所述目标视频帧为关键P帧,根据所述目标m3u8文件中保存的关键P帧的信息,确定所述目标视频帧依赖的I帧,根据所述目标视频帧所在的目标切片文件中所述依赖的I帧,从所述目标视频帧对应的起始位置开始播放。
进一步地,所述根据接收到的用户seek拖放操作的seek时间点,确定目标m3u8文件包括:
根据所述seek时间点,每个m3u8文件中保存的视频帧的最早起始时间和最晚起始时间,确定目标m3u8文件。
进一步地,所述根据所述seek时间点,每个m3u8文件中保存的视频帧的最早起始时间和最晚起始时间,确定目标m3u8文件包括:
A:判断所述seek时间点,是否位于当前的第一m3u8文件中保存的视频帧的第一最早起始时间与第一最晚起始时间之间;如果是,进行B;如果否,进行C;
B:将所述第一m3u8文件确定为目标m3u8文件;
C:如果所述seek时间点早于所述第一最早起始时间,则进行D;否则,则进行E;
D:根据所述第一m3u8文件中保存的前一个m3u8文件的标识信息,确定第二m3u8文件的标识信息,将所述第二m3u8文件作为第一m3u8文件,返回A;
E:根据所述第一m3u8文件中保存的后一个m3u8文件的标识信息,确定第三m3u8文件的标识信息,将所述第三m3u8文件作为第一m3u8文件,返回A。
进一步地,所述根据所述seek时间点,每个m3u8文件中保存的视频帧的最早起始时间和/或最晚起始时间,确定目标m3u8文件包括:
判断所述seek时间点,是否位于当前的第一m3u8文件中保存的视频帧的第一最早起始时间与第一最晚起始时间之间;
如果是,将所述第一m3u8文件确定为目标m3u8文件;
否则,如果所述seek时间点早于所述第一最早起始时间,则根据所述seek时间点与所述第一最早起始时间的第一差值的绝对值,每个m3u8文件对应的时间长度,及每个m3u8文件中保存的前一个m3u8文件的标识信息,确定目标m3u8文件;如果所述seek时间点晚于所述第一最晚起始时间,则根据所述seek时间点与所述第一最晚起始时间的第二差值的绝对值,每个m3u8文件对应的时间长度,及每个m3u8文件中保存的后一个m3u8文件的标识信息,确定目标m3u8文件。
本发明提供一种视频的存储装置,该装置包括:
划分模块,用于将待存储的视频文件划分成至少一个切片文件;
确定模块,用于针对每个切片文件,确定用于存储该切片文件的目标m3u8文件,并确定该切片文件中包含的每个I帧和每个关键P帧,其中所述关键P帧为在解码时只依赖前向I帧的P帧;
存储模块,用于将确定的每个切片文件的标识信息和每个切片文件中包含的每个I帧及每个关键P帧的信息,存储在对应的目标m3u8文件中,其中所述关键P帧的信息包括关键P帧的起始时间及其依赖的前向I帧。
进一步地,所述确定模块,具体用于判断当前的第一m3u8文件中存储的切片文件的数量,是否达到预设的数量阈值;当判断结果为是时,生成第二m3u8文件,将第二m3u8文件作为目标m3u8文件;当判断结果为否时,将当前的第一m3u8文件作为目标m3u8文件。
进一步地,所述确定模块,还用于生成第二m3u8文件后,在所述第一m3u8文件的后一个m3u8文件的标识信息中,保存所述第二m3u8文件的标识信息,并在所述第二m3u8文件的前一个m3u8文件的标识信息中,保存所述第一m3u8文件的标识信息。
进一步地,所述划分模块,具体用于按照预设的时间长度,将待存储的视频文件划分成至少一个切片文件。
本发明提供一种视频的播放装置,该装置包括:
确定模块,用于根据接收到的用户seek拖放操作的seek时间点,确定目标m3u8文件;根据所述目标m3u8文件中保存的每个视频帧的起始时间,在所述目标m3u8文件中确定起始时间与所述seek时间点的差值最小的目标视频帧;
播放模块,用于当所述目标视频帧为I帧时,确定所述目标视频帧所在的目标切片文件,从所述目标切片文件中所述目标视频帧对应的起始位置开始播放;当所述目标视频帧为关键P帧时,根据所述目标m3u8文件中保存的关键P帧的信息,确定所述目标视频帧依赖的I帧,根据所述目标视频帧所在的目标切片文件中所述依赖的I帧,从所述目标视频帧对应的起始位置开始播放。
进一步地,所述确定模块,具体用于根据所述seek时间点,每个m3u8文件中保存的视频帧的最早起始时间和最晚起始时间,确定目标m3u8文件。
进一步地,所述确定模块包括:
判断单元,用于判断所述seek时间点,是否位于当前的第一m3u8文件中保存的视频帧的第一最早起始时间与第一最晚起始时间之间;
第一确定单元,用于当所述判断单元的判断结果为是时,将所述第一m3u8文件确定为目标m3u8文件;
第二确定单元,用于当所述判断单元的判断结果为否时,如果所述seek时间点早于所述第一最早起始时间,根据所述第一m3u8文件中保存的前一个m3u8文件的标识信息,确定第二m3u8文件的标识信息,将所述第二m3u8文件作为第一m3u8文件,返回判断单元;
第三确定单元,用于当所述判断单元的判断结果为否时,如果所述seek时间点不早于所述第一最早起始时间,根据所述第一m3u8文件中保存的后一个m3u8文件的标识信息,确定第三m3u8文件的标识信息,将所述第三m3u8文件作为第一m3u8文件,返回判断单元。
进一步地,所述确定模块,具体用于判断所述seek时间点,是否位于当前的第一m3u8文件中保存的视频帧的第一最早起始时间与第一最晚起始时间之间;当判断结果为是时,将所述第一m3u8文件确定为目标m3u8文件;当判断结果为否时,如果所述seek时间点早于所述第一最早起始时间,则根据所述seek时间点与所述第一最早起始时间的第一差值的绝对值,每个m3u8文件对应的时间长度,及每个m3u8文件中保存的前一个m3u8文件的标识信息,确定目标m3u8文件;如果所述seek时间点晚于所述第一最晚起始时间,则根据所述seek时间点与所述第一最晚起始时间的第二差值的绝对值,每个m3u8文件对应的时间长度,及每个m3u8文件中保存的后一个m3u8文件的标识信息,确定目标m3u8文件。
本发明提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一项所述的视频的存储方法步骤。
本发明提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的视频的存储方法步骤。
本发明提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一项所述的视频的播放方法步骤。
本发明提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的视频的播放方法步骤。
本发明提供一种视频的存储、播放方法、装置、电子设备及存储介质,该视频的存储方法包括:将待存储的视频文件划分成至少一个切片文件;针对每个切片文件,确定用于存储该切片文件的目标m3u8文件,并确定该切片文件中包含的每个I帧和每个关键P帧,其中所述关键P帧为在解码时只依赖前向I帧的P帧;将确定的每个切片文件的标识信息和每个切片文件中包含的每个I帧及每个关键P帧的信息,存储在目标m3u8文件中,其中所述关键P帧的信息包括关键P帧的起始时间及其依赖的前向I帧。在本发明实施例中,将每个切片文件的标识信息,每个切片文件包含的I帧和关键P帧的信息,存储在对应的目标m3u8文件中,关键P帧为在解码时只依赖前向I帧的P帧,因此当接收到用户的seek拖放操作的seek时间点,可以在目标m3u8文件中确定起始时间与seek时间点的差值最小的I帧或关键P帧,并从I帧或关键P帧对应的起始位置开始播放视频,因为每两个相邻关键P帧的时间间隔远小于每两个相邻I帧的时间间隔,因此减少了seek时间点与实际播放视频的时间点间隔,缩小了seek的误差。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中m3u8文件记录信息的示意图;
图2为本发明实施例1提供的一种视频存储过程的示意图;
图3为本发明实施例2提供的一种m3u8文件记录信息的示意图;
图4为本发明实施例3提供的一种视频存储过程的示意图;
图5为本发明实施例4提供的一种视频播放过程的示意图;
图6为本发明实施例8提供的一种电子设备的示意图;
图7为本发明实施例10提供的一种电子设备的示意图;
图8为本发明实施例提供的一种视频的存储装置示意图;
图9为本发明实施例提供的一种视频的播放装置示意图。
具体实施方式
为了减少seek时间点与实际播放视频的时间点间隔,缩小seek的误差,本发明实施例提供了一种视频的存储、播放方法、装置、电子设备及存储介质。
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
图2为本发明实施例提供的一种视频存储过程的示意图,该过程包括以下步骤:
S201:将待存储的视频文件划分成至少一个切片文件。
本发明实施例提供的视频存储方法应用于电子设备,该电子设备可以为服务器、桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal DigitalAssistant,PDA)等电子设备。在安防监控领域中,用于进行视频存储的电子设备通常为服务器。
当存在待存储的视频文件时,电子设备可以将待存储的视频文件划分成至少一个切片文件,电子设备在划分切片文件时可以根据视频文件的数据量进行划分,划分得到的每个切片文件的数据量可以相同,可以不同。
所述电子设备将待存储的视频文件划分为至少一个切片文件的过程属于现有技术,在本发明实施例中不做赘述。
S202:针对每个切片文件,确定用于存储该切片文件的目标m3u8文件,并确定该切片文件中包含的每个I帧和每个关键P帧,其中所述关键P帧为在解码时只依赖前向I帧的P帧。
当电子设备将待存储的视频文件划分成至少一个切片文件后,针对每个切片文件,确定用于存储该切片文件的目标m3u8文件。电子设备针对每个切片文件都会确定其对应的目标m3u8文件,因此电子设备针对划分成至少一个切片文件的视频文件,最终确定的该视频文件的目标m3u8文件可能为一个,也可能为至少两个。
当目标m3u8文件为一个时,则用于存储每个切片文件的目标m3u8文件均为该同一目标m3u8文件。当目标m3u8文件为至少两个时,每个切片文件对应的目标m3u8文件可以是相同的,也可以是不同的。目标m3u8文件可以是预先生成的,也可以是在存储切片文件的过程中实时生成的。
如果切片文件中包含I帧,则电子设备还可以识别到切片文件中包含的I帧和关键P帧,关键P帧为在解码时只依赖前向I帧的P帧,每两个相邻的关键P帧的时间间隔远小于每两个相邻I帧的时间间隔。具体地,每两个相邻的关键P帧的时间间隔为多大为视频采集设备的厂商预先规定。例如,如果视频采集设备在出厂时预先规定遵循的是H.264协议标准,则每两个相邻I帧的时间间隔通常为10秒,每两个相邻关键P帧的时间间隔通常为2秒。
S203:将确定的每个切片文件的标识信息和每个切片文件中包含的每个I帧及每个关键P帧的信息,存储在对应的目标m3u8文件中,其中所述关键P帧的信息包括关键P帧的起始时间及其依赖的前向I帧。
电子设备将视频文件划分为切片文件后,会将每个切片文件进行存储,并确定每个切片文件的标识信息,通常切片文件的标识信息是切片文件的路径信息,当然切片文件的标识信息也可以为其他能唯一标识切片文件的信息,不局限于切片文件的路径信息,例如切片文件的编号等。如果电子设备存储的切片文件的标识信息为除路径信息外其他唯一标识切片文件的信息,则电子设备还需要存储切片的标识信息与其路径信息的对应关系,以通过切片文件的标识信息找到切片文件对应的路径信息,播放视频。
电子设备将每个切片文件进行存储时,可以是将切片文件存储到自身的内存中,也可以是将切片文件存储到外置硬盘中等等,因为切片文件存储的位置对正常的视频播放及在seek拖放操作下的视频播放均无影响,只要确定了切片文件的存储地址即可,因此本发明实施例中对于切片文件存储的位置不做限定,切片文件存储的位置任意。
电子设备获取到每个切片文件中包含的每个I帧和每个关键P帧后,还会确定每个I帧的信息和每个关键P帧的信息,I帧的信息包括I帧的标识信息,及I帧的起始时间,I帧的标识信息用于指示该I帧位于哪个切片文件中的什么位置,关键P帧的信息包括关键P帧的起始时间,及其依赖的前向I帧。电子设备将每个切片文件的标识信息,每个切片文件中包含的每个I帧及每个关键P帧的信息,存储在目标m3u8文件中。
电子设备在存储I帧的信息及关键P帧的信息时,可以是将I帧的信息和关键P帧的信息存储在对应的m3u8文件的标签下,I帧对应的标签和关键P帧的标签可以为扩展标签。
如果存储视频文件的电子设备与用于播放视频文件的电子设备不同,例如存储视频文件的电子设备为服务器,则在视频播放时,用于播放视频文件的客户端设备,需要在服务器中下载m3u8文件,通过下载的m3u8文件中存储的切片文件的标识信息、I帧的信息和关键P帧的信息,在服务器下载对应的切片文件进行视频播放。
如果存储视频文件的电子设备与用于播放视频文件的电子设备相同时,则在视频播放时,电子设备可以是直接从自身的内存中查找到对应的m3u8文件,通过识别m3u8文件中存储的切片文件的标识信息、I帧的信息和关键P帧的信息,在自身的内存中查找到对应的切片文件进行视频播放。
在本发明实施例中,将每个切片文件的标识信息,每个切片文件包含的I帧和关键P帧的信息,存储在对应的目标m3u8文件中,关键P帧为在解码时只依赖前向I帧的P帧,因此当接收到用户的seek拖放操作的seek时间点,可以在目标m3u8文件中确定起始时间与seek时间点的差值最小的I帧或关键P帧,并从I帧或关键P帧对应的起始位置开始播放视频,因为每两个相邻关键P帧的时间间隔远小于每两个相邻I帧的时间间隔,因此减少了seek时间点与实际播放视频的时间点间隔,缩小了seek的误差。
实施例2:
为了降低传输和解析过程中失误的概率,在上述实施例的基础上,所述针对每个切片文件,确定用于存储该切片文件的目标m3u8文件包括:
判断当前的第一m3u8文件中存储的切片文件的数量,是否达到预设的数量阈值;
如果是,则生成第二m3u8文件,将第二m3u8文件作为目标m3u8文件;
如果否,则将当前的第一m3u8文件作为目标m3u8文件。
电子设备在确定用户存储每个切片文件的目标m3u8文件时,针对当前待存储的切片文件,判断当前的第一m3u8文件中存储的切片文件数量,是否达到预设的数量阈值,如果是,则生成第二m3u8文件,将第二m3u8文件作为目标m3u8文件存储当前的切片文件,如果当前的第一m3u8文件中存储的切片文件数量未达到预设的数量阈值,则将第一m3u8文件作为目标m3u8文件存储当前的切片文件。当前的第一m3u8文件指的是当前正在进行切片文件存储的m3u8文件,并不特指某一个m3u8文件。本发明实施例中将大的m3u8文件拆分成多个小的m3u8文件,小文件便于传输和解析,因此降低了传输和解析过程中失误的概率。如果当前的第一m3u8文件中存储的切片文件的数量,达到数量阈值时,电子设备生成一个新的m3u8文件作为第一m3u8文件,继续存储切片文件,也就是说电子设备每当判断当前的第一m3u8文件中存储的切片文件的数量达到数量阈值时,都会生成一个新的m3u8文件继续存储切片文件,直至电子设备识别到所有的切片文件都已存储完成时,确定无需生成新的m3u8文件。
数量阈值预先保存在电子设备中,预设的数量阈值为不小于1的整数,例如预设的数量阈值可以是5、8或10等。
电子设备在目标m3u8文件中存储切片文件时通常是依据HLS协议,按照切片文件的时间顺序存储的。
为了便于播放和解析视频数据,所述生成第二m3u8文件后,所述方法还包括:
在所述第一m3u8文件的后一个m3u8文件的标识信息中,保存所述第二m3u8文件的标识信息,并在所述第二m3u8文件的前一个m3u8文件的标识信息中,保存所述第一m3u8文件的标识信息。
一个大m3u8文件拆分成多个小的m3u8文件后,m3u8文件之间是存在关联关系的,因为切片文件是按照时间顺序存储的,因此每个m3u8文件也是有先后顺序的,为了方便查找,在每个m3u8文件中设置有其前一个m3u8文件的标识信息及后一个m3u8文件的标识信息,对于最前的m3u8文件也就是生成的第一个m3u8文件来说,该文件中前一个m3u8文件的标识信息为空,对于最后的m3u8也就是生成的最后一个m3u8文件来说,该文件中后一个m3u8文件的标识信息为空。
生成第二m3u8文件后,电子设备在当前的第一m3u8文件中,将第二m3u8文件的标识信息保存在后一个m3u8文件的标识信息中,在第二m3u8文件中,将第一m3u8文件的标识信息保存在前一个m3u8文件的标识信息中。当进行视频播放时,电子设备可以依据m3u8文件中保存的前一个m3u8文件的标识信息,或后一个m3u8文件的标识信息,查找并解析待播放的视频文件所在的m3u8文件,从而实现视频播放。
电子设备在m3u8文件中保存前一个m3u8文件的标识信息和/或后一个m3u8文件的标识信息时,前一个m3u8文件的标识信息和后一个m3u8文件的标识信息可以是保存到对应的m3u8文件的标签下,前一个m3u8文件的标识信息的标签和后一个m3u8文件的标识信息的标签可以是扩展标签。
如果当前的m3u8文件不存在前一个m3u8文件,则前一个m3u8文件的标识信息的标签为空,如果当前的m3u8文件不存在后一个m3u8文件,则后一个m3u8文件的标识信息的标签为空。
电子设备可以是直接在m3u8文件中记录每个关键P帧依赖的前向I帧,也可以是在m3u8文件中记录有I帧的信息,通过查找来确定每个关键P帧依赖的前向I帧。
如图3所示为本发明实施例提供的一种m3u8文件记录信息的示意图,标签#EXTM3U位于m3u8文件中的第一行,起标识作用,与现有技术相同本发明实施例中不做赘述。标签#EXT-NEXT-M3U8表示该m3u8文件中后一个m3u8文件的标识信息,如图3所示该m3u8文件的后一个m3u8文件的标识信息为1.m3u8;标签#EXT-PRE-M3U8表示该m3u8文件中前一个m3u8文件的标识信息,如图3所示该m3u8文件的前一个m3u8文件的标识信息为2.m3u8。
标签#EXT-X-TARGETDURATION表示该m3u8文件中包含的多个切片文件中最大文件时长,单位为秒,如图3所示该m3u8文件中包含的多个切片文件中最大文件时长为10秒,与现有技术相同,在本发明实施例中不做赘述。标签#EXTINF表示该切片文件的文件时长,单位为秒,每个#EXTINF的下一行表示每个#EXTINF对应的切片文件的路径信息,如图3所示,该m3u8文件包含的切片文件的路径信息分别为Example/example0.Ts、Example/example1.Ts…,对应的每个切片文件的文件时长分别为10秒、8秒…。
切片文件中包含有I帧和关键P帧,标签#EXT-X-IF表示I帧的信息,#EXT-X-IF后包括三列,其中第一列为该I帧在该切片文件中的位置,第二列为该I帧在该切片文件中起始时间,第三列为该I帧的帧大小,根据该标签的信息可知该I帧为该切片文件中的第1个I帧,在该切片文件中起始时间为0,帧大小为113825。
标签#EXT-X-PF表示关键P帧的信息,#EXT-X-PF后包括三列,其中第一列为该关键P帧在该切片文件中的位置,当该关键P帧依赖的前向I帧为该切片文件中的第一个I帧时,第一列还可以表示该关键P帧与其前向依赖的I帧的偏移量,第二列为该关键P帧在该切片文件中起始时间,第三列为该关键P帧的帧大小。
如果m3u8文件中切片文件,及每个切片文件中I帧及关键P帧均是按照时间顺序存储的,则电子设备可以通过查找的方式确定关键P帧依赖的前向I帧,具体地当某一切片文件中存在关键P帧,则位于该关键P帧之前,且起始时间与该关键P帧的时间差值最小的I帧,即为该关键P帧解码时依赖的前向I帧。在example0.Ts中仅有一个I帧位于第一个关键P帧之前,则该I帧为与第一个关键P帧的时间差值最小的I帧,也就是该第一关键P帧解码时依赖的前向I帧,并且第一个关键P帧与其前向依赖的I帧的偏移量为2,在该切片文件中起始时间为139952,帧大小为1051。
example0.Ts中其余关键P帧与第一个关键P帧类似,在本发明实施例中不做赘述。example1.Ts与example0.Ts相同,在本发明实施例中不做赘述。#EXT-X-ENDLIST表示切片文件的末尾位,与现有技术相同在本发明实施例中不做赘述。
由于本发明实施例中将大的m3u8文件拆分成多个小的m3u8文件,小文件便于传输和解析,因此降低了传输和解析过程中失误的概率。
实施例3:
为了提高seek效率,在上述各实施例的基础上,本发明实施例中,所述将待存储的视频文件划分成至少一个切片文件包括:
按照预设的时间长度,将待存储的视频文件划分成至少一个切片文件。
本发明实施例中按照预设的时间长度,将待存储的视频文件划分成相同长度的切片文件,并且由于每个m3u8文件存储的文件数量阈值是相同的,则在seek时,可以根据seek时间点,估算seek时间点位于哪个m3u8文件中,直接在对应的m3u8文件中,查找到与seek时间点最近的视频帧进行播放,从而提高了seek效率。
下面以一个具体的实施例对上述各是实施例进行说明,图4为本发明实施例提供的一种视频存储过程的示意图,包括以下步骤:
S401:生成一个m3u8文件。
S402:判断该m3u8文件是否为待存储的视频文件的第一个m3u8文件;如果否,进行S403;如果是,进行S404。
电子设备判断该m3u8文件是否为第一个m3u8文件的过程可以是,判断针对该待存储的视频文件,是否保存有除该m3u8文件外的其他m3u8文件,如果有,则认为该m3u8文件不是第一个m3u8文件,如果否,则认为该m3u8文件是第一个m3u8文件。
S403:根据该m3u8文件的标签#EXT-PRE-M3U8,将前一个m3u8文件的标识信息添加到该m3u8文件中。
S404:在待存储的视频文件获取预设的时间长度的切片文件,确定该切片文件中包含的每个I帧和每个关键P帧。
该步骤可以在S401之前进行,也可以在该部分进行。
S405:将确定的切片文件的标识信息和切片文件中包含的每个I帧及每个关键P帧的信息,存储在当前m3u8文件中,其中所述关键P帧的信息包括关键P帧的起始时间及其依赖的前向I帧。
S406:判断当前m3u8文件中存储的切片文件的数量,是否达到预设的数量阈值,如果是,进行S407;如果否,返回S404。
S407:根据该m3u8文件的标签#EXT-NEXT-M3U8,将待新生成的m3u8文件的标识信息,添加到在该m3u8文件的后一个m3u8文件的标识信息中,返回S401。
由于本发明实施例中按照预设的时间长度,将待存储的视频文件划分成相同长度的切片文件,并且由于每个m3u8文件存储的文件数量阈值是相同的,则在seek时,可以根据seek时间点,估算seek时间点位于哪个m3u8文件中,直接在对应的m3u8文件中,查找到与seek时间点最近的视频帧进行播放,从而提高了seek效率。
实施例4:
图5为本发明实施例提供的一种视频播放过程的示意图,该过程包括以下步骤:
S501:根据接收到的用户seek拖放操作的seek时间点,确定目标m3u8文件;根据所述目标m3u8文件中保存的每个视频帧的起始时间,在所述目标m3u8文件中确定起始时间与所述seek时间点的差值最小的目标视频帧。
本发明实施例提供的视频播放方法应用于电子设备,该电子设备可以为服务器、桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理等电子设备。在安防监控领域中,该电子设备通常为用于播放视频的客户端设备。
如果用户存在seek需求时会进行seek拖放操作,电子设备接收到用户的seek拖放操作后,根据seek拖放操作的seek时间点,确定目标m3u8文件。
由于在视频存储过程中,m3u8文件中保存了切片文件中每个视频帧的起始时间,因此电子设备可以根据目标m3u8文件中保存的每个视频帧的起始时间,在目标m3u8文件中确定起始时间与seek时间点差值最小的目标视频帧,即该目标视频帧为与seek时间点最近的视频帧。
电子设备确定的目标视频帧可以为I帧或关键P帧。
如果电子设备为用于播放视频的客户端设备,则电子设备需要从服务器下载m3u8文件并解析,来确定m3u8文件中保存的每个视频帧的起始时间。
S502:如果所述目标视频帧为I帧,确定所述目标视频帧所在的目标切片文件,从所述目标切片文件中所述目标视频帧对应的起始位置开始播放。
如果电子设备确定起始时间与seek时间点的差值最小的目标视频帧为I帧,由于m3u8文件中存储有I帧的信息,则根据I帧的信息中I帧的标识信息,确定目标视频帧所在的目标切片文件。
电子设备直接从目标切片文件中目标视频帧对应的起始位置开始播放,具体地,电子设备在服务器中从该目标切片文件的目标视频帧对应的起始位置开始下载视频,电子设备中的视频播放器解码并播放渲染下载的视频。
所述电子设备中的视频播放器解码并播放渲染下载的视频的过程属于现有技术,在本发明实施例中不做赘述。
S503:如果所述目标视频帧为关键P帧,根据所述目标m3u8文件中保存的关键P帧的信息,确定所述目标视频帧依赖的I帧,根据所述目标视频帧所在的目标切片文件中所述依赖的I帧,从所述目标视频帧对应的起始位置开始播放。
如果电子设备确定起始时间与seek时间点的差值最小的目标视频帧为关键P帧,由于m3u8文件中存储有关键P帧的信息,则根据关键P帧的信息中关键P帧依赖的前向I帧,确定目标视频帧依赖的I帧。
电子设备根据目标视频帧所在的目标切片文件中依赖的I帧,从目标视频帧对应的起始位置开始播放,具体地,电子设备根据目标视频帧所依赖的I帧在目标切片文件中的位置,在服务器中下载目标视频帧所依赖的I帧,但并不对目标视频帧所依赖的I帧进行渲染,电子设备在服务器中从该目标切片文件的目标视频帧对应的起始位置开始下载视频,电子设备根据目标视频帧所依赖的I帧对下载的视频解码,电子设备中的视频播放器播放渲染解码后的视频。
所述电子设备中的视频播放器根据目标视频帧所依赖的I帧对下载的视频解码的过程属于现有技术,在本发明实施例中不做赘述。
在本发明实施例中,接收到用户的seek拖放操作的seek时间点,可以在目标m3u8文件中确定起始时间与seek时间点的差值最小的I帧或关键P帧,并从I帧或关键P帧对应的起始位置开始播放视频,因为每两个相邻关键P帧的时间间隔远小于每两个相邻I帧的时间间隔,因此减少了seek时间点与实际播放视频的时间点间隔,缩小了seek的误差。
实施例5:
在上述实施例的基础上,本发明实施例中,所述根据接收到的用户seek拖放操作的seek时间点,确定目标m3u8文件包括:
根据所述seek时间点,每个m3u8文件中保存的视频帧的最早起始时间和最晚起始时间,确定目标m3u8文件。
电子设备可以是根据seek时间点,将seek时间点不早于保存的视频帧的最早起始时间,且seek时间点不晚于保存的视频帧的最晚起始时间的m3u8文件,确定为目标m3u8文件,即seek时间位于目标m3u8文件保存的视频帧的最早起始时间与最晚起始时间之间。
电子设备可以是针对当前的m3u8文件,如果seek时间点早于该m3u8文件保存的视频帧的最早起始时间,并且当前的m3u8文件中未保存有前一个m3u8文件的标识信息,则将当前的m3u8文件作为目标m3u8文件,并且将当前的m3u8文件中最早起始时间的视频帧作为目标视频帧。当前的m3u8文件为正在进行视频播放的m3u8文件,而非特定的某一个m3u8文件。
电子设备可以是针对当前的m3u8文件,如果seek时间点晚于该m3u8文件保存的视频帧的最晚起始时间,并且当前的m3u8文件未保存有后一个m3u8文件的标识信息,则将当前的m3u8文件作为目标m3u8文件,并且将当前的m3u8文件中最晚起始时间的视频帧作为目标视频帧。
实施例6:
在上述各实施例的基础上,本发明实施例中,所述根据所述seek时间点,每个m3u8文件中保存的视频帧的最早起始时间和最晚起始时间,确定目标m3u8文件包括:
A:判断所述seek时间点,是否位于当前的第一m3u8文件中保存的视频帧的第一最早起始时间与第一最晚起始时间之间;如果是,进行B;如果否,进行C;
B:将所述第一m3u8文件确定为目标m3u8文件;
C:如果所述seek时间点早于所述第一最早起始时间,则进行D;否则,则进行E;
D:根据所述第一m3u8文件中保存的前一个m3u8文件的标识信息,确定第二m3u8文件的标识信息,将所述第二m3u8文件作为第一m3u8文件,返回A;
E:根据所述第一m3u8文件中保存的后一个m3u8文件的标识信息,确定第三m3u8文件的标识信息,将所述第三m3u8文件作为第一m3u8文件,返回A。
针对当前的第一m3u8文件中保存的视频帧的第一最早起始时间与第一最晚起始时间,电子设备判断seek时间点是否位于第一最早起始时间与第一最晚起始时间之间,如果是,则将当前的第一m3u8文件确定为目标m3u8文件。
如果seek时间点不位于第一最早起始时间与第一最晚起始时间之间,且seek时间点早于第一最早起始时间,则重复执行下述步骤,直至seek时间点位于第一最早起始时间与第一最晚起始时间之间:
根据当前的第一m3u8文件中保存的前一个m3u8文件的标识信息,确定第二m3u8文件的标识信息,将第二m3u8文件作为第一m3u8文件,判断seek时间点是否位于当前的第一m3u8文件保存的视频帧的第一最早起始时间与第一最晚起始时间之间。
如果seek时间点不位于第一最早起始时间与第一最晚起始时间之间,且seek时间点晚于第一最晚起始时间,则重复执行下述步骤,直至seek时间点位于第一最早起始时间与第一最晚起始时间之间:
根据当前的第一m3u8文件中保存的后一个m3u8文件的标识信息,确定第三m3u8文件的标识信息,将第三m3u8文件作为第一m3u8文件,判断seek时间点是否位于当前的第一m3u8文件保存的视频帧的第一最早起始时间与第一最晚起始时间之间。
如果第一m3u8文件为最后一个m3u8文件,则m3u8文件未保存有后一个m3u8文件的标识信息,如果此时电子设备确定seek时间点晚于该m3u8文件保存的视频帧的最晚起始时间,则可以将第一m3u8文件作为目标m3u8文件。
实施例7:
如果在视频存储时,按照预设的时间长度,将待存储的视频文件划分为至少一个切片文件,则为了提高seek效率,在上述各实施例的基础上,本发明实施例中,所述根据所述seek时间点,每个m3u8文件中保存的视频帧的最早起始时间和/或最晚起始时间,确定目标m3u8文件包括:
判断所述seek时间点,是否位于当前的第一m3u8文件中保存的视频帧的第一最早起始时间与第一最晚起始时间之间;
如果是,将所述第一m3u8文件确定为目标m3u8文件;
否则,如果所述seek时间点早于所述第一最早起始时间,则根据所述seek时间点与所述第一最早起始时间的第一差值的绝对值,每个m3u8文件对应的时间长度,及每个m3u8文件中保存的前一个m3u8文件的标识信息,确定目标m3u8文件;如果所述seek时间点晚于所述第一最晚起始时间,则根据所述seek时间点与所述第一最晚起始时间的第二差值的绝对值,每个m3u8文件对应的时间长度,及每个m3u8文件中保存的后一个m3u8文件的标识信息,确定目标m3u8文件。
如果seek时间点位于当前的第一m3u8文件中保存的视频帧的第一最早起始时间与第一最晚起始时间之间,则将当前的第一m3u8文件确定为目标m3u8文件。
电子设备中保存有每个m3u8文件存储的切片文件的数量,并且是按照预设的时间长度划分的切片文件,因此电子设备可以根据每个m3u8文件中存储的切片文件的数量及每个切片文件预设的时间长度,确定每个m3u8文件对应的时间长度。
如果seek时间点早于第一最早起始时间,则根据seek时间点与第一最早起始时间的第一差值的绝对值,与每个m3u8文件对应的时间长度,确定seek时间点与第一最早起始时间相差了几个m3u8文件,再根据每个m3u8文件中保存的前一个m3u8文件的标识信息,从当前的第一m3u8文件开始,确定目标m3u8文件,例如,seek时间点与第一最早起始时间相差了两个m3u8文件,则电子设备可以根据当前的第一m3u8文件中的前一个m3u8文件的标识信息,确定第一m3u8文件的前一个m3u8文件,根据第一m3u8文件的前一个m3u8文件中的前一个m3u8文件的标识信息,确定目标m3u8文件。
如果此时确定的seek时间点与第一最早起始时间相差的m3u8文件的数量不为整数,则将向下取整后的结果确定为相差的m3u8文件的数量。
如果seek时间点晚于第一最晚起始时间,则根据seek时间点与第一最晚起始时间的第二差值的绝对值,与每个m3u8文件对应的时间长度,确定seek时间点与第一最晚起始时间相差了几个m3u8文件,再根据每个m3u8文件中保存的后一个m3u8文件的标识信息,从当前的第一m3u8文件开始,确定目标m3u8文件,例如seek时间点与第一最晚起始时间相差了两个m3u8文件,则电子设备可以根据当前的第一m3u8文件中的后一个m3u8文件的标识信息,确定第一m3u8文件的后一个m3u8文件,根据第一m3u8文件的后一个m3u8文件中的后一个m3u8文件的标识信息,确定目标m3u8文件。
如果此时确定的seek时间点与第一最晚起始时间相差的m3u8文件的数量不为整数,则将向上取整后的结果确定为相差的m3u8文件的数量。
在进行正常的视频播放时,由于没有接收到用户的seek拖放操作,则电子设备直接在当前进行视频播放的m3u8文件中获取每个切片文件,按照时间顺序播放视频,当前m3u8文件中的每个切片文件播放完成后,判断当前的m3u8文件中是否包含后一个m3u8文件的标识信息,如果有,则将当前的m3u8文件的后一个m3u8文件作为当前正在进行视频播放的m3u8文件,重复上述操作,直至当前的m3u8文件中不包含后一个m3u8文件的标识信息。
由于本发明实施例中,当seek时间点不位于第一m3u8文件中保存的视频帧的第一最早起始时间与第一最晚起始时间之间时,根据seek时间点与第一最早起始时间的差值的绝对值,或seek时间点与第一最晚起始时间的差值的绝对值,每个m3u8文件对应的时间长度,及每个m3u8文件中保存的前一个m3u8文件的标识信息,或每个m3u8文件中保存的后一个m3u8文件的标识信息,确定目标m3u8文件,无需检测每个m3u8文件中保存的视频帧的最早起始时间和最晚起始时间之间是否包含seek时间点,因此提高了seek效率。
实施例8:
在上述各实施例的基础上,本发明实施例中还提供了一种电子设备,如图6所示,包括:处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信;
所述存储器603中存储有计算机程序,当所述程序被所述处理器601执行时,使得所述处理器601执行如下步骤:
将待存储的视频文件划分成至少一个切片文件;
针对每个切片文件,确定用于存储该切片文件的目标m3u8文件,并确定该切片文件中包含的每个I帧和每个关键P帧,其中所述关键P帧为在解码时只依赖前向I帧的P帧;
将确定的每个切片文件的标识信息和每个切片文件中包含的每个I帧及每个关键P帧的信息,存储在对应的目标m3u8文件中,其中所述关键P帧的信息包括关键P帧的起始时间及其依赖的前向I帧。
基于同一发明构思,本发明实施例中还提供了一种电子设备,由于上述电子设备解决问题的原理与视频的存储方法相似,因此上述电子设备的实施可以参见方法的实施,重复之处不再赘述。
上述管理节点提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口602用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
在本发明实施例中处理器执行存储器上所存放的程序时,实现将每个切片文件的标识信息,每个切片文件包含的I帧和关键P帧的信息,存储在对应的目标m3u8文件中,关键P帧为在解码时只依赖前向I帧的P帧,因此当接收到用户的seek拖放操作的seek时间点,可以在目标m3u8文件中确定起始时间与seek时间点的差值最小的I帧或关键P帧,并从I帧或关键P帧对应的起始位置开始播放视频,因为每两个相邻关键P帧的时间间隔远小于每两个相邻I帧的时间间隔,因此减少了seek时间点与实际播放视频的时间点间隔,缩小了seek的误差。
实施例9:
在上述各实施例的基础上,本发明实施例还提供了一种计算机存储可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现如下步骤:
将待存储的视频文件划分成至少一个切片文件;
针对每个切片文件,确定用于存储该切片文件的目标m3u8文件,并确定该切片文件中包含的每个I帧和每个关键P帧,其中所述关键P帧为在解码时只依赖前向I帧的P帧;
将确定的每个切片文件的标识信息和每个切片文件中包含的每个I帧及每个关键P帧的信息,存储在目标m3u8文件中,其中所述关键P帧的信息包括关键P帧的起始时间及其依赖的前向I帧。
基于同一发明构思,本发明实施例中还提供了一种计算机可读存储介质,由于处理器在执行上述计算机可读存储介质上存储的计算机程序时解决问题的原理与视频的存储方法相似,因此处理器在执行上述计算机可读存储介质存储的计算机程序的实施可以参见方法的实施,重复之处不再赘述。
上述计算机可读存储介质可以是电子设备中的处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器如软盘、硬盘、磁带、磁光盘(MO)等、光学存储器如CD、DVD、BD、HVD等、以及半导体存储器如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD)等。
在本发明实施例中提供的计算机可读存储介质内存储计算机程序,计算机程序被处理器执行时实现将每个切片文件的标识信息,每个切片文件包含的I帧和关键P帧的信息,存储在对应的目标m3u8文件中,关键P帧为在解码时只依赖前向I帧的P帧,因此当接收到用户的seek拖放操作的seek时间点,可以在目标m3u8文件中确定起始时间与seek时间点的差值最小的I帧或关键P帧,并从I帧或关键P帧对应的起始位置开始播放视频,因为每两个相邻关键P帧的时间间隔远小于每两个相邻I帧的时间间隔,因此减少了seek时间点与实际播放视频的时间点间隔,缩小了seek的误差。
实施例10:
在上述各实施例的基础上,本发明实施例中还提供了一种电子设备,如图7所示,包括:处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信;
所述存储器703中存储有计算机程序,当所述程序被所述处理器701执行时,使得所述处理器701执行如下步骤:
根据接收到的用户seek拖放操作的seek时间点,确定目标m3u8文件;根据所述目标m3u8文件中保存的每个视频帧的起始时间,在所述目标m3u8文件中确定起始时间与所述seek时间点的差值最小的目标视频帧;
如果所述目标视频帧为I帧,确定所述目标视频帧所在的目标切片文件,从所述目标切片文件中所述目标视频帧对应的起始位置开始播放;
如果所述目标视频帧为关键P帧,根据所述目标m3u8文件中保存的关键P帧的信息,确定所述目标视频帧依赖的I帧,根据所述目标视频帧所在的目标切片文件中所述依赖的I帧,从所述目标视频帧对应的起始位置开始播放。
基于同一发明构思,本发明实施例中还提供了一种电子设备,由于上述电子设备解决问题的原理与视频的播放方法相似,因此上述电子设备的实施可以参见方法的实施,重复之处不再赘述。
上述管理节点提到的通信总线可以是外设部件互连标准总线或扩展工业标准结构总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口702用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器,也可以包括非易失性存储器,例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器等;还可以是数字信号处理器、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
在本发明实施例中处理器执行存储器上所存放的程序时,实现接收到用户的seek拖放操作的seek时间点,可以在目标m3u8文件中确定起始时间与seek时间点的差值最小的I帧或关键P帧,并从I帧或关键P帧对应的起始位置开始播放视频,因为每两个相邻关键P帧的时间间隔远小于每两个相邻I帧的时间间隔,因此减少了seek时间点与实际播放视频的时间点间隔,缩小了seek的误差。
实施例11:
在上述各实施例的基础上,本发明实施例还提供了一种计算机存储可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现如下步骤:
根据接收到的用户seek拖放操作的seek时间点,确定目标m3u8文件;根据所述目标m3u8文件中保存的每个视频帧的起始时间,在所述目标m3u8文件中确定起始时间与所述seek时间点的差值最小的目标视频帧;
如果所述目标视频帧为I帧,确定所述目标视频帧所在的目标切片文件,从所述目标切片文件中所述目标视频帧对应的起始位置开始播放;
如果所述目标视频帧为关键P帧,根据所述目标m3u8文件中保存的关键P帧的信息,确定所述目标视频帧依赖的I帧,根据所述目标视频帧所在的目标切片文件中所述依赖的I帧,从所述目标视频帧对应的起始位置开始播放。
基于同一发明构思,本发明实施例中还提供了一种计算机可读存储介质,由于处理器在执行上述计算机可读存储介质上存储的计算机程序时解决问题的原理与视频的存储方法相似,因此处理器在执行上述计算机可读存储介质存储的计算机程序的实施可以参见方法的实施,重复之处不再赘述。
上述计算机可读存储介质可以是电子设备中的处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器如软盘、硬盘、磁带、磁光盘等、光学存储器如CD、DVD、BD、HVD等、以及半导体存储器如ROM、EPROM、EEPROM、非易失性存储器、固态硬盘等。
在本发明实施例中提供的计算机可读存储介质内存储计算机程序,计算机程序被处理器执行时实现接收到用户的seek拖放操作的seek时间点,可以在目标m3u8文件中确定起始时间与seek时间点的差值最小的I帧或关键P帧,并从I帧或关键P帧对应的起始位置开始播放视频,因为每两个相邻关键P帧的时间间隔远小于每两个相邻I帧的时间间隔,因此减少了seek时间点与实际播放视频的时间点间隔,缩小了seek的误差。
图8为本发明实施例提供的一种视频的存储装置示意图,该装置包括:
划分模块81,用于将待存储的视频文件划分成至少一个切片文件;
确定模块82,用于针对每个切片文件,确定用于存储该切片文件的目标m3u8文件,并确定该切片文件中包含的每个I帧和每个关键P帧,其中所述关键P帧为在解码时只依赖前向I帧的P帧;
存储模块83,用于将确定的每个切片文件的标识信息和每个切片文件中包含的每个I帧及每个关键P帧的信息,存储在对应的目标m3u8文件中,其中所述关键P帧的信息包括关键P帧的起始时间及其依赖的前向I帧。
所述确定模块82,具体用于判断当前的第一m3u8文件中存储的切片文件的数量,是否达到预设的数量阈值;当判断结果为是时,生成第二m3u8文件,将第二m3u8文件作为目标m3u8文件;当判断结果为否时,将当前的第一m3u8文件作为目标m3u8文件。
所述确定模块82,还用于生成第二m3u8文件后,在所述第一m3u8文件的后一个m3u8文件的标识信息中,保存所述第二m3u8文件的标识信息,并在所述第二m3u8文件的前一个m3u8文件的标识信息中,保存所述第一m3u8文件的标识信息。
所述划分模块81,具体用于按照预设的时间长度,将待存储的视频文件划分成至少一个切片文件。
在本发明实施例中,将每个切片文件的标识信息,每个切片文件包含的I帧和关键P帧的信息,存储在对应的目标m3u8文件中,关键P帧为在解码时只依赖前向I帧的P帧,当接收到用户的seek拖放操作的seek时间点,可以在目标m3u8文件中确定起始时间与seek时间点的差值最小的I帧或关键P帧,并从I帧或关键P帧对应的起始位置开始播放视频,因为每两个相邻关键P帧的时间间隔远小于每两个相邻I帧的时间间隔,因此减少了seek时间点与实际播放视频的时间点间隔,缩小了seek的误差。
图9为本发明实施例提供的一种视频的播放装置示意图,该装置包括:
确定模块91,用于根据接收到的用户seek拖放操作的seek时间点,确定目标m3u8文件;根据所述目标m3u8文件中保存的每个视频帧的起始时间,在所述目标m3u8文件中确定起始时间与所述seek时间点的差值最小的目标视频帧;
播放模块92,用于当所述目标视频帧为I帧时,确定所述目标视频帧所在的目标切片文件,从所述目标切片文件中所述目标视频帧对应的起始位置开始播放;当所述目标视频帧为关键P帧时,根据所述目标m3u8文件中保存的关键P帧的信息,确定所述目标视频帧依赖的I帧,根据所述目标视频帧所在的目标切片文件中所述依赖的I帧,从所述目标视频帧对应的起始位置开始播放。
所述确定模块91,具体用于根据所述seek时间点,每个m3u8文件中保存的视频帧的最早起始时间和最晚起始时间,确定目标m3u8文件。
所述确定模块91包括:
判断单元,用于判断所述seek时间点,是否位于当前的第一m3u8文件中保存的视频帧的第一最早起始时间与第一最晚起始时间之间;
第一确定单元,用于当所述判断单元的判断结果为是时,将所述第一m3u8文件确定为目标m3u8文件;
第二确定单元,用于当所述判断单元的判断结果为否时,如果所述seek时间点早于所述第一最早起始时间,根据所述第一m3u8文件中保存的前一个m3u8文件的标识信息,确定第二m3u8文件的标识信息,将所述第二m3u8文件作为第一m3u8文件,返回判断单元;
第三确定单元,用于当所述判断单元的判断结果为否时,如果所述seek时间点不早于所述第一最早起始时间,根据所述第一m3u8文件中保存的后一个m3u8文件的标识信息,确定第三m3u8文件的标识信息,将所述第三m3u8文件作为第一m3u8文件,返回判断单元。
所述确定模块91,具体用于判断所述seek时间点,是否位于当前的第一m3u8文件中保存的视频帧的第一最早起始时间与第一最晚起始时间之间;当判断结果为是时,将所述第一m3u8文件确定为目标m3u8文件;当判断结果为否时,如果所述seek时间点早于所述第一最早起始时间,则根据所述seek时间点与所述第一最早起始时间的第一差值的绝对值,每个m3u8文件对应的时间长度,及每个m3u8文件中保存的前一个m3u8文件的标识信息,确定目标m3u8文件;如果所述seek时间点晚于所述第一最晚起始时间,则根据所述seek时间点与所述第一最晚起始时间的第二差值的绝对值,每个m3u8文件对应的时间长度,及每个m3u8文件中保存的后一个m3u8文件的标识信息,确定目标m3u8文件。
在本发明实施例中,接收到用户的seek拖放操作的seek时间点,可以在目标m3u8文件中确定起始时间与seek时间点的差值最小的I帧或关键P帧,并从I帧或关键P帧对应的起始位置开始播放视频,因为每两个相邻关键P帧的时间间隔远小于每两个相邻I帧的时间间隔,因此减少了seek时间点与实际播放视频的时间点间隔,缩小了seek的误差。
对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (12)

1.一种视频的存储方法,其特征在于,该方法包括:
将待存储的视频文件划分成至少一个切片文件;
针对每个切片文件,确定用于存储该切片文件的目标m3u8文件,并确定该切片文件中包含的每个I帧和每个关键P帧,其中所述关键P帧为在解码时只依赖前向I帧的P帧;
将确定的每个切片文件的标识信息和每个切片文件中包含的每个I帧及每个关键P帧的信息,存储在对应的目标m3u8文件中,其中所述关键P帧的信息包括关键P帧的起始时间及其依赖的前向I帧;
所述针对每个切片文件,确定用于存储该切片文件的目标m3u8文件包括:
判断当前的第一m3u8文件中存储的切片文件的数量,是否达到预设的数量阈值;
如果是,则生成第二m3u8文件,将第二m3u8文件作为目标m3u8文件;
如果否,则将当前的第一m3u8文件作为目标m3u8文件;
所述生成第二m3u8文件后,所述方法还包括:
在所述第一m3u8文件中保存的后一个m3u8文件的标识信息中,保存所述第二m3u8文件的标识信息,并在所述第二m3u8文件中保存的前一个m3u8文件的标识信息中,保存所述第一m3u8文件的标识信息。
2.如权利要求1所述的方法,其特征在于,所述将待存储的视频文件划分成至少一个切片文件包括:
按照预设的时间长度,将待存储的视频文件划分成至少一个切片文件。
3.一种视频的播放方法,其特征在于,该方法包括:
根据接收到的用户seek拖放操作的seek时间点,确定目标m3u8文件;根据所述目标m3u8文件中保存的每个视频帧的起始时间,在所述目标m3u8文件中确定起始时间与所述seek时间点的差值最小的目标视频帧;
如果所述目标视频帧为I帧,确定所述目标视频帧所在的目标切片文件,从所述目标切片文件中所述目标视频帧对应的起始位置开始播放;
如果所述目标视频帧为关键P帧,根据所述目标m3u8文件中保存的关键P帧的信息,确定所述目标视频帧依赖的I帧,根据所述目标视频帧所在的目标切片文件中所述依赖的I帧,从所述目标视频帧对应的起始位置开始播放;
所述根据接收到的用户seek拖放操作的seek时间点,确定目标m3u8文件包括:
根据所述seek时间点,每个m3u8文件中保存的视频帧的最早起始时间和最晚起始时间,确定目标m3u8文件;
所述根据所述seek时间点,每个m3u8文件中保存的视频帧的最早起始时间和/或最晚起始时间,确定目标m3u8文件包括:
判断所述seek时间点,是否位于当前的第一m3u8文件中保存的视频帧的第一最早起始时间与第一最晚起始时间之间;
如果是,将所述第一m3u8文件确定为目标m3u8文件;
否则,如果所述seek时间点早于所述第一最早起始时间,则根据所述seek时间点与所述第一最早起始时间的第一差值的绝对值,每个m3u8文件对应的时间长度,及每个m3u8文件中保存的前一个m3u8文件的标识信息,确定目标m3u8文件;如果所述seek时间点晚于所述第一最晚起始时间,则根据所述seek时间点与所述第一最晚起始时间的第二差值的绝对值,每个m3u8文件对应的时间长度,及每个m3u8文件中保存的后一个m3u8文件的标识信息,确定目标m3u8文件。
4.如权利要求3所述的方法,其特征在于,所述根据所述seek时间点,每个m3u8文件中保存的视频帧的最早起始时间和最晚起始时间,确定目标m3u8文件包括:
A:判断所述seek时间点,是否位于当前的第一m3u8文件中保存的视频帧的第一最早起始时间与第一最晚起始时间之间;如果是,进行B;如果否,进行C;
B:将所述第一m3u8文件确定为目标m3u8文件;
C:如果所述seek时间点早于所述第一最早起始时间,则进行D;否则,则进行E;
D:根据所述第一m3u8文件中保存的前一个m3u8文件的标识信息,确定第二m3u8文件的标识信息,将所述第二m3u8文件作为第一m3u8文件,返回A;
E:根据所述第一m3u8文件中保存的后一个m3u8文件的标识信息,确定第三m3u8文件的标识信息,将所述第三m3u8文件作为第一m3u8文件,返回A。
5.一种视频的存储装置,其特征在于,该装置包括:
划分模块,用于将待存储的视频文件划分成至少一个切片文件;
确定模块,用于针对每个切片文件,确定用于存储该切片文件的目标m3u8文件,并确定该切片文件中包含的每个I帧和每个关键P帧,其中所述关键P帧为在解码时只依赖前向I帧的P帧;
存储模块,用于将确定的每个切片文件的标识信息和每个切片文件中包含的每个I帧及每个关键P帧的信息,存储在对应的目标m3u8文件中,其中所述关键P帧的信息包括关键P帧的起始时间及其依赖的前向I帧;
所述确定模块,具体用于判断当前的第一m3u8文件中存储的切片文件的数量,是否达到预设的数量阈值;当判断结果为是时,生成第二m3u8文件,将第二m3u8文件作为目标m3u8文件;当判断结果为否时,将当前的第一m3u8文件作为目标m3u8文件;
所述确定模块,还用于生成第二m3u8文件后,在所述第一m3u8文件中保存的后一个m3u8文件的标识信息中,保存所述第二m3u8文件的标识信息,并在所述第二m3u8文件中保存的前一个m3u8文件的标识信息中,保存所述第一m3u8文件的标识信息。
6.如权利要求5所述的装置,其特征在于,所述划分模块,具体用于按照预设的时间长度,将待存储的视频文件划分成至少一个切片文件。
7.一种视频的播放装置,其特征在于,该装置包括:
确定模块,用于根据接收到的用户seek拖放操作的seek时间点,确定目标m3u8文件;根据所述目标m3u8文件中保存的每个视频帧的起始时间,在所述目标m3u8文件中确定起始时间与所述seek时间点的差值最小的目标视频帧;
播放模块,用于当所述目标视频帧为I帧时,确定所述目标视频帧所在的目标切片文件,从所述目标切片文件中所述目标视频帧对应的起始位置开始播放;当所述目标视频帧为关键P帧时,根据所述目标m3u8文件中保存的关键P帧的信息,确定所述目标视频帧依赖的I帧,根据所述目标视频帧所在的目标切片文件中所述依赖的I帧,从所述目标视频帧对应的起始位置开始播放;
所述确定模块,具体用于根据所述seek时间点,每个m3u8文件中保存的视频帧的最早起始时间和最晚起始时间,确定目标m3u8文件;
所述确定模块,具体用于判断所述seek时间点,是否位于当前的第一m3u8文件中保存的视频帧的第一最早起始时间与第一最晚起始时间之间;当判断结果为是时,将所述第一m3u8文件确定为目标m3u8文件;当判断结果为否时,如果所述seek时间点早于所述第一最早起始时间,则根据所述seek时间点与所述第一最早起始时间的第一差值的绝对值,每个m3u8文件对应的时间长度,及每个m3u8文件中保存的前一个m3u8文件的标识信息,确定目标m3u8文件;如果所述seek时间点晚于所述第一最晚起始时间,则根据所述seek时间点与所述第一最晚起始时间的第二差值的绝对值,每个m3u8文件对应的时间长度,及每个m3u8文件中保存的后一个m3u8文件的标识信息,确定目标m3u8文件。
8.如权利要求7所述的装置,其特征在于,所述确定模块包括:
判断单元,用于判断所述seek时间点,是否位于当前的第一m3u8文件中保存的视频帧的第一最早起始时间与第一最晚起始时间之间;
第一确定单元,用于当所述判断单元的判断结果为是时,将所述第一m3u8文件确定为目标m3u8文件;
第二确定单元,用于当所述判断单元的判断结果为否时,如果所述seek时间点早于所述第一最早起始时间,根据所述第一m3u8文件中保存的前一个m3u8文件的标识信息,确定第二m3u8文件的标识信息,将所述第二m3u8文件作为第一m3u8文件,返回判断单元;
第三确定单元,用于当所述判断单元的判断结果为否时,如果所述seek时间点不早于所述第一最早起始时间,根据所述第一m3u8文件中保存的后一个m3u8文件的标识信息,确定第三m3u8文件的标识信息,将所述第三m3u8文件作为第一m3u8文件,返回判断单元。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-2任一项所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-2任一项所述的方法步骤。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求3-4任一项所述的方法步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求3-4任一项所述的方法步骤。
CN201711434492.5A 2017-12-26 2017-12-26 一种视频的存储、播放方法、装置、电子设备及存储介质 Active CN108076377B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711434492.5A CN108076377B (zh) 2017-12-26 2017-12-26 一种视频的存储、播放方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711434492.5A CN108076377B (zh) 2017-12-26 2017-12-26 一种视频的存储、播放方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN108076377A CN108076377A (zh) 2018-05-25
CN108076377B true CN108076377B (zh) 2020-12-08

Family

ID=62155249

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711434492.5A Active CN108076377B (zh) 2017-12-26 2017-12-26 一种视频的存储、播放方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN108076377B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109348251B (zh) * 2018-10-08 2021-05-11 腾讯科技(深圳)有限公司 用于视频播放的方法、装置、计算机可读介质及电子设备
CN111083573A (zh) * 2018-10-22 2020-04-28 杭州海康威视系统技术有限公司 一种视频文件处理方法、装置和存储节点
CN110913272A (zh) * 2019-12-03 2020-03-24 腾讯科技(深圳)有限公司 视频播放方法、装置、计算机可读存储介质和计算机设备
CN111159434A (zh) * 2019-12-29 2020-05-15 赵娜 一种在互联网存储集群中存储多媒体文件的方法及系统
CN113115120B (zh) * 2021-05-27 2022-12-23 武汉斗鱼鱼乐网络科技有限公司 视频切片方法、装置、电子设备及存储介质
CN113726778A (zh) * 2021-08-30 2021-11-30 咪咕视讯科技有限公司 流媒体seek方法、装置、计算设备及计算机存储介质
CN113992878B (zh) * 2021-09-30 2023-07-07 阿里巴巴(中国)有限公司 远程桌面操作审计方法、装置及设备
CN116684515B (zh) * 2022-09-27 2024-04-12 荣耀终端有限公司 流媒体视频的seek处理方法、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107205174A (zh) * 2017-07-14 2017-09-26 广东工业大学 一种快速回放视频文件方法及系统
CN107277563A (zh) * 2017-05-12 2017-10-20 成都虚拟世界科技有限公司 一种生成和播放视频文件的方法、服务器及终端

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103761297A (zh) * 2014-01-21 2014-04-30 北京云视睿博传媒科技有限公司 一种按时间信息索引文件的方法及其检索方法
US10542288B2 (en) * 2014-06-18 2020-01-21 Telefonaktiebolaget Lm Ericsson (Publ) Random access in a video bitstream
CN105847825A (zh) * 2015-01-16 2016-08-10 杭州海康威视数字技术股份有限公司 视频编码码流的编码、索引存储和访问方法及相应装置
CN105049920B (zh) * 2015-07-27 2018-08-10 青岛海信移动通信技术股份有限公司 一种多媒体文件的录制方法和装置
CN105578216B (zh) * 2015-12-21 2018-11-13 武汉市烽视威科技有限公司 一种实现hls点播快进快退的方法
CN106231348B (zh) * 2016-09-19 2019-06-11 浙江宇视科技有限公司 一种gop数据的回放方法、装置和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107277563A (zh) * 2017-05-12 2017-10-20 成都虚拟世界科技有限公司 一种生成和播放视频文件的方法、服务器及终端
CN107205174A (zh) * 2017-07-14 2017-09-26 广东工业大学 一种快速回放视频文件方法及系统

Also Published As

Publication number Publication date
CN108076377A (zh) 2018-05-25

Similar Documents

Publication Publication Date Title
CN108076377B (zh) 一种视频的存储、播放方法、装置、电子设备及存储介质
US10476928B2 (en) Network video playback method and apparatus
US10237583B1 (en) Execution of cases based on barcodes in video feeds
CN107277563B (zh) 一种生成和播放视频文件的方法、服务器及终端
US11316925B2 (en) Video data storage method and device in cloud storage system
US10313712B2 (en) Method, device, and server for producing video frame set
CN108989875B (zh) 一种生成弹幕文件的方法及装置
CN110113626B (zh) 一种回放直播视频的方法及装置
CA3099935C (en) Techniques for evaluating a video rate selection algorithm over a completed streaming session
US20170163703A1 (en) Player-based play method and device
US20170171334A1 (en) Single-account multiple-preference recommendation method for video website and electronic device
CN103945259A (zh) 一种在线视频播放方法及装置
CN109597566B (zh) 一种数据读取、存储方法及装置
US9742870B2 (en) Selective download of alternate media files
CN111506747B (zh) 文件解析方法、装置、电子设备及存储介质
CN112218166A (zh) 一种对点播视频记忆播放的启播方法及相关装置
CN110113389B (zh) 一种视频播放方法、装置、电子设备及存储介质
CN109587517B (zh) 一种多媒体文件的播放方法及装置、服务器及存储介质
US20160127792A1 (en) Online video playing system and method
CN112218118A (zh) 一种音视频裁剪方法及装置
CN111147954A (zh) 一种缩略图抽取方法及装置
CN108156514B (zh) 媒体文件的播放方法、装置及存储介质
US11600302B2 (en) System and methods for autonomous synchronous rendering of media objects obtained from a plurality of media sources
KR101637022B1 (ko) 컨텐트를 송신하는 방법 및 장치, 컨텐트를 수신하는 방법 및 장치
US11604680B2 (en) Low system memory detection

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