CN115604238A - 物联网操作系统的音视频处理方法、装置、设备和介质 - Google Patents

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

Info

Publication number
CN115604238A
CN115604238A CN202211156910.XA CN202211156910A CN115604238A CN 115604238 A CN115604238 A CN 115604238A CN 202211156910 A CN202211156910 A CN 202211156910A CN 115604238 A CN115604238 A CN 115604238A
Authority
CN
China
Prior art keywords
playing
task
video
audio
data
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
CN202211156910.XA
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.)
Shenzhen Oribo Technology Co Ltd
Original Assignee
Shenzhen Oribo 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 Shenzhen Oribo Technology Co Ltd filed Critical Shenzhen Oribo Technology Co Ltd
Priority to CN202211156910.XA priority Critical patent/CN115604238A/zh
Publication of CN115604238A publication Critical patent/CN115604238A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本申请涉及一种物联网操作系统的音视频处理方法、装置、设备和介质。所述方法包括:确定待执行的第一播放任务;若存在正在执行的第二播放任务,则确定所述第一播放任务对应的第一场景类型和所述第二播放任务对应的第二场景类型;根据所述第一场景类型和所述第二场景类型,确定所述第一播放任务和所述第二播放任务之间的场景优先级关系;基于所述场景优先级关系,从所述第一播放任务和所述第二播放任务中确定场景优先级较高的播放任务作为目标播放任务;执行所述目标播放任务,以通过与所述目标播放任务对应创建的播放器对象播放所述目标播放任务所指示播放的多媒体数据。采用本方法能够提高音视频处理的适应性。

Description

物联网操作系统的音视频处理方法、装置、设备和介质
技术领域
本申请涉及物联网技术领域,特别是涉及一种物联网操作系统的音视频处理方法、装置、设备和介质。
背景技术
随着物联网技术的迅速发展,智能家居正一步一步的走进人们的生活,越来越多的人开始关注智能家居。智能家居正是物联化的产物,家中的各种家居设备通过物联网技术连接到一起,在家庭物理场景下,实现物物相连,统一由一个智能中控设备来控制。
传统方法中,智能中控设备只能按照时间顺序对播放任务进行播放处理,对于不同的家庭物理场景来说,仅单独按照时间对播放任务进行播放处理的方式适应性差。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高适应性的物联网操作系统的音视频处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种物联网操作系统的音视频处理方法。方法包括:
确定待执行的第一播放任务;
若存在正在执行的第二播放任务,则确定第一播放任务对应的第一场景类型和第二播放任务对应的第二场景类型;
根据第一场景类型和第二场景类型,确定第一播放任务和第二播放任务之间的场景优先级关系;
基于场景优先级关系,从第一播放任务和第二播放任务中确定场景优先级较高的播放任务作为目标播放任务;
执行目标播放任务,以通过与目标播放任务对应创建的播放器对象播放目标播放任务所指示播放的多媒体数据。
在其中一个实施例中,确定待执行的第一播放任务,的步骤具体包括:
在任务队列中存在多个候选播放任务的情况下,根据各候选播放任务对应的候选场景类型,确定多个候选播放任务之间的场景优先级关系;
根据多个候选播放任务之间的场景优先级关系,从多个候选播放任务中确定场景优先级最高的待执行的第一播放任务。
在其中一个实施例中,确定待执行的第一播放任务之前还包括:
确定任务队列中的候选播放任务对应的候选场景类型;
在不存在与候选场景类型匹配的播放器对象的情况下,创建与候选场景类型匹配的播放器对象,得到候选播放任务对应的播放器对象。
在其中一个实施例中,方法还包括:
在目标播放任务为第一播放任务的情况下,将第二播放任务对应的播放器对象挂起,并记录第二播放任务所指示播放的多媒体数据的播放进度信息;
在第一播放任务执行完毕之后,通过第二播放任务对应的播放器对象基于播放进度信息继续播放第二播放任务所指示播放的多媒体数据。
在其中一个实施例中,多媒体数据包括音频数据和视频数据;执行目标播放任务,以通过与目标播放任务对应创建的播放器对象播放目标播放任务所指示播放的多媒体数据,的步骤具体包括:
对目标播放任务指示播放的音频数据和视频数据进行解析,将解析后的音频数据和视频数据分别缓存至音频播放队列和视频播放队列;
通过与目标播放任务对应创建的播放器对象,对音频播放队列中的音频数据和视频播放队列中视频数据进行同步播放。
在其中一个实施例中,对目标播放任务指示播放的音频数据和视频数据进行解析,将解析后的音频数据和视频数据分别缓存至音频播放队列和视频播放队列,的步骤具体包括:
对目标播放任务指示播放的音频数据和视频数据进行解封装,将解封装后的音频数据和视频数据分别缓存至音频解码队列和视频解码队列;
对音频解码队列中的音频数据和视频解码队列中的视频数据进行解码,得到解码后的音频数据和视频数据;
对解码后的音频数据和视频数据添加时间戳,将添加时间戳的音频数据和视频数据分别缓存至音频播放队列和视频播放队列。
在其中一个实施例中,解析后的音频数据和视频数据均包括时间戳;通过与目标播放任务对应创建的播放器对象,对音频播放队列中的音频数据和视频播放队列中视频数据进行同步播放,的步骤具体包括:
通过与目标播放任务对应创建的播放器对象,按照预设视频播放速度播放视频播放队列中视频数据,并确定音频播放队列中待播放的音频数据;
在待播放的音频数据的时间戳与当前播放的视频数据的时间戳不一致的情况下,依据当前播放的视频数据的时间戳针对音频数据进行调整,使得待播放的音频数据的时间戳与当前播放的视频数据的时间戳一致,以同步播放音频数据和视频数据。
在其中一个实施例中,在待播放的音频数据的时间戳与当前播放的视频数据的时间戳不一致的情况下,依据当前播放的视频数据的时间戳针对音频数据进行调整,使得待播放的音频数据的时间戳与当前播放的视频数据的时间戳一致,以同步播放音频数据和视频数据,的步骤具体包括:
在待播放的音频数据的时间戳小于当前播放的视频数据的时间戳的情况下,执行增加音频数据播放速度或者进行音频数据跳帧播放中的至少一种处理,使得待播放的音频数据的时间戳与当前播放的视频数据的时间戳一致,以同步播放视频数据和音频数据;
在待播放的音频数据的时间戳大于当前播放的视频数据的时间戳的情况下,执行对音频数据进行填补的处理,使得待播放的音频数据的时间戳与当前播放的视频数据的时间戳一致,以同步播放视频数据和音频数据。
第二方面,本申请还提供了一种物联网操作系统的音视频处理装置。装置包括:
确定模块,用于确定待执行的第一播放任务;若存在正在执行的第二播放任务,则确定第一播放任务对应的第一场景类型和第二播放任务对应的第二场景类型;
优先级判定模块,用于根据第一场景类型和第二场景类型,确定第一播放任务和第二播放任务之间的场景优先级关系;基于场景优先级关系,从第一播放任务和第二播放任务中确定场景优先级较高的播放任务作为目标播放任务;
播放模块,用于执行目标播放任务,以通过与目标播放任务对应创建的播放器对象播放目标播放任务所指示播放的多媒体数据。
第三方面,本申请还提供了一种计算机设备。计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现本申请方法各实施例中的步骤。
第四方面,本申请还提供了一种计算机可读存储介质。计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请方法各实施例中的步骤。
第五方面,本申请还提供了一种计算机程序产品。计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本申请方法各实施例中的步骤。
上述物联网操作系统的音视频处理方法、装置、计算机设备、存储介质和计算机程序产品,确定待执行的第一播放任务,若存在正在执行的第二播放任务,则确定第一播放任务对应的第一场景类型和第二播放任务对应的第二场景类型;根据第一场景类型和第二场景类型,确定第一播放任务和第二播放任务之间的场景优先级关系,基于场景优先级关系,从第一播放任务和第二播放任务中确定场景优先级较高的播放任务作为目标播放任务,能够不固定地按照时间顺序在第二播放任务执行完毕之后再执行第一播放任务,而是执行优先级较高的目标播放任务,以通过与目标播放任务对应创建的播放器对象播放目标播放任务所指示播放的多媒体数据,能够适应播放任务创建较晚但场景较紧急的情况,提高了适应性。
附图说明
图1为一个实施例中物联网操作系统的音视频处理方法的流程示意图;
图2为一个实施例中解析音频数据和视频数据的流程示意图;
图3为一个实施例中对音频数据和视频数据进行同步播放的流程示意图;
图4为另一个实施例中物联网操作系统的音视频处理的简易流程示意图;
图5为一个实施例中物联网操作系统的音视频处理装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种物联网操作系统的音视频处理方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
S102,确定待执行的第一播放任务。
示例性地,终端可以响应于针对多媒体数据的选择操作,生成待执行的候选播放任务。终端可以将候选播放任务关联候选场景类型后缓存至任务队列中。终端可以按照时间戳从任务队列中确定待执行的第一播放任务。
在一个实施例中,终端可以展示多媒体数据的选择界面,获取用户在选择界面中的选择操作。
在一个实施例中,终端可以在将候选播放任务缓存至任务队列的过程中,对候选播放任务标记时间戳。终端可以依据时间戳确定最先缓存至任务队列中的第一播放任务,并解析第一播放任务关联的第一场景类型及第一场景类型下的多媒体数据。
在一个实施例中,终端可以是用于控制多个物联网设备的物联网网关。比如,在智能家居场景下,终端可以是控制多个智能家居设备的智能中控设备。可以理解,智能中控设备中部署有智能物联网操作系统。
在一个实施例中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备、智能中控屏幕等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
S104,若存在正在执行的第二播放任务,则确定所述第一播放任务对应的第一场景类型和所述第二播放任务对应的第二场景类型。
其中,场景类型对应于智能家居场景下需要播放多媒体数据的场景。可以理解,每一场景类型对应于一种智能家居场景。
示例性地,若存在正在执行的第二播放任务,则终端可以确定所述第一播放任务关联的第一场景类型和第二播放任务关联的第二场景类型。可以理解,终端中每一播放任务会关联相应的场景类型。
在一个实施例中,终端可以包括多个场景类型对应的场景程序。比如,对应于楼宇可视对讲类型,终端包括楼宇可视对讲程序。多媒体数据的选择界面中包括场景程序入口,终端可以响应于在多媒体数据的选择界面中针对场景程序入口的选择操作,生成待执行的候选播放任务。
在一个实施例中,场景类型可以包括音乐影视类型、智能语音控制类型、双向语音对讲类型、楼宇可视对讲类型或实时视频监控类型等类型中的至少一种。相应地,场景程序可以包括音乐影视程序、智能语音控制程序、双向语音对讲程序、楼宇可视对讲程序或实时视频监控程序等程序中的至少一种。
在一个实施例中,终端可以通过播放任务管理单元将候选播放任务关联候选场景类型后缓存至任务队列中。
S106,根据所述第一场景类型和所述第二场景类型,确定所述第一播放任务和所述第二播放任务之间的场景优先级关系。
示例性地,终端可以包括预先设置的每一场景类型的优先级。终端可以通过比对第一场景类型的优先级和第二场景类型的优先级,确定第一播放任务和第二播放任务之间的场景优先级关系。
在一个实施例中,终端可以预先设置第一级楼宇可视对讲类型、第二级双向语音对讲类型、第三级实时视频监控类型、第四级智能语音控制类型和第五级音乐影视类型。可以理解,楼宇可视对讲类型的优先级最高,音乐影视类型的优先级最低。
S108,基于所述场景优先级关系,从所述第一播放任务和所述第二播放任务中确定场景优先级较高的播放任务作为目标播放任务。
其中,场景优先级关系用于指示播放任务对应的场景优先级高低。场景优先级对应于场景类型的优先级,播放任务场景优先级越高,越需要被优先执行。
示例性地,终端可以确定场景优先级关系指示的第一播放任务和第二播放任务中场景优先级较高的播放任务,得到目标播放任务。
S110,执行所述目标播放任务,以通过与所述目标播放任务对应创建的播放器对象播放所述目标播放任务所指示播放的多媒体数据。
其中,播放器对象是用于播放多媒体数据的对象。
示例性地,终端可以执行目标播放任务,并确定与目标播放任务对应创建的播放器对象以及目标播放任务所指示播放的多媒体数据。终端可以解析多媒体数据,并通过播放器对象播放解析后的多媒体数据。
在一个实施例中,每一场景类型对应于一种播放器对象。播放器对象可以包括音乐影视播放器对象、智能语音控制播放器对象、双向语音对讲播放器对象、楼宇可视对讲播放器对象或实时视频监控播放器对象等对象中的至少一种。
在一个实施例中,终端可以包括每一场景类型下的多媒体数据。终端可以确定目标播放任务对应的场景类型下的多媒体数据。
上述物联网操作系统的音视频处理方法中,确定待执行的第一播放任务;若存在正在执行的第二播放任务,则确定第一播放任务对应的第一场景类型和第二播放任务对应的第二场景类型;根据第一场景类型和第二场景类型,确定第一播放任务和第二播放任务之间的场景优先级关系;基于场景优先级关系,从第一播放任务和第二播放任务中确定场景优先级较高的播放任务作为目标播放任务,能够不固定地按照时间顺序在第二播放任务执行完毕之后再执行第一播放任务,而是执行优先级较高的目标播放任务,以通过与目标播放任务对应创建的播放器对象播放目标播放任务所指示播放的多媒体数据,能够适应播放任务创建较晚但场景较紧急的情况,提高了适应性。
在一个实施例中,S102,确定待执行的第一播放任务,的步骤具体包括:在任务队列中存在多个候选播放任务的情况下,根据各候选播放任务对应的候选场景类型,确定多个候选播放任务之间的场景优先级关系;根据多个候选播放任务之间的场景优先级关系,从多个候选播放任务中确定场景优先级最高的待执行的第一播放任务。
其中,候选播放任务是候选的待执行的播放任务。
示例性地,在任务队列中存在多个候选播放任务的情况下,终端可以通过比对各候选播放任务对应的候选场景类型的优先级,确定多个候选播放任务之间的场景优先级关系。可以理解,候选播放任务对应的候选场景类型的优先级越高则候选播放任务的场景优先级越高。终端可以确定多个候选播放任务之间的场景优先级关系指示的多个候选播放任务中场景优先级最高的待执行的第一播放任务。
在一个实施例中,终端可以通过场景策略管理单元依据候选播放任务的时间戳指示的顺序,从任务队列中读取候选播放任务。在读取到候选播放任务之后,终端可以通过场景策略管理单元解析候选播放任务关联的候选场景类型及相应候选场景类型下的多媒体数据。终端可以通过比对读取到的多个候选播放任务关联的候选场景类型的优先级,从中确定出优先级最高的第一播放任务。
在一个实施例中,终端可以通过确定喇叭或麦克风的占用情况判断当前是否存在第二播放任务正在执行。
本实施例中,通过在任务队列中存在多个候选播放任务的情况下,从多个候选播放任务中确定场景优先级最高的待执行的第一播放任务,能够避免任务队列中存在比第一播放任务的场景优先级更高的候选播放任务,导致需要不断地重新执行优先级更高的候选播放任务的问题,减少计算资源的浪费。
在一个实施例中,S102,确定待执行的第一播放任务之前还包括:确定任务队列中的候选播放任务对应的候选场景类型;在不存在与候选场景类型匹配的播放器对象的情况下,创建与候选场景类型匹配的播放器对象,得到候选播放任务对应的播放器对象。
示例性地,终端可以确定任务队列中的候选播放任务对应的候选场景类型。在不存在与候选场景类型匹配的播放器对象的情况下,终端可以创建与候选场景类型匹配的播放器对象,得到候选播放任务对应的播放器对象。可以理解,正在执行的第二播放任务的场景类型可能与任务队列涉及到的候选场景类型一致,此时对于相应的候选播放任务无需创建播放器对象。
本实施例中,在不存在与候选场景类型匹配的播放器对象的情况下,创建与候选场景类型匹配的播放器对象,得到候选播放任务对应的播放器对象,后续能够通过播放器对象播放候选播放任务指示的多媒体数据,提高了适应性。
在一个实施例中,方法还包括:在目标播放任务为第一播放任务的情况下,将第二播放任务对应的播放器对象挂起,并记录第二播放任务所指示播放的多媒体数据的播放进度信息;在第一播放任务执行完毕之后,通过第二播放任务对应的播放器对象基于播放进度信息继续播放第二播放任务所指示播放的多媒体数据。
其中,播放进度信息用于指示多媒体数据的播放进展程度。
示例性地,在目标播放任务为第一播放任务的情况下,终端可以将第二播放任务对应的播放器对象挂起。可以理解,将播放器对象挂起相当于暂停执行第二播放任务,终端需要记录第二播放任务所指示播放的多媒体数据的播放进度信息。后续在第一播放任务执行完毕之后,终端可以确定播放进度信息指示的待播放的多媒体数据,并通过第二播放任务对应的播放器对象继续播放待播放的多媒体数据。
在一个实施例中,播放进度信息可以指示多媒体数据中的时间点。终端可以从播放进度信息指示的多媒体数据中的时间点开始,继续播放第二播放任务所指示播放的多媒体数据。可以理解,在场景优先级更高的第一播放任务执行完毕后能够恢复第二播放任务的执行状态。
在一个实施例中,在第二播放任务对应的播放器对象挂起的情况下,第二播放任务不再是正在执行的播放任务,实际上是待执行的播放任务。在第一播放任务执行完毕之后,终端可以将相应播放器对象挂起的第二播放任务作为待执行的候选播放任务,综合任务队列中的候选播放任务确定出场景优先级最高的待执行的第一播放任务。
本实施例中,在第一播放任务执行完毕之后,通过第二播放任务对应的播放器对象基于播放进度信息继续播放第二播放任务所指示播放的多媒体数据,能够避免播放任务播放暂停后,无法恢复原有播放状态的问题,提高了适应性。
在一个实施例中,多媒体数据包括音频数据和视频数据;S110,执行目标播放任务,以通过与目标播放任务对应创建的播放器对象播放目标播放任务所指示播放的多媒体数据,的步骤具体包括:对目标播放任务指示播放的音频数据和视频数据进行解析,将解析后的音频数据和视频数据分别缓存至音频播放队列和视频播放队列;通过与目标播放任务对应创建的播放器对象,对音频播放队列中的音频数据和视频播放队列中视频数据进行同步播放。
在一个实施例中,终端可以通过场景策略管理单元向播放管理单元发送播放操作命令,并通过播放管理单元响应播放操作指令对目标播放任务指示播放的音频数据和视频数据进行解析,将解析后的音频数据和视频数据分别缓存至音频播放队列和视频播放队列以及启用与目标播放任务对应创建的播放器对象,对音频播放队列中的音频数据和视频播放队列中视频数据进行同步播放。可以理解,播放管理单元用于创建、启用、挂起和停止播放器对象。
在一个实施例中,终端可以通过场景策略管理单元向播放管理单元发送播放操作命令,并通过播放管理单元执行目标播放任务,以通过与目标播放任务对应创建的播放器对象播放目标播放任务所指示播放的多媒体数据。
本实施例中,通过与目标播放任务对应创建的播放器对象,对音频播放队列中的音频数据和视频播放队列中视频数据进行同步播放,保证了视频数据和音频数据的同步播放。
在一个实施例中,如图2所示提供了解析音频数据和视频数据的流程示意图。对目标播放任务指示播放的音频数据和视频数据进行解析,将解析后的音频数据和视频数据分别缓存至音频播放队列和视频播放队列,的步骤具体包括:
S202,对目标播放任务指示播放的音频数据和视频数据进行解封装,将解封装后的音频数据和视频数据分别缓存至音频解码队列和视频解码队列。
示例性地,终端可以创建音频线程和视频线程。音频线程可以包括音频取流线程、音频解码线程和音频播放线程,视频线程可以包括视频取流线程、视频解码线程和视频播放线程。终端可以通过音频取流线程对音频数据进行解封装,得到解封装后的音频数据,并缓存到音频解码队列中。其中,解封装后的音频数据的格式可以包括G711、AAC或MP3等格式的至少一种。终端可以通过视频取流线程对视频数据进行解封装,得到解封装后的视频数据,并缓存到视频解码队列中。解封装后的视频数据的格式可以包括H264、H265或MPEG等格式中的至少一种。其中,解封装后的视频数据和音频数据可以是流数据。
S204,对音频解码队列中的音频数据和视频解码队列中的视频数据进行解码,得到解码后的音频数据和视频数据。
示例性地,解封装后的音频数据和视频数据并未解码。终端可以通过音频解码线程从音频解码队列中读取解封装后的音频数据,并调用相应的音频解码器进行解码,得到解码后的音频数据。其中,解码后的音频数据可以是脉冲编码调制(Pulse CodeModulation,PCM)格式的数据。终端可以通过视频解码线程从视频解码队列中读取解封装后的视频数据,调用相应视频解码器进行解码,得到解码后的视频数据。其中,解码后的视频数据可以是亮度色度编码格式(YUV)的视频数据。
S206,对解码后的音频数据和视频数据添加时间戳,将添加时间戳的音频数据和视频数据分别缓存至音频播放队列和视频播放队列。
示例性地,终端可以在对解封装后的音频数据进行解码的过程中,读取当前系统时间为每一帧解码后的音频数据打入时间戳,并缓存到音频播放队列中。可以理解,时间戳用于后续音视频同步播放采用。终端可以在对解封装后的视频数据进行解码的过程中,读取当前系统时间为每一帧视频数据打入时间戳,并缓存到视频播放队列中。
在一个实施例中,终端可以通过音频播放线程从音频播放队列中读取待播放的音频数据,依据音频数据的时间戳调用音视频同步单元使得当前播放的视频数据与待播放的音频数据的时间戳相匹配,以对音频数据和视频数据进行同步播放。其中,音视频同步单元用于同步播放音频数据和视频数据。可以理解,由于音频数据和视频数据大小不一样,编码格式不一样,因此解码速度也不一样,视频解码相对比较慢,如果视频数据解码完毕后立即播放,就会出现音频数据和视频数据播放不一致的情况,因此需要进行音视频同步处理。
在一个实施例中,在待播放的音频数据和当前播放的视频数据的时间戳不匹配的情况下,终端可以通过音视频同步单元对待播放的音频数据进行重采样,使得音频数据的时间戳与视频数据的时间戳对齐。终端可以调用系统音频接口将重采样后的音频数据输出到喇叭进行播放。
在一个实施例中,终端可以通过视频播放线程从视频播放队列中取出YUV格式的视频数据,将亮度色度格式(YUV)格式的视频数据转换成红绿蓝(RGB)格式的视频数据,并以预设视频播放速度播放,同时调用音视频同步模块单元更新当前播放的视频数据的时间戳,以便播放音频数据时进行比较,如果时间戳不匹配则进行同步播放处理。可以理解,终端会在播放前将YUV格式的视频数据先转换成RGB格式的视频数据,并根据终端的显示屏分辨率对RGB格式的视频数据进行调整之后在显示屏显示视频。
本实施例中,通过对解码后的音频数据和视频数据添加时间戳,将添加时间戳的音频数据和视频数据分别缓存至音频播放队列和视频播放队列,后续能够基于时间戳同步播放音频数据和视频数据。
在一个实施例中,解析后的音频数据和视频数据均包括时间戳;通过与目标播放任务对应创建的播放器对象,对音频播放队列中的音频数据和视频播放队列中视频数据进行同步播放,的步骤具体包括:通过与目标播放任务对应创建的播放器对象,按照预设视频播放速度播放视频播放队列中视频数据,并确定音频播放队列中待播放的音频数据;在待播放的音频数据的时间戳与当前播放的视频数据的时间戳不一致的情况下,依据当前播放的视频数据的时间戳针对音频数据进行调整,使得待播放的音频数据的时间戳与当前播放的视频数据的时间戳一致,以同步播放音频数据和视频数据。
在一个实施例中,如图3所示提供了对音频数据和视频数据进行同步播放的流程示意图。解析后的音频数据和视频数据均包括时间戳;通过与目标播放任务对应创建的播放器对象,对音频播放队列中的音频数据和视频播放队列中视频数据进行同步播放,的步骤具体包括:
S302,通过与目标播放任务对应创建的播放器对象,按照预设视频播放速度播放视频播放队列中视频数据,并确定音频播放队列中待播放的音频数据。
其中,预设视频播放速度指示了一定时间间隔需要播放的视频数据的帧数。比如,预设视频播放速度可以是每秒25帧。可以理解,后续可以预设视频播放速度为基准来同步音频数据。
示例性地,终端可以启用与目标播放任务对应创建的播放器对象,并通过视频播放线程按照预设视频播放速度播放视频播放队列中视频数据,并通过音频播放线程确定音频播放队列中待播放的音频数据。
S304,在待播放的音频数据的时间戳小于当前播放的视频数据的时间戳的情况下,执行增加音频数据播放速度或者进行音频数据跳帧播放中的至少一种处理,使得待播放的音频数据的时间戳与当前播放的视频数据的时间戳一致,以同步播放视频数据和音频数据。
示例性地,终端可以通过音视频同步单元比对音频数据和视频数据的时间戳。可以理解,终端在播放音频数据时会比对当前播放的视频数据的时间戳,在待播放的音频数据的时间戳与当前播放的视频数据的时间戳不匹配的情况下,对音频数据和视频数据进行同步播放处理。比如,在待播放的音频数据的时间戳小于当前播放的视频数据的时间戳的情况下,终端可以执行增加音频数据播放速度或者进行音频数据跳帧播放中的至少一种处理。可以理解,增加音频数据播放速度实际上加快播放音频数据,使得音频数据的时间戳能够与视频数据的时间戳对齐。进行音频数据跳帧播放实际上是丢弃或不播放部分音频数据,使得音频数据的时间戳能够与视频数据的时间戳对齐。
S306,在待播放的音频数据的时间戳大于当前播放的视频数据的时间戳的情况下,执行对音频数据进行填补的处理,使得待播放的音频数据的时间戳与当前播放的视频数据的时间戳一致,以同步播放视频数据和音频数据。
示例性地,在待播放的音频数据的时间戳大于当前播放的视频数据的时间戳的情况下,终端可以通过音视频同步单元执行对音频数据进行填补空白音频数据的处理。可以理解,填补空白音频数据相当于静音播放,只播放视频。在其他实施例中,终端可以通过音视频同步单元暂停播放音频数据,直至待播放的音频数据的时间戳与当前播放的视频数据的时间戳对齐。
本实施例中,在待播放的音频数据的时间戳小于当前播放的视频数据的时间戳的情况下,执行增加音频数据播放速度或者进行音频数据跳帧播放中的至少一种处理;在待播放的音频数据的时间戳大于当前播放的视频数据的时间戳的情况下,执行对音频数据进行填补的处理,在不同情况下都能够对齐待播放的音频数据和当前播放的视频数据,保证视频数据和音频数据的同步播放。
在一个实施例中,如图4所示提供了物联网操作系统的音视频处理的简易流程示意图。终端可以预先设置楼宇可视对讲类型、双向语音对讲类型、实时视频监控类型、智能语音控制类型和音乐影视类型等场景类型的优先级。用户可以在终端提供的选择界面中对场景程序入口进行选择操作,终端可以生成播放任务,并通过播放任务管理单元将播放任务关联被选择的场景程序对应的场景类型后缓存至任务队列中。终端可以通过场景策略单元按照时间戳从任务队列中读取候选播放任务以确定待执行的第一播放任务,以及从第一播放任务和第二播放任务中确定场景优先级较高的目标播放任务。在目标播放任务为第一播放任务的情况下,终端可以通过播放管理单元对目标播放任务指示播放的音频数据和视频数据分别进行解封装,得到解封装后的音频数据和解封装后的视频数据,并对解封装后的音频数据和解封装后的视频数据进行解码,得到解码后的音频数据和解码后的视频数据。终端可以通过音视频同步单元播放音频数据和播放视频数据,使得解码后的音频数据和解码后的视频数据能同步播放。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的物联网操作系统的音视频处理方法的物联网操作系统的音视频处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个物联网操作系统的音视频处理装置实施例中的具体限定可以参见上文中对于物联网操作系统的音视频处理方法的限定,在此不再赘述。
在一个实施例中,如图5所示,提供了一种物联网操作系统的音视频处理装置500,包括:确定模块502、优先级判定模块504和播放模块506,其中:
确定模块502,用于确定待执行的第一播放任务;若存在正在执行的第二播放任务,则确定第一播放任务对应的第一场景类型和第二播放任务对应的第二场景类型。
优先级判定模块504,用于根据第一场景类型和第二场景类型,确定第一播放任务和第二播放任务之间的场景优先级关系;基于场景优先级关系,从第一播放任务和第二播放任务中确定场景优先级较高的播放任务作为目标播放任务。
播放模块506,用于执行目标播放任务,以通过与目标播放任务对应创建的播放器对象播放目标播放任务所指示播放的多媒体数据。
在一个实施例中,确定模块502,用于在任务队列中存在多个候选播放任务的情况下,根据各候选播放任务对应的候选场景类型,确定多个候选播放任务之间的场景优先级关系;根据多个候选播放任务之间的场景优先级关系,从多个候选播放任务中确定场景优先级最高的待执行的第一播放任务。
在一个实施例中,确定模块502,用于确定任务队列中的候选播放任务对应的候选场景类型;在不存在与候选场景类型匹配的播放器对象的情况下,创建与候选场景类型匹配的播放器对象,得到候选播放任务对应的播放器对象。
在一个实施例中,播放模块506,用于在目标播放任务为第一播放任务的情况下,将第二播放任务对应的播放器对象挂起,并记录第二播放任务所指示播放的多媒体数据的播放进度信息;在第一播放任务执行完毕之后,通过第二播放任务对应的播放器对象基于播放进度信息继续播放第二播放任务所指示播放的多媒体数据。
在一个实施例中,多媒体数据包括音频数据和视频数据;播放模块506,用于对目标播放任务指示播放的音频数据和视频数据进行解析,将解析后的音频数据和视频数据分别缓存至音频播放队列和视频播放队列;通过与目标播放任务对应创建的播放器对象,对音频播放队列中的音频数据和视频播放队列中视频数据进行同步播放。
在一个实施例中,播放模块506,用于对目标播放任务指示播放的音频数据和视频数据进行解封装,将解封装后的音频数据和视频数据分别缓存至音频解码队列和视频解码队列;对音频解码队列中的音频数据和视频解码队列中的视频数据进行解码,得到解码后的音频数据和视频数据;对解码后的音频数据和视频数据添加时间戳,将添加时间戳的音频数据和视频数据分别缓存至音频播放队列和视频播放队列。
在一个实施例中,解析后的音频数据和视频数据均包括时间戳;播放模块506,用于通过与目标播放任务对应创建的播放器对象,按照预设视频播放速度播放视频播放队列中视频数据,并确定音频播放队列中待播放的音频数据;在待播放的音频数据的时间戳与当前播放的视频数据的时间戳不一致的情况下,依据当前播放的视频数据的时间戳针对音频数据进行调整,使得待播放的音频数据的时间戳与当前播放的视频数据的时间戳一致,以同步播放音频数据和视频数据。
在一个实施例中,播放模块506,用于在待播放的音频数据的时间戳小于当前播放的视频数据的时间戳的情况下,执行增加音频数据播放速度或者进行音频数据跳帧播放中的至少一种处理,使得待播放的音频数据的时间戳与当前播放的视频数据的时间戳一致,以同步播放视频数据和音频数据;在待播放的音频数据的时间戳大于当前播放的视频数据的时间戳的情况下,执行对音频数据进行填补的处理,使得待播放的音频数据的时间戳与当前播放的视频数据的时间戳一致,以同步播放视频数据和音频数据。
上述物联网操作系统的音视频处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种物联网操作系统的音视频处理方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,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 RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种物联网操作系统的音视频处理方法,其特征在于,所述方法包括:
确定待执行的第一播放任务;
若存在正在执行的第二播放任务,则确定所述第一播放任务对应的第一场景类型和所述第二播放任务对应的第二场景类型;
根据所述第一场景类型和所述第二场景类型,确定所述第一播放任务和所述第二播放任务之间的场景优先级关系;
基于所述场景优先级关系,从所述第一播放任务和所述第二播放任务中确定场景优先级较高的播放任务作为目标播放任务;
执行所述目标播放任务,以通过与所述目标播放任务对应创建的播放器对象播放所述目标播放任务所指示播放的多媒体数据。
2.根据权利要求1所述的方法,其特征在于,所述确定待执行的第一播放任务,的步骤具体包括:
在任务队列中存在多个候选播放任务的情况下,根据各所述候选播放任务对应的候选场景类型,确定多个所述候选播放任务之间的场景优先级关系;
根据多个所述候选播放任务之间的场景优先级关系,从多个所述候选播放任务中确定场景优先级最高的待执行的第一播放任务。
3.根据权利要求1所述的方法,其特征在于,所述确定待执行的第一播放任务之前还包括:
确定任务队列中的候选播放任务对应的候选场景类型;
在不存在与所述候选场景类型匹配的播放器对象的情况下,创建与所述候选场景类型匹配的播放器对象,得到所述候选播放任务对应的播放器对象。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述目标播放任务为所述第一播放任务的情况下,将所述第二播放任务对应的播放器对象挂起,并记录所述第二播放任务所指示播放的多媒体数据的播放进度信息;
在所述第一播放任务执行完毕之后,通过所述第二播放任务对应的播放器对象基于所述播放进度信息继续播放所述第二播放任务所指示播放的多媒体数据。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述多媒体数据包括音频数据和视频数据;所述执行所述目标播放任务,以通过与所述目标播放任务对应创建的播放器对象播放所述目标播放任务所指示播放的多媒体数据,的步骤具体包括:
对所述目标播放任务指示播放的音频数据和视频数据进行解析,将解析后的音频数据和视频数据分别缓存至音频播放队列和视频播放队列;
通过与所述目标播放任务对应创建的播放器对象,对所述音频播放队列中的音频数据和所述视频播放队列中视频数据进行同步播放。
6.根据权利要求5所述的方法,其特征在于,所述对所述目标播放任务指示播放的音频数据和视频数据进行解析,将解析后的音频数据和视频数据分别缓存至音频播放队列和视频播放队列,的步骤具体包括:
对所述目标播放任务指示播放的音频数据和视频数据进行解封装,将解封装后的音频数据和视频数据分别缓存至音频解码队列和视频解码队列;
对所述音频解码队列中的音频数据和所述视频解码队列中的视频数据进行解码,得到解码后的音频数据和视频数据;
对解码后的音频数据和视频数据添加时间戳,将添加时间戳的音频数据和视频数据分别缓存至音频播放队列和视频播放队列。
7.根据权利要求5所述的方法,其特征在于,解析后的音频数据和视频数据均包括时间戳;所述通过与所述目标播放任务对应创建的播放器对象,对所述音频播放队列中的音频数据和所述视频播放队列中视频数据进行同步播放,的步骤具体包括:
通过与所述目标播放任务对应创建的播放器对象,按照预设视频播放速度播放视频播放队列中视频数据,并确定音频播放队列中待播放的音频数据;
在待播放的音频数据的时间戳小于当前播放的视频数据的时间戳的情况下,执行增加音频数据播放速度或者进行音频数据跳帧播放中的至少一种处理,使得待播放的音频数据的时间戳与当前播放的视频数据的时间戳一致,以同步播放视频数据和音频数据;
在待播放的音频数据的时间戳大于当前播放的视频数据的时间戳的情况下,执行对音频数据进行填补的处理,使得待播放的音频数据的时间戳与当前播放的视频数据的时间戳一致,以同步播放视频数据和音频数据。
8.一种物联网操作系统的音视频处理装置,其特征在于,所述装置包括:
确定模块,用于确定待执行的第一播放任务;若存在正在执行的第二播放任务,则确定所述第一播放任务对应的第一场景类型和所述第二播放任务对应的第二场景类型;
优先级判定模块,用于根据所述第一场景类型和所述第二场景类型,确定所述第一播放任务和所述第二播放任务之间的场景优先级关系;基于所述场景优先级关系,从所述第一播放任务和所述第二播放任务中确定场景优先级较高的播放任务作为目标播放任务;
播放模块,用于执行所述目标播放任务,以通过与所述目标播放任务对应创建的播放器对象播放所述目标播放任务所指示播放的多媒体数据。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202211156910.XA 2022-09-22 2022-09-22 物联网操作系统的音视频处理方法、装置、设备和介质 Pending CN115604238A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211156910.XA CN115604238A (zh) 2022-09-22 2022-09-22 物联网操作系统的音视频处理方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211156910.XA CN115604238A (zh) 2022-09-22 2022-09-22 物联网操作系统的音视频处理方法、装置、设备和介质

Publications (1)

Publication Number Publication Date
CN115604238A true CN115604238A (zh) 2023-01-13

Family

ID=84845850

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211156910.XA Pending CN115604238A (zh) 2022-09-22 2022-09-22 物联网操作系统的音视频处理方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN115604238A (zh)

Similar Documents

Publication Publication Date Title
US11336953B2 (en) Video processing method, electronic device, and computer-readable medium
TWI502977B (zh) 影音播放裝置、影音處理裝置、系統以及方法
WO2013082965A1 (zh) 流媒体数据处理方法及装置、流媒体数据再现设备
CN111669645B (zh) 视频的播放方法、装置、电子设备及存储介质
WO2020155964A1 (zh) 音视频的切换方法、装置、计算机设备及可读存储介质
US20100199151A1 (en) System and method for producing importance rate-based rich media, and server applied to the same
KR20180069576A (ko) 영상제공장치, 그의 제어 방법 및 영상제공시스템
CN102904857A (zh) 客户端视频播放系统及其方法
CN114040251A (zh) 音视频播放方法、系统、存储介质及计算机程序产品
CN103795973A (zh) 用于非实时操作系统中的音频/视频同步的抖动取消
US20210400334A1 (en) Method and apparatus for loop-playing video content
KR20140117889A (ko) 클라이언트 장치, 서버 장치, 멀티미디어 리디렉션 시스템 및 그 방법
CN115604238A (zh) 物联网操作系统的音视频处理方法、装置、设备和介质
WO2022193141A1 (zh) 多媒体文件的播放方法及相关装置
US20240073415A1 (en) Encoding Method, Electronic Device, Communication System, Storage Medium, and Program Product
US11799943B2 (en) Method and apparatus for supporting preroll and midroll during media streaming and playback
US11588870B2 (en) W3C media extensions for processing DASH and CMAF inband events along with media using process@append and process@play mode
US11838602B2 (en) MPD chaining in a live CMAF/DASH player using W3C media source and encrypted extensions
US11973820B2 (en) Method and apparatus for mpeg dash to support preroll and midroll content during media playback
US9386059B2 (en) Apparatus and method for providing time shift function in cloud computing system
US20230224557A1 (en) Auxiliary mpds for mpeg dash to support prerolls, midrolls and endrolls with stacking properties
CN117979086A (zh) 一种播放方法、装置和电子设备
CN117692681A (zh) 视频流播放方法、装置、设备及可读存储介质
CN112804549A (zh) 直播数据处理方法及设备
CN117834982A (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