物联网操作系统的音视频处理方法、装置、设备和介质与流程

文档序号:32946659发布日期:2023-01-14 11:16阅读:34来源:国知局
物联网操作系统的音视频处理方法、装置、设备和介质与流程

1.本技术涉及物联网技术领域,特别是涉及一种物联网操作系统的音视频处理方法、装置、设备和介质。


背景技术:

2.随着物联网技术的迅速发展,智能家居正一步一步的走进人们的生活,越来越多的人开始关注智能家居。智能家居正是物联化的产物,家中的各种家居设备通过物联网技术连接到一起,在家庭物理场景下,实现物物相连,统一由一个智能中控设备来控制。
3.传统方法中,智能中控设备只能按照时间顺序对播放任务进行播放处理,对于不同的家庭物理场景来说,仅单独按照时间对播放任务进行播放处理的方式适应性差。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够提高适应性的物联网操作系统的音视频处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
5.第一方面,本技术提供了一种物联网操作系统的音视频处理方法。方法包括:
6.确定待执行的第一播放任务;
7.若存在正在执行的第二播放任务,则确定第一播放任务对应的第一场景类型和第二播放任务对应的第二场景类型;
8.根据第一场景类型和第二场景类型,确定第一播放任务和第二播放任务之间的场景优先级关系;
9.基于场景优先级关系,从第一播放任务和第二播放任务中确定场景优先级较高的播放任务作为目标播放任务;
10.执行目标播放任务,以通过与目标播放任务对应创建的播放器对象播放目标播放任务所指示播放的多媒体数据。
11.在其中一个实施例中,确定待执行的第一播放任务,的步骤具体包括:
12.在任务队列中存在多个候选播放任务的情况下,根据各候选播放任务对应的候选场景类型,确定多个候选播放任务之间的场景优先级关系;
13.根据多个候选播放任务之间的场景优先级关系,从多个候选播放任务中确定场景优先级最高的待执行的第一播放任务。
14.在其中一个实施例中,确定待执行的第一播放任务之前还包括:
15.确定任务队列中的候选播放任务对应的候选场景类型;
16.在不存在与候选场景类型匹配的播放器对象的情况下,创建与候选场景类型匹配的播放器对象,得到候选播放任务对应的播放器对象。
17.在其中一个实施例中,方法还包括:
18.在目标播放任务为第一播放任务的情况下,将第二播放任务对应的播放器对象挂起,并记录第二播放任务所指示播放的多媒体数据的播放进度信息;
19.在第一播放任务执行完毕之后,通过第二播放任务对应的播放器对象基于播放进度信息继续播放第二播放任务所指示播放的多媒体数据。
20.在其中一个实施例中,多媒体数据包括音频数据和视频数据;执行目标播放任务,以通过与目标播放任务对应创建的播放器对象播放目标播放任务所指示播放的多媒体数据,的步骤具体包括:
21.对目标播放任务指示播放的音频数据和视频数据进行解析,将解析后的音频数据和视频数据分别缓存至音频播放队列和视频播放队列;
22.通过与目标播放任务对应创建的播放器对象,对音频播放队列中的音频数据和视频播放队列中视频数据进行同步播放。
23.在其中一个实施例中,对目标播放任务指示播放的音频数据和视频数据进行解析,将解析后的音频数据和视频数据分别缓存至音频播放队列和视频播放队列,的步骤具体包括:
24.对目标播放任务指示播放的音频数据和视频数据进行解封装,将解封装后的音频数据和视频数据分别缓存至音频解码队列和视频解码队列;
25.对音频解码队列中的音频数据和视频解码队列中的视频数据进行解码,得到解码后的音频数据和视频数据;
26.对解码后的音频数据和视频数据添加时间戳,将添加时间戳的音频数据和视频数据分别缓存至音频播放队列和视频播放队列。
27.在其中一个实施例中,解析后的音频数据和视频数据均包括时间戳;通过与目标播放任务对应创建的播放器对象,对音频播放队列中的音频数据和视频播放队列中视频数据进行同步播放,的步骤具体包括:
28.通过与目标播放任务对应创建的播放器对象,按照预设视频播放速度播放视频播放队列中视频数据,并确定音频播放队列中待播放的音频数据;
29.在待播放的音频数据的时间戳与当前播放的视频数据的时间戳不一致的情况下,依据当前播放的视频数据的时间戳针对音频数据进行调整,使得待播放的音频数据的时间戳与当前播放的视频数据的时间戳一致,以同步播放音频数据和视频数据。
30.在其中一个实施例中,在待播放的音频数据的时间戳与当前播放的视频数据的时间戳不一致的情况下,依据当前播放的视频数据的时间戳针对音频数据进行调整,使得待播放的音频数据的时间戳与当前播放的视频数据的时间戳一致,以同步播放音频数据和视频数据,的步骤具体包括:
31.在待播放的音频数据的时间戳小于当前播放的视频数据的时间戳的情况下,执行增加音频数据播放速度或者进行音频数据跳帧播放中的至少一种处理,使得待播放的音频数据的时间戳与当前播放的视频数据的时间戳一致,以同步播放视频数据和音频数据;
32.在待播放的音频数据的时间戳大于当前播放的视频数据的时间戳的情况下,执行对音频数据进行填补的处理,使得待播放的音频数据的时间戳与当前播放的视频数据的时间戳一致,以同步播放视频数据和音频数据。
33.第二方面,本技术还提供了一种物联网操作系统的音视频处理装置。装置包括:
34.确定模块,用于确定待执行的第一播放任务;若存在正在执行的第二播放任务,则确定第一播放任务对应的第一场景类型和第二播放任务对应的第二场景类型;
35.优先级判定模块,用于根据第一场景类型和第二场景类型,确定第一播放任务和第二播放任务之间的场景优先级关系;基于场景优先级关系,从第一播放任务和第二播放任务中确定场景优先级较高的播放任务作为目标播放任务;
36.播放模块,用于执行目标播放任务,以通过与目标播放任务对应创建的播放器对象播放目标播放任务所指示播放的多媒体数据。
37.第三方面,本技术还提供了一种计算机设备。计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现本技术方法各实施例中的步骤。
38.第四方面,本技术还提供了一种计算机可读存储介质。计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本技术方法各实施例中的步骤。
39.第五方面,本技术还提供了一种计算机程序产品。计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本技术方法各实施例中的步骤。
40.上述物联网操作系统的音视频处理方法、装置、计算机设备、存储介质和计算机程序产品,确定待执行的第一播放任务,若存在正在执行的第二播放任务,则确定第一播放任务对应的第一场景类型和第二播放任务对应的第二场景类型;根据第一场景类型和第二场景类型,确定第一播放任务和第二播放任务之间的场景优先级关系,基于场景优先级关系,从第一播放任务和第二播放任务中确定场景优先级较高的播放任务作为目标播放任务,能够不固定地按照时间顺序在第二播放任务执行完毕之后再执行第一播放任务,而是执行优先级较高的目标播放任务,以通过与目标播放任务对应创建的播放器对象播放目标播放任务所指示播放的多媒体数据,能够适应播放任务创建较晚但场景较紧急的情况,提高了适应性。
附图说明
41.图1为一个实施例中物联网操作系统的音视频处理方法的流程示意图;
42.图2为一个实施例中解析音频数据和视频数据的流程示意图;
43.图3为一个实施例中对音频数据和视频数据进行同步播放的流程示意图;
44.图4为另一个实施例中物联网操作系统的音视频处理的简易流程示意图;
45.图5为一个实施例中物联网操作系统的音视频处理装置的结构框图;
46.图6为一个实施例中计算机设备的内部结构图。
具体实施方式
47.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
48.在一个实施例中,如图1所示,提供了一种物联网操作系统的音视频处理方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
49.s102,确定待执行的第一播放任务。
50.示例性地,终端可以响应于针对多媒体数据的选择操作,生成待执行的候选播放
任务。终端可以将候选播放任务关联候选场景类型后缓存至任务队列中。终端可以按照时间戳从任务队列中确定待执行的第一播放任务。
51.在一个实施例中,终端可以展示多媒体数据的选择界面,获取用户在选择界面中的选择操作。
52.在一个实施例中,终端可以在将候选播放任务缓存至任务队列的过程中,对候选播放任务标记时间戳。终端可以依据时间戳确定最先缓存至任务队列中的第一播放任务,并解析第一播放任务关联的第一场景类型及第一场景类型下的多媒体数据。
53.在一个实施例中,终端可以是用于控制多个物联网设备的物联网网关。比如,在智能家居场景下,终端可以是控制多个智能家居设备的智能中控设备。可以理解,智能中控设备中部署有智能物联网操作系统。
54.在一个实施例中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备、智能中控屏幕等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
55.s104,若存在正在执行的第二播放任务,则确定所述第一播放任务对应的第一场景类型和所述第二播放任务对应的第二场景类型。
56.其中,场景类型对应于智能家居场景下需要播放多媒体数据的场景。可以理解,每一场景类型对应于一种智能家居场景。
57.示例性地,若存在正在执行的第二播放任务,则终端可以确定所述第一播放任务关联的第一场景类型和第二播放任务关联的第二场景类型。可以理解,终端中每一播放任务会关联相应的场景类型。
58.在一个实施例中,终端可以包括多个场景类型对应的场景程序。比如,对应于楼宇可视对讲类型,终端包括楼宇可视对讲程序。多媒体数据的选择界面中包括场景程序入口,终端可以响应于在多媒体数据的选择界面中针对场景程序入口的选择操作,生成待执行的候选播放任务。
59.在一个实施例中,场景类型可以包括音乐影视类型、智能语音控制类型、双向语音对讲类型、楼宇可视对讲类型或实时视频监控类型等类型中的至少一种。相应地,场景程序可以包括音乐影视程序、智能语音控制程序、双向语音对讲程序、楼宇可视对讲程序或实时视频监控程序等程序中的至少一种。
60.在一个实施例中,终端可以通过播放任务管理单元将候选播放任务关联候选场景类型后缓存至任务队列中。
61.s106,根据所述第一场景类型和所述第二场景类型,确定所述第一播放任务和所述第二播放任务之间的场景优先级关系。
62.示例性地,终端可以包括预先设置的每一场景类型的优先级。终端可以通过比对第一场景类型的优先级和第二场景类型的优先级,确定第一播放任务和第二播放任务之间的场景优先级关系。
63.在一个实施例中,终端可以预先设置第一级楼宇可视对讲类型、第二级双向语音对讲类型、第三级实时视频监控类型、第四级智能语音控制类型和第五级音乐影视类型。可以理解,楼宇可视对讲类型的优先级最高,音乐影视类型的优先级最低。
64.s108,基于所述场景优先级关系,从所述第一播放任务和所述第二播放任务中确定场景优先级较高的播放任务作为目标播放任务。
65.其中,场景优先级关系用于指示播放任务对应的场景优先级高低。场景优先级对应于场景类型的优先级,播放任务场景优先级越高,越需要被优先执行。
66.示例性地,终端可以确定场景优先级关系指示的第一播放任务和第二播放任务中场景优先级较高的播放任务,得到目标播放任务。
67.s110,执行所述目标播放任务,以通过与所述目标播放任务对应创建的播放器对象播放所述目标播放任务所指示播放的多媒体数据。
68.其中,播放器对象是用于播放多媒体数据的对象。
69.示例性地,终端可以执行目标播放任务,并确定与目标播放任务对应创建的播放器对象以及目标播放任务所指示播放的多媒体数据。终端可以解析多媒体数据,并通过播放器对象播放解析后的多媒体数据。
70.在一个实施例中,每一场景类型对应于一种播放器对象。播放器对象可以包括音乐影视播放器对象、智能语音控制播放器对象、双向语音对讲播放器对象、楼宇可视对讲播放器对象或实时视频监控播放器对象等对象中的至少一种。
71.在一个实施例中,终端可以包括每一场景类型下的多媒体数据。终端可以确定目标播放任务对应的场景类型下的多媒体数据。
72.上述物联网操作系统的音视频处理方法中,确定待执行的第一播放任务;若存在正在执行的第二播放任务,则确定第一播放任务对应的第一场景类型和第二播放任务对应的第二场景类型;根据第一场景类型和第二场景类型,确定第一播放任务和第二播放任务之间的场景优先级关系;基于场景优先级关系,从第一播放任务和第二播放任务中确定场景优先级较高的播放任务作为目标播放任务,能够不固定地按照时间顺序在第二播放任务执行完毕之后再执行第一播放任务,而是执行优先级较高的目标播放任务,以通过与目标播放任务对应创建的播放器对象播放目标播放任务所指示播放的多媒体数据,能够适应播放任务创建较晚但场景较紧急的情况,提高了适应性。
73.在一个实施例中,s102,确定待执行的第一播放任务,的步骤具体包括:在任务队列中存在多个候选播放任务的情况下,根据各候选播放任务对应的候选场景类型,确定多个候选播放任务之间的场景优先级关系;根据多个候选播放任务之间的场景优先级关系,从多个候选播放任务中确定场景优先级最高的待执行的第一播放任务。
74.其中,候选播放任务是候选的待执行的播放任务。
75.示例性地,在任务队列中存在多个候选播放任务的情况下,终端可以通过比对各候选播放任务对应的候选场景类型的优先级,确定多个候选播放任务之间的场景优先级关系。可以理解,候选播放任务对应的候选场景类型的优先级越高则候选播放任务的场景优先级越高。终端可以确定多个候选播放任务之间的场景优先级关系指示的多个候选播放任务中场景优先级最高的待执行的第一播放任务。
76.在一个实施例中,终端可以通过场景策略管理单元依据候选播放任务的时间戳指示的顺序,从任务队列中读取候选播放任务。在读取到候选播放任务之后,终端可以通过场景策略管理单元解析候选播放任务关联的候选场景类型及相应候选场景类型下的多媒体数据。终端可以通过比对读取到的多个候选播放任务关联的候选场景类型的优先级,从中
确定出优先级最高的第一播放任务。
77.在一个实施例中,终端可以通过确定喇叭或麦克风的占用情况判断当前是否存在第二播放任务正在执行。
78.本实施例中,通过在任务队列中存在多个候选播放任务的情况下,从多个候选播放任务中确定场景优先级最高的待执行的第一播放任务,能够避免任务队列中存在比第一播放任务的场景优先级更高的候选播放任务,导致需要不断地重新执行优先级更高的候选播放任务的问题,减少计算资源的浪费。
79.在一个实施例中,s102,确定待执行的第一播放任务之前还包括:确定任务队列中的候选播放任务对应的候选场景类型;在不存在与候选场景类型匹配的播放器对象的情况下,创建与候选场景类型匹配的播放器对象,得到候选播放任务对应的播放器对象。
80.示例性地,终端可以确定任务队列中的候选播放任务对应的候选场景类型。在不存在与候选场景类型匹配的播放器对象的情况下,终端可以创建与候选场景类型匹配的播放器对象,得到候选播放任务对应的播放器对象。可以理解,正在执行的第二播放任务的场景类型可能与任务队列涉及到的候选场景类型一致,此时对于相应的候选播放任务无需创建播放器对象。
81.本实施例中,在不存在与候选场景类型匹配的播放器对象的情况下,创建与候选场景类型匹配的播放器对象,得到候选播放任务对应的播放器对象,后续能够通过播放器对象播放候选播放任务指示的多媒体数据,提高了适应性。
82.在一个实施例中,方法还包括:在目标播放任务为第一播放任务的情况下,将第二播放任务对应的播放器对象挂起,并记录第二播放任务所指示播放的多媒体数据的播放进度信息;在第一播放任务执行完毕之后,通过第二播放任务对应的播放器对象基于播放进度信息继续播放第二播放任务所指示播放的多媒体数据。
83.其中,播放进度信息用于指示多媒体数据的播放进展程度。
84.示例性地,在目标播放任务为第一播放任务的情况下,终端可以将第二播放任务对应的播放器对象挂起。可以理解,将播放器对象挂起相当于暂停执行第二播放任务,终端需要记录第二播放任务所指示播放的多媒体数据的播放进度信息。后续在第一播放任务执行完毕之后,终端可以确定播放进度信息指示的待播放的多媒体数据,并通过第二播放任务对应的播放器对象继续播放待播放的多媒体数据。
85.在一个实施例中,播放进度信息可以指示多媒体数据中的时间点。终端可以从播放进度信息指示的多媒体数据中的时间点开始,继续播放第二播放任务所指示播放的多媒体数据。可以理解,在场景优先级更高的第一播放任务执行完毕后能够恢复第二播放任务的执行状态。
86.在一个实施例中,在第二播放任务对应的播放器对象挂起的情况下,第二播放任务不再是正在执行的播放任务,实际上是待执行的播放任务。在第一播放任务执行完毕之后,终端可以将相应播放器对象挂起的第二播放任务作为待执行的候选播放任务,综合任务队列中的候选播放任务确定出场景优先级最高的待执行的第一播放任务。
87.本实施例中,在第一播放任务执行完毕之后,通过第二播放任务对应的播放器对象基于播放进度信息继续播放第二播放任务所指示播放的多媒体数据,能够避免播放任务播放暂停后,无法恢复原有播放状态的问题,提高了适应性。
88.在一个实施例中,多媒体数据包括音频数据和视频数据;s110,执行目标播放任务,以通过与目标播放任务对应创建的播放器对象播放目标播放任务所指示播放的多媒体数据,的步骤具体包括:对目标播放任务指示播放的音频数据和视频数据进行解析,将解析后的音频数据和视频数据分别缓存至音频播放队列和视频播放队列;通过与目标播放任务对应创建的播放器对象,对音频播放队列中的音频数据和视频播放队列中视频数据进行同步播放。
89.在一个实施例中,终端可以通过场景策略管理单元向播放管理单元发送播放操作命令,并通过播放管理单元响应播放操作指令对目标播放任务指示播放的音频数据和视频数据进行解析,将解析后的音频数据和视频数据分别缓存至音频播放队列和视频播放队列以及启用与目标播放任务对应创建的播放器对象,对音频播放队列中的音频数据和视频播放队列中视频数据进行同步播放。可以理解,播放管理单元用于创建、启用、挂起和停止播放器对象。
90.在一个实施例中,终端可以通过场景策略管理单元向播放管理单元发送播放操作命令,并通过播放管理单元执行目标播放任务,以通过与目标播放任务对应创建的播放器对象播放目标播放任务所指示播放的多媒体数据。
91.本实施例中,通过与目标播放任务对应创建的播放器对象,对音频播放队列中的音频数据和视频播放队列中视频数据进行同步播放,保证了视频数据和音频数据的同步播放。
92.在一个实施例中,如图2所示提供了解析音频数据和视频数据的流程示意图。对目标播放任务指示播放的音频数据和视频数据进行解析,将解析后的音频数据和视频数据分别缓存至音频播放队列和视频播放队列,的步骤具体包括:
93.s202,对目标播放任务指示播放的音频数据和视频数据进行解封装,将解封装后的音频数据和视频数据分别缓存至音频解码队列和视频解码队列。
94.示例性地,终端可以创建音频线程和视频线程。音频线程可以包括音频取流线程、音频解码线程和音频播放线程,视频线程可以包括视频取流线程、视频解码线程和视频播放线程。终端可以通过音频取流线程对音频数据进行解封装,得到解封装后的音频数据,并缓存到音频解码队列中。其中,解封装后的音频数据的格式可以包括g711、aac或mp3等格式的至少一种。终端可以通过视频取流线程对视频数据进行解封装,得到解封装后的视频数据,并缓存到视频解码队列中。解封装后的视频数据的格式可以包括h264、h265或mpeg等格式中的至少一种。其中,解封装后的视频数据和音频数据可以是流数据。
95.s204,对音频解码队列中的音频数据和视频解码队列中的视频数据进行解码,得到解码后的音频数据和视频数据。
96.示例性地,解封装后的音频数据和视频数据并未解码。终端可以通过音频解码线程从音频解码队列中读取解封装后的音频数据,并调用相应的音频解码器进行解码,得到解码后的音频数据。其中,解码后的音频数据可以是脉冲编码调制(pulse code modulation,pcm)格式的数据。终端可以通过视频解码线程从视频解码队列中读取解封装后的视频数据,调用相应视频解码器进行解码,得到解码后的视频数据。其中,解码后的视频数据可以是亮度色度编码格式(yuv)的视频数据。
97.s206,对解码后的音频数据和视频数据添加时间戳,将添加时间戳的音频数据和
视频数据分别缓存至音频播放队列和视频播放队列。
98.示例性地,终端可以在对解封装后的音频数据进行解码的过程中,读取当前系统时间为每一帧解码后的音频数据打入时间戳,并缓存到音频播放队列中。可以理解,时间戳用于后续音视频同步播放采用。终端可以在对解封装后的视频数据进行解码的过程中,读取当前系统时间为每一帧视频数据打入时间戳,并缓存到视频播放队列中。
99.在一个实施例中,终端可以通过音频播放线程从音频播放队列中读取待播放的音频数据,依据音频数据的时间戳调用音视频同步单元使得当前播放的视频数据与待播放的音频数据的时间戳相匹配,以对音频数据和视频数据进行同步播放。其中,音视频同步单元用于同步播放音频数据和视频数据。可以理解,由于音频数据和视频数据大小不一样,编码格式不一样,因此解码速度也不一样,视频解码相对比较慢,如果视频数据解码完毕后立即播放,就会出现音频数据和视频数据播放不一致的情况,因此需要进行音视频同步处理。
100.在一个实施例中,在待播放的音频数据和当前播放的视频数据的时间戳不匹配的情况下,终端可以通过音视频同步单元对待播放的音频数据进行重采样,使得音频数据的时间戳与视频数据的时间戳对齐。终端可以调用系统音频接口将重采样后的音频数据输出到喇叭进行播放。
101.在一个实施例中,终端可以通过视频播放线程从视频播放队列中取出yuv格式的视频数据,将亮度色度格式(yuv)格式的视频数据转换成红绿蓝(rgb)格式的视频数据,并以预设视频播放速度播放,同时调用音视频同步模块单元更新当前播放的视频数据的时间戳,以便播放音频数据时进行比较,如果时间戳不匹配则进行同步播放处理。可以理解,终端会在播放前将yuv格式的视频数据先转换成rgb格式的视频数据,并根据终端的显示屏分辨率对rgb格式的视频数据进行调整之后在显示屏显示视频。
102.本实施例中,通过对解码后的音频数据和视频数据添加时间戳,将添加时间戳的音频数据和视频数据分别缓存至音频播放队列和视频播放队列,后续能够基于时间戳同步播放音频数据和视频数据。
103.在一个实施例中,解析后的音频数据和视频数据均包括时间戳;通过与目标播放任务对应创建的播放器对象,对音频播放队列中的音频数据和视频播放队列中视频数据进行同步播放,的步骤具体包括:通过与目标播放任务对应创建的播放器对象,按照预设视频播放速度播放视频播放队列中视频数据,并确定音频播放队列中待播放的音频数据;在待播放的音频数据的时间戳与当前播放的视频数据的时间戳不一致的情况下,依据当前播放的视频数据的时间戳针对音频数据进行调整,使得待播放的音频数据的时间戳与当前播放的视频数据的时间戳一致,以同步播放音频数据和视频数据。
104.在一个实施例中,如图3所示提供了对音频数据和视频数据进行同步播放的流程示意图。解析后的音频数据和视频数据均包括时间戳;通过与目标播放任务对应创建的播放器对象,对音频播放队列中的音频数据和视频播放队列中视频数据进行同步播放,的步骤具体包括:
105.s302,通过与目标播放任务对应创建的播放器对象,按照预设视频播放速度播放视频播放队列中视频数据,并确定音频播放队列中待播放的音频数据。
106.其中,预设视频播放速度指示了一定时间间隔需要播放的视频数据的帧数。比如,预设视频播放速度可以是每秒25帧。可以理解,后续可以预设视频播放速度为基准来同步
音频数据。
107.示例性地,终端可以启用与目标播放任务对应创建的播放器对象,并通过视频播放线程按照预设视频播放速度播放视频播放队列中视频数据,并通过音频播放线程确定音频播放队列中待播放的音频数据。
108.s304,在待播放的音频数据的时间戳小于当前播放的视频数据的时间戳的情况下,执行增加音频数据播放速度或者进行音频数据跳帧播放中的至少一种处理,使得待播放的音频数据的时间戳与当前播放的视频数据的时间戳一致,以同步播放视频数据和音频数据。
109.示例性地,终端可以通过音视频同步单元比对音频数据和视频数据的时间戳。可以理解,终端在播放音频数据时会比对当前播放的视频数据的时间戳,在待播放的音频数据的时间戳与当前播放的视频数据的时间戳不匹配的情况下,对音频数据和视频数据进行同步播放处理。比如,在待播放的音频数据的时间戳小于当前播放的视频数据的时间戳的情况下,终端可以执行增加音频数据播放速度或者进行音频数据跳帧播放中的至少一种处理。可以理解,增加音频数据播放速度实际上加快播放音频数据,使得音频数据的时间戳能够与视频数据的时间戳对齐。进行音频数据跳帧播放实际上是丢弃或不播放部分音频数据,使得音频数据的时间戳能够与视频数据的时间戳对齐。
110.s306,在待播放的音频数据的时间戳大于当前播放的视频数据的时间戳的情况下,执行对音频数据进行填补的处理,使得待播放的音频数据的时间戳与当前播放的视频数据的时间戳一致,以同步播放视频数据和音频数据。
111.示例性地,在待播放的音频数据的时间戳大于当前播放的视频数据的时间戳的情况下,终端可以通过音视频同步单元执行对音频数据进行填补空白音频数据的处理。可以理解,填补空白音频数据相当于静音播放,只播放视频。在其他实施例中,终端可以通过音视频同步单元暂停播放音频数据,直至待播放的音频数据的时间戳与当前播放的视频数据的时间戳对齐。
112.本实施例中,在待播放的音频数据的时间戳小于当前播放的视频数据的时间戳的情况下,执行增加音频数据播放速度或者进行音频数据跳帧播放中的至少一种处理;在待播放的音频数据的时间戳大于当前播放的视频数据的时间戳的情况下,执行对音频数据进行填补的处理,在不同情况下都能够对齐待播放的音频数据和当前播放的视频数据,保证视频数据和音频数据的同步播放。
113.在一个实施例中,如图4所示提供了物联网操作系统的音视频处理的简易流程示意图。终端可以预先设置楼宇可视对讲类型、双向语音对讲类型、实时视频监控类型、智能语音控制类型和音乐影视类型等场景类型的优先级。用户可以在终端提供的选择界面中对场景程序入口进行选择操作,终端可以生成播放任务,并通过播放任务管理单元将播放任务关联被选择的场景程序对应的场景类型后缓存至任务队列中。终端可以通过场景策略单元按照时间戳从任务队列中读取候选播放任务以确定待执行的第一播放任务,以及从第一播放任务和第二播放任务中确定场景优先级较高的目标播放任务。在目标播放任务为第一播放任务的情况下,终端可以通过播放管理单元对目标播放任务指示播放的音频数据和视频数据分别进行解封装,得到解封装后的音频数据和解封装后的视频数据,并对解封装后的音频数据和解封装后的视频数据进行解码,得到解码后的音频数据和解码后的视频数
据。终端可以通过音视频同步单元播放音频数据和播放视频数据,使得解码后的音频数据和解码后的视频数据能同步播放。
114.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
115.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的物联网操作系统的音视频处理方法的物联网操作系统的音视频处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个物联网操作系统的音视频处理装置实施例中的具体限定可以参见上文中对于物联网操作系统的音视频处理方法的限定,在此不再赘述。
116.在一个实施例中,如图5所示,提供了一种物联网操作系统的音视频处理装置500,包括:确定模块502、优先级判定模块504和播放模块506,其中:
117.确定模块502,用于确定待执行的第一播放任务;若存在正在执行的第二播放任务,则确定第一播放任务对应的第一场景类型和第二播放任务对应的第二场景类型。
118.优先级判定模块504,用于根据第一场景类型和第二场景类型,确定第一播放任务和第二播放任务之间的场景优先级关系;基于场景优先级关系,从第一播放任务和第二播放任务中确定场景优先级较高的播放任务作为目标播放任务。
119.播放模块506,用于执行目标播放任务,以通过与目标播放任务对应创建的播放器对象播放目标播放任务所指示播放的多媒体数据。
120.在一个实施例中,确定模块502,用于在任务队列中存在多个候选播放任务的情况下,根据各候选播放任务对应的候选场景类型,确定多个候选播放任务之间的场景优先级关系;根据多个候选播放任务之间的场景优先级关系,从多个候选播放任务中确定场景优先级最高的待执行的第一播放任务。
121.在一个实施例中,确定模块502,用于确定任务队列中的候选播放任务对应的候选场景类型;在不存在与候选场景类型匹配的播放器对象的情况下,创建与候选场景类型匹配的播放器对象,得到候选播放任务对应的播放器对象。
122.在一个实施例中,播放模块506,用于在目标播放任务为第一播放任务的情况下,将第二播放任务对应的播放器对象挂起,并记录第二播放任务所指示播放的多媒体数据的播放进度信息;在第一播放任务执行完毕之后,通过第二播放任务对应的播放器对象基于播放进度信息继续播放第二播放任务所指示播放的多媒体数据。
123.在一个实施例中,多媒体数据包括音频数据和视频数据;播放模块506,用于对目标播放任务指示播放的音频数据和视频数据进行解析,将解析后的音频数据和视频数据分别缓存至音频播放队列和视频播放队列;通过与目标播放任务对应创建的播放器对象,对音频播放队列中的音频数据和视频播放队列中视频数据进行同步播放。
124.在一个实施例中,播放模块506,用于对目标播放任务指示播放的音频数据和视频
数据进行解封装,将解封装后的音频数据和视频数据分别缓存至音频解码队列和视频解码队列;对音频解码队列中的音频数据和视频解码队列中的视频数据进行解码,得到解码后的音频数据和视频数据;对解码后的音频数据和视频数据添加时间戳,将添加时间戳的音频数据和视频数据分别缓存至音频播放队列和视频播放队列。
125.在一个实施例中,解析后的音频数据和视频数据均包括时间戳;播放模块506,用于通过与目标播放任务对应创建的播放器对象,按照预设视频播放速度播放视频播放队列中视频数据,并确定音频播放队列中待播放的音频数据;在待播放的音频数据的时间戳与当前播放的视频数据的时间戳不一致的情况下,依据当前播放的视频数据的时间戳针对音频数据进行调整,使得待播放的音频数据的时间戳与当前播放的视频数据的时间戳一致,以同步播放音频数据和视频数据。
126.在一个实施例中,播放模块506,用于在待播放的音频数据的时间戳小于当前播放的视频数据的时间戳的情况下,执行增加音频数据播放速度或者进行音频数据跳帧播放中的至少一种处理,使得待播放的音频数据的时间戳与当前播放的视频数据的时间戳一致,以同步播放视频数据和音频数据;在待播放的音频数据的时间戳大于当前播放的视频数据的时间戳的情况下,执行对音频数据进行填补的处理,使得待播放的音频数据的时间戳与当前播放的视频数据的时间戳一致,以同步播放视频数据和音频数据。
127.上述物联网操作系统的音视频处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
128.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种物联网操作系统的音视频处理方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
129.本领域技术人员可以理解,图6中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
130.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
131.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算
机程序被处理器执行时实现上述各方法实施例中的步骤。
132.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
133.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
134.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
135.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1