CN109587546A - 视频处理方法、装置、电子设备和计算机可读介质 - Google Patents

视频处理方法、装置、电子设备和计算机可读介质 Download PDF

Info

Publication number
CN109587546A
CN109587546A CN201811428013.3A CN201811428013A CN109587546A CN 109587546 A CN109587546 A CN 109587546A CN 201811428013 A CN201811428013 A CN 201811428013A CN 109587546 A CN109587546 A CN 109587546A
Authority
CN
China
Prior art keywords
video
played
video file
type
screen
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
Application number
CN201811428013.3A
Other languages
English (en)
Other versions
CN109587546B (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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201811428013.3A priority Critical patent/CN109587546B/zh
Publication of CN109587546A publication Critical patent/CN109587546A/zh
Priority to PCT/CN2019/110000 priority patent/WO2020108099A1/zh
Priority to EP19891124.0A priority patent/EP3886445A4/en
Application granted granted Critical
Publication of CN109587546B publication Critical patent/CN109587546B/zh
Priority to US17/331,480 priority patent/US11457272B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42653Internal components of the client ; Characteristics thereof for processing graphics
    • 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/440263Processing 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 spatial resolution, e.g. for displaying on a connected PDA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25858Management of client data involving client software characteristics, e.g. OS identifier
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42607Internal components of the client ; Characteristics thereof for processing the incoming bitstream
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4341Demultiplexing of audio and video streams
    • 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/44004Processing 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 video buffer management, e.g. video decoder buffer or video display buffer
    • 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/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
    • 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/44204Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched
    • 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/44213Monitoring of end-user related data
    • H04N21/44222Analytics of user selections, e.g. selection of programs or purchase activity
    • 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/4424Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
    • 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/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Computer Graphics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本申请公开了一种视频处理方法、装置、电子设备及计算机可读介质,涉及视频处理技术领域。方法包括:获取待播放视频文件的视频类型;判断所述视频类型是否为指定类型;若为指定类型,则控制所述图形处理器将所述待播放视频文件处理后在所述屏幕上显示。本申请根据该待播放视频文件的类型来选定图形处理器来处理待播放视频文件,使得图形处理器的选择更加合理。

Description

视频处理方法、装置、电子设备和计算机可读介质
技术领域
本申请涉及视频处理技术领域,更具体地,涉及一种视频处理方法、装置、电子设备及计算机可读介质。
背景技术
随着电子技术和信息技术的发展,越来越多的设备能够播放视频。设备在视频播放的过程中,需要对视频执行解码、渲染以及合成等操作,再在显示屏上显示,但是,现有的视频播放技术中,虽然图形处理器处理图像能够减缓中央处理器的负载压力,但是,其占用大量内存,因此,合理选择处理器来处理视频至关重要。
发明内容
本申请提出了一种一种视频处理方法、装置、电子设备及计算机可读介质,以改善上述缺陷。
第一方面,本申请实施例提供了一种视频处理方法,应用于电子设备的中央处理器,所述电子设备还包括屏幕和图形处理器,所述方法包括:获取待播放视频文件的视频类型;判断所述视频类型是否符合指定类型;若符合指定类型,则控制所述图形处理器将所述待播放视频文件处理后在所述屏幕上显示。
第二方面,本申请实施例还提供了一种视频处理装置,应用于电子设备的中央处理器,所述电子设备还包括屏幕和图形处理器。所述视频处理装置包括:获取单元、判断单元和处理单元。获取单元,用于获取待播放视频文件的视频类型。判断单元,用于判断所述视频类型是否符合指定类型。处理单元,用于若符合指定类型,则控制所述图形处理器将所述待播放视频文件处理后在所述屏幕上显示。
第三方面,本申请实施例还提供了一种电子设备,包括:中央处理器和图形处理器;存储器;屏幕;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述中央处理器执行,所述一个或多个程序配置用于执行上述方法。
第四方面,本申请实施例还提供了一种计算机可读取存储介质,计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述方法。
本申请提供的方案,在获取到待播放视频文件之后,会根据视频类型选择中央处理器还是图形处理器来处理该待播放视频文件而在屏幕上显示,具体地,获取待播放视频文件的类型,判断该视频文件的类型是否符合指定类型,如果符合指定类型,则选择控制所述图形处理器将所述待播放视频文件处理后在所述屏幕上显示,从而并非默认都选择使用图形处理器或者中央处理器来处理待播放视频文件,而是有选择性地根据该待播放视频文件的类型来选定图形处理器来处理待播放视频文件,使得图形处理器的选择更加合理。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一实施例提供的视频播放架构的框图;
图2示出了本申请实施例提供的图像渲染架构的框图;
图3示出了本申请一实施例提供的视频处理方法的方法流程图;
图4示出了本申请另一实施例提供的视频处理方法的方法流程图;
图5示出了本申请又一实施例提供的视频处理方法的方法流程图;
图6示出了本申请再又一实施例提供的视频处理方法的方法流程图;
图7示出了本申请一实施例提供的视频处理装置的模块框图;
图8示出了本申请另一实施例提供的视频处理装置的模块框图;
图9示出了本申请实施例提供的电子设备的结构框图;
图10示出了本申请实施例的用于保存或者携带实现根据本申请实施例的视频处理方法的程序代码的存储单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
请参阅图1,示出了视频播放架构的框图。具体地,操作系统在获取到待播放的数据的时候,接下来的工作就是解析音视频数据了。一般的视频文件都有视频流和音频流两部分组成,不同的视频格式音视频的封装格式肯定不一样。将音频流和视频流合成文件的过程称为muxer,反之从媒体文件中分离音频流和视频流的过程称为demuxer.播放视频文件就需要从文件流中分离出音频流和视频流,分别对其进行解码,解码后的视频帧可以直接渲染,音频帧可以送到音频输出设备的缓冲区进行播放,当然,视频渲染和音频播放的时间戳一定要控制同步。
具体地,视频解码可以包括硬解码和软解码,硬件解码是将原来全部交由中央处理器(Central Processing Unit,CPU)来处理的视频数据的一部分交由图像处理器(Graphics Processing Unit,GPU)来做,而GPU的并行运算能力要远远高于CPU,这样可以大大的降低对CPU的负载,CPU的占用率较低了之后就可以同时运行一些其他的程序了,当然,对于较好的处理器来说,比如i5 2320,或者AMD任何一款四核心处理器来说,硬解和软件依据需求而选定。
具体地,如图1所示,多媒体框架通过与客户端的API接口获取客户端待播放的视频文件,并交由视频解码器,其中,多媒体框架(Media Framework)为Android系统中多媒体框架,MediaPlayer、MediaPlayerService和Stagefrightplayer三个部分构成了Android多媒体的基本框架。多媒体框架部分采用了C/S的结构,MediaPlayer作为C/S结构的Client端,MediaPlayerService和Stagefrightplayer作为C/S结构Server端,承担着播放多媒体文件的责任,通过Stagefrightplayer,Server端完成Client端的请求并作出响应。VideoDecode是一款集成了最常用的音频和视频解码与播放的超级解码器,用于将视频数据解码。
软解码,即通过软件让CPU来对视频进行解码处理,解码之后再调用GPU对视频渲染合并之后在屏幕上显示。而硬解码,指不借助于CPU,而通过专用的子卡设备来独立完成视频解码任务。
不论是硬解码还是软解码,在将视频数据解码之后,会将解码后的视频数据发送至图层传递模块(SurfaceFlinger),由SurfaceFlinger将解码后的视频数据渲染和合成之后,在显示屏上显示。其中,SurfaceFlinger是一个独立的Service,它接收所有Window的Surface作为输入,根据ZOrder、透明度、大小、位置等参数,计算出每个Surface在最终合成图像中的位置,然后交由HWComposer或OpenGL生成最终的显示Buffer,然后显示到特定的显示设备上。
如图1所示,软解码中,CPU将视频数据解码之后交给SurfaceFlinger渲染和合成,而硬解码由GPU解码之后,交由SurfaceFlinger渲染和合成。而SurfaceFlinger会调用GPU实现图像的渲染和合成,并在显示屏上显示。
作为一种实施方式,图像渲染的过程如图2所示,CPU获取客户端发送的待播放的视频文件,解码之后获取解码之后的视频数据,将视频数据发送至GPU,GPU渲染完成后将渲染结果放入帧缓冲区(如图2中的FrameBuffer),随后视频控制器会按照HSync信号逐行读取帧缓冲区的数据,经过数模转换传递给显示器显示。
则电子设备在获取到待播放视频文件,具体地,CPU在获取到待播放视频文件的时候,可以选择使用CPU将待播放视频文件解码,然后将解码后的数据发送至SurfaceFlinger渲染和合成之后显示,也可以是,CPU将待播放视频文件发送至GPU,由GPU的图像处理电路对待播放视频文件解码之后,发送至SurfaceFlinger渲染和合成之后显示。目前普遍默认采用的是CPU渲染模式,但是由于CPU还需要处理大量其他的操作,其用于视频渲染,会无形中给电子设备的资源造成没必要的浪费。而如果默认采用GPU渲染模式,虽然GPU处理图像能够减缓CPU的负载压力,但是,其占用大量内存,导致现在选择图像处理器还是中央处理器处理视频文件的选择不够合理。
因此,为了解决上述技术缺陷,如图3所示,本申请实施例提供了一种视频处理方法,应用于电子设备,该电子设备还包括中央处理器、屏幕和图形处理器,于本申请实施例中,以中央处理器为执行主体,则该方法包括:S301至S303。
S301:获取待播放视频文件的视频类型。
具体地,当电子设备的客户端播放视频的时候,电子设备能够获取欲播放的视频文件,然后再对视频文件解码,具体地,可以采用上述的软解码或者硬解码对视频文件解码,在解码之后就能够获取视频文件对应的待渲染的多帧图像数据,之后需要将多帧图像数据渲染之后才能够在显示屏上显示。
具体地,电子设备包括中央处理器和图像处理器,获取视频文件对应的待渲染的多帧图像数据的具体实施方式,中央处理器获取客户端发送的待播放的视频文件,作为一种实施方式,中央处理器获取客户端发送的视频播放请求,该视频播放请求包括待播放的视频文件,具体地,可以是视频播放请求包括待播放的视频文件的身份信息,该身份信息可以是视频文件的名称,基于该视频文件的身份信息能够由存储该视频文件的存储空间内查找到该视频文件。
作为一种实施方式,客户端在播放视频的时候,会调用电子设备内的视频播放模块,以对该待播放视频文件解析和解码,则客户端在系统桌面设有图标,用户点击该客户端的图标,能够将该客户端打开,例如,从用户点击的应用的包名来确认,视频应用的包名可以系统后台从代码中获取,包名格式为:com.android.video。
客户端的视频列表界面内显示有多个视频对应的显示内容,多个视频对应的显示内容包括每个视频对应的缩略图,该缩略图可以作为一个触摸按键使用,用户点击该缩略图,客户端能够检测到用户所选点击的缩略图,也就能够确定欲播放的待播放视频文件。
客户端响应用户在视频列表内选中的视频,进入视频的播放界面,点击该播放界面的播放按钮,客户端通过对用户触控操作的监听,能够检测到用户当前所点击的是什么类型的视频,具体地,播放按钮设置有预设属性,检测到所获取的触控操作对应的播放按钮的属性,就能够确定用户所选中的待播放视频。
例如,客户端为视频聊天客户端,点击视频聊天按钮之后,所产生的视频文件为待播放视频文件,则该待播放视频文件为语音聊天时产生的视频数据。再例如,客户端的视频类别界面内的每个视频都对应一个待播放视频文件。
则中央处理器检测当前的视频播放请求,该视频播放请求可以是用户触发上述的客户端设置与视频文件对应的播放按键时所产生的。则在获取到待播放视频文件之后,再确定待播放视频文件的视频类型。
其中,该视频类型可以是视频文件的格式,例如,mpg、mpeg、dat、mp4、3gp、mov、rm、ram、rmvb、wmv等。另外,该视频类型还可以根据视频文件是否为在线播放的视频而区分,例如,视频类型可以分为在线视频和离线视频,则在线视频为客户端在线播放的视频,而离线视频为客户端播放的预先存储在电子设备本地的视频文件。再者,该视频类型还可以是根据视频的分辨率而区分,例如,标清、超清、高清等。例如,物理分辨率在1280P*720P以下的视频文件的类型是标清。
S302:判断所述视频类型是否符合指定类型。
其中,指定类型为预先设定的设定通过图形处理器处理的视频文件的视频类型,则针对待播放视频文件的视频类型的设定标准不同,而判断所述视频类型是否为指定类型的标准也不同。
作为一种实施方式,该待播放视频文件的视频类型可以是待播放视频文件的格式,则指定类型可以为指定视频文件格式,例如,可以是MP4等,则如果待播放视频文件的视频类型为MP4格式,判定视频类型为指定类型,否则,判定视频类型不为指定类型。
作为另一种实施方式,该待播放视频文件的视频类型可以是标清、超清、高清等根据视频的分辨率而划分的类型,则指定类型可以为指定分辨率,例如,可以是超清,则如果待播放视频文件的视频类型为超清,判定视频类型为指定类型,否则,判定视频类型不为指定类型。
作为又一种实施方式,该待播放视频文件的视频类型可以是在线视频或者离线视频,则指定类型可以是在线视频,则如果待播放视频文件的视频类型为在线视频,判定视频类型为指定类型,否则,判定视频类型不为指定类型。
S303:控制所述图形处理器将所述待播放视频文件处理后在所述屏幕上显示。
若待播放视频文件的视频类型符合指定类型,则控制所述图形处理器将所述待播放视频文件处理后在所述屏幕上显示。若待播放视频文件的视频类型不会指定类型,则可以控制所述图形处理器将所述待播放视频文件处理后在所述屏幕上显示,也可以控制所述中央处理器将所述待播放视频文件处理后在所述屏幕上显示。也就是说,可以采用中央处理器对待播放视频文件解码,也可以采用图形处理器对待播放视频文件解码。
若待播放视频文件的视频类型为指定类型,则控制所述图形处理器将所述待播放视频文件处理后在所述屏幕上显示,将待播放视频文件调用图形处理器进行解码,具体地,中央处理器将待播放视频文件发送至图形处理器,图形处理器在获取到待播放视频文件之后,对该待播放视频文件解码和渲染合成之后在屏幕上显示。
作为一种实施方式,图形处理器将待播放视频文件解码,从而获得待播放视频文件对应的多帧图像数据。具体地,中央处理器调用播放模块将待播放视频文件解析,从而获取该待播放视频文件对应的视频流和音频流。其中,播放模块可以是安卓系统内的MediaExtractor模块,也可以是FFmpeg模块,其中,FFmpeg模块是一个开源的跨平台的视频和音频流框架,属于自由软件,采用LGPL或GPL许可证(依据选择的组件)。它提供了录制、转换以及流化音视频的完整解决方案。它包含了丰富的音频/视频编解码库libavcodec。
然后,中央处理器将视频流发送至图形处理器,图形处理器将视频流解码之后,获取到该视频流对应的多帧图像数据,然后,对该多帧图像数据合成,具体地,合成方式可以是在放在图2所示的帧缓冲区内合成,即通过在屏渲染的方式对多帧图像数据渲染合成,也可以是通过离屏渲染的方式对多帧图像数据渲染合成。
作为一种实施方式,预先在GPU内设置一个离屏渲染缓冲区,具体地,GPU会调用渲染客户端模块对待渲染的多帧图像数据渲染合成之后发送至显示屏上显示,具体地,该渲染客户端模块可以是OpenGL模块。OpenGL渲染管线的最终位置是在帧缓冲区中。帧缓冲区是一系列二维的像素存储数组,包括了颜色缓冲区、深度缓冲区、模板缓冲区以及累积缓冲区。默认情况下OpenGL使用的是窗口系统提供的帧缓冲区。
OpenGL的GL_ARB_framebuffer_object这个扩展提供了一种方式来创建额外的帧缓冲区对象(Frame Buffer Object,FBO)。使用帧缓冲区对象,OpenGL可以将原先绘制到窗口提供的帧缓冲区重定向到FBO之中。
则通过FBO在帧缓冲区之外再设置一个缓冲区,即离屏渲染缓冲区。然后,将所获取的多帧图像数据存储至离屏渲染缓冲区。具体地,离屏渲染缓冲区可以是对应图形处理器的一个存储空间,即离屏渲染缓冲区本身没有用于存储图像的空间,而是与图形处理器内的一个存储空间映射之后,图像实际存储在离屏渲染缓冲区对应的图形处理器内的一个存储空间内。
将多帧图像数据与离屏渲染缓冲区绑定的方式,就能够将多帧图像数据存储至离屏渲染缓冲区,即在离屏渲染缓冲区能够查找到多帧图像数据。
则在将多帧图像数据存储至离屏渲染缓冲区之后,可以在离屏渲染缓冲区对多帧图像数据进行渲染,具体地,可以对多帧缓冲数据做显示增强的处理,例如,对所述离屏渲染缓冲区内的多帧图像数据的图像参数优化,其中,所述图像参数优化包括曝光度增强、去噪、边缘锐化、对比度增加或饱和度增加的至少一种。
然后,将多帧图像数据发送至所述屏幕对应的帧缓冲区,其中,帧缓冲区对应于屏幕,用于存放需要在屏幕上显示的数据,例如图2所示的Framebuffer,Framebuffer是出现在操作系统内核当中的一种驱动程序接口。以安卓系统为例,Linux是工作在保护模式下,所以用户态进程是无法像DOS系统那样,使用显卡BIOS里提供的中断调用来实现直接将数据写入并在屏幕上显示,Linux抽象出Framebuffer这个设备来供用户进程实现直接将数据写入并在屏幕上显示。Framebuffer机制模仿显卡的功能,可以通过Framebuffer的读写直接对显存进行操作。具体地,可以将Framebuffer看成是显示内存的一个映像,将其映射到进程地址空间之后,就可以直接进行读写操作,而写入的数据可以在屏幕上显示。
则帧缓冲区可以看作是一个存放数据的空间,CPU或者GPU将要显示的数据放入该帧缓冲区,而Framebuffer本身不具备任何运算数据的能力,由视频控制器按照屏幕刷新频率读取Framebuffer内的数据在屏幕上显示。
由所述帧缓冲区内读取多帧图像数据,并在所述屏幕上显示。具体地,将多帧图像数据存入帧缓冲区内之后,图形处理器检测到帧缓冲区内写入数据之后,就由所述帧缓冲区内读取优化后的多帧图像数据,并在所述屏幕上显示。
作为一种实施方式,图形处理器会根据屏幕的刷新频率由所述帧缓冲区内逐帧读取多帧图像数据,并经渲染合成处理后在所述屏幕上显示。
另外,考虑到图形处理器处理图像的能力比较优选,并且处理速度比较快,计算能力更强,则针对一些实时性较高的视频文件,例如,在线视频或者视频聊天软件的实时聊天视频,可以采用图形处理器来处理,具体地,请参阅图4,本申请另一实施例提供了一种视频处理方法,应用于电子设备,该电子设备还包括中央处理器、屏幕和图形处理器,于本申请实施例中,以中央处理器为执行主体,则该方法包括:S401至S404。
S401:获取待播放视频文件的视频类型。
S402:根据所述视频类型确定所述待播放视频文件的实时性级别。
作为一种实施方式,待播放时视频文件的视频类型包括在线视频和离线视频,则将在线视频的实时性级别设定为级别1,将离线视频的实时性级别设定为级别2,其中,级别1高于级别2。
当然,该视频类型还可以与应用程序的类型而对应,例如,应用程序包括视频软件、社交软件和游戏软件,则视频类型也可以包括视频软件的视频、社交软件的视频和游戏软件的视频,则根据该视频类型确定所述待播放视频文件的实时性级别的具体实施方式为,根据该待播放视频文件对应的应用程序的类别确定该待播放视频文件的实时性级别。具体地,确定待播放视频数据对应的应用程序的标识,再根据该应用程序的标识确定待播放视频数据的实时性级别。具体地,确定发送该待播放视频数据的播放请求的目标应用程序的标识,再确定该目标应用程序的标识所对应的应用程序的类型。
在获取到目标应用程序的标识之后,根据该标识确定目标应用程序的类型,其中,目标应用程序的标识可以是应用程序的包名、名称等。例如,电子设备内预先存储有应用程序的标识和应用程序的类别的对应关系。
例如,于本申请实施例中,游戏软件的游戏画面,该游戏画面包括图像以及音乐,该音乐可以是游戏音乐、游戏音效等,例如,该游戏音效可以是枪声或者脚步声。则作为一种实施例,音频数据可以是游戏音效,则该游戏音效对应的应用程序是某某游戏APP,所属的类别是游戏类型,然后根据应用程序的类型确定所述待播放视频数据的视频类型,具体地,可以将应用程序的类型作为待播放视频数据的视频类型,例如,应用程序的类型为游戏,则待播放视频数据的视频类型也为游戏。
上述应用程序的类别,可以是应用程序的开发商在开发的时候为应用程序设定的类别,也可以是应用程序在安装在电子设备上之后,用户为应用程序设定的类别,例如,用户在电子设备上安装某个应用程序,在安装完成并进入该应用程序之后,会显示一个对话框,指示用户为应用程序设定类别。则应用程序具体属于哪个类别,可以由用户根据需求而设定,例如,用户可以将某社交软件设置为音频类,或者设置为视频类,或者设置为社交类。
如果有些应用程序的功能多样化,则需要根据应用程序的具体操作行为而确定该应用程序的类别,例如,如果有些应用程序能够播放视频,也能够播放音频,例如一些视频播放软件,可以播放纯音频文件,也可以播放视频,则该应用程序的类别可以根据应用程序的使用记录而确定,即根据该应用程序的一定时间段内的使用记录,确定用户使用该应用程序是倾向于播放视频还是更倾向于播放音频。
具体地,获取该应用程序在预设时间段内的所有用户的操作行为数据,其中,所有用户是指安装过该应用程序的所有用户,则该操作行为数据可以由应用程序对应的服务器内获取,也就是说,用户在使用该应用程序的时候会使用用户对应的用户账号登录该应用程序,而用户账号对应的操作行为数据会发送至应用程序对应的服务器,则服务器将所获取的操作行为数据与用户账号对应存储。在一些实施例中,电子设备发送针对应用程序的操作行为查询请求发送至该应用程序对应的服务器,服务器将一定预设时间段内的所有用户的操作行为数据发送至电子设备。
该操作行为数据包括所播放的音频文件的名称和时间、以及所播放的视频文件的名称和时间,通过分析该操作行为数据就能够确定在一定预设时间段内该应用程序播放的音频文件的数量以及总的时间,也可以得到该应用程序播放的视频文件的数量以及总的时间,则根据音频和视频文件的播放总时长在该预定时间段内的占比,确定应用程序的类别,具体地,获取音频和视频文件的播放总时长在该预定时间段内的占比,为方便描述,将音频文件的播放总时长在该预定时间段内的占比记为音频播放占比,将视频文件的播放总时长在该预定时间段内的占比记为视频播放占比,如果视频播放占比大于音频播放占比,则将应用程序的类别设定为视频类型,如果音频播放占比大于视频播放占比,则将应用程序的类别设定为音频类型。例如,预设时间段为30天,即720小时,而音频文件的播放总时长为200小时,则音频播放占比为27.8%,视频文件的播放总时长为330小时,则视频播放占比为45.8%,则视频播放占比大于音频播放占比,则将应用程序的类别设定为视频类型。
然后,再根据该应用程序的类型确定待播放视频数据对应的实时性级别。具体地,电子设备内存储有应用程序的类型所对应实时性级别,如下表所示:
从而就能够确定待播放视频文件对应的实时性级别。
S403:判断所述实时性级别是否高于指定级别。
其中,若高于指定级别,则判定所述视频类型为指定类型;若小于或等于指定级别,则判定所述视频类型不为指定类型。
则针对待播放视频文件的实时性级别不同的获取方式,而判断实时性级别是否高于指定级别的实施方式也不同。
则作为一种实施方式,在获取到待播放视频文件的实时性级别之后,判断所述实时性级别是否高于指定级别。判断所述待播放视频文件的实时性级别是否高于指定级别。其中,指定级别为预先设定的需要减少音频播放延时的类型对应的实时性级别,可以是用户根据需求而设定的。例如,预设级别为J2及以上。则如果待播放视频文件对应的实时性级别为J1,则待播放视频文件的实时性级别高于指定级别。其中,J1的级别高于J2,即上述表1,J后面的数字越小则级别越高。
作为另一种实施方式,待播放时视频文件的视频类型包括在线视频和离线视频,则将在线视频的实时性级别设定为级别1,将离线视频的实时性级别设定为级别2,其中,级别1高于级别2。则该指定级别可以是级别2,则高于级别2的级别为级别1,即如果该待播放视频文件为在线视频,则判定该实时性级别高于指定级别,否则,判定该实时性级别低于或等于指定级别。
S404:控制所述图形处理器将所述待播放视频文件处理后在所述屏幕上显示。
需要说明的是,上述步骤中未详细描述的部分,可参考前述实施例,在此不再赘述。
另外,考虑到有一些视频文件虽然满足上述指定类型的条件,但是,其图像比较小,则采用中央处理器处理的时候,不会对中央处理器造成太多的负担,则不必一定采用图形处理器来处理,则可以结合图像大小来确定是否采用图形处理器来处理,具体地,请参阅图5,示出了本申请实施例提供的一种视频处理方法,该方法包括:S501至S506。
S501:获取待播放视频文件的视频类型。
S502:判断所述视频类型是否符合指定类型。
S503:获取所述待播放视频文件的图像大小。
其中,待播放视频文件的图像大小可以包括图像数据大小和图像尺寸,其中,图像数据大小记为视频文件的指定帧图像的数据大小,即指定帧图像所占的存储空间的大小,例如,指定帧图像的大小为1M,则图像数据大小为1M,其中,指定帧图像的数据大小可以是待播放视频文件所有帧图像的数据大小的算数值,其中,算术值可以是平均值、最小值或者最大值,也可以是,待播放视频文件的第一帧图像的数据大小,还是可以是待播放视频文件的所有关键帧图像的数据大小的平均值、最小值或者最大值,另外,考虑到待播放视频文件可能是在线视频文件,则待播放视频文件的的指定帧图像的数据大小可以是,获取当前所现在的待播放视频文件的所有帧图像的数据大小的算术值。
则图像尺寸可以是待播放视频文件的物理分辨率,即待播放视频文件的图像分辨率。
S504:判断所述图像大小是否大于阈值。
则如果图像大小为图像数据大小,则判断所述图像大小是否大于阈值的具体实施方式为,判断所述图像数据大小是否大于阈值,如果大于阈值,则判定图像大小满足指定条件,则执行S505步骤,如果小于或等于阈值,则判定图像大小不满足指定条件,则不执行S505步骤,其中,阈值可以根据具体使用需求而设定,在此不再赘述。
则如果图像大小为图像尺寸,则判断所述图像大小是否满足指定条件的具体实施方式为,判断所述图像尺寸是否大于指定图像尺寸。若大于指定图像尺寸,则判定所述图像大小满足指定条件,则执行S505步骤。若小于或等于指定图像尺寸,则判定所述图像大小不满足指定条件,则不执行S505步骤。
其中,指定图像尺寸可以根据实际使用而设定,例如,图像尺寸可以是1280×720的分辨率。则如果待播放视频文件的图像尺寸大于1280×720的分辨率,则判定所述图像大小满足指定条件,则执行S505步骤。而如果待播放视频文件的图像尺寸小于或等于1280×720的分辨率,判定所述图像大小不满足指定条件,则不执行S505步骤。
S505:控制所述图形处理器将所述待播放视频文件处理后在所述屏幕上显示。
则图形处理器在处理较大的视频文件的时候,处理优势更加明显,即处理速度相比中央处理器有较明显的提升,则针对图像数据较大的视频文件或者图像尺寸较大的视频文件,采用图形处理器处理更加合理。
S506:控制所述中央处理器将所述待播放视频文件处理后在所述屏幕上显示。
其中,中央处理器将所述待播放视频文件处理后在所述屏幕上显示的具体实施方式可以是,让CPU来对视频进行解码处理,解码之后再调用GPU对视频渲染合并之后在屏幕上显示。则可以采用在屏渲染,也可以采用离屏渲染对CPU解码之后得到的多帧图像数据渲染合成之后在屏幕上显示。
因此,在待播放视频文件的视频类型为指定类型但是图像大小不满足指定条件的情况下,控制所述中央处理器将所述待播放视频文件处理后在所述屏幕上显示,即使用中央处理器将所述待播放视频文件处理后在所述屏幕上显示。
而在待播放视频文件的视频类型不为指定类型时,可以自由选择处理器来处理。而作为一种实施方式,考虑到在待播放视频文件类型不为指定类型的时候,选择图形处理器处理视频文件的迫切性并不太高,则鉴于降低图形处理器做占用的内存的考虑,可以在待播放视频文件的视频类型不为指定类型时,控制所述中央处理器将所述待播放视频文件处理后在所述屏幕上显示,具体地,请参阅图6,示出了本申请实施例提供的一种视频处理方法的方法流程图,该方法包括:S601至S604。
S601:获取待播放视频文件的视频类型。
S602:判断所述视频类型是否符合指定类型。
S603:控制所述图形处理器将所述待播放视频文件处理后在所述屏幕上显示。
S604:控制所述中央处理器将所述待播放视频文件处理后在所述屏幕上显示。
则如果视频类型为指定类型,则控制所述图形处理器将所述待播放视频文件处理后在所述屏幕上显示,如果视频类型不为指定类型,则控制所述中央处理器将所述待播放视频文件处理后在所述屏幕上显示,具体地,控制所述图形处理器将所述待播放视频文件处理后在所述屏幕上显示或控制所述中央处理器将所述待播放视频文件处理后在所述屏幕上显示的具体实施方式可参考前述实施例,在此不再赘述。
另外,考虑到在使用中央处理器播放视频文件的时候,由于中央处理器除了需要处理视频文件,还需要执行其他电子设备的其他操作指令,而各个应用程序都换占用中央处理器的一定的资源,即用占用CPU的使用率,则可能会导致CPU现在的负载过高,不适于处理视频文件,具体地,如果视频类型不为指定类型,则控制所述中央处理器将所述待播放视频文件处理后在所述屏幕上显示的一种实施方式可以是:若不为指定类型,则获取所述中央处理器的使用率;判断所述中央处理器的使用率是否小于使用率阈值;若小于使用率阈值,则控制所述中央处理器将所述待播放视频文件处理后在所述屏幕上显示;若大于或等于使用率阈值,则控制所述图形处理器将所述待播放视频文件处理后在所述屏幕上显示。
则具体地,中央处理器的使用率可以通过查看电子设备的任务管理器而获取,例如,在安卓系统下,通过adb shell top指令获取CPU的使用率。其中,使用率阈值可以是用户设定的使用率,例如,使用率阈值可以是60%,假设CPU的当前的使用率为40%,则40%小于60%,判定中央处理器的使用率小于使用率阈值,假如CPU的当前的使用率为70%,则70%大于60%,判定中央处理器的使用率大于使用率阈值。
而如果中央处理器的使用率小于使用率阈值,则表示CPU当前资源比较富裕,则可以使用CPU处理待播放视频文件,而如果中央处理器的使用率大于或等于使用率阈值,则表示CPU当前资源比较匮乏,则使用CPU处理待播放视频文件。
另外,由于CPU的使用率是当前启动的应用程序的使用率之和,则能够获取到当前每个所开启的应用程序的使用率,判断当前所开启的应用程序中是否存在与预设应用程序匹配的应用程序,其中,预设应用程序为允许系统在用户未授权的情况下将应用程序关闭的应用程序,如果存在,则将与预设应用程序匹配的应用程序的关闭,然后再获取CPU当前的使用率作为CPU的使用率,并返回执行判断所述中央处理器的使用率是否小于使用率阈值的操作。
具体地,电子设备内预先存储有预设应用程序的列表,在该预设应用程序的列表内包括多个指定应用程序的标识,其中,指定应用程序为用户授权的允许系统在用户未授权的情况下将应用程序关闭的应用程序,具体地,可以是用户手动输入该指定应用程序的标识。
则扫描当前系统进程中每个进程对应的应用程序以及每个进程的CPU使用率,并获取CPU当前的使用率,在所扫描到的所有应用程序中查找与预设应用程序匹配的应用程序,作为待处理应用程序,将待处理应用程序关闭并将待处理应用程序对应的进程杀死,然后,获取在待处理应用程序对应的进程杀死之后的CPU的使用率,作为更新使用率,将更新使用率作为CPU新的使用率,判断CPU新的使用率是否小于使用率阈值;若小于使用率阈值,则控制所述中央处理器将所述待播放视频文件处理后在所述屏幕上显示;若大于或等于使用率阈值,则控制所述图形处理器将所述待播放视频文件处理后在所述屏幕上显示。
因此,在CPU使用率过高的情况下,将允许系统在用户未授权的情况下将应用程序关闭的应用程序的进程杀死,从而释放一定的CPU资源,如果此时的CPU使用率小于使用率阈值,则使用中央处理器处理视频,如果依然大于或等于使用率阈值,则使用图形处理器处理视频。
请参阅图7,其示出了本申请实施例提供的一种视频处理装置的结构框图,该视频处理装置700包括:获取单元701、判断单元702和处理单元703。
获取单元701,用于获取待播放视频文件的视频类型。
判断单元702,用于判断所述视频类型是否符合指定类型。
处理单元703,用于若为指定类型,则控制所述图形处理器将所述待播放视频文件处理后在所述屏幕上显示。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
请参阅图8,其示出了本申请实施例提供的一种视频处理装置的结构框图,该视频处理装置800包括:获取单元801、判断单元802、处理单元803和显示单元804。
获取单元801,用于获取待播放视频文件的视频类型。
判断单元802,用于判断所述视频类型是否符合指定类型。
具体地,判断单元802还用于根据所述视频类型确定所述待播放视频文件的实时性级别;判断所述实时性级别是否高于指定级别;若高于指定级别,则判定所述视频类型为指定类型;若低于或等于指定级别,则判定所述视频类型不为指定类型。
处理单元803,用于若为指定类型,则控制所述图形处理器将所述待播放视频文件处理后在所述屏幕上显示。
具体地,处理单元803还用于获取所述待播放视频文件的图像大小;判断所述图像大小是否大于阈值;若大于阈值,则控制所述图形处理器将所述待播放视频文件处理后在所述屏幕上显示。
进一步的,处理单元803还用于若不大于阈值,则控制所述中央处理器将所述待播放视频文件处理后在所述屏幕上显示。
进一步的,处理单元803还用于判断所述图像分辨率是否大于指定分辨率;若大于指定分辨率,则判定所述图像大小大于阈值;若小于或等于指定图像分辨率,则判定所述图像大小小于或等于指定条件。
显示单元804,用于若不为指定类型,则控制所述中央处理器将所述待播放视频文件处理后在所述屏幕上显示。
具体地,该显示单元804还用于若不为指定类型,则获取所述中央处理器的使用率;判断所述中央处理器的使用率是否小于指定数值;若小于指定数值,则控制所述中央处理器将所述待播放视频文件处理后在所述屏幕上显示;若大于或等于指定数值,则控制所述图形处理器将所述待播放视频文件处理后在所述屏幕上显示。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
请参考图9,其示出了本申请实施例提供的一种电子设备的结构框图。该电子设备100可以是智能手机、平板电脑、电子书等能够运行客户端的电子设备。本申请中的电子设备100可以包括一个或多个如下部件:处理器110、存储器120、屏幕140以及一个或多个客户端,其中一个或多个客户端可以被存储在存储器120中并被配置为由一个或多个处理器110执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
处理器110可以包括一个或者多个处理核。处理器110利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。
具体地,处理器110可以包括中央处理器111(Central Processing Unit,CPU)、图像处理器112(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和客户端等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器120可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
所述屏幕120用于显示由用户输入的信息、提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、数字、视频和其任意组合来构成,在一个实例中,触摸屏可设置于所述显示面板上从而与所述显示面板构成一个整体。
请参考图10,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读存储介质1000中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质1000可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质1000包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质1000具有执行上述方法中的任何方法步骤的程序代码1010的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码1010可以例如以适当形式进行压缩。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (10)

1.一种视频处理方法,其特征在于,应用于电子设备的中央处理器,所述电子设备还包括屏幕和图形处理器,所述方法包括:
获取待播放视频文件的视频类型;
判断所述视频类型是否符合指定类型;
若符合指定类型,则控制所述图形处理器将所述待播放视频文件处理后在所述屏幕上显示。
2.根据权利要求1所述的方法,其特征在于,所述判断所述视频类型是否为指定类型,包括:
根据所述视频类型确定所述待播放视频文件的实时性级别;
判断所述实时性级别是否高于指定级别;
若高于指定级别,则判定所述视频类型符合指定类型;
若低于或等于指定级别,则判定所述视频类型不符合指定类型。
3.根据权利要求1所述的方法,其特征在于,所述若符合指定类型,则控制所述图形处理器将所述待播放视频文件处理后在所述屏幕上显示,包括:
若符合指定类型,则获取所述待播放视频文件的图像大小;
判断所述图像大小是否大于阈值;
若大于阈值,则控制所述图形处理器将所述待播放视频文件处理后在所述屏幕上显示。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若小于或等于阈值,则控制所述中央处理器将所述待播放视频文件处理后在所述屏幕上显示。
5.根据权利要求3所述的方法,其特征在于,所述图像大小包括图像分辨率;所述判断所述图像大小是否大于阈值,包括:
判断所述图像分辨率是否大于指定分辨率;
若大于指定分辨率,则判定所述图像大小大于阈值;
若小于或等于指定分辨率,则判定所述图像大小小于或等于阈值。
6.根据权利要求1所述的方法,其特征在于,还包括:
若不为指定类型,则控制所述中央处理器将所述待播放视频文件处理后在所述屏幕上显示。
7.根据权利要求6所述的方法,其特征在于,所述若不为指定类型,则控制所述中央处理器将所述待播放视频文件处理后在所述屏幕上显示,包括:
若不为指定类型,则获取所述中央处理器的使用率;
判断所述中央处理器的使用率是否小于使用率阈值;
若小于使用率阈值,则控制所述中央处理器将所述待播放视频文件处理后在所述屏幕上显示;
若大于或等于使用率阈值,则控制所述图形处理器将所述待播放视频文件处理后在所述屏幕上显示。
8.一种视频处理装置,其特征在于,应用于电子设备的中央处理器,所述电子设备还包括屏幕和图形处理器,所述视频处理装置包括:
获取单元,用于获取待播放视频文件的视频类型;
判断单元,用于判断所述视频类型是否符合指定类型;
处理单元,用于若符合指定类型,则控制所述图形处理器将所述待播放视频文件处理后在所述屏幕上显示。
9.一种电子设备,其特征在于,包括:
中央处理器和图形处理器;
存储器;
屏幕;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述中央处理器执行,所述一个或多个程序配置用于执行如权利要求1-7任一项所述的方法。
10.一种计算机可读介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行所述权利要求1-7任一项所述方法。
CN201811428013.3A 2018-11-27 2018-11-27 视频处理方法、装置、电子设备和计算机可读介质 Active CN109587546B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201811428013.3A CN109587546B (zh) 2018-11-27 2018-11-27 视频处理方法、装置、电子设备和计算机可读介质
PCT/CN2019/110000 WO2020108099A1 (zh) 2018-11-27 2019-10-08 视频处理方法、装置、电子设备和计算机可读介质
EP19891124.0A EP3886445A4 (en) 2018-11-27 2019-10-08 VIDEO PROCESSING METHOD, DEVICE, ELECTRONIC DEVICE, AND COMPUTER READABLE MEDIUM
US17/331,480 US11457272B2 (en) 2018-11-27 2021-05-26 Video processing method, electronic device, and computer-readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811428013.3A CN109587546B (zh) 2018-11-27 2018-11-27 视频处理方法、装置、电子设备和计算机可读介质

Publications (2)

Publication Number Publication Date
CN109587546A true CN109587546A (zh) 2019-04-05
CN109587546B CN109587546B (zh) 2020-09-22

Family

ID=65924952

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811428013.3A Active CN109587546B (zh) 2018-11-27 2018-11-27 视频处理方法、装置、电子设备和计算机可读介质

Country Status (4)

Country Link
US (1) US11457272B2 (zh)
EP (1) EP3886445A4 (zh)
CN (1) CN109587546B (zh)
WO (1) WO2020108099A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110263650A (zh) * 2019-05-22 2019-09-20 北京奇艺世纪科技有限公司 行为类别检测方法、装置、电子设备和计算机可读介质
WO2020038128A1 (zh) * 2018-08-23 2020-02-27 Oppo广东移动通信有限公司 视频处理方法、装置、电子设备及计算机可读介质
WO2020108099A1 (zh) * 2018-11-27 2020-06-04 Oppo广东移动通信有限公司 视频处理方法、装置、电子设备和计算机可读介质
CN112019847A (zh) * 2019-05-28 2020-12-01 杭州海康威视数字技术股份有限公司 解码方法及电子设备
CN113055681A (zh) * 2021-03-02 2021-06-29 长沙景嘉微电子股份有限公司 视频解码显示方法,装置,电子设备及存储介质
WO2023273431A1 (zh) * 2021-06-28 2023-01-05 惠州Tcl云创科技有限公司 基于视频的高画质图像提取处理方法、装置、移动终端

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4072148A1 (en) * 2021-04-07 2022-10-12 Idomoo Ltd A system and method to adapting video size
CN114390336A (zh) * 2021-12-13 2022-04-22 百度在线网络技术(北京)有限公司 视频的解码方法、装置、电子设备及可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101904174A (zh) * 2007-12-07 2010-12-01 彩升集团有限公司 使用可编程图形硬件的帧内编码
CN102438230A (zh) * 2011-08-18 2012-05-02 宇龙计算机通信科技(深圳)有限公司 终端和数据业务处理方法
US20140035938A1 (en) * 2012-08-02 2014-02-06 Changliang Charlie Wang Media workload scheduler
CN103841389A (zh) * 2014-04-02 2014-06-04 北京奇艺世纪科技有限公司 一种视频播放方法及播放器
CN104796768A (zh) * 2015-04-17 2015-07-22 苏州健雄职业技术学院 一种基于omap硬解码加速的嵌入式高清媒体播放器及其操作方法
CN108600813A (zh) * 2018-05-17 2018-09-28 上海七牛信息技术有限公司 一种媒体文件播放方法、装置以及媒体播放系统

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2824646B1 (fr) * 2001-05-09 2003-08-15 Canal Plus Technologies Procede de selection d'une image de logiciel executable
EP1657929A1 (fr) * 2004-11-16 2006-05-17 Thomson Licensing Dispositif et méthode de synchronisation de différentes parties d'un service numérique
US20060140265A1 (en) * 2004-12-29 2006-06-29 Adimos Inc. System circuit and method for transmitting media related data
US8015306B2 (en) * 2005-01-05 2011-09-06 Control4 Corporation Method and apparatus for synchronizing playback of streaming media in multiple output devices
US7809452B2 (en) * 2005-02-23 2010-10-05 Leviton Manufacturing Co., Inc. Delay management of presentation output system and method
CN101171838B (zh) * 2005-04-28 2011-06-01 松下电器产业株式会社 口形同步修正装置及口形同步修正方法
KR100772858B1 (ko) * 2005-08-23 2007-11-02 삼성전자주식회사 시나리오에 따른 제어 방법 및 시스템
JP4794983B2 (ja) * 2005-10-31 2011-10-19 パナソニック株式会社 音声出力システムの制御方法及び音声出力システム
US8607287B2 (en) * 2005-12-29 2013-12-10 United Video Properties, Inc. Interactive media guidance system having multiple devices
JP5049652B2 (ja) * 2006-09-07 2012-10-17 キヤノン株式会社 通信システム、データの再生制御方法、コントローラ、コントローラの制御方法、アダプタ、アダプタの制御方法、およびプログラム
US8351624B2 (en) * 2007-06-18 2013-01-08 Sony Corporation Audio output apparatus, audio input apparatus, audio control apparatus, audio control system, and audio control method
US20080320545A1 (en) * 2007-06-22 2008-12-25 Schwartz Richard T System and method for providing audio-visual programming with alternative content
US8743284B2 (en) * 2007-10-08 2014-06-03 Motorola Mobility Llc Synchronizing remote audio with fixed video
JP5050807B2 (ja) * 2007-11-22 2012-10-17 ソニー株式会社 再生装置、表示装置、再生方法および表示方法
US8479253B2 (en) * 2007-12-17 2013-07-02 Ati Technologies Ulc Method, apparatus and machine-readable medium for video processing capability communication between a video source device and a video sink device
WO2009098878A1 (ja) * 2008-02-06 2009-08-13 Panasonic Corporation 映像音声データ同期方法、映像出力機器、音声出力機器及び映像音声出力システム
US8713157B2 (en) * 2008-11-14 2014-04-29 Interpret, Llc System for collecting computer application usage data of targeted application programs executed on a plurality of client devices
CN102804789B (zh) * 2009-06-23 2015-04-29 Lg电子株式会社 接收系统和提供3d图像的方法
US11277598B2 (en) * 2009-07-14 2022-03-15 Cable Television Laboratories, Inc. Systems and methods for network-based media processing
KR20110023441A (ko) * 2009-08-31 2011-03-08 삼성전자주식회사 이더넷 지원하는 디지털 인터페이스 시스템 및 그 케이블 연결 상태 표시 방법
US8841886B2 (en) * 2009-09-11 2014-09-23 Nxp B.V. Power charging of mobile devices via a HDMI interface
JP5429552B2 (ja) * 2009-12-03 2014-02-26 ソニー株式会社 制御装置及び制御方法、並びに、制御システム
JP2011124925A (ja) * 2009-12-14 2011-06-23 Sony Corp 出力制御装置、出力制御方法、プログラム、及び出力制御システム
JP5466519B2 (ja) * 2010-01-20 2014-04-09 日立コンシューマエレクトロニクス株式会社 情報処理装置、及び情報処理装置の信号処理方法
US8692937B2 (en) * 2010-02-25 2014-04-08 Silicon Image, Inc. Video frame synchronization
JP5533101B2 (ja) * 2010-03-23 2014-06-25 ヤマハ株式会社 オーディオアンプ装置
WO2011132398A1 (ja) * 2010-04-20 2011-10-27 パナソニック株式会社 入出力切替装置および入出力切替方法
JP5553695B2 (ja) * 2010-06-30 2014-07-16 キヤノン株式会社 通信装置、及びその制御方法
US8699582B2 (en) * 2010-10-06 2014-04-15 Qualcomm Incorporated Context-based adaptations of video decoder
US9124853B2 (en) * 2010-11-30 2015-09-01 Verizon Patent And Licensing Inc. HDMI device and interoperability testing systems and methods
JP2012119924A (ja) * 2010-11-30 2012-06-21 Toshiba Corp 映像表示装置及び映像表示方法、音声再生装置及び音声再生方法、映像音声同期制御システム
JP2012151725A (ja) * 2011-01-20 2012-08-09 Funai Electric Co Ltd シンク機器
JP2013026859A (ja) * 2011-07-21 2013-02-04 Toshiba Corp 映像表示装置、情報再生方法及び情報再生装置
JP2013085224A (ja) * 2011-07-29 2013-05-09 D & M Holdings Inc コンテンツデータ伝送システム及びコンテンツデータ伝送方法
JP2013051532A (ja) * 2011-08-30 2013-03-14 Sony Corp 機器制御装置、機器制御方法およびプログラム
TWI492622B (zh) * 2011-08-31 2015-07-11 Realtek Semiconductor Corp 網路訊號接收系統與網路訊號接收方法
US11178489B2 (en) * 2012-02-02 2021-11-16 Arris Enterprises Llc Audio control module
US8990446B2 (en) * 2012-10-04 2015-03-24 Sony Computer Entertainment America, LLC Method and apparatus for decreasing presentation latency
JP5578229B2 (ja) * 2012-12-19 2014-08-27 ヤマハ株式会社 音響処理装置
US8922713B1 (en) * 2013-04-25 2014-12-30 Amazon Technologies, Inc. Audio and video synchronization
KR102159228B1 (ko) * 2013-09-12 2020-09-23 삼성전자주식회사 오디오 처리 장치, 오디오 처리 방법, 초기화 모드 설정 방법 및 컴퓨터 판독가능 기록매체
KR102140612B1 (ko) * 2013-09-13 2020-08-11 삼성전자주식회사 오디오 신호의 출력을 지연시키는 a/v 수신 장치 및 그 방법, 그리고, a/v 신호 처리 시스템
CN104866381B (zh) * 2014-02-20 2018-10-12 联想(北京)有限公司 一种信息处理方法及第一电子设备
EP2953370A1 (en) * 2014-06-05 2015-12-09 Ziggo B.V. Minimizing input lag in a remote GUI TV application
WO2016060474A1 (ko) * 2014-10-14 2016-04-21 엘지전자(주) Hdmi를 사용하여 데이터를 송수신하기 위한 방법 및 장치
JP6718312B2 (ja) * 2015-09-03 2020-07-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 認証方法、通知方法、ソース機器およびシンク機器
WO2017061796A1 (ko) * 2015-10-06 2017-04-13 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
CN105916023B (zh) 2016-05-16 2019-04-23 武汉斗鱼网络科技有限公司 一种基于gpu的视频渲染方法和系统
US20170371564A1 (en) * 2016-06-28 2017-12-28 Advanced Micro Devices, Inc. Method and apparatus for memory efficiency improvement by providing burst memory access control
CN106407009A (zh) * 2016-09-06 2017-02-15 青岛海信电器股份有限公司 一种图片显示方法和装置
US10142521B2 (en) * 2017-03-22 2018-11-27 Cisco Technology, Inc. System and method for using HDMI arc for estimating latency
CN107483725A (zh) * 2017-07-31 2017-12-15 广东欧珀移动通信有限公司 资源配置方法及相关产品
CN109587546B (zh) * 2018-11-27 2020-09-22 Oppo广东移动通信有限公司 视频处理方法、装置、电子设备和计算机可读介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101904174A (zh) * 2007-12-07 2010-12-01 彩升集团有限公司 使用可编程图形硬件的帧内编码
CN102438230A (zh) * 2011-08-18 2012-05-02 宇龙计算机通信科技(深圳)有限公司 终端和数据业务处理方法
US20140035938A1 (en) * 2012-08-02 2014-02-06 Changliang Charlie Wang Media workload scheduler
CN103841389A (zh) * 2014-04-02 2014-06-04 北京奇艺世纪科技有限公司 一种视频播放方法及播放器
CN104796768A (zh) * 2015-04-17 2015-07-22 苏州健雄职业技术学院 一种基于omap硬解码加速的嵌入式高清媒体播放器及其操作方法
CN108600813A (zh) * 2018-05-17 2018-09-28 上海七牛信息技术有限公司 一种媒体文件播放方法、装置以及媒体播放系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020038128A1 (zh) * 2018-08-23 2020-02-27 Oppo广东移动通信有限公司 视频处理方法、装置、电子设备及计算机可读介质
WO2020108099A1 (zh) * 2018-11-27 2020-06-04 Oppo广东移动通信有限公司 视频处理方法、装置、电子设备和计算机可读介质
US11457272B2 (en) 2018-11-27 2022-09-27 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Video processing method, electronic device, and computer-readable medium
CN110263650A (zh) * 2019-05-22 2019-09-20 北京奇艺世纪科技有限公司 行为类别检测方法、装置、电子设备和计算机可读介质
CN110263650B (zh) * 2019-05-22 2022-02-22 北京奇艺世纪科技有限公司 行为类别检测方法、装置、电子设备和计算机可读介质
CN112019847A (zh) * 2019-05-28 2020-12-01 杭州海康威视数字技术股份有限公司 解码方法及电子设备
CN113055681A (zh) * 2021-03-02 2021-06-29 长沙景嘉微电子股份有限公司 视频解码显示方法,装置,电子设备及存储介质
CN113055681B (zh) * 2021-03-02 2024-02-09 长沙景嘉微电子股份有限公司 视频解码显示方法,装置,电子设备及存储介质
WO2023273431A1 (zh) * 2021-06-28 2023-01-05 惠州Tcl云创科技有限公司 基于视频的高画质图像提取处理方法、装置、移动终端

Also Published As

Publication number Publication date
WO2020108099A1 (zh) 2020-06-04
EP3886445A1 (en) 2021-09-29
US20210289259A1 (en) 2021-09-16
US11457272B2 (en) 2022-09-27
EP3886445A4 (en) 2021-12-01
CN109587546B (zh) 2020-09-22

Similar Documents

Publication Publication Date Title
CN109587546A (zh) 视频处理方法、装置、电子设备和计算机可读介质
US11596861B2 (en) Add-on management methods
WO2021008373A1 (zh) 显示方法、装置、电子设备及计算机可读介质
US11418832B2 (en) Video processing method, electronic device and computer-readable storage medium
US8903897B2 (en) System and method for providing interactive content to non-native application environments
US11563915B2 (en) Media content presentation
CN106713937A (zh) 视频播放控制方法、装置及终端设备
CN107209693A (zh) 缓冲器优化
TW200400764A (en) An object oriented video system
CN102447901B (zh) 用于处理要传送到远程计算设备的图形数据的方法和系统
TW200948088A (en) System and method for virtual 3D graphics acceleration and streaming multiple different video streams
CN107592551B (zh) 用于云流服务的方法和设备
JP2008118637A (ja) 適応制御を行うことができるmpegコード化オーディオ・ビジュアルオブジェクトをインターフェイスで連結するためのシステムおよび方法
CN104685873B (zh) 编码控制设备以及编码控制方法
CN1921610B (zh) 基于客户端的视频流互动处理方法及处理系统
CN113535063A (zh) 直播页面切换方法、视频页面切换方法、电子设备及存储介质
CN105847904B (zh) 分发控制设备和分发控制方法
CN109361950A (zh) 视频处理方法、装置、电子设备及存储介质
CN109587555B (zh) 视频处理方法、装置、电子设备及存储介质
CN109688462A (zh) 降低设备功耗的方法、装置、电子设备及存储介质
US20140297720A1 (en) Client apparatus, server apparatus, multimedia redirection system, and method thereof
US20050021552A1 (en) Video playback image processing
CN113596495B (zh) 直播推流处理方法及其装置、设备与介质
KR20160131827A (ko) 클라우드 스트리밍 서비스 시스템, 알파 레벨을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
US11799943B2 (en) Method and apparatus for supporting preroll and midroll during media streaming and playback

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