CN115209223A - 视频编/解码的控制处理方法、装置、终端以及存储介质 - Google Patents

视频编/解码的控制处理方法、装置、终端以及存储介质 Download PDF

Info

Publication number
CN115209223A
CN115209223A CN202210520875.9A CN202210520875A CN115209223A CN 115209223 A CN115209223 A CN 115209223A CN 202210520875 A CN202210520875 A CN 202210520875A CN 115209223 A CN115209223 A CN 115209223A
Authority
CN
China
Prior art keywords
hardware
decoder
decoding
stage
coder
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.)
Pending
Application number
CN202210520875.9A
Other languages
English (en)
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.)
Guangzhou Cubesili Information Technology Co Ltd
Original Assignee
Guangzhou Cubesili Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Cubesili Information Technology Co Ltd filed Critical Guangzhou Cubesili Information Technology Co Ltd
Priority to CN202210520875.9A priority Critical patent/CN115209223A/zh
Publication of CN115209223A publication Critical patent/CN115209223A/zh
Pending legal-status Critical Current

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/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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed

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)

Abstract

本申请公开了视频编/解码的控制处理方法、装置、终端以及存储介质,所述方法包括:确定利用硬件编/解码器对视频文件进行编/解码的执行阶段;利用与执行阶段相匹配的检测策略检测硬件编/解码器是否处于异常状态;若硬件编/解码器处于异常状态,则切换软件编/解码器对视频文件进行编/解码。通过上述方式,本申请能够提高直播过程中视频编/解码的鲁棒性。

Description

视频编/解码的控制处理方法、装置、终端以及存储介质
技术领域
本申请涉及直播技术领域,特别是涉及视频编/解码的控制处理方法、装置、终端以及存储介质。
背景技术
随着直播技术的发展,越来越多的人们通过直播进行互动和娱乐,人们能够通过智能设备随时随地观看直播或者进行直播,极大地丰富人们的生活以及拓宽了人们的视野。
当用户通过移动终端或PC端等电子终端观看或者进行直播时,电子终端需要对直播过程中产生的视频文件进行编/解码。例如,可以通过硬件编/解码器处理一些复杂度高、耗费性能的工作,从而大大减轻CPU的工作负担。但是在硬件编/解码器使用的过程中,由于兼容性较差,容易出现异常。
发明内容
本申请主要解决的技术问题是提供视频编/解码的控制处理方法、装置、终端以及存储介质,能够提高直播过程中硬件编/解码的鲁棒性。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种视频编/解码的控制处理方法,该方法包括:确定利用硬件编/解码器对视频文件进行编/解码的执行阶段;利用与执行阶段相匹配的检测策略检测硬件编/解码器是否处于异常状态;若硬件编/解码器处于异常状态,则切换软件编/解码器对视频文件进行编/解码。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种视频编/解码的控制处理装置,该装置包括:确定模块,用于确定利用硬件编/解码器对视频文件进行编/解码的执行阶段;检测模块,用于利用与执行阶段相匹配的检测策略检测硬件编/解码器是否处于异常状态;执行模块,用于在硬件编/解码器处于异常状态时切换软件编/解码器对视频文件进行编/解码。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种电子终端,该电子终端包括:处理器、存储器和通信电路;存储器和通信电路耦接处理器,存储器存储有计算机程序,处理器能够执行计算机程序以实现如上述本申请提供的视频编/解码的控制处理方法。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种计算机可读的存储介质,该存储介质存储有计算机程序,计算机程序能够被处理器执行以实现如上述本申请提供的视频编/解码的控制处理方法。
本申请的有益效果是:区别于现有技术的情况,确定利用硬件编/解码器对视频文件进行编/解码的执行阶段,利用与执行阶段相匹配的检测策略检测硬件编/解码器是否处于异常状态,在利用硬件编/解码器对直播过程中产生的视频文件进行编/解码时会经历各个不同的执行阶段,在不同执行阶段都可能会出现异常,并且不同的执行阶段产生的异常可能都不相同,因此通过采用与执行阶段相匹配的检测策略检测硬件编/解码器是否处于异常状态,能够更加快捷且准确地实现在不同的执行阶段检测出硬件编/解码器是否处于异常状态,提高检测的准确度和效率。若检测到硬件编/解码器处于异常状态,则切换软件编/解码器对视频文件进行编码,从而对异常状态进行补救以保证直播过程中的基本开播功能不受影响,有利于提升硬件编/解码器在直播过程中进行开播或者播放视频场景的稳定性,进而提高视频的编/解码的鲁棒性。
附图说明
图1是本申请直播系统实施例的系统组成示意图;
图2是本申请视频编/解码的控制处理方法实施例的第一流程示意图;
图3是本申请视频编/解码的控制处理方法实施例的第二流程示意图;
图4是本申请视频编/解码的控制处理方法实施例的第三流程示意图;
图5是本申请视频编/解码的控制处理方法实施例的第四流程示意图;
图6是本申请控制处理装置实施例的组成示意图;
图7是本申请电子终端实施例的电路结构示意框图;
图8是本申请计算机可读的存储介质实施例的电路结构示意框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着直播行业的快速发展,直播成为了人们通过互联网娱乐的一种重要方式,通过智能设备人们还能够随时随地观看或者进行直播。在直播过程中,主播在主播终端进行表演,用户可以在观众终端对主播的表演进行观看,也可以通过观众终端跟主播进行互动,主播在直播时产生的视频流,以及直播间播放一些视频文件可供在直播间的用户进行观看。在主播进行开播或者播放视频等场景下,播放当前直播视频的观众终端需要对视频文件进行编/解码,以实现采用720P,1080P等高清分辨率开播。
本申请的发明人在长期研发过程中发现,在对视频文件进行编/解码的过程中,硬件编码器能够处理一些复杂度高、耗费性能的工作,大大减轻了CPU的工作负担,并且由于硬件编/解码在性能优势和节省耗电量上无可比拟的优势,其实际应用占比大大超过软件编码。但是硬件编/解码的缺点就是面对不同的硬件厂商设备,兼容性较差,容易出现异常,以上问题在电子终端尤其是Android系统等终端上出现的频率较高。为了提高直播过程中视频编/解码的鲁棒性,本申请提出以下实施例。
如图1所示,本申请直播系统实施例描述的直播系统1可以包括服务器10、主播终端20以及观众终端30。主播终端20和观众终端30可以为电子终端,具体地,主播终端20和观众终端30为安装有相应客户端程序的电子终端,也即客户终端。电子终端可以是移动终端、计算机、服务器或者其他终端等,移动终端可以是手机、笔记本电脑、平板电脑、智能穿戴设备等,计算机可以是台式电脑等。
服务器10可以从主播终端20中对直播数据流拉流,并可以将获取的直播数据流进行相应的处理后推流到观众终端30。观众终端30获取到直播数据流后即可观看主播或者嘉宾的直播过程。直播数据流的混流可以发生在服务器10、主播终端20和观众终端30中的至少一方。主播终端20和主播终端20之间、主播终端20和观众终端30之间均可以进行视频连麦或语音连麦。在视频连麦中,连麦方可以将包括视频流在内的直播数据流推送到服务器10,进而将相应的直播数据推送至相应的连麦方以及观众终端30。主播终端20和观众终端30能够在直播间中显示到相应的直播画面。
当然,主播终端20和观众终端30是相对而言的,处于在直播过程中的终端为主播终端20,处于观看直播过程的终端为观众终端30。
如图2所示,本申请视频编/解码的控制处理方法实施例可以以客户终端为执行主体。本实施例可以包括如下步骤:S100:确定利用硬件编/解码器对视频文件进行编/解码的执行阶段。S200:利用与执行阶段相匹配的检测策略检测硬件编/解码器是否处于异常状态。S300:若硬件编/解码器处于异常状态,则切换软件编/解码器对视频文件进行编/解码。
确定利用硬件编/解码器对视频文件进行编/解码的执行阶段,利用与执行阶段相匹配的检测策略检测硬件编/解码器是否处于异常状态,在利用硬件编/解码器对直播过程中产生的视频文件进行编/解码时会经历各个不同的执行阶段,在不同执行阶段都可能会出现异常,并且不同的执行阶段产生的异常可能都不相同,因此通过采用与执行阶段相匹配的检测策略检测硬件编/解码器是否处于异常状态,能够更加快捷且准确地实现在不同的执行阶段检测出硬件编/解码器是否处于异常状态,提高检测的准确度和效率。若检测到硬件编/解码器处于异常状态,则切换软件编/解码器对视频文件进行编码,从而对异常状态进行补救以保证直播过程中的基本开播功能不受影响,有利于提升硬件编/解码器在直播过程中进行开播或者播放视频场景的稳定性,进而提高视频的编/解码的鲁棒性。
本实施例描述的方法可应用于直播过程中使用硬件编/解码进行开播或者播放视频的场景,以下对本实施例以客户终端为执行主体进行详细描述。
本申请实施例可以包括如下步骤:
S100:确定利用硬件编/解码器对视频文件进行编/解码的执行阶段。
硬件编/解码器可以具有硬件编码功能和/或硬件解码功能,例如可以包括硬件编码器和硬件解码器,编码可以是指对视频信号进行压缩,解码可以是将压缩的视频信号进行解压缩,硬件编/解码可以是将待编/解码的数据写入硬件编/解码处理芯片,以对待编/解码的数据进行硬件编/解码。硬件编/解码与软件编/解码是相对的,软件编/解码可以是将处理过程的描述转换为基于某种计算机语言的程序,即源程序代码,由于硬件编/解码在性能和节省耗电量上的优势,使得在实际应用过程中,硬件编/解码的应用超过软件编/解码。硬件编/解码器通过客户终端的相关硬件,比如GPU,VPU等,进行执行。举例来说,在电子终端如智能手机中,可以预先配置有硬件编/解码器,用于进行编/解码。
视频文件可以是在直播过程中产生的视频流。举例来说,当直播过程为主播开播时,视频文件可以是主播终端20上传到服务器10,并经由服务器10下发到各个客户终端的,也可以是服务器10从云端、运维后台等获取而下发到各个客户终端的,当然还可以是其他客户终端上传至服务器10的。当直播过程为播放视频时,视频文件可以是直播间中所播放的视频画面。视频文件在传递和显示的过程中需要先进行编码压缩,然后再进行解码解压缩后,才可以在客户终端上进行显示。根据不同的情况,客户终端上可以进行相应的解码或编码。
执行阶段例如可以使用硬件编/解码器的阶段,可以包括硬件编/解码器在编/解码过程中经历的各个阶段,还可以包括硬件编/解码器在进行编/解码之前或之后的阶段。
在一种实现方式中,S100可以包括如下步骤:
S110:确定硬件编/解码器当前的执行阶段为创建至编/解码过程。
硬件编/解码器当前的执行阶段可以为创建至编/解码过程,具体地,创建至编/解码过程可以包括依次执行的创建阶段、配置阶段、启动阶段以及编/解码阶段。
S120:确定硬件编/解码器当前的执行阶段为启动之前阶段。
硬件编/解码器当前的执行阶段可以为启动之前的阶段,具体地,启动之前的阶段可以指在启动硬件编/解码器之前的阶段。
S200:利用与执行阶段相匹配的检测策略检测硬件编/解码器是否处于异常状态。
在硬件编/解码器处于执行阶段中的任一阶段时,可以通过与当前执行阶段相匹配的检测策略对硬件编/解码器是否处于异常状态进行检测。异常状态可以是指硬件编/解码器在创建至编码过程中是否出现无法完成编/解码的情况。
如图3所示,当硬件编/解码器当前的执行阶段为创建至编/解码过程时,对于如何利用与执行阶段相匹配的检测策略检测硬件编/解码器是否处于异常状态,可以参照S200包括的如下步骤:
S210:判断硬件编/解码器的创建至编/解码过程是否发生异常。
通过判断硬件编/解码器在创建阶段、配置阶段、启动阶段以及编/解码阶段中的任一阶段是否发生异常,以确定硬件编/解码器的创建至编/解码过程是否发生异常。创建阶段、配置阶段、启动阶段以及编/解码阶段是依次执行的。
创建阶段是指创建硬件编/解码器,可以通过如GPU等硬件所提供的函数接口创建硬件编/解码器,例如可以按照编/解码的宽高、编/解码方式这些参数进行创建。配置阶段是指配置创建好的硬件编/解码器,即对创建好的硬件编/解码器进行初始化,配置相应的参数等。启动阶段是指启动配置好的硬件编/解码器。编/解码阶段是指启动后对视频文件进行编码/解码。
在一种实现方式中,S210可以包括如下步骤:
S211:监测创建至编/解码过程的当前阶段的执行结果。
依次对创建硬件编/解码器、配置硬件编/解码器、启动硬件编/解码器到硬件编/解码器编/解码的过程检测当前阶段的执行结果,具体地,可以以捕获异常的方式监测执行结果。若前一阶段的执行结果正常,则可以进行下一阶段。若前一阶段的执行结果异常,则可以认定硬件编/解码器发生异常。
S212:基于执行结果判断创建至编/解码过程的当前阶段是否发生异常。
当以捕获异常的方式监测执行结果时,若捕获到异常,则判定当前阶段发生异常,若没有捕获到异常,则判定当前阶段没有发生异常。
S220:若发生异常,则重新进行创建至编/解码过程,并执行判断硬件编/解码器的创建至编/解码过程是否发生异常。
在一种实现方式中,S220可以包括如下步骤:
S221:若创建阶段、配置阶段、启动阶段以及编/解码阶段任一者发生异常,则销毁硬件编/解码器,重新创建硬件编/解码器以重复进行创建至编/解码过程。
当基于执行结果判定创建阶段、配置阶段、启动阶段以及编/解码阶段中的任一阶段发生异常时,可以销毁硬件编/解码器,然后重新创建硬件编/解码器以重复进行创建至编/解码过程。具体地,创建硬件编/解码器可以创建多个,可以基于不同的应用创建不同的硬件编/解码器。
S230:判断所有创建至编/解码过程发生异常的次数是否大于或等于预设阈值。
在销毁硬件编/解码之后,重新创建编/解码之前,可以统计创建至编/解码过程发生异常的次数,也可以是销毁硬件编/解码器的次数是否大于或者等于预设阈值。由于在创建至编/解码过程中,如果只是发生较少次数的异常,不能直接判定硬件编/解码器处于异常状态,需要判断异常的次数大于或者等于预设阈值时,才能判定硬件编/解码器处于异常状态。
S240:若大于或等于预设阈值,则判定硬件编/解码器处于异常状态。
当所有创建至编/解码过程发生异常的次数大于或者等于预设阈值时,可以判定硬件编/解码器处于异常状态。举例来说,如图3所示,当预设阈值为3次时,如果在创建硬件编/解码器的过程中发生异常,则将硬件编/解码器销毁,此时,发生异常的次数为1次,没有超过3次,则重新创建硬件编/解码器,并重新进行创建至编/解码过程,在这次创建至编/解码过程中,如果在配置硬件编/解码器过程中发生异常,则销毁硬件编/解码器,此时,发生异常的次数为2次,没有超过3次,则重新创建硬件编/解码器,并重新进行创建至编/解码过程,在这次创建至编/解码过程中,如果在启动硬件编/解码器过程中发生异常,则销毁硬件编/解码器,此时发生异常的次数为3次,等于预设阈值,则判定此时硬件编/解码器处于异常状态。
在一种实现方式中,当硬件编/解码器当前的执行阶段为启动之前阶段时,对于如何利用与执行阶段相匹配的检测策略检测硬件编/解码器是否处于异常状态,可以参照S200包括的如下步骤:
S250:在启动之前阶段获取硬件编/解码器的标志信息。
硬件编/解码器的标志信息可以是用于指示硬件编/解码器是否可用的标志。具体地,硬件编/解码器的标志信息可以设置为指示可用和指示不可用两种状态,当硬件编/解码器的标志信息为指示可用时,则表示硬件编/解码器不处于异常状态,当硬件编/解码器的标志信息为指示不可用时,则表示硬件编/解码器处于异常状态。
在一种实现方式中,在S250之前,可以包括如下步骤:
S251:检测硬件编/解码器在使用中是否出现卡死。
卡死可以是硬件编/解码器在使用过程中出现的一种异常情况,如果硬件编/解码器出现卡死,则无法通过重启应用进行恢复,如果不加以处理,则会无法开播编/解码视频的情况,严重影响用户的使用体验。
在一种实现方式中,S251可以包括如下步骤:
S2511:在异步线程中执行硬件编/解码器的创建和/或销毁阶段。
如图4所示,将硬件编/解码器的创建和/或销毁阶段在单独的异步线程中执行,硬件编/解码器的创建和/或销毁阶段发生卡死,也就是说,该异步线程无法正常执行创建和/或销毁阶段无法返回执行结果,通过异步线程执行创建和/或销毁阶段的任务不会导致主线程中的其他工作如开播预览,继续编/解码视频流等无法进行的情况,从而有利于提高直播过程中的稳定性。
S2512:检测异步线程是否在预设时间内返回执行结果。
预设时间可以是服务器和/或客户终端中预先设置的,也可以是基于实际需求进行更改的。执行结果例如可以包括执行成功的结果和执行失败的结果。
S2513:若异步线程没有在预设时间内返回执行结果,则判定硬件编/解码器在创建和/或销毁阶段卡死。
通过设置预设时间,如果在预设时间内异步执行的硬件编/解码器的创建和/或销毁阶段任务的线程无法返回执行结果,则可以判定该硬件编/解码器已经卡死。
S2514:若硬件编码器在预设时间内返回执行结果,则判定硬件编码器在创建和/或销毁阶段没有卡死。
如果在预设时间内异步执行的硬件编/解码器的创建和/或销毁阶段任务的线程返回执行结果,则可以判定该硬件编/解码器没有卡死,可以将该硬件编/解码器的标志信息设置为可用。
S252:若出现卡死,则将硬件编/解码器的标志信息设置为指示硬件编/解码器不可用。
由于硬件编/解码器卡死后,通常情况下是不可恢复的,为了保证用户不重新开机还能使用应用,则可以将出现卡死的硬件编/解码器的标志信息设置为指示硬件编/解码器不可用,在下次使用过程中,根据该硬件编/解码器的标志信息,则可以直接使用软件编/解码。
S260:基于标志信息确定硬件编/解码器是否处于异常状态。
在判断硬件编/解码器是否处于异常状态时,可以通过硬件编/解码器的标志信息进行判断。具体地,若标志信息为指示硬件编/解码器不可用时,则判定硬件编/解码器处于异常状态,若标志信息为指示硬件编/解码器可用时,则判定硬件编/解码器不处于异常状态。
在一种实现方式中,如图5所示,当硬件编/解码器当前的执行阶段为启动之前阶段时,对于如何利用与执行阶段相匹配的检测策略检测硬件编/解码器是否处于异常状态,可以参照S200包括的如下步骤:
S270:获取硬件编/解码器的标识信息。
硬件编/解码器的标识信息可以是用于对硬件编/解码器进行标识的信息,每个硬件编/解码器都有唯一对应的标识信息,通过标识信息,能够确定与标识信息相对应的硬件编/解码器。上述提及的标志位作为标识信息中部分,例如标识信息中存在一个符号位作为标志位用来指示可用或不可用状态,比如标识信息为20222561,最后一个符号为标志位,“1”指示可用状态,而“0”指示不可用状态。当然,标志为也可以是独立于标识信息,而可以和标识信息组成新的字符串。
S280:判断硬件编/解码器的标识信息是否在预设黑名单列表中。
预设黑名单列表可以是服务器10下发到客户终端的,具体地,黑名单列表可以是在经过大量次数的验证后所确定出的存在不可恢复问题的硬件编/解码器,比如,可以将上述创建至编/解码过程检测出异常的硬件编/解码器对应的标识信息写入预设黑名单列表中,也可以将上述通过检测是否卡死而检测出处于异常状态的硬件编/解码器对应的标识信息写入预设黑名单列表中。也就是说,这些存在不可恢复问题的硬件编/解码器是处于异常状态的,通过判断硬件编/解码器的标识信息是否在预设黑名单列表中,从而判定硬件编/解码器是否为存在不可恢复问题,进而能够判断硬件编/解码器是否处于异常状态。
S290:若硬件编/解码器的标识信息在预设黑名单列表中,则判定硬件编/解码器处于异常状态。
若硬件编/解码器的标识信息在预设黑名单列表中,则可以认为该硬件编/解码器存在不可恢复问题,进而判定该硬件编/解码器处于异常状态。若硬件编/解码器的标识信息不在预设黑名单列表中,则可以认为该硬件编/解码器不存在不可恢复问题,进而判定该硬件编/解码器不处于异常状态。
S300:若硬件编/解码器处于异常状态,则切换软件编/解码器对视频文件进行编/解码。
当判定硬件编/解码器处于异常状态时,可以切换软件编/解码器对视频文件进行编/解码,在软件编/解码器完成编/解码后,可以将软件编/解码销毁。软件编/解码可以是通过基于某种计算机语言的程序实现编/解码过程,软件编/解码器的优势是不依赖具体硬件厂商,兼容性较好,在硬件编/解码器异常的情况下,可以切换到软件编/解码器,比如x264,从而对处于异常状态的硬件编/解码器进行补救,能够保证直播过程中的基本开播功能不受影响,有利于提高直播过程中的稳定性。
综上所述,在本实施例视频编/解码的控制处理方法中,确定利用硬件编/解码器对视频文件进行编/解码的执行阶段,利用与执行阶段相匹配的检测策略检测硬件编/解码器是否处于异常状态,在利用硬件编/解码器对直播过程中产生的视频文件进行编/解码时会经历各个不同的执行阶段,在不同执行阶段都可能会出现异常,并且不同的执行阶段产生的异常可能都不相同,因此通过采用与执行阶段相匹配的检测策略检测硬件编/解码器是否处于异常状态,能够更加快捷且准确地实现在不同的执行阶段检测出硬件编/解码器是否处于异常状态,提高检测的准确度和效率。若检测到硬件编/解码器处于异常状态,则切换软件编/解码器对视频文件进行编码,从而对异常状态进行补救以保证直播过程中的基本开播功能不受影响,有利于提升硬件编/解码器在直播过程中进行开播或者播放视频场景的稳定性,进而提高视频的编/解码的鲁棒性。
如图6所示,本申请控制处理装置实施例描述的控制处理装置2可以包括确定模块40、检测模块50和执行模块60。具体地,确定模块40用于确定利用硬件编/解码器对视频文件进行编/解码的执行阶段。检测模块50用于利用与执行阶段相匹配的检测策略检测硬件编/解码器是否处于异常状态。执行模块60用于在硬件编/解码器处于异常状态时切换软件编/解码器对视频文件进行编/解码。
关于本申请控制处理装置实施例的各功能模块的具体功能和执行过程可以参照上述本申请视频编/解码的控制处理方法实施例的详细描述,在此不再赘述。
如图7所示,本申请电子终端实施例描述的电子终端100可以为上述的客户终端,电子终端100包括处理器110、存储器120和通信电路。存储器120和通信电路耦接处理器110。
存储器120用于存储计算机程序,可以是RAM(只读存储器,Read-Only Memory),也是可以ROM(随机存取存储器,Random Access Memory),或者其他类型的存储设备。具体地,存储器可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器中的非暂态的计算机可读存储介质用于存储至少一条程序代码。
处理器110用于控制电子终端100的操作,处理器110还可以称为CPU(CentralProcessing Unit,中央处理单元)。处理器110可能是一种集成电路芯片,具有信号的处理能力。处理器110还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器110也可以是任何常规的处理器等。
处理器110用于执行存储器120中存储的计算机程序以实现本申请视频编/解码的控制处理方法实施例描述的控制处理方法。
在一些实施方式中,电子终端100还可以包括:外围设备接口130和至少一个外围设备。处理器110、存储器120和外围设备接口130之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口130相连。具体地,外围设备包括:射频电路140、显示屏150、音频电路160和电源170中的至少一种。
外围设备接口130可被用于将I/O(Input/output,输入/输出)相关的至少一个外围设备连接到处理器110和存储器120。在一些实施例中,处理器110、存储器120和外围设备接口130被集成在同一芯片或电路板上;在一些其他实施方式中,处理器110、存储器120和外围设备接口130中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路140用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路140通过电磁信号与通信网络以及其他通信设备进行通信。射频电路140将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路140包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路140可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路140还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏150用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏150是触摸显示屏时,显示屏150还具有采集在显示屏150的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器110进行处理。此时,显示屏150还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施方式中,显示屏150可以为一个,设置在电子终端100的前面板;在另一些实施方式中,显示屏150可以为至少两个,分别设置在电子终端100的不同表面或呈折叠设计;在另一些实施方式中,显示屏150可以是柔性显示屏,设置在电子终端100的弯曲表面上或折叠面上。甚至,显示屏150还可以设置成非矩形的不规则图形,也即异形屏。显示屏150可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-EmittingDiode,有机发光二极管)等材质制备。
音频电路160可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器110进行处理,或者输入至射频电路140以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在电子终端100的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器110或射频电路140的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路160还可以包括耳机插孔。
电源170用于为电子终端100中的各个组件进行供电。电源170可以是交流电、直流电、一次性电池或可充电电池。当电源170包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
关于本申请电子终端实施例中各功能模块或者部件功能和执行过程的详细阐述,可以参照上述本申请视频编/解码的控制处理方法实施例中的阐述,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的电子终端100和控制处理方法,可以通过其它的方式实现。例如,以上所描述的电子终端100各实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
参阅图8,上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在计算机可读存储介质200中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令/计算机程序用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种介质以及具有上述存储介质的电脑、手机、笔记本电脑、平板电脑、相机等电子终端。
关于计算机可读的存储介质中的程序数据的执行过程的阐述可以参照上述本申请视频编/解码的控制处理方法实施例中阐述,在此不再赘述。
以上所述仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (11)

1.一种视频编/解码的控制处理方法,其特征在于,包括:
确定利用硬件编/解码器对视频文件进行编/解码的执行阶段;
利用与所述执行阶段相匹配的检测策略检测所述硬件编/解码器是否处于异常状态;
若所述硬件编/解码器处于异常状态,则切换软件编/解码器对所述视频文件进行编/解码。
2.根据权利要求1所述的控制处理方法,其特征在于:
所述确定利用硬件编/解码器对视频文件进行编/解码的执行阶段,包括:
确定所述硬件编/解码器当前的所述执行阶段为创建至编/解码过程;
所述利用与所述执行阶段相匹配的检测策略检测所述硬件编/解码器是否处于异常状态,包括:
判断所述硬件编/解码器的所述创建至编/解码过程是否发生异常;
若发生异常,则重新进行所述创建至编/解码过程,并执行所述判断所述硬件编/解码器的所述创建至编/解码过程是否发生异常;
判断所有所述创建至编/解码过程发生异常的次数是否大于或等于预设阈值;
若大于或等于所述预设阈值,则判定所述硬件编/解码器处于异常状态。
3.根据权利要求2所述的控制处理方法,其特征在于:
所述创建至编/解码过程包括依次执行的创建阶段、配置阶段、启动阶段以及编/解码阶段;其中,所述若发生异常,则重新进行所述创建至编/解码过程,包括:
若所述创建阶段、配置阶段、启动阶段以及编/解码阶段任一者发生异常,则销毁所述硬件编/解码器,重新创建所述硬件编/解码器以重复进行所述创建至编/解码过程。
4.根据权利要求3所述的控制处理方法,其特征在于:
所述判断所述硬件编/解码器的所述创建至编/解码过程是否发生异常,包括:
监测所述创建至编/解码过程的当前阶段的执行结果;
基于所述执行结果判断所述创建至编/解码过程的当前阶段是否发生异常。
5.根据权利要求1所述的控制处理方法,其特征在于:
所述确定利用硬件编/解码器对视频文件进行编/解码的执行阶段,包括:
确定所述硬件编/解码器当前的所述执行阶段为启动之前阶段;
所述利用与所述执行阶段相匹配的检测策略检测硬件编/解码器是否处于异常状态,包括:
在所述启动之前阶段获取所述硬件编/解码器的标志信息;
所述利用与所述执行阶段相匹配的检测策略检测硬件编/解码器是否处于异常状态,包括:
基于所述标志信息确定所述硬件编/解码器是否处于异常状态,其中,若所述标志信息指示所述硬件编/解码器不可用时,则判定所述硬件编/解码器处于异常状态。
6.根据权利要求5所述的控制处理方法,其特征在于:
在所述启动之前阶段获取所述硬件编/解码器的标志信息之前,包括:
检测所述硬件编/解码器在使用中是否出现卡死;
若出现卡死,则将所述硬件编/解码器的标志信息设置为指示所述硬件编/解码器不可用。
7.根据权利要求6所述的控制处理方法,其特征在于:
所述检测所述硬件编/解码器在使用中是否卡死,包括:
在异步线程中执行所述硬件编/解码器的创建和/或销毁阶段;
检测所述异步线程是否在预设时间内返回执行结果;
若所述异步线程没有在所述预设时间内返回所述执行结果,则判定所述硬件编/解码器在创建和/或销毁阶段卡死。
8.根据权利要求1所述的控制处理方法,其特征在于:
所述确定利用硬件编/解码器对视频文件进行编/解码的执行阶段,包括:
确定所述硬件编/解码器当前的所述执行阶段为启动之前阶段;
所述利用与所述执行阶段相匹配的检测策略检测所述硬件编/解码器是否处于异常状态,包括:
获取所述硬件编/解码器的标识信息;
判断所述硬件编/解码器的标识信息是否在预设黑名单列表中;
若所述硬件编/解码器的标识信息在所述预设黑名单列表中,则判定所述硬件编/解码器处于异常状态。
9.一种视频编/解码的控制处理装置,其特征在于,包括:
确定模块,用于确定利用硬件编/解码器对视频文件进行编/解码的执行阶段;
检测模块,用于利用与所述执行阶段相匹配的检测策略检测所述硬件编/解码器是否处于异常状态;
执行模块,用于在所述硬件编/解码器处于异常状态时切换软件编/解码器对所述视频文件进行编/解码。
10.一种电子终端,其特征在于,包括:处理器、存储器和通信电路;所述存储器和所述通信电路耦接所述处理器,所述存储器存储有计算机程序,所述处理器能够执行所述计算机程序以实现如权利要求1-8任一项所述的控制处理方法。
11.一种计算机可读的存储介质,其特征在于,存储有计算机程序,所述计算机程序能够被处理器执行以实现如权利要求1-8任一项所述的控制处理方法。
CN202210520875.9A 2022-05-12 2022-05-12 视频编/解码的控制处理方法、装置、终端以及存储介质 Pending CN115209223A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210520875.9A CN115209223A (zh) 2022-05-12 2022-05-12 视频编/解码的控制处理方法、装置、终端以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210520875.9A CN115209223A (zh) 2022-05-12 2022-05-12 视频编/解码的控制处理方法、装置、终端以及存储介质

Publications (1)

Publication Number Publication Date
CN115209223A true CN115209223A (zh) 2022-10-18

Family

ID=83574495

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210520875.9A Pending CN115209223A (zh) 2022-05-12 2022-05-12 视频编/解码的控制处理方法、装置、终端以及存储介质

Country Status (1)

Country Link
CN (1) CN115209223A (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1195800A (ja) * 1997-09-19 1999-04-09 Fujitsu Ltd 音声コーデックの異常状態検出/復旧装置
CN103339959A (zh) * 2011-01-19 2013-10-02 高通股份有限公司 动态视频切换
CN105430408A (zh) * 2015-12-04 2016-03-23 武汉斗鱼网络科技有限公司 一种基于Intel、AMD和Nvidia三平台的H264硬件解码系统
CN105992056A (zh) * 2015-01-30 2016-10-05 腾讯科技(深圳)有限公司 一种视频解码的方法和装置
CN106385627A (zh) * 2016-09-14 2017-02-08 腾讯科技(深圳)有限公司 视频编码方法和装置
CN106658174A (zh) * 2016-10-31 2017-05-10 努比亚技术有限公司 一种视频解码终端及方法
CN107172432A (zh) * 2017-03-23 2017-09-15 杰发科技(合肥)有限公司 一种视频处理方法、装置及终端
CN109391843A (zh) * 2017-08-03 2019-02-26 腾讯科技(深圳)有限公司 在线视频倍速播放方法、装置、介质及智能终端
CN110366033A (zh) * 2019-07-17 2019-10-22 腾讯科技(深圳)有限公司 一种视频播放方法、装置、设备及存储介质
CN110740313A (zh) * 2019-10-25 2020-01-31 腾讯科技(深圳)有限公司 硬件编码能力检测方法及装置
CN111107404A (zh) * 2019-12-27 2020-05-05 珠海全志科技股份有限公司 汽车与移动端的界面视频快速播放方法、系统及存储介质
CN111385563A (zh) * 2018-12-29 2020-07-07 广州市百果园信息技术有限公司 硬件编码器检测方法、装置和终端
CN114339257A (zh) * 2022-01-26 2022-04-12 稿定(厦门)科技有限公司 用于解码视频文件的方法及装置

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1195800A (ja) * 1997-09-19 1999-04-09 Fujitsu Ltd 音声コーデックの異常状態検出/復旧装置
CN103339959A (zh) * 2011-01-19 2013-10-02 高通股份有限公司 动态视频切换
CN105992056A (zh) * 2015-01-30 2016-10-05 腾讯科技(深圳)有限公司 一种视频解码的方法和装置
CN105430408A (zh) * 2015-12-04 2016-03-23 武汉斗鱼网络科技有限公司 一种基于Intel、AMD和Nvidia三平台的H264硬件解码系统
CN106385627A (zh) * 2016-09-14 2017-02-08 腾讯科技(深圳)有限公司 视频编码方法和装置
CN106658174A (zh) * 2016-10-31 2017-05-10 努比亚技术有限公司 一种视频解码终端及方法
CN107172432A (zh) * 2017-03-23 2017-09-15 杰发科技(合肥)有限公司 一种视频处理方法、装置及终端
US20180278929A1 (en) * 2017-03-23 2018-09-27 Autochips Inc. Video processing method, device and terminal
CN109391843A (zh) * 2017-08-03 2019-02-26 腾讯科技(深圳)有限公司 在线视频倍速播放方法、装置、介质及智能终端
CN111385563A (zh) * 2018-12-29 2020-07-07 广州市百果园信息技术有限公司 硬件编码器检测方法、装置和终端
CN110366033A (zh) * 2019-07-17 2019-10-22 腾讯科技(深圳)有限公司 一种视频播放方法、装置、设备及存储介质
CN110740313A (zh) * 2019-10-25 2020-01-31 腾讯科技(深圳)有限公司 硬件编码能力检测方法及装置
CN111107404A (zh) * 2019-12-27 2020-05-05 珠海全志科技股份有限公司 汽车与移动端的界面视频快速播放方法、系统及存储介质
CN114339257A (zh) * 2022-01-26 2022-04-12 稿定(厦门)科技有限公司 用于解码视频文件的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
二的次方: "Android多媒体--Mediacodec中文API文档", pages 1 - 20, Retrieved from the Internet <URL:https://www.cnblogs.com/roger-yu/p/5635494.html> *

Similar Documents

Publication Publication Date Title
JP4444310B2 (ja) 携帯電話機
JP4395845B2 (ja) 電子機器及びプログラム
KR100800792B1 (ko) 휴대단말기의 통화기능 수행방법
TW201334518A (zh) 影音播放裝置、影音處理裝置、系統以及方法
CN104952370B (zh) 电子屏幕及其使用方法
KR102002927B1 (ko) 단말기에서 심 카드의 삽입방향 감지장치 및 방법
KR20110064339A (ko) 휴대용 단말기에서 이어폰 장착을 인식하기 위한 장치 및 방법
CN110121084B (zh) 切换端口的方法、装置和系统
CN105490894A (zh) 可进行音视频播放模式切换的终端及其切换方法
CN111510755A (zh) 音视频的切换方法、装置、计算机设备及可读存储介质
CN113099233A (zh) 视频编码方法、装置、视频编码设备及存储介质
CN108200636B (zh) 导航信息展示方法、终端
CN106782578B (zh) 一种分布式解码控制器、分布式解码方法及音频终端
CN115209223A (zh) 视频编/解码的控制处理方法、装置、终端以及存储介质
CN112995760B (zh) 视频处理方法、装置、设备及计算机存储介质
CN115543500B (zh) 一种窗口的处理方法及电子设备
CN115665504A (zh) 事件识别方法、装置、电子设备及存储介质
US20100238996A1 (en) Mobile terminal and video output method
CN111478914B (zh) 时间戳处理方法、装置、终端及存储介质
CN111586433B (zh) 码率调整方法、装置、设备及存储介质
CN110598156B (zh) 绘图数据的处理方法、装置、终端、服务器及存储介质
KR101688946B1 (ko) 신호 처리 장치 및 그 방법
CN110636326A (zh) 直播视频处理方法及装置、存储介质
CN111107104B (zh) 视频发送方法、视频接收方法、装置、设备及存储介质
KR101933431B1 (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