CN109391843B - 在线视频倍速播放方法、装置、介质及智能终端 - Google Patents

在线视频倍速播放方法、装置、介质及智能终端 Download PDF

Info

Publication number
CN109391843B
CN109391843B CN201710657056.8A CN201710657056A CN109391843B CN 109391843 B CN109391843 B CN 109391843B CN 201710657056 A CN201710657056 A CN 201710657056A CN 109391843 B CN109391843 B CN 109391843B
Authority
CN
China
Prior art keywords
video
hard solution
playing
solution
hard
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
CN201710657056.8A
Other languages
English (en)
Other versions
CN109391843A (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 Yayue Technology Co ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201710657056.8A priority Critical patent/CN109391843B/zh
Publication of CN109391843A publication Critical patent/CN109391843A/zh
Application granted granted Critical
Publication of CN109391843B publication Critical patent/CN109391843B/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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4425Monitoring of client processing errors or hardware failure
    • 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/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/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/440281Processing 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 altering the temporal resolution, e.g. by frame skipping
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4516Management of client data or end-user data involving client characteristics, e.g. Set-Top-Box type, software version or amount of memory available

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本申请提供在线视频倍速播放方法、装置、介质及智能终端;涉及视频处理技术领域,尤其涉及如何解决现有技术中存在的软解不适用于智能终端的在线视频的倍速播放等的问题。本申请中,从视频服务器获取在线视频的视频数据;若确定智能终端的机型为支持硬解的预设机型,则采用硬解的方式解码获取的视频数据,并响应于用户预先配置的播放倍速进行播放;若接收到硬解异常信息,则对获取的视频数据中未解码的部分采用软解的方式解码并播放。本申请实现优先采用硬解进行解码,并在硬解出现异常的情况下,采用软解的方式进行解码。通过硬解提高解码效率、降低软解对电量的消耗以及对CPU性能的要求,进一步通过软解来倍速播放硬解失败的视频数据来弥补硬解的不足,保证在线视频倍速播放的顺利进行。

Description

在线视频倍速播放方法、装置、介质及智能终端
技术领域
本申请涉及视频处理技术领域,尤其涉及在线视频倍速播放方法、装置、介质及智能终端。
背景技术
随着网络的发展,视频内容成为用户生活、工作和学习中不可或缺的网络内容。其中,用户对在线视频的需求日益增长。随着人们生活节奏的加快,在线视频内容的增多,在线视频也成为一种快速消费品。即,用户通常具有倍速播放在线视频的需求,以便于快速了解在线视频的内容。例如,若一段视频正常播放完需要20秒,假设用户配置的播放倍速为2倍,则该段视频将以正常播放速度的两倍进行播放,最终仅需10秒钟播放完该段视频。
现有技术中,在线视频的倍速播放均采用软解的方式进行解码播放,即采用软件解码器进行解码。然而,软解是调用CPU(中央处理器)进行解码,对CPU性能具有一定要求。故此,CPU性能不佳时,软解的解码效率较低。所以,在线视频的倍速播放场景中,软解仅适用于PC(personal computer,个人计算机)。
对于一些智能终端软解,软解并不适用于倍速播放在线视频。以智能手机为例,其CPU性能较差,在线播放视频时,由于占用较多的处理资源,会导致解码慢,倍速播放卡顿。故此,需要一种适用于智能终端的在线视频的倍速播放方案。
发明内容
本申请实施例提供在线视频倍速播放方法、装置、介质及智能终端,用以解决现有技术中存在的软解不适用于智能终端的在线视频的倍速播放等的问题。
本申请实施例提供的一种在线视频倍速播放方法,应用于智能终端,包括:
接收在线视频的播放请求;
根据所述播放请求,从视频服务器获取所述在线视频的视频数据并对所述视频数据进行解码播放;其中,
若确定所述智能终端的机型为支持硬解的预设机型,则采用硬解的方式解码获取的视频数据,并响应于用户预先配置的播放倍速进行播放;
若监听到硬解异常信息,则对获取的视频数据中未解码的部分采用软解的方式解码,并响应于用户预先配置的播放倍速播放。
本申请实施例提供的一种在线视频倍速播放装置,应用于智能终端,包括:
播放请求接收模块,用于接收在线视频的播放请求;
在线视频处理模块,用于根据所述播放请求,从视频服务器获取所述在线视频的视频数据并对所述视频数据进行解码播放,其中,
若确定所述智能终端的机型为支持硬解的预设机型,则采用硬解的方式解码获取的视频数据,并响应于用户预先配置的播放倍速进行播放;
若监听到硬解异常信息,则对获取的视频数据中未解码的部分采用软解的方式解码,并响应于用户预先配置的播放倍速播放。
本申请另一实施例还提供了一种智能终端,其包括存储器和处理器,其中,所述存储器用于存储程序指令,所述处理器用于调用所述存储器中存储的程序指令,按照获得的程序指令执行本申请实施例中的任一在线视频倍速播放方法。
本申请另一实施例还提供了一种计算机存储介质,其中,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行本申请实施例中的任一在线视频倍速播放方法。
本申请实施例中,由于硬解是采用硬件解码器进行解码,其解码效率高,所以,本申请实施例中优先采用硬解进行解码。因为硬解对智能终端的机型有限制,其稳定性比软解差,所以采用硬解出现异常的情况下,采用软解的方式进行解码。这样,硬解和软解的结合,通过硬解提高解码效率、降低软解对电量的消耗以及对CPU性能的要求,进一步通过软解来倍速播放硬解失败的视频数据来弥补硬解的不足,保证在线视频倍速播放的顺利进行。
附图说明
图1所示为本申请实施例提供的在线视频倍速播放方法的应用场景示意图之一;
图2所示为本申请实施例提供的在线视频倍速播放方法的应用场景示意图之二;
图3所示为本申请实施例一提供的在线视频倍速播放方法的流程示意图;
图4所示为本申请实施例二提供的在线视频倍速播放方法的流程示意图;
图5所示为本申请实施例三提供的在线视频倍速播放装置的结构示意图;
图6所示为本申请实施例四提供的智能终端的结构示意图。
具体实施方式
为了便于理解本申请实施例提供的技术方案,下面结合说明书附图对本申请实施例作进一步详细描述。
首先参考图1其为本申请实施例提供的在线视频倍速播放方法的应用场景示意图之一。该场景例如可以包括用户10、智能终端11和视频服务器12。其中,所述智能终端11中可安装有各种可播放在线视频的客户端,如腾讯视频、网页浏览器等。用户可以对智能终端11的客户端执行操作,请求智能终端11的客户端播放在线视频。智能终端11的客户端和视频服务器12建立通信连接后;根据用户的播放请求从视频服务器12获取所述在线视频的视频数据;若确定所述智能终端的机型为支持硬解的预设机型,则采用硬解的方式解码获取的视频数据,并响应于用户预先配置的播放倍速进行播放;若接收到硬解异常信息,则对获取的视频数据中未解码的部分采用软解的方式解码并播放。
为了便于确定智能终端的机型是否为支持硬解的预设机型,参考图2为为本申请实施例提供的在线视频倍速播放方法的应用场景示意图之二。该场景例如可以包括用户10、智能终端11、视频服务器12和名单维护服务器13。其中,用户10、智能终端11、视频服务器12参考图1应用场景的描述,这里不再赘述。此处仅重点说明,名单维护服务器13中存储有硬解白名单。智能终端11和名单维护服务器13建立通信连接。智能终端11的客户端接收到播放请求后,确定自身存储的硬解白名单和名单维护服务器13中存储的硬解白名单的版本是否一致,若不一致,则从名单维护服务器13下载最新版本的硬解白名单,若一致无需下载。然后,智能终端11确定智能终端11的机型是否在存储的硬解白名单中,若是,则确定智能终端11的机型为支持硬解的预设机型,否则确定智能终端11的机型并非是支持硬解的预设机型。
此外,在另一个实施例中,名单维护服务器13中还可以存储硬解黑名单,该硬解黑名单可以由名单维护服务器生成。例如,智能终端11在监听到硬解异常信息后,则将携带自身的终端标识的硬解失败信息发送给名单维护服务器13。名单维护服务器13计算该智能终端11的硬解失败信息的累加量、在确定所述累加量超过预设阈值时将智能终端11的终端标识添加到所述硬解黑名单中。具体实施时,若智能终端11的终端标识包含在硬解黑名单中,则说明该智能终端11无法执行硬解,所以在智能终端11执行硬解之前,可以先确定自身是否在硬解黑名单中,若不在,则可以执行硬解的操作,否则执行软解的操作。
其中,智能终端11和视频服务器12、智能终端11和名单维护服务器均可通过通信网络进行通信连接,该网络可以为局域网、广域网等。智能终端11可以为智能手机、平板电脑等,视频服务器12和名单维护服务器13可以为任何能够支持相应的在线视频倍速播放方法的服务器设备。
实施例一
参照图3,为本申请实施例一提供的在线视频倍速播放方法流程图,应用于智能终端,包括以下步骤:
步骤301:接收在线视频的播放请求。
步骤302:根据所述播放请求,从视频服务器获取所述在线视频的视频数据并对所述视频数据进行解码播放,其中:
若确定所述智能终端的机型为支持硬解的预设机型,则采用硬解的方式解码获取的视频数据,并响应于用户预先配置的播放倍速进行播放;
若监听到硬解异常信息,则对获取的视频数据中未解码的部分采用软解的方式解码,并响应于用户预先配置的播放倍速播放。
其中,如前述,硬解白名单中存储有支持硬解的预设机型的信息。智能终端执行本申请的方法时,可以预先从名单维护服务器中获取该硬解白名单,并根据该硬解白名单判断智能终端的机型是否是预设机型,当然也可以将机型发送给名单维护服务器,由服务器判断并反馈判断结果给智能终端。
硬解异常一般是指由于用户私自改变了手机上的操作系统,导致硬解无法正常调用;或者由于在线视频的编码比较特殊或者视频编码不规范,导致硬解出现播放错误或者硬解崩溃的现象。本申请实施例中,可以根据以下方法监听所述硬解异常信息:
在执行硬解代码的过程中将用于表示硬解异常的代码执行结果作为所述硬解异常信息;和/或,
根据预先设定的回调函数从系统的信号捕捉接口中获取所述硬解异常信息。例如:
(1)对于硬解出现的无法调用、或者出现播放错误,这些信息在执行硬解代码的过程中可以直接获得。
(2)如果出现硬解崩溃的现象,会通过指定的信号机制来捕捉,即任何系统错误都会抛出一个错误信号,本申请实施例中通过设定一个回调函数到系统的信号捕捉接口中,则当视频播放器的出现底层的编程语言层面的异常时,通过指定的信号机制会立刻捕捉到硬解异常信息。
综上所述,由于硬解是采用硬件解码器进行解码,其解码效率高,所以,本申请实施例中优先采用硬解进行解码。因为硬解对智能终端的机型有限制,其稳定性比软解差,所以采用硬解出现异常的情况下,采用软解的方式进行解码。这样,硬解和软解的结合,通过硬解提高解码效率、降低软解对电量的消耗以及对CPU性能的要求,进一步通过软解来倍速播放硬解失败的视频数据来弥补硬解的不足,保证在线视频倍速播放的顺利进行。
其中,在一个实施例中,为了便于切换解码方式,若监听到硬解异常信息,则对获取的视频数据中未解码的部分采用软解的方式解码,可具体包括:
若监听到硬解异常信息,释放硬解所占用的相关资源;
初始化软件解码器,并配置用于渲染软解解码结果的预设参数;
对获取的视频数据中未解码的部分采用软解的方式解码,并响应于用户预先配置的播放倍速,将软解解码结果根据所述预设参数进行渲染播放。
这样,通过示范硬解占用的资源,有利于提高相关资源的利用率,并能够顺利根据软解来进行解码。
需要说明的是,在线视频通过流式传输,需要不断的获取在线视频的视频片段。所以,本申请实施例中,在线视频的视频数据的获取和解码播放通常一起进行,即,边获取视频数据,边对视频数据进行解码播放。
其中,在一个实施例中,随着移动网络速度的提升,智能终端可以通过移动网络观看在线视频。由于智能终端的位置可以不断变化,智能终端所使用的网络可能是移动网络,受限于网络信号质量的影响,获取在线视频的视频片段的操作会随着网络信号质量的下降而获取速度慢。这样,容易导致在线视频播放卡顿。为解决该问题,本申请实施例中采用多任务下载的方式同一时间获取较多的在线视频数据来支持在线视频的倍速播放。具体的,步骤302中根据所述播放请求,从服务器获取所述在线视频的视频数据,可包括以下步骤A1-步骤A2:
步骤A1:根据所述播放请求,创建多个下载任务,所述多个下载任务用于下载从当前播放位置所在的视频片段开始的、连续指定数量的视频片段;其中,所述在线视频对应多个视频片段,视频片段为根据所述在线视频的总数据量,对所述在线视频进行划分得到的。
具体实施时,可以首先获取在线视频的总数据量,然后根据总数据量将该在线视频划分为多个视频片段。之后的下载,将在线视频的视频数据按照划分的视频片段进行下载。
每个视频片段可以对应一个下载任务,例如,在线视频的总数据量为10M(兆),假设每512KB(字节)为一个视频片段,则该在线视频可以划分为20个视频片段。若连续指定数量为5,则可以创建5个下载任务,每个下载任务用于下载一个对应的视频片段。每个下载任务中可以包括其要下载的视频片段于在线视频中的偏移位置和视频片段的数据量,来表征下载哪个视频片段。
其中,当前播放位置可以是用户更改后的播放位置,也可以是在没有用户更改情况下,顺序播放时的播放位置。
步骤A2:同时执行所述多个下载任务,从视频服务器获取所述在线视频的视频片段。
这样,同时执行多个下载任务,同时下载多个视频片段,能够尽量的保证智能终端存储有足够的视频片段用于倍速播放使用,保证倍速播放的画面联系,不容易卡顿。
其中,在一个实施例中,发明人发现,如果下载的视频数据碎片化存储,则在解码视频数据时,查找和解码都比较耗时。此外,由于现有技术中,一段视频数据播放完后往往会被自动清除。而用户观看在线视频时也习惯不断拖动进度条,更改在线视频的播放位置。尤其在倍速播放的场景下,用户若漏掉重要信息,需要查看之前播放的内容,以便于和现在查看的内容能够联系上。故此,用户有不断前后更改播放位置的需求。故此,本申请实施例中,为了满足倍速播放的各种需求,进一步保证倍速播放不易卡顿,创建多个下载任务之前还可以创建针对所述在线视频的文件夹。从视频服务器获取所述在线视频的视频片段之后,可以包括以下步骤B1-步骤B
步骤B1:将所述在线视频的视频片段下载到所述文件夹下。
步骤B2:下载完每个视频片段后,确定该视频片段是否为所述在线视频的最后一个视频片段。
步骤B3:若否,则继续下载当前播放位置之后的未下载的视频片段,之后执行步骤B2。
步骤B4:若是,则检查所述文件夹下是否还存在所述在线视频的未下载的视频片段。
步骤B5:若存在,则从所述视频服务器下载未下载的视频片段,之后执行步骤B2。
步骤B6:若不存在,则将所述文件夹下的各视频片段拼接成一个完整的视频文件。
则,所述对所述视频数据进行解码播放,可具体包括:
若所述文件夹下不存在所述视频文件,则对相应的视频片段进行解码播放;若所述文件夹下存在所述视频文件,则对所述视频文件进行解码播放。
这样,通过步骤B2和步骤B3,相当于实现了优先下载播放位置及其之后的视频片段,因为这是用户短时间内最需要浏览和下载的视频内容。能够保证在线视频的流畅播放。而当视频片段为所述在线视频的最后一个视频片段时,没有之后的视频片段需要下载,这时,为了满足用户不断拖动进度条更改当前播放位置的需求,可以执行步骤B4和步骤B5,以便于将在线视频的内容全部下载并存储下来。这样,在用户更改播放位置时,可以直接从文件夹下获取相应的视频片段并解码播放。此外,由于视频片段存储在同一文件夹下,便于查找和定位。能够提高视频片段的解码效率,满足倍速播放的需求。而,通过步骤B6,将各视频片段拼接成一个完整的视频文件,便于用户更改播放位置时,仅对这一个文件进行处理,而无需管理多个视频片段,管理和播放都变得简单。
进一步的,在一个实施例中,为了满足用户不断更改播放位置的需求,所述方法还包括以下步骤C1-步骤C4:
步骤C1:接收更改播放位置的更改请求;
步骤C2:将更改后的播放位置作为当前播放位置。
步骤C3:若当前播放位置对应的视频片段未下载,并返回执行步骤A1。
步骤C4:若当前播放位置对应的视频片段已下载,则获取当前播放位置对应的视频片段;并,使用当前的解码方式对当前播放位置对应的视频片段进行解码并播放。
这样,即使用户更改了播放位置,若预先下载了更改后的播放位置对应视频片段,则可以直接解码播放,不影响用户观看,避免在线视频播放卡顿。即使没有预先下载,也是从更改后的播放位置对应的视频片段开始,创建多任务下载。以便于能够及时获取视频片段并进行解码播放,保证播放的流畅。
进一步的,对于提供开源系统(如安卓系统)的智能终端。一些用户往往通过ROM的方式来刷机,而刷机后容易导致硬解异常。故此,本申请实施例中,为了保证硬解的顺利进行,尽可能采用硬解的方式来实现在线视频的倍速播放,本申请实施例中,采用硬解的方式解码获取的视频数据之前,所述方法还包括:确定所述智能终端未包含在预设的硬解黑名单中,其中,所述硬解黑名单中存储有无法正常进行硬解的智能终端的终端标识。
进一步的,为了便于生成和维护硬解黑名单,所述方法还包括:若监听到硬解异常信息,则将携带所述智能终端的终端标识的硬解失败信息发送给名单维护服务器,以使所述名单维护服务器计算所述智能终端的硬解失败信息的累加量、并由所述名单维护服务器在确定所述累加量超过预设阈值时将所述智能终端的终端标识添加到所述硬解黑名单中。
当然,具体实施时,也可以有智能终端确定自身的接收到硬解异常信息的累加量,若该累加量超过预设阈值,则将自己的终端标识上报给名单维护服务器。以便于名单维护服务器更新自身维护的硬解黑名单。
其中,在一个实施例中,通常硬解顺利进行要求的条件比软解更加苛刻。智能终端往往制造商不同,型号不同,其关系硬解的参数不统一。故此,为了能够保证各种机型的智能终端都能够顺利的进行硬解,本申请实施例中,采用硬解的方式解码获取的视频数据,可具体包括:
步骤D1:根据预置的机型和硬解适配处理之间的对应关系,确定所述智能终端的机型对应的硬解适配处理。
步骤D2:根据确定的硬解适配处理,对获取的视频片段进行硬解。
这样,相当于根据智能终端自身的需求,为不同智能终端进行适配处理。以便于保证该智能终端能够成功的尽可能的采用硬解的方式对在线视频进行倍速播放。
具体实施时,硬解适配处理可以包括以下中的至少一种:
1)、针对硬解需要调用的系统接口的适配处理:
由于不同机型的智能终端调用系统接口的方法不一,为了能够兼容各种智能终端,保证在各种智能终端上硬解的顺利进行,本申请实施例中:若包括针对系统接口的硬解适配处理,则通过调用系统文件库中的硬解所需的系统接口,对获取的视频片段进行硬解,所述系统文件库中封装有调用各机型对应的系统接口的代码逻辑。
这样,相当于对不同智能终端调用系统接口的代码封装成库,并采用引用系统文件的方式调用系统接口进行硬解。能够方便视频播放器客户端在应用层实现对硬解的调用,进而实现对不同智能终端的兼容。
2)、针对解码后的时间戳的适配处理:
硬解涉及到时间戳,时间戳是播放器用来播放显示视频画面的时间的。例如视频解码后的一个图像的时间戳是8000毫秒,而下一帧图像的时间戳是8025毫秒;即表示在8000毫秒开始显示该帧图像,一直到8025毫秒开始显示下一帧图像。
硬解后得不到时间戳或者时间戳完全是混乱的,这也会导致硬解异常。故此,为了保证硬解的正常进行,若包括针对时间戳的适配处理,则对获取的视频片段进行硬解时,根据视频的帧率按播放顺序生成对应的时间戳;例如某个视频的帧率是40FPS(即1秒钟播放40帧图像),则可以将1秒平均分成40份,以便于1秒内播放完40帧图像,则第1帧图像的时间戳设成0毫秒、第2帧图像的时间戳设成25毫秒、第3帧图像的时间戳设成50毫秒、依此类推。
3)、针对硬解输出图片的视频颜色编码格式的适配处理:
不同机型的硬解可能对视频颜色编码格式有着各自的要求,必须恰当的使用硬件支持的颜色格式。所以若包括针对硬解输出图片的视频颜色编码格式的硬解适配处理,则采用所述智能终端的机型支持的颜色编码格式对获取的视频片段进行硬解。
4)、针对硬解初始化的适配处理:
硬解初始化很重要,能够很大程度上决定硬解能否正常工作。为了保证硬解的顺利进行若包括针对硬解初始化的硬解适配处理,则采用与所述智能终端的机型匹配的预置初始化参数进行初始化,并在初始化后对获取的视频片段进行硬解。
例如,具体实施时,初始化参数例如包括视频的编码等级、宽度、高度等等。例如、一些手机只支持h264标准的低等级编码,其他等级的编码会导致初始化失败或崩溃,就需要在硬解初始化时根据h264标准的低等级进行初始化。
5)、针对流过滤的适配处理:
如果在线视频的字节流格式不满足要求,也容易导致硬解异常。硬解时,不同智能终端的对于不同格式的字节流的兼容性不同,会存在不支持有些视频流中的帧类型,所以若包括针对流过滤的硬解适配处理,则将与所述智能终端的机型预置的不支持的帧类型进行过滤后,对获取的视频片段进行硬解。
这样,能够减少硬解异常,保证硬解的正常进行。
6)针对视频渲染的适配处理:
硬解对视频流解码的基本单元是以16字节为单位进行分割,但有些视频的宽、高不是16倍数的,对于这些视频,解码器内部要先补齐成16倍数,再进行解码。这样尺寸就会不等于原尺寸,这个时候需要指定要显示的尺寸究竟是原始尺寸,还是对齐后的尺寸。否则在渲染显示时会出现扭曲或者黑边现象,甚至是崩溃。适配时需要增加判断逻辑,具体的:解析在线视频的宽和高;判断宽和高是否均是16倍数;如果是,就正常调用硬解;否则将在线视频通过边缘补齐使宽和高均为16倍数;在解码后把输出的图像的边缘补齐的部分裁减掉。
故此,具体实施时响应于用户预先配置的播放倍速进行播放,可具体包括:响应于用户预先配置的播放倍速,并采用预先指定的视频尺寸,对硬解得到的视频片段进行渲染播放。
为便于进一步理解本申请实施例提供的在线视频的倍速播放方法,下面通过实施例二提供的实施例对此做进一步说明:
实施例二
如图4所示,以安卓智能手机为例,对本申请实施例提供在线视频的倍速播放方法做进一步说明,包括以下步骤:
步骤401:接收在线视频的播放请求。
步骤402:根据所述播放请求,从视频服务器中获取所述在线视频的总数据量,并根据该总数据量将所述在线视频划分为多个视频片段。
步骤403:创建针对所述在线视频的文件夹。
步骤404:创建多个下载任务,所述多个下载任务用于下载从当前播放位置所在的视频片段开始的、连续指定数量的视频片段。
步骤405:同时执行所述多个下载任务,从视频服务器获取所述在线视频的视频片段,并将所述在线视频的视频片段下载到所述文件夹下。
步骤406:下载完每个视频片段后,确定该视频片段是否为所述在线视频的最后一个视频片段,若否,执行步骤407,若是,执行步骤408。
步骤407:继续下载当前播放位置之后的未下载的视频片段。
步骤408:检查所述文件夹下是否还存在所述在线视频的未下载的视频片段,若存在,执行步骤409,若不存在执行步骤410。
步骤409:从所述视频服务器下载未下载的视频片段。
步骤410:将所述文件夹下的各视频片段拼接成一个完整的视频文件。
步骤411:判断自身的机型是否在硬解白名单中,若否,执行步骤412;若是,执行步骤413。
其中,步骤411的执行顺序不受限。
步骤412:从文件夹中获取视频片段,对获取的视频片段采用软解的方式解码,并响应于用户预先配置的播放倍速进行播放。
步骤413:判断自身的终端标识是否在硬解黑名单中,若否,执行步骤414,若是,执行步骤412。
步骤414:从文件夹中获取视频片段,采用硬解的方式解码获取的视频数据,并响应于用户预先配置的播放倍速进行播放,之后执行步骤415。
其中,若文件夹下已存储完整的视频文件,则获取的视频片段为从该视频文件中获取的需要解码的视频片段。
此外,具体实施时,还可以对硬解进行适配处理,此处已在实施例一种说明,这里不再赘述。
步骤415:若监听到硬解异常信息,则对获取的视频数据中未解码的部分采用软解的方式解码并播放。
步骤416:接收更改播放位置的更改请求。
其中,步骤416的执行顺序不受限。
步骤417:将更改后的播放位置作为当前播放位置。
步骤418:在文件夹下查找当前播放位置对应的视频片段,若未查找到,则返回执行步骤404;若查找到,则执行步骤419。
步骤419:获取当前播放位置对应的视频片段;并,使用当前的解码方式对当前播放位置对应的视频片段进行解码并播放。
其中,若一致顺利通过硬解方式进行解码,则当前的解码方式为硬解,若接收到过硬解异常信息,则当前的解码方式为软解。
此外,当接收到请求退出播放视频的退出请求时,则结束在线视频的播放。若此时在线视频没有全部下载完成,则停止下载,并清除已下载的该在线视频的数据。
实施例三
基于相同的发明构思,本申请实施例还提供一种在线视频倍速播放装置,应用于智能终端。该装置的原理和有益效果与上述方法实施例中所述内容相似,在此不再赘述。
如图5所示,为该装置的结构示意图,包括:
播放请求接收模块501,用于接收在线视频的播放请求;
在线视频处理模块502,用于根据所述播放请求,从视频服务器获取所述在线视频的视频数据并对所述视频数据进行解码播放,其中,
若确定所述智能终端的机型为支持硬解的预设机型,则采用硬解的方式解码获取的视频数据,并响应于用户预先配置的播放倍速进行播放;
若监听到硬解异常信息,则对获取的视频数据中未解码的部分采用软解的方式解码,并响应于用户预先配置的播放倍速播放。
其中,在一个实施例中,所述装置还包括:
监听模块,用于根据以下方法监听所述硬解异常信息:
在执行硬解代码的过程中将用于表示硬解异常的代码执行结果作为所述硬解异常信息;和/或,
根据预先设定的回调函数从系统的信号捕捉接口中获取所述硬解异常信息。
其中,在一个实施例中,在线视频处理模块,具体包括:
资源释放单元,用于若监听到硬解异常信息,释放硬解所占用的相关资源;
初始化单元,用于初始化软件解码器,并配置用于渲染软解解码结果的预设参数;
软解播放单元,用于对获取的视频数据中未解码的部分采用软解的方式解码,并响应于用户预先配置的播放倍速,将软解解码结果根据所述预设参数进行渲染播放。
其中,在一个实施例中,在线视频处理模块,具体包括:
任务创建单元,用于根据所述播放请求,创建多个下载任务,所述多个下载任务用于下载从当前播放位置所在的视频片段开始的、连续指定数量的视频片段;其中,所述在线视频对应多个视频片段,视频片段为根据所述在线视频的总数据量,对所述在线视频进行划分得到的;
下载单元,用于同时执行所述多个下载任务,从视频服务器获取所述在线视频的视频片段。
其中,在一个实施例中,所述装置还包括:
文件夹创建模块,用于在线视频处理模块创建多个下载任务之前,创建针对所述在线视频的文件夹;
存储模块,用于在线视频处理模块从视频服务器获取所述在线视频的视频片段之后将所述在线视频的视频片段下载到所述文件夹下;
末尾视频判断模块,用于下载完每个视频片段后,确定该视频片段是否为所述在线视频的最后一个视频片段;
第一继续下载模块,用于若末尾视频判断模块的判断结果为否,则继续下载当前播放位置之后的未下载的视频片段;
检查模块,用于若末尾视频判断模块的判断结果为是,则检查所述文件夹下是否还存在所述在线视频的未下载的视频片段;
第二继续下载模块,用于若检查模块的检查结果为存在,则从所述视频服务器下载未下载的视频片段;
拼接模块,用于若检查模块的检查结果为不存在,则将所述文件夹下的各视频片段拼接成一个完整的视频文件;
在线视频处理模块,具体用于若所述文件夹下不存在所述视频文件,则对相应的视频片段进行解码播放;若所述文件夹下存在所述视频文件,则对所述视频文件进行解码播放。。
其中,在一个实施例中,所述装置还包括:
更改请求接收模块,用于接收更改播放位置的更改请求;
当前位置确定模块,用于将更改后的播放位置作为当前播放位置;
执行模块,用于若当前播放位置对应的视频片段未下载,并触发任务创建单元执行所述创建多个下载任务的步骤;
解码播放模块,用于若当前播放位置对应的视频片段已下载,则获取当前播放位置对应的视频片段;并,使用当前的解码方式对当前播放位置对应的视频片段进行解码并播放。
其中,在一个实施例中,所述装置还包括:
硬解黑名单确认模块,用于在硬解模块采用硬解的方式解码获取的视频数据之前,确定所述智能终端未包含在预设的硬解黑名单中,其中,所述硬解黑名单中存储有无法正常进行硬解的智能终端的终端标识。
其中,在一个实施例中,所述装置还包括:
硬解黑名单维护模块,用于若监听到硬解异常信息,则将携带所述智能终端的终端标识的硬解失败信息发送给名单维护服务器,以使所述名单维护服务器计算所述智能终端的硬解失败信息的累加量、并由所述名单维护服务器在确定所述累加量超过预设阈值时将所述智能终端的终端标识添加到所述硬解黑名单中。
其中,在一个实施例中,在线视频处理模块,具体包括:
适配处理确定单元,用于根据预置的机型和硬解适配处理之间的对应关系,确定所述智能终端的机型对应的硬解适配处理;
适配单元,用于根据确定的硬解适配处理,对获取的视频片段进行硬解。
其中,在一个实施例中,适配单元具体用于:
若包括针对系统接口的硬解适配处理,则通过调用系统文件库中的硬解所需的系统接口,对获取的视频片段进行硬解,所述系统文件库中封装有调用各机型对应的系统接口的代码逻辑;
若包括针对时间戳的适配处理,则对获取的视频片段进行硬解时,根据视频的帧率按播放顺序生成对应的时间戳;
若包括针对视频颜色编码格式的硬解适配处理,则采用所述智能终端的机型支持的颜色编码格式对获取的视频片段进行硬解;
若包括针对硬解初始化的硬解适配处理,则采用与所述智能终端的机型匹配的预置初始化参数进行初始化,并在初始化后对获取的视频片段进行硬解;
若包括针对流过滤的硬解适配处理,则将与所述智能终端的机型预置的不支持的帧类型进行过滤后,对获取的视频片段进行硬解。
实施例四
本申请实施例四还提供了一种智能终端,该智能终端具体可以为智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)等。如图6所示,该智能终端可以包括中央处理器(Center Processing Unit,CPU)601、存储器602、输入设备603,输出设备604等,输入设备可以包括键盘、鼠标、触摸屏等,输出设备可以包括显示设备,如液晶显示器(Liquid Crystal Display,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器提供存储器中存储的程序指令和数据。在本申请实施例中,存储器可以用于存储在线视频倍速播放方法的程序指令。处理器通过调用存储器存储的程序指令,处理器用于按照获得的程序指令执行:接收在线视频的播放请求;
根据所述播放请求,从视频服务器获取所述在线视频的视频数据并对所述视频数据进行解码播放;其中,若确定所述智能终端的机型为支持硬解的预设机型,则采用硬解的方式解码获取的视频数据,并响应于用户预先配置的播放倍速进行播放;若监听到硬解异常信息,则对获取的视频数据中未解码的部分采用软解的方式解码,并响应于用户预先配置的播放倍速播放。
实施例五
本申请实施例五提供了一种计算机存储介质,用于储存为智能终端所用的计算机程序指令,其包含用于执行上述在线视频倍速播放方法的程序。
所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (6)

1.一种在线视频倍速播放方法,其特征在于,应用于智能终端,所述智能终端中安装有可播放在线视频的客户端,所述方法包括:
响应于用户针对所述客户端的操作,接收在线视频的播放请求;
根据所述播放请求,一边基于流式传输,从视频服务器获取所述在线视频的视频片段,一边对所述视频片段进行解码播放,包括进行如下处理:
根据预置的机型和硬解适配处理之间的对应关系,确定所述智能终端的机型对应的硬解适配处理,根据确定的硬解适配处理,对所述视频片段进行硬解,具体包括:
将各机型调用系统接口的代码封装成库,采用引用系统文件的方式,调用所述库中的硬解所需的系统接口,对所述视频片段进行硬解;
根据所述在线视频的字节流格式,确定所述智能终端的机型不支持的帧类型,将所述不支持的帧类型进行过滤后,对所述视频片段进行硬解;
响应于用户预先配置的播放倍速,对硬解得到的视频片段进行渲染播放。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据以下方法监听硬解异常信息:
在执行硬解代码的过程中,将用于表示硬解异常的代码执行结果作为所述硬解异常信息;和/或,
根据预先设定的回调函数,从系统的信号捕捉接口中获取所述硬解异常信息。
3.一种在线视频倍速播放装置,其特征在于,应用于智能终端,所述智能终端中安装有可播放在线视频的客户端,所述装置包括:
播放请求接收模块,用于响应于用户针对所述客户端的操作,接收在线视频的播放请求;
在线视频处理模块,用于根据所述播放请求,一边基于流式传输,从视频服务器获取所述在线视频的视频片段,一边对所述视频片段进行解码播放,包括进行如下处理:根据预置的机型和硬解适配处理之间的对应关系,确定所述智能终端的机型对应的硬解适配处理,根据确定的硬解适配处理,对所述视频片段进行硬解,具体包括:将各机型调用系统接口的代码封装成库,采用引用系统文件的方式,调用所述库中的硬解所需的系统接口,对所述视频片段进行硬解;根据所述在线视频的字节流格式,确定所述智能终端的机型不支持的帧类型,将所述不支持的帧类型进行过滤后,对所述视频片段进行硬解;响应于用户预先配置的播放倍速,对硬解得到的视频片段进行渲染播放。
4.根据权利要求3所述的装置,其特征在于,所述装置还包括:
监听模块,用于根据以下方法监听硬解异常信息:在执行硬解代码的过程中,将用于表示硬解异常的代码执行结果作为所述硬解异常信息;和/或,根据预先设定的回调函数,从系统的信号捕捉接口中获取所述硬解异常信息。
5.一种智能终端,其特征在于,包括存储器和处理器,其中,所述存储器用于存储程序指令,所述处理器用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如权利要求1或者2所述的在线视频倍速播放方法。
6.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使智能终端执行如权利要求1或者2所述的在线视频倍速播放方法。
CN201710657056.8A 2017-08-03 2017-08-03 在线视频倍速播放方法、装置、介质及智能终端 Active CN109391843B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710657056.8A CN109391843B (zh) 2017-08-03 2017-08-03 在线视频倍速播放方法、装置、介质及智能终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710657056.8A CN109391843B (zh) 2017-08-03 2017-08-03 在线视频倍速播放方法、装置、介质及智能终端

Publications (2)

Publication Number Publication Date
CN109391843A CN109391843A (zh) 2019-02-26
CN109391843B true CN109391843B (zh) 2022-02-25

Family

ID=65413014

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710657056.8A Active CN109391843B (zh) 2017-08-03 2017-08-03 在线视频倍速播放方法、装置、介质及智能终端

Country Status (1)

Country Link
CN (1) CN109391843B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111757168B (zh) * 2019-03-29 2022-08-19 腾讯科技(深圳)有限公司 音频解码方法、装置、存储介质及设备
CN110958468B (zh) * 2019-12-11 2020-09-25 广州华多网络科技有限公司 编解码器的适配方法、装置、计算机可读介质及设备
CN112437352B (zh) * 2020-11-11 2023-02-17 连尚(新昌)网络科技有限公司 视频合并播放方法和设备
CN112911390B (zh) * 2021-05-08 2021-07-30 长视科技股份有限公司 一种视频数据的播放方法及终端设备
CN113099238B (zh) * 2021-06-09 2021-08-17 广州易方信息科技股份有限公司 一种用于判断安卓手机播放视频的解码方法
CN114257846A (zh) * 2021-12-23 2022-03-29 杭州登虹科技有限公司 基于内容感知的移动端自适应视频倍速播放方法
CN115209223A (zh) * 2022-05-12 2022-10-18 广州方硅信息技术有限公司 视频编/解码的控制处理方法、装置、终端以及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008121253A1 (en) * 2007-03-30 2008-10-09 Barnet Liberman Method of freezing ice cream
CN104980788A (zh) * 2015-02-11 2015-10-14 腾讯科技(深圳)有限公司 视频解码方法及装置
CN105992056A (zh) * 2015-01-30 2016-10-05 腾讯科技(深圳)有限公司 一种视频解码的方法和装置
CN106469124A (zh) * 2015-08-20 2017-03-01 深圳市中兴微电子技术有限公司 一种存储器访问控制方法和装置
CN106559679A (zh) * 2015-09-28 2017-04-05 腾讯科技(深圳)有限公司 视频解码的方法、服务器和移动终端
CN106792066A (zh) * 2016-12-20 2017-05-31 暴风集团股份有限公司 优化的视频解码播放的方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106034252B (zh) * 2015-03-12 2019-08-23 深圳市腾讯计算机系统有限公司 一种流媒体处理方法及装置
CN106331765B (zh) * 2015-06-30 2020-06-05 腾讯科技(深圳)有限公司 一种硬解测试方法、终端、服务器和计算机可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008121253A1 (en) * 2007-03-30 2008-10-09 Barnet Liberman Method of freezing ice cream
CN105992056A (zh) * 2015-01-30 2016-10-05 腾讯科技(深圳)有限公司 一种视频解码的方法和装置
CN104980788A (zh) * 2015-02-11 2015-10-14 腾讯科技(深圳)有限公司 视频解码方法及装置
CN106469124A (zh) * 2015-08-20 2017-03-01 深圳市中兴微电子技术有限公司 一种存储器访问控制方法和装置
CN106559679A (zh) * 2015-09-28 2017-04-05 腾讯科技(深圳)有限公司 视频解码的方法、服务器和移动终端
CN106792066A (zh) * 2016-12-20 2017-05-31 暴风集团股份有限公司 优化的视频解码播放的方法及系统

Also Published As

Publication number Publication date
CN109391843A (zh) 2019-02-26

Similar Documents

Publication Publication Date Title
CN109391843B (zh) 在线视频倍速播放方法、装置、介质及智能终端
CN108491275B (zh) 程序优化方法、装置、终端及存储介质
CN110162343B (zh) 应用启动方法及装置、电子设备及存储介质
CN108235081B (zh) 多屏互动方法及装置
US10476928B2 (en) Network video playback method and apparatus
CN107483812B (zh) 一种多平台并行直播的方法及装置
CN111930973B (zh) 多媒体数据的播放方法、装置、电子设备及存储介质
US20210368225A1 (en) Method and system for setting video cover
CN110740313A (zh) 硬件编码能力检测方法及装置
CN104615432B (zh) 闪屏信息处理方法及客户端
CN106789209B (zh) 异常处理方法和装置
CN114040245A (zh) 视频播放方法、装置、计算机存储介质和电子设备
CN109688468B (zh) 一种开机视频的播放方法、智能终端、系统及存储介质
CN110582024A (zh) 一种播放视频的方法和装置
CN105992055B (zh) 一种视频解码的方法及装置
KR101879439B1 (ko) 적응적 비트레이트 영상 서비스 방법
CN112423096B (zh) 播放优化方法及系统
CN113542765B (zh) 一种媒体数据跳变续播方法及显示设备
CN113856204A (zh) 一种云游戏数据解码方法、装置、电子设备及存储介质
US11463493B2 (en) Method and apparatus for playing media file
CN114880604A (zh) 数据处理、数据发送和数据获取方法及装置
CN110413800B (zh) 一种提供小说信息的方法与设备
CN113296984A (zh) 兼容性参数确定方法、装置、电子设备及存储介质
CN112243135B (zh) 一种多媒体播放的方法和装置
CN115278328B (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221124

Address after: 1402, Floor 14, Block A, Haina Baichuan Headquarters Building, No. 6, Baoxing Road, Haibin Community, Xin'an Street, Bao'an District, Shenzhen, Guangdong 518133

Patentee after: Shenzhen Yayue Technology Co.,Ltd.

Address before: 35th floor, Tencent building, Keji Zhongyi Road, high tech Zone, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd.