视频处理方法、终端设备、机器可读存储介质技术

技术编号:23413705 阅读:40 留言:0更新日期:2020-02-22 19:00
一种视频处理方法、终端设备、机器可读存储介质。一种视频处理方法包括:在对待解码的视频帧进行解码时,调用用于解码的解码线程对待解码的视频帧进行以下操作:通过所述解码线程中的输入线程,将从帧队列中获取的待解码的视频帧输入至解码器进行解码;通过所述解码线程中的输出线程,从所述解码器获取解码后的视频帧并存放至解码队列。可见,本实施例中通过设置输入线程和输出线程可以使向解码器输入数据的操作和获取输出数据的操作同时进行,减少串行输入和输出数据时造成的延时,可以降低预览视频的延时。

Video processing method, terminal equipment, machine-readable storage medium

【技术实现步骤摘要】
【国外来华专利技术】视频处理方法、终端设备、机器可读存储介质
本专利技术涉及视频处理
,尤其涉及视频处理方法、终端设备、机器可读存储介质。
技术介绍
目前,手持拍摄设备的应用越来越广泛,其可以配备专业摄像头,并且可提供精密的防抖措施,从而拍摄出高质量的图像。智能手机等终端设备的拍摄功能不如手持拍摄设备,但是其有高速的图像处理功能和清晰的图像显示功能,这是手持拍摄设备无法比拟的。因此,可以结合手持设备和移动设备,将手持拍摄设备所拍摄的视频传输到终端设备上显示。由于终端设备需要对接收的视频进行解码、渲染等处理,加之视频传输耗时,使得手持拍摄设备和终端设备之间的显示内容存在较大的延时。
技术实现思路
本专利技术提供一种视频处理方法、终端设备、机器可读存储介质。根据本专利技术的第一方面,提供一种视频处理方法,应用于终端设备,包括:在对待解码的视频帧进行解码时,调用用于解码的解码线程对待解码的视频帧进行以下操作:通过所述解码线程中的输入线程,将从帧队列中获取的待解码的视频帧输入至解码器进行解码;通过所述解码线程中的输出线程,从所述解码器获取解码后的视频帧并存放至解码队列。根据本专利技术的第二方面,提供一种终端设备,包括处理器、存储器和通信总线;所述存储器存储若干条计算机指令、缓存所述通信总线传输的视频码流以及由所述视频码流转换成的视频帧;所述处理器通过通信总线与所述存储器连接,用于从所述存储器中读取计算机指令以实现:在对待解码的视频帧进行解码时,调用用于解码的解码线程对待解码的视频帧进行以下操作:通过所述解码线程中的输入线程,将从帧队列中获取的待解码的视频帧输入至解码器进行解码;通过所述解码线程中的输出线程,从所述解码器获取解码后的视频帧并存放至解码队列。根据本专利技术的第三方面,提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时实现:在对待解码的视频帧进行解码时,调用用于解码的解码线程对待解码的视频帧进行以下操作:通过所述解码线程中的输入线程,将从帧队列中获取的待解码的视频帧输入至解码器进行解码;通过所述解码线程中的输出线程,从所述解码器获取解码后的视频帧并存放至解码队列。由上述的技术方案可见,本实施例中通过调用用于解码的解码线程对待解码的视频帧进行以下解码操作:通过所述解码线程中的输入线程,从帧队列中将从帧队列中获取的待解码的视频帧输入至解码器进行解码;通过所述解码线程中的输出线程,从所述解码器获取解码后的视频帧并存放至解码队列。可见,本实施例中通过设置输入线程和输出线程可以使向解码器输入数据的操作和获取输出数据的操作同时进行,减少串行输入和输出数据时造成的延时,可以降低预览视频的延时。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术一实施例提供的一种应用场景示意图;图2是本专利技术一实施例提供的一种视频处理方法的流程示意图;图3是本专利技术一实施例提供的解析视频码流的流程示意图;图4是本专利技术一实施例提供的另一种视频处理方法的流程示意图;图5是本专利技术一实施例提供的又一种视频处理方法的流程示意图;图6是本专利技术一实施例提供的一种终端设备的框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。目前,手持拍摄设备的应用越来越广泛,其可以配备专业摄像头,并且可提供精密的防抖措施,从而拍摄出高质量的图像。智能手机等终端设备的拍摄功能不如手持拍摄设备,但是其有高速的图像处理功能和清晰的图像显示功能,这是手持拍摄设备无法比拟的。因此,可以结合手持设备和移动设备,将手持拍摄设备所拍摄的视频传输到终端设备上显示。由于终端设备需要对接收的视频进行解码、渲染等处理,加之视频传输耗时,使得手持拍摄设备和终端设备之间的显示内容存在较大的延时。为此,本专利技术实施例提供了一种视频处理方法,可以应用于智能手机、手持拍摄设备、PC机等具有显示功能的终端设备,后续将以终端设备为例描述。图1是本专利技术一实施例提供的视频处理方法的应用场景示意图,参见图1,手持拍摄设备10通过通信网络20与终端设备30保持通信状态。该通信网络20可以为有线方式,也可以为无线方式。本实施例中,手持拍摄设备10采集视频,然后以(例如H.264格式)视频码流的方式通过通信网络20(局域网LAN、广域网WAN或者移动网络)发送给终端设备30。终端设备30可以执行视频处理方法得到视频帧,并在终端设备30的显示器上显示。图2是本专利技术一实施例提供的视频处理方法的流程示意图,参见图2,一种视频处理方法,包括步骤201~步骤203,其中:201,在对待解码的视频帧进行解码时,调用用于解码的解码线程对待解码的视频帧进行步骤202和步骤203对应的操作。实际应用中,由于受到手持拍摄设备和终端设备之间通信网络带宽的影响,手持拍摄设备会将采集到的视频进行编码,例如编码为H.264格式,得到视频码流,每个视频码流可以为视频帧的一部分(例如1/3帧,1/2帧)。之后再通过通信网络发送给终端设备。本实施例中,终端设备在接收到视频码流时可以进行解析。终端设备中可以预先设置一个循环队列,其中循环队列可以缓存第一数量帧(例如10帧)视频帧,终端设备将接收的视频码流缓存至循环队列。并且,终端设备还可以预先设置一解析线程,通过解析进程实时或按照设定周期检测新获取的视频码流和已缓存的视频码流是否可以构成完整一帧视频帧,例如,参见图3,解析线程轮询循环队列(对应步骤301),检测循环队列已缓存的视频码流,以确定循环队列中是否存在多个视频码流能够构成完整的一帧视频帧(对应步骤302)。若能够,则解码线程将视频码流取出并进行缓存(对应步骤303)。本实施例中,终端设备可以预先设置一个帧队列,其中帧队列可以缓存数帧视频帧。终端设备可以将取出的视频帧缓存到帧队列中,其中帧队列中的视频帧作为待解码的视频帧。终端设备的处理器可以检测帧队列中是否存在待解码的视频帧,当帧队列中存在待解码的视频帧时调用用于解码的解码线程。或者处理器也可以直接调用用于解码的解码线程,通过解码线程从帧队列中读取待解码的视频帧,在获取到待解码的视频帧后进行步骤202和步骤203的操作。202,通过所述解码线程中的输入线程,将从帧队列中获取的待解码的视频帧输入至解码器进行解码。本实施例中,解码线程可以包括输入线程。该输入线程可以从帧队列中获取待解码的视频帧并输入至解码器,由解码器对待本文档来自技高网...

【技术保护点】
1.一种视频处理方法,其特征在于,应用于终端设备,包括:/n在对待解码的视频帧进行解码时,调用用于解码的解码线程对待解码的视频帧进行以下操作:/n通过所述解码线程中的输入线程,将从帧队列中获取的待解码的视频帧输入至解码器进行解码;/n通过所述解码线程中的输出线程,从所述解码器获取解码后的视频帧并存放至解码队列。/n

【技术特征摘要】
【国外来华专利技术】1.一种视频处理方法,其特征在于,应用于终端设备,包括:
在对待解码的视频帧进行解码时,调用用于解码的解码线程对待解码的视频帧进行以下操作:
通过所述解码线程中的输入线程,将从帧队列中获取的待解码的视频帧输入至解码器进行解码;
通过所述解码线程中的输出线程,从所述解码器获取解码后的视频帧并存放至解码队列。


2.根据权利要求1所述的视频处理方法,其特征在于,还包括:
所述输入线程从帧队列中获取待解码的视频帧输入至解码器进行解码,同时,所述输出线程将所述解码器已解码的视频帧存放至解码队列。


3.根据权利要求1所述的视频处理方法,其特征在于,调用用于解码的解码线程之前,所述方法还包括:
调用用于解析的解析线程,解析接收到的视频码流,当存在多个视频码流能够构成完整的一帧视频帧时,将所述多个视频码流作为待解码的视频帧缓存至所述帧队列。


4.根据权利要求3所述的视频处理方法,其特征在于,解析接收到的视频码流包括:
轮询循环队列,所述循环队列中缓存接收到的视频码流;
检测所述循环队列已缓存的视频码流,以确定是否存在多个视频码流能够构成完整的一帧视频帧。


5.根据权利要求3所述的视频处理方法,其特征在于,所述循环队列能够缓存第一数量帧待解码的视频帧。


6.根据权利要求1所述的视频处理方法,其特征在于,将获取的解码后的视频帧存放至解码队列之前,所述方法还包括:
所述输出线程还判断所述解码队列是否已满;
若已满,则丢弃位于所述解码队列队头的视频帧且将获取的视频帧放至所述解码队列的队尾;若未满,则将获取的视频帧放至所述解码队列的队尾。


7.根据权利要求1所述的视频处理方法,其特征在于,调用用于解码的解码线程之后,所述方法还包括:
调用用于渲染的渲染线程,从所述解码队列中读取视频帧进行渲染,并将渲染后的视频帧放入预先设置的显示队列。


8.根据权利要求7所述的视频处理方法,其特征在于,将渲染后的视频帧放入预先设置的显示队列之后,所述方法还包括:
调用用于显示的显示线程,将从所述显示队列中读取的视频帧交换到显示器,所述显示器显示所述视频帧。


9.根据权利要求1所述的视频处理方法,其特征在于,所述解码器为MediaCodec解码器。


10.根据权利要求1所述的视频处理方法,其特征在于,所述输入线程、所述输出线程、解析线程、渲染线程和显示线程为相互并行工作的不同线程。


11.一种终端设备,其特征在于,包括处理器、存储器和通信总线;所述存储器存储若干条计算机指令、缓存所述通信总线传输的视频码流以及由所述视频码流转换成的视频帧;所述处理器通过通信总线与所述存储器连接,用于从所述存储器中读取计算机指令以实现:
在对待解码...

【专利技术属性】
技术研发人员:陈欣
申请(专利权)人:深圳市大疆创新科技有限公司大疆互娱科技北京有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1