CN113395589B - 视频文件播放方法、装置、计算机设备及存储介质 - Google Patents

视频文件播放方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN113395589B
CN113395589B CN202110653007.3A CN202110653007A CN113395589B CN 113395589 B CN113395589 B CN 113395589B CN 202110653007 A CN202110653007 A CN 202110653007A CN 113395589 B CN113395589 B CN 113395589B
Authority
CN
China
Prior art keywords
video file
file
format
video
key frame
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
CN202110653007.3A
Other languages
English (en)
Other versions
CN113395589A (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.)
Shenzhen Wondershare Software Co Ltd
Original Assignee
Shenzhen Wondershare Software 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 Shenzhen Wondershare Software Co Ltd filed Critical Shenzhen Wondershare Software Co Ltd
Priority to CN202110653007.3A priority Critical patent/CN113395589B/zh
Publication of CN113395589A publication Critical patent/CN113395589A/zh
Application granted granted Critical
Publication of CN113395589B publication Critical patent/CN113395589B/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/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/4402Processing 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 reformatting operations of video signals for household redistribution, storage or real-time display
    • 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/4402Processing 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 reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing 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 reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • 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/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4826End-user interface for program selection using recommendation lists, e.g. of programs or channels sorted out according to their score
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本发明实施例公开了一种视频文件播放方法、装置、计算机设备及存储介质。本申请应用于视频播放的技术领域,其包括:若接收到视频文件的导入指令,则根据导入指令创建子进程以识别视频文件的格式及检测视频文件中的关键帧间距是否大于预设阈值;获取子进程返回的执行结果;若执行结果为关键帧间距大于预设阈值,则将视频文件转换为mp4文件,并播放mp4文件;若执行结果为关键帧间距不大于预设阈值且视频文件的格式为流格式,则根据视频文件建立索引表,并根据索引表播放视频文件。本申请实施例可提高视频文件的seek能力,从而避免视频文件的卡顿现象。

Description

视频文件播放方法、装置、计算机设备及存储介质
技术领域
本发明实施例涉及视频播放技术领域,尤其涉及一种视频文件播放方法、装置、计算机设备及存储介质。
背景技术
在视频播放过程中,用户想跳过中间片段,直接从某个时间点开始播放视频,此时为视频的开始播放位置,而这一操作过程称为seek。且在视频播放过程中,那些能够独立开始播放的视频帧被称为关键帧。在现有技术中,视频文件格式是多种多样的,例如流格式(ts、flv等)及存在索引的格式(mp4、avi等),对于流格式或者关键帧间距过大的视频文件,快速seek能力较差,seek耗时较久,使得视频文件画质受损,导致播放视频文件时出现卡顿。
发明内容
本发明实施例提供了一种视频文件播放方法、装置、计算机设备及存储介质,旨在解决现有视频文件seek能力较差而导致卡顿的问题。
第一方面,本发明实施例提供了一种视频文件播放方法,其包括:
若接收到视频文件的导入指令,则根据所述导入指令创建子进程以识别所述视频文件的格式及检测所述视频文件中的关键帧间距是否大于预设阈值;
获取所述子进程返回的执行结果;
若所述执行结果为所述关键帧间距大于所述预设阈值,则将所述视频文件转换为mp4文件,并播放所述mp4文件;
若所述执行结果为所述关键帧间距不大于所述预设阈值且所述视频文件的格式为流格式,则根据所述视频文件建立索引表,并根据所述索引表播放所述视频文件。
进一步地,根据所述导入指令创建子进程以通过预设识别方法识别所述视频文件的格式;若所述视频文件格式为流格式,则从所述视频文件的预设开始位置取一段预设大小的文件作为待检测视频文件,并检测所述待检测视频文件中的关键帧间距是否大于预设阈值;若所述视频文件格式不为所述流格式,则将所述视频文件中的索引表作为所述待检测视频文件,并检测所述待检测视频文件中的关键帧间距是否大于预设阈值。
进一步地,根据所述导入指令创建子进程以获取所述视频文件对应的文件信息;根据所述文件信息是否存在头信息识别所述视频文件的格式。
进一步地,分别获取所述待检测视频文件的分辨率及运行终端的CPU内核数;根据所述分辨率及所述CPU内核数通过预设计算公式判断所述视频文件中的关键帧间距是否大于预设阈值。
进一步地,将所述视频文件进行解码以得到解码视频文件;将所述解码视频文件进行重新编码以生成mp4文件,并播放所述mp4文件。
进一步地,依次读取所述视频文件对应的视频数据包以得到数据信息;根据所述数据信息建立列表文件,并将所述列表文件与所述视频文件建立一一映射关系以得到索引表;根据所述索引表播放所述视频文件。
进一步地,若所述执行结果为所述关键帧间距不大于所述预设阈值且所述视频文件的格式不为所述流格式,则直接播放所述视频文件。
第二方面,本发明实施例还提供了一种视频文件播放装置,其包括:
识别检测单元,用于若接收到视频文件的导入指令,则根据所述导入指令创建子进程以识别所述视频文件的格式及检测所述视频文件中的关键帧间距是否大于预设阈值;
获取单元,用于获取所述子进程返回的执行结果;
转换单元,用于若所述执行结果为所述关键帧间距大于所述预设阈值,则将所述视频文件转换为mp4文件,并播放所述mp4文件;
建立单元,用于若所述执行结果为所述关键帧间距不大于所述预设阈值且所述视频文件的格式为流格式,则根据所述视频文件建立索引表,并根据所述索引表播放所述视频文件。
第三方面,本发明实施例还提供了一种计算机设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现上述方法。
本发明实施例提供了一种视频文件播放方法、装置、计算机设备及存储介质。其中,所述方法包括:若接收到视频文件的导入指令,则根据所述导入指令创建子进程以识别所述视频文件的格式及检测所述视频文件中的关键帧间距是否大于预设阈值;获取所述子进程返回的执行结果;若所述执行结果为所述关键帧间距大于所述预设阈值,则将所述视频文件转换为mp4文件,并播放所述mp4文件;若所述执行结果为所述关键帧间距不大于所述预设阈值且所述视频文件的格式为流格式,则根据所述视频文件建立索引表,并根据所述索引表播放所述视频文件。本发明实施例的技术方案,若关键帧间距大于预设阈值,则将视频文件转换为mp4文件以减小关键帧间距;若关键帧间距不大于预设阈值且视频文件的格式为流格式,则根据视频文件建立索引表,根据建立的索引表播放视频文件,以提高视频文件的seek能力,从而避免视频文件的卡顿现象。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种视频文件播放方法的流程示意图;
图2为本发明实施例提供的一种视频文件播放方法的子流程示意图;
图3为本发明实施例提供的一种视频文件播放方法的子流程示意图;
图4为本发明实施例提供的一种视频文件播放方法的子流程示意图;
图5为本发明实施例提供的一种视频文件播放方法的子流程示意图;
图6为本发明另一实施例提供的一种视频文件播放方法的流程示意图;
图7为本发明实施例提供的一种视频文件播放装置的示意性框图;
图8为本发明实施例提供的视频文件播放装置的识别检测单元的示意性框图;
图9为本发明实施例提供的视频文件播放装置的第一识别子单元的示意性框图;
图10为本发明实施例提供的视频文件播放装置的第一检测单元的示意性框图;
图11为本发明实施例提供的视频文件播放装置的第二检测单元的示意性框图;
图12为本发明实施例提供的视频文件播放装置的转换单元的示意性框图;
图13为本发明实施例提供的视频文件播放装置的建立单元的示意性框图;
图14为本发明另一实施例提供的一种视频文件播放装置的示意性框图;以及
图15为本发明实施例提供的一种计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
请参阅图1,图1是本发明实施例提供的视频文件播放方法的流程示意图。本发明实施例的视频文件播放方法可应用于终端上,例如手提电脑、台式电脑、平板电脑等智能终端设备,通过安装于所述终端上的软件例如命名为音视频编辑软件的应用程序来实现所述视频文件播放方法,从而提高视频文件的seek能力,避免视频文件的卡顿现象。下面对所述视频文件播放方法进行详细说明。如图1所示,该方法包括以下步骤S100-S130。
S100、若接收到视频文件的导入指令,则根据所述导入指令创建子进程以识别所述视频文件的格式及检测所述视频文件中的关键帧间距是否大于预设阈值。
在本发明实施例中,若用户经音视频编辑软件的导入按钮将视频文件导入时,则会触发导入指令的发送,即若所述音视频编辑软件接收到视频文件的导入指令,则根据所述导入指令创建子进程以识别所述视频文件的格式及检测所述视频文件中的关键帧间距是否大于预设阈值,之后将执行结果返回给所述音视频编辑软件的主进程。其中,所述执行结果包括识别结果及检测结果,可理解地,所述识别结果为所述视频文件的格式是否为流格式;所述检测结果为所述视频文件中的关键帧间距是否大于预设阈值。在实际应用中,所述视频格式包括流格式及存在索引的格式,其中,所述流格式为ts、flv等格式,所述视频格式不为流格式,即为存在索引的格式,所述存在索引的格式为mp4、avi等格式。
请参阅图2,在一实施例中,例如,在本发明实施例中,所述步骤S100包括如下步骤S101-S103。
S101、根据所述导入指令创建子进程以通过预设识别方法识别所述视频文件的格式;
请参阅图3,在一实施例中,例如,在本发明实施例中,所述步骤S101包括如下步骤S1011-S1012。
S1011、根据所述导入指令创建子进程以获取所述视频文件对应的文件信息;
S1012、根据所述文件信息是否存在头信息识别所述视频文件的格式。
在本发明实施例中,根据所述导入指令创建子进程以通过预设识别方法识别所述视频文件的格式。具体地,根据所述导入指令创建子进程以获取所述视频文件对应的文件信息;根据所述文件信息是否存在头信息识别所述视频文件的格式。可理解地,在本发明实施例中,若所述文件信息中存在所述头信息,表明所述视频文件为存在索引表的格式,即不是流格式,反之则表明为流格式。
S102、若所述视频文件格式为流格式,则从所述视频文件的预设开始位置取一段预设大小的文件作为所述视频文件,并检测所述待检测视频文件中的关键帧间距是否大于预设阈值;
S103、若所述视频文件格式不为所述流格式,则将所述视频文件中的索引表作为所述视频文件,并检测所述待检测视频文件中的关键帧间距是否大于预设阈值。
在本发明实施例中,根据所述导入指令创建子进程以通过预设识别方法识别所述视频文件的格式,其中,预设识别方法为通过获取所述视频文件对应的文件信息,然后检测所述视频文件信息中是否存在头信息,若存在,则所述视频文件格式为流格式,反之,则所述视频文件格式为存在索引表的格式。可理解地,若所述视频文件格式为流格式,则从所述视频文件的预设开始位置取一段预设大小的文件作为所述视频文件,并检测所述待检测视频文件中的关键帧间距是否大于预设阈值,其中,预设开始位置可以为文件的0位置,预设大小可根据实际情况自行设定;若所述视频文件格式不为所述流格式,表明所述视频文件格式为存在索引表的格式,则将所述视频文件中的索引表作为所述视频文件并检测所述待检测视频文件中的关键帧间距是否大于预设阈值。需要说明的是,在本发明实施例中,检测所述待检测视频文件中的关键帧间距是否大于预设阈值,具体为,分别获取所述待检测视频文件的分辨率及运行终端的CPU内核数;根据所述分辨率及所述CPU内核数通过预设计算公式判断所述视频文件中的关键帧间距是否大于预设阈值。其中,预设计算公式为n*w*h>X*core_num,其中,X为预设阈值,core_num为CPU内核数,n为关键帧间距,w*h为分辨率。可理解地,创建子进程,并在所述子进程中识别所述视频文件的格式及检测所述视频文件中的关键帧间距是否大于预设阈值,可避免在所述视频文件格式识别过程中及所述关键帧间距检测过程中出现异常时引起主进程异常。
S110、获取所述子进程返回的执行结果。
在本发明实施例中,在所述子进程中识别所述视频文件的格式及检测所述待检测视频文件中的关键帧间距是否大于预设阈值之后,会将执行结果返回给音视频编辑软件的主进程,所述主进程获取到所述执行结果后,会根据所述执行结果执行下一步的执行步骤以播放所述视频文件。其中,所述执行结果为所述关键帧间距是否大于所述预设阈值,所述视频文件的格式是否为流格式。可理解地,在实际应用中,若返回的所述执行结果为预设错误码,则向用户发送失败提示框,例如,在子进程无响应或磁盘损坏时,则会返回预设错误码。
S120、若所述执行结果为所述关键帧间距大于所述预设阈值,则将所述视频文件转换为mp4文件,并播放所述mp4文件。
在本发明实施例中,获取所述子进程返回的执行结果,若所述执行结果为所述关键帧间距大于所述预设阈值,表明无论所述视频文件为何种格式,由于所述关键帧间距较大,所述视频文件的seek能力较差,则均会将所述视频文件转换为mp4文件,并播放所述mp4文件。可理解地,在将所述视频文件转换为所述mp4文件时,会将所述关键帧间距设置小于所述预设阈值以提高所述视频文件的seek能力。在实际应用中,一般设定为帧率,例如,30fps。
请参阅图4,在一实施例中,例如,在本发明实施例中,所述步骤S120包括如下步骤S121-S122。
S121、将所述视频文件进行解码以得到解码视频文件;
S122、将所述解码视频文件进行重新编码以生成mp4文件,并播放所述mp4文件。
在本发明实施例中,将所述视频文件转换为mp4文件,并播放所述mp4文件,具体地,将所述视频文件进行解码以得到解码视频文件;将所述解码视频文件进行重新编码以生成mp4文件,并播放所述mp4文件。需要说明的是,在本发明实施例中,所述视频文件的解码及重新编码过程为本领域技术人员所熟知的技术,在此不再赘述。可理解地,通过对所述视频文件进行解码及编码操作以生成具有预设大小所述关键帧间距的mp4文件,生成mp4文件之后播放该文件,也可提高视频文件的seek能力,使得视频文件的播放更加流畅。
S130、若所述执行结果为所述关键帧间距不大于所述预设阈值且所述视频文件的格式为流格式,则根据所述视频文件建立索引表,并根据所述索引表播放所述视频文件。
在本发明实施例中,获取所述子进程返回的执行结果,若所述执行结果为所述关键帧间距不大于所述预设阈值且所述视频文件的格式为流格式,表明所述视频文件中不存在索引表且所述关键帧间距较小,seek能力较强,为了节省时间,则根据所述视频文件建立索引表,并根据所述索引表播放所述视频文件。
请参阅图5,在一实施例中,例如,在本发明实施例中,所述步骤S130包括如下步骤S131-S133。
S131、依次读取所述视频文件对应的视频数据包以得到数据信息;
S132、根据所述数据信息建立列表文件,并将所述列表文件与所述视频文件建立一一映射关系以得到索引表;
S133、根据所述索引表播放所述视频文件。
在本发明实施例中,根据所述视频文件建立索引表,并根据所述索引表播放所述视频文件。具体地,依次读取所述视频文件对应的视频数据包以得到数据信息,其中,所述数据信息包括数据类型、大小、时间戳等信息;根据所述数据信息建立列表文件,可理解地,即将所述数据信息写入列表并存储成列表文件,再将所述列表文件与所述视频文件建立一一映射关系以得到索引表;得到所述索引表之后,再根据所述索引表播放所述视频文件。
需要说明的是,通过建立索引表,然后根据建立的索引表播放所述视频文件,可提高视频文件的seek能力,使得视频文件的播放更加流畅。
图6为本发明另一实施例提供的视频文件播放方法的流程示意图,如图6所示,在本发明实施例中,本实施例的视频文件播放方法包括步骤S200-S240。其中步骤S200-S230与上述实施例中的步骤S100-S130类似,在此不再赘述。下面详细说明本实施例中所增加的步骤S240。
S240、若所述执行结果为所述关键帧间距不大于所述预设阈值且所述视频文件的格式不为所述流格式,则直接播放所述视频文件。
在本发明实施例中,获取所述子进程返回的执行结果,若所述执行结果为所述关键帧间距不大于所述预设阈值且所述视频文件的格式不为所述流格式,表明所述视频文件中存在索引表且所述关键帧间距较小,即所述视频文件的seek能力较强,视频的画质不会受损,因此可不经过任何处理,直接播放所述视频文件。
图7是本发明实施例提供的一种视频文件播放装置200的示意性框图。如图7所示,对应于以上视频文件播放方法,本发明还提供一种视频文件播放装置200。该视频文件播放装置200包括用于执行上述视频文件播放方法的单元,该装置可以被配置于终端中。具体地,请参阅图7,该视频文件播放装置200识别检测单元201、获取单元202、转换单元203以及建立单元204。
其中,所述识别检测单元201用于若接收到视频文件的导入指令,则根据所述导入指令创建子进程以识别所述视频文件的格式及检测所述视频文件中的关键帧间距是否大于预设阈值;所述获取单元202用于获取所述子进程返回的执行结果;所述转换单元203用于若所述执行结果为所述关键帧间距大于所述预设阈值,则将所述视频文件转换为mp4文件,并播放所述mp4文件;所述建立单元204用于若所述执行结果为所述关键帧间距不大于所述预设阈值且所述视频文件的格式为流格式,则根据所述视频文件建立索引表,并根据所述索引表播放所述视频文件。
在某些实施例,例如本实施例中,如图8所示,所述识别检测单元201包括第一识别子单元2011、第一检测单元2012以及第二检测单元2013。
其中,所述第一识别子单元2011用于根据所述导入指令创建子进程以通过预设识别方法识别所述视频文件的格式;所述第一检测单元2012用于若所述视频文件格式为流格式,则从所述视频文件的预设开始位置取一段预设大小的文件作为所述视频文件,并检测所述待检测视频文件中的关键帧间距是否大于预设阈值;所述第二检测单元2013用于若所述视频文件格式不为所述流格式,则将所述视频文件中的索引表作为所述视频文件,并检测所述待检测视频文件中的关键帧间距是否大于预设阈值。
在某些实施例,例如本实施例中,如图9所示,所述第一识别子单元2011包括第一获取子单元20111及第二识别子单元20112。
其中,所述第一获取子单元20111用于根据所述导入指令创建子进程以获取所述视频文件对应的文件信息;所述第二识别子单元20112用于根据所述文件信息是否存在头信息识别所述视频文件的格式。
在某些实施例,例如本实施例中,如图10及图11所示,所述第一检测单元2012及所述第二检测单元2013均包括第二获取子单元20121及计算单元20122。
其中,所述第二获取子单元20121用于分别获取所述待检测视频文件的分辨率及运行终端的CPU内核数;所述计算单元20122用于根据所述分辨率及所述CPU内核数通过预设计算公式判断所述视频文件中的关键帧间距是否大于预设阈值。
在某些实施例,例如本实施例中,如图12所示,所述转换单元203包括解码单元2031及编码单元2032。
其中,所述解码单元2031用于将所述视频文件进行解码以得到解码视频文件;所述编码单元2032用于将所述解码视频文件进行重新编码以生成mp4文件,并播放所述mp4文件。
在某些实施例,例如本实施例中,如图13所示,所述建立单元204包括读取单元2041、建立子单元2042以及第一播放单元2043。
其中,所述读取单元2041用于依次读取所述视频文件对应的视频数据包以得到数据信息;所述建立子单元2042用于根据所述数据信息建立列表文件,并将所述列表文件与所述视频文件建立一一映射关系以得到索引表;所述第一播放单元2043用于根据所述索引表播放所述视频文件。
图14是本发明另一实施例提供的一种视频文件播放装置200的示意性框图。如图14所示,本实施例的视频文件播放装置200是在上述实施例的基础上增加了第二播放单元205。
其中,所述第二播放单元205用于若所述执行结果为所述关键帧间距不大于所述预设阈值且所述视频文件的格式不为所述流格式,则直接播放所述视频文件。
上述视频文件播放装置可以实现为一种计算机程序的形式,该计算机程序可以在如图15所示的计算机设备上运行。
请参阅图15,图15是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备300为终端,终端可以是台式电脑、手提电脑、平板电脑等具有通信功能的电子设备。
参阅图15,该计算机设备300包括通过系统总线301连接的处理器302、存储器和网络接口305,其中,存储器可以包括存储介质303和内存储器304。
该存储介质303可存储操作系统3031和计算机程序3032。该计算机程序3032被执行时,可使得处理器302执行一种视频文件播放方法。
该处理器302用于提供计算和控制能力,以支撑整个计算机设备300的运行。
该内存储器304为存储介质303中的计算机程序3032的运行提供环境,该计算机程序3032被处理器302执行时,可使得处理器302执行一种视频文件播放方法。
该网络接口305用于与其它设备进行网络通信。本领域技术人员可以理解,图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备300的限定,具体的计算机设备300可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器302用于运行存储在存储器中的计算机程序3032,以实现如下步骤:若接收到视频文件的导入指令,则根据所述导入指令创建子进程以识别所述视频文件的格式及检测所述视频文件中的关键帧间距是否大于预设阈值;获取所述子进程返回的执行结果;若所述执行结果为所述关键帧间距大于所述预设阈值,则将所述视频文件转换为mp4文件,并播放所述mp4文件;若所述执行结果为所述关键帧间距不大于所述预设阈值且所述视频文件的格式为流格式,则根据所述视频文件建立索引表,并根据所述索引表播放所述视频文件。
在某些实施例,例如本实施例中,处理器302在实现所述根据所述导入指令创建子进程以识别所述视频文件的格式及检测所述视频文件中的关键帧间距是否大于预设阈值步骤时,具体实现如下步骤:根据所述导入指令创建子进程以通过预设识别方法识别所述视频文件的格式;若所述视频文件格式为流格式,则从所述视频文件的预设开始位置取一段预设大小的文件作为所述视频文件,并检测所述待检测视频文件中的关键帧间距是否大于预设阈值;若所述视频文件格式不为所述流格式,则将所述视频文件中的索引表作为所述视频文件,并检测所述待检测视频文件中的关键帧间距是否大于预设阈值。
在某些实施例,例如本实施例中,处理器302在实现所述根据所述导入指令创建子进程以通过预设识别方法识别所述视频文件的格式步骤时,具体实现如下步骤:根据所述导入指令创建子进程以获取所述视频文件对应的文件信息;根据所述文件信息是否存在头信息识别所述视频文件的格式。
在某些实施例,例如本实施例中,处理器302在实现所述检测所述待检测视频文件中的关键帧间距是否大于预设阈值步骤时,具体实现如下步骤:分别获取所述待检测视频文件的分辨率及运行终端的CPU内核数;根据所述分辨率及所述CPU内核数通过预设计算公式判断所述视频文件中的关键帧间距是否大于预设阈值。
在某些实施例,例如本实施例中,处理器302在实现所述将所述视频文件转换为mp4文件,并播放所述mp4文件步骤时,具体实现如下步骤:将所述视频文件进行解码以得到解码视频文件;将所述解码视频文件进行重新编码以生成mp4文件,并播放所述mp4文件。
在某些实施例,例如本实施例中,处理器302在实现所述根据所述视频文件建立索引表,并根据所述索引表播放所述视频文件步骤时,具体实现如下步骤:依次读取所述视频文件对应的视频数据包以得到数据信息;根据所述数据信息建立列表文件,并将所述列表文件与所述视频文件建立一一映射关系以得到索引表;根据所述索引表播放所述视频文件。
在某些实施例,例如本实施例中,处理器302在实现所述获取所述子进程返回的执行结果步骤之后,具体实现还包括如下步骤:若所述执行结果为所述关键帧间距不大于所述预设阈值且所述视频文件的格式不为所述流格式,则直接播放所述视频文件。
应当理解,在本申请实施例中,处理器302可以是中央处理单元(CentralProcessing Unit,CPU),该处理器302还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该计算机程序被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序。该计算机程序被处理器执行时使处理器执行如下步骤:若接收到视频文件的导入指令,则根据所述导入指令创建子进程以识别所述视频文件的格式及检测所述视频文件中的关键帧间距是否大于预设阈值;获取所述子进程返回的执行结果;若所述执行结果为所述关键帧间距大于所述预设阈值,则将所述视频文件转换为mp4文件,并播放所述mp4文件;若所述执行结果为所述关键帧间距不大于所述预设阈值且所述视频文件的格式为流格式,则根据所述视频文件建立索引表,并根据所述索引表播放所述视频文件。
在某些实施例,例如本实施例中,所述处理器在执行所述计算机程序而实现所述根据所述导入指令创建子进程以识别所述视频文件的格式及检测所述视频文件中的关键帧间距是否大于预设阈值步骤时,具体实现如下步骤:根据所述导入指令创建子进程以通过预设识别方法识别所述视频文件的格式;若所述视频文件格式为流格式,则从所述视频文件的预设开始位置取一段预设大小的文件作为所述视频文件,并检测所述待检测视频文件中的关键帧间距是否大于预设阈值;若所述视频文件格式不为所述流格式,则将所述视频文件中的索引表作为所述视频文件,并检测所述待检测视频文件中的关键帧间距是否大于预设阈值。
在某些实施例,例如本实施例中,所述处理器在执行所述根据所述导入指令创建子进程以通过预设识别方法识别所述视频文件的格式步骤时,具体实现如下步骤:根据所述导入指令创建子进程以获取所述视频文件对应的文件信息;根据所述文件信息是否存在头信息识别所述视频文件的格式。
在某些实施例,例如本实施例中,所述处理器在执行所述计算机程序而实现所述检测所述待检测视频文件中的关键帧间距是否大于预设阈值步骤时,具体实现如下步骤:分别获取所述待检测视频文件的分辨率及运行终端的CPU内核数;根据所述分辨率及所述CPU内核数通过预设计算公式判断所述视频文件中的关键帧间距是否大于预设阈值。
在某些实施例,例如本实施例中,所述处理器在执行所述计算机程序而实现所述将所述视频文件转换为mp4文件,并播放所述mp4文件步骤时,具体实现如下步骤:将所述视频文件进行解码以得到解码视频文件;将所述解码视频文件进行重新编码以生成mp4文件,并播放所述mp4文件。
在某些实施例,例如本实施例中,所述处理器在执行所述计算机程序而实现所述根据所述视频文件建立索引表,并根据所述索引表播放所述视频文件步骤时,具体实现如下步骤:依次读取所述视频文件对应的视频数据包以得到数据信息;根据所述数据信息建立列表文件,并将所述列表文件与所述视频文件建立一一映射关系以得到索引表;根据所述索引表播放所述视频文件。
在某些实施例,例如本实施例中,所述处理器在执行所述计算机程序而实现所述获取所述子进程返回的执行结果步骤之后,具体实现还包括如下步骤:若所述执行结果为所述关键帧间距不大于所述预设阈值且所述视频文件的格式不为所述流格式,则直接播放所述视频文件。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,尚且本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (8)

1.一种视频文件播放方法,其特征在于,包括:
若接收到视频文件的导入指令,则根据所述导入指令创建子进程以通过预设识别方法识别所述视频文件的格式;
若所述视频文件格式为流格式,则从所述视频文件的预设开始位置取一段预设大小的文件作为待检测视频文件,并通过所述子进程检测所述待检测视频文件中的关键帧间距是否大于预设阈值;
若所述视频文件格式不为所述流格式,则将所述视频文件中的索引表作为所述待检测视频文件,并通过所述子进程检测所述待检测视频文件中的关键帧间距是否大于预设阈值;
获取所述子进程返回的执行结果;
若所述执行结果为所述关键帧间距大于所述预设阈值,则将所述视频文件转换为mp4文件,并播放所述mp4文件;
若所述执行结果为所述关键帧间距不大于所述预设阈值且所述视频文件的格式为流格式,则依次读取所述视频文件对应的视频数据包以得到数据信息,并根据所述数据信息建立列表文件,并将所述列表文件与所述视频文件建立一一映射关系以得到索引表,根据所述索引表播放所述视频文件。
2.根据权利要求1所述的方法,其特征在于,所述根据所述导入指令创建子进程以通过预设识别方法识别所述视频文件的格式,包括:
根据所述导入指令创建子进程以获取所述视频文件对应的文件信息;
根据所述文件信息是否存在头信息识别所述视频文件的格式。
3.根据权利要求1所述的方法,其特征在于,所述通过所述子进程检测所述待检测视频文件中的关键帧间距是否大于预设阈值,包括:
通过所述子进程分别获取所述待检测视频文件的分辨率及运行终端的CPU内核数;
根据所述分辨率及所述CPU内核数通过预设计算公式判断所述待检测视频文件中的关键帧间距是否大于预设阈值。
4.根据权利要求1所述的方法,其特征在于,所述将所述视频文件转换为mp4文件,并播放所述mp4文件,包括:
将所述视频文件进行解码以得到解码视频文件;
将所述解码视频文件进行重新编码以生成mp4文件,并播放所述mp4文件。
5.根据权利要求1所述的方法,其特征在于,所述获取所述子进程返回的执行结果之后,还包括:
若所述执行结果为所述关键帧间距不大于所述预设阈值且所述视频文件的格式不为所述流格式,则直接播放所述视频文件。
6.一种视频文件播放装置,其特征在于,包括:
第一识别子单元,用于根据导入指令创建子进程以通过预设识别方法识别所述视频文件的格式;
第一检测单元,用于若所述视频文件格式为流格式,则从所述视频文件的预设开始位置取一段预设大小的文件作为待检测视频文件,并通过所述子进程检测所述待检测视频文件中的关键帧间距是否大于预设阈值;
第二检测单元,用于若所述视频文件格式不为所述流格式,则将所述视频文件中的索引表作为所述待检测视频文件,并通过所述子进程检测所述待检测视频文件中的关键帧间距是否大于预设阈值;
获取单元,用于获取所述子进程返回的执行结果;
转换单元,用于若所述执行结果为所述关键帧间距大于所述预设阈值,则将所述视频文件转换为mp4文件,并播放所述mp4文件;
建立单元,用于若所述执行结果为所述关键帧间距不大于所述预设阈值且所述视频文件的格式为流格式,则依次读取所述视频文件对应的视频数据包以得到数据信息,并根据所述数据信息建立列表文件,并将所述列表文件与所述视频文件建立一一映射关系以得到索引表,根据所述索引表播放所述视频文件。
7.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-5中任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现如权利要求1-5中任一项所述的方法。
CN202110653007.3A 2021-06-11 2021-06-11 视频文件播放方法、装置、计算机设备及存储介质 Active CN113395589B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110653007.3A CN113395589B (zh) 2021-06-11 2021-06-11 视频文件播放方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110653007.3A CN113395589B (zh) 2021-06-11 2021-06-11 视频文件播放方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN113395589A CN113395589A (zh) 2021-09-14
CN113395589B true CN113395589B (zh) 2023-02-10

Family

ID=77620642

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110653007.3A Active CN113395589B (zh) 2021-06-11 2021-06-11 视频文件播放方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN113395589B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102467940A (zh) * 2010-11-08 2012-05-23 安凯(广州)微电子技术有限公司 一种无索引视频文件快进快退方法、装置以及播放系统
CN105228001A (zh) * 2015-09-26 2016-01-06 北京暴风科技股份有限公司 一种flv格式视频在线播放的方法及系统
CN110022489A (zh) * 2019-05-30 2019-07-16 腾讯音乐娱乐科技(深圳)有限公司 视频播放方法、装置及存储介质
CN112165653A (zh) * 2020-09-28 2021-01-01 中国建设银行股份有限公司 一种视频播放方法、装置及设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2477800A (en) * 2010-02-16 2011-08-17 Nds Ltd Video trick mode playback
EP3137966A4 (en) * 2014-04-29 2017-12-27 Brit Media, Inc. Video scrolling

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102467940A (zh) * 2010-11-08 2012-05-23 安凯(广州)微电子技术有限公司 一种无索引视频文件快进快退方法、装置以及播放系统
CN105228001A (zh) * 2015-09-26 2016-01-06 北京暴风科技股份有限公司 一种flv格式视频在线播放的方法及系统
CN110022489A (zh) * 2019-05-30 2019-07-16 腾讯音乐娱乐科技(深圳)有限公司 视频播放方法、装置及存储介质
CN112165653A (zh) * 2020-09-28 2021-01-01 中国建设银行股份有限公司 一种视频播放方法、装置及设备

Also Published As

Publication number Publication date
CN113395589A (zh) 2021-09-14

Similar Documents

Publication Publication Date Title
US20160132108A1 (en) Adaptive media file rewind
US20070001877A1 (en) Information processing apparatus and decoding control method
US8719528B2 (en) Water marking in a data interval gap
JP5037734B2 (ja) データの保護方法とシステム、記憶デバイス及び記憶デバイスコントローラ
KR100781512B1 (ko) 임베디드 디바이스에서 재생 가능한 멀티미디어 파일을선별하여 재생하는 장치 및 방법
CN113395589B (zh) 视频文件播放方法、装置、计算机设备及存储介质
US8369456B2 (en) Data processing apparatus and method and encoding device
CN1574055B (zh) 记录介质中的数据的管理方法及装置
CN111510706B (zh) 硬件编、解码支持度检测方法、终端及存储介质
CN102830955A (zh) 一种摄像机辅助应用系统
US20140052454A1 (en) Method for determining format of linear pulse-code modulation data
US6687072B2 (en) Disk apparatus and information processing system discriminative plural external electronic appliances
US7873755B2 (en) Semiconductor device, reproduction device, and method for controlling the same
US6701481B2 (en) Recording apparatus, recording system and error notification method
US7444581B2 (en) Error handling of storage device data in real time systems
US20020027845A1 (en) Reproduction apparatus, reproduction method, program, and recording medium
US7228454B2 (en) Method and apparatus of processing data according to data types
KR20050079611A (ko) 기록 재생 장치
US8731368B2 (en) Video data processing apparatus and video data processing method
JP3637604B2 (ja) 情報再生装置及び方法
JP2008076847A (ja) 復号器及び信号処理システム
CN101563916A (zh) 控制装置、电视视听装置、信息设备、控制方法和控制程序
JP4020042B2 (ja) 磁気テープ装置及びその制御方法
JP6236800B2 (ja) 情報処理システム、及び情報処理装置
KR100657818B1 (ko) 멀티미디어 데이터의 재생 방법

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20211129

Address after: 518000 1001, block D, building 5, software industry base, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province

Applicant after: Shenzhen Wanxing Software Co.,Ltd.

Address before: 518000 1002, block D, building 5, software industry base, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province

Applicant before: SHENZHEN SIBO TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant