CN106657090B - 一种多媒体流的处理方法、装置和嵌入式设备 - Google Patents
一种多媒体流的处理方法、装置和嵌入式设备 Download PDFInfo
- Publication number
- CN106657090B CN106657090B CN201611235499.XA CN201611235499A CN106657090B CN 106657090 B CN106657090 B CN 106657090B CN 201611235499 A CN201611235499 A CN 201611235499A CN 106657090 B CN106657090 B CN 106657090B
- Authority
- CN
- China
- Prior art keywords
- stream
- multimedia
- packaging
- audio
- format
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2387—Stream processing in response to a playback request from an end-user, e.g. for trick-play
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例公开了一种多媒体流的处理方法、装置和嵌入式设备。所述方法包括:根据封装要求确定多媒体流数量和预设封装格式,对相应封装格式的编码组件模板进行配置,以获得对应的编码组件实例;将输入的多媒体流,输入至所述编码组件实例进行所述预设封装格式的封装;输出具有所述预设封装格式的多媒体流。本发明实施例的技术方案解决了现有的音视频混流打包的管理方式,只支持单路音视频流的处理或者仅支持对音视频流进行单一封装格式的处理逻辑,直接增添多路或多种格式的封装打包往往会使系统逻辑变得复杂的技术问题,实现了简单、高效将音视频流混流生成满足需求的多媒体文件的技术效果。
Description
技术领域
本发明实施例涉及信息处理技术,尤其涉及一种多媒体流的处理方法、装置和嵌入式设备。
背景技术
近几年来,随着IP(Internet Protocol,网际协议)网络的快速发展,视频监控行业进入了全网络化时代,网络摄像机、以及NVR(Network Video Recorder,网络硬盘录像机)产品的应用也越来越广泛。
上述产品一般有两大主要功能:实时播放和录像。录像一般都会挂载一张SD Card(Secure Digital Memory Card,安全数字存储卡)或者其他存储设备中,用来保存大量的音视频数据。保存在SD卡中的视频文件,通常会用来做视频回放,这就需要对音视频流打包封装成多媒体文件,以提供给客户端或者移动应用程序的播放器播放。在一些场景下需要同时将多路网络摄像头拍摄的录音录像打包封装成多媒体文件;在另一些场景下可能需要将有价值的录音录像片段通过网络上传到云服务器中,再下载到客户端,同时又需要支持通过点播或者直播的形式在移动设备上查看录像文件,这就避免不了对音视频混流封装成多个格式的多媒体文件,如FLV(Flash Video,流媒体格式)、MP4(Moving Picture ExpertsGroup 4,动态图像专家组)、TS(transport stream,传送流)或PS(Program Stream,节目流)等格式。
现有的音视频混流打包的管理方式,只支持单路音视频流的处理或者仅支持对音视频流进行单一封装格式的处理逻辑,直接增添多路或多种格式的封装打包往往会使系统逻辑变得复杂,且容易出现问题。此外扩展性也差,增加新的功能的时候,代码改动量大。由于代码臃肿,也使后期的维护成本很高。
发明内容
本发明实施例提供一种多媒体流的处理方法、装置和嵌入式设备,以实现简单、高效将音视频流混流生成满足设定封装需求的多媒体文件。
第一方面,本发明实施例提供了一种多媒体流的处理方法,该方法包括:
根据封装要求确定多媒体流数量和预设封装格式,对相应封装格式的编码组件模板进行配置,以获得对应的编码组件实例;
将输入的多媒体流,输入至所述编码组件实例进行所述预设封装格式的封装;
输出具有所述预设封装格式的多媒体流。
第二方面,本发明实施例还提供了一种多媒体流的处理装置,该装置包括:
编码组件实例获取模块,用于根据封装要求确定多媒体流数量和预设封装格式,对相应封装格式的编码组件模板进行配置,以获得对应的编码组件实例;
多媒体流封装模块,用于将输入的多媒体流,输入至所述编码组件实例进行所述预设封装格式的封装;
多媒体流输出模块,用于输出具有所述预设封装格式的多媒体流。
第三方面,本发明实施例还提供了一种嵌入式设备,包括:本发明实施例所述的多媒体流的处理装置。
本发明实施例根据封装要求确定多媒体流数量和预设封装格式,对相应封装格式的编码组件模板进行配置,以获得对应的编码组件实例;将输入的多媒体流,输入至所述编码组件实例进行所述预设封装格式的封装;输出具有所述预设封装格式的多媒体流,解决了现有的音视频混流打包的管理方式,只支持单路音视频流的处理或者仅支持对音视频流进行单一封装格式的处理逻辑,直接增添多路或多种格式的封装打包往往会使系统逻辑变得复杂的技术问题,实现了简单、高效将音视频流混流生成满足需求的多媒体文件的技术效果。
附图说明
图1是本发明实施例一中的一种多媒体流的处理方法的流程图;
图2a是本发明实施例二中的一种多媒体流的处理方法的流程图;
图2b是一种应用于本发明实施例二中的多媒体流的处理方法的编码组件模板的结构示意图;
图2c是一种应用于本发明实施例二中的多媒体流的处理方法的混流过滤器的功能示意图;
图2d是一种应用于本发明实施例二中的多媒体流的处理方法的优先级队列的功能示意图;
图3是本发明实施例三中的一种多媒体流的处理装置的结构图;
图4是本发明实施例四中的一种嵌入式设备的结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种多媒体流的处理方法的流程图,本实施例可适用于对音视频流进行混流封装的情况,该方法可以由多媒体流的处理装置来执行,该装置可通过软件,和/或硬件的方式实现,并一般可集成于完成音视频混流封装功能的硬件设备中(典型的,音视频复用器),所述方法具体包括如下步骤:
S110、根据封装要求确定多媒体流数量和预设封装格式,对相应封装格式的编码组件模板进行配置,以获得对应的编码组件实例。
在本实施例中,所述封装要求用于指明待处理的多媒体流数量,以及所述多媒体流的封装格式。
其中,所述多媒体流可以包括音视频流、也可以仅包括音频流或者视频流。所述多媒体流数量可以为一个或者多个。典型的,所述多媒体流可以为一个或者多个IP Camera(网络摄像头)采集的音视频流。所述多媒体流的封装格式可以为一个,也可以为多个。其中,所述多媒体流的封装格式可以包括:RTP格式、TS格式、MP4格式或者FLV格式等多媒体文件封装格式。
相应的,根据封装要求确定多媒体流数量和预设封装格式可以包括:
如果接收到的封装要求中确定待处理的多媒体流为多个,或者预设封装格式有多个,则根据多媒体流的数量和/或预设封装格式的数量,将多媒体流复制生成多路多媒体流,以分别进行处理。
典型的,所述封装要求可以为对多路IP Camera采集的音视频流进行封装处理生成一种封装格式的多媒体文件的要求,或者对一路IP Camera采集的音视频流进行封装处理生成多种封装格式的多媒体文件的要求,或者对多路IP Camera采集的音视频流进行封装处理生成多种封装格式的多媒体文件的要求等。
所述编码组件模板具体是指预先编写的,用于将输入的音视频流编码为相应封装格式的多媒体文件的模板函数。其中,所述编码组件模板可以包括一个或者多个用于执行设定功能的模板函数,用于根据所述多媒体流数量和预设封装格式,生成相应的编码组件实例,以实现针对实际的封装要求,适应性生成相应的编码组件实例,以实现将输入的多媒体流封装为相应的封装格式。
其中,所述编码组件模板中包括与封装格式对应的至少两个编码程序模板,以实现生成至少两个封装格式的多媒体文件。
S120、将输入的多媒体流,输入至所述编码组件实例进行所述预设封装格式的封装。
如前所述,所述多媒体流具体是指一路或者多路音频流,和/或视频流。
所述编码组件实例中包括输入接口以及输出接口,用于将输入的所述多媒体流,进行所述预设封装格式的封装处理,以最终生成所述预设封装格式的多媒体流,即:RTP(Real-time Transport Protocol,实时传输协议)、TS、MP4或者FLV等格式的多媒体文件。
S130、输出具有所述预设封装格式的多媒体流。
本发明实施例根据封装要求确定多媒体流数量和预设封装格式,对相应封装格式的编码组件模板进行配置,以获得对应的编码组件实例;将输入的多媒体流,输入至所述编码组件实例进行所述预设封装格式的封装;输出具有所述预设封装格式的多媒体流,解决了现有的音视频混流打包的管理方式,只支持单路音视频流的处理或者仅支持对音视频流进行单一封装格式的处理逻辑,直接增添多路或多种格式的封装打包往往会使系统逻辑变得复杂的技术问题,实现了简单、高效将音视频流混流生成满足需求的多媒体文件的技术效果。
实施例二
图2a是本发明实施例二提供的一种多媒体流的处理方法的流程图,本实施例以上述实施例为基础进行优化,在本实施例中,将根据封装要求和预设封装格式,对相应封装格式的编码组件模板进行配置,以获得对应的编码组件实例具体优化为:根据封装要求和预设封装格式,对相应封装格式的音频编码组件模板、视频编码组件模板和混流组件模板分别进行配置,以获得对应的音频编码组件实例、视频编码组件实例和混流组件实例;
相应的,将输入的多媒体流,输入至所述编码组件实例进行所述预设封装格式的封装具体优化为:
将输入的多媒体流中的音频流,输入至所述音频编码组件实例进行封装,并输出至混流组件实例;将输入的多媒体流中的视频流,输入至所述视频编码组件实例进行封装,并输出至混流组件实例;通过所述混流组件实例,按照音频流和视频流中的时间戳,将音频流和视频流进行混流处理,形成具有预设封装格式的多媒体流。
相应的,本实施例的方法具体包括如下步骤:
S210、根据封装要求和预设封装格式,对相应封装格式的音频编码组件模板、视频编码组件模板和混流组件模板分别进行配置,以获得对应的音频编码组件实例、视频编码组件实例和混流组件实例。
可以理解的是,为了实现将输入的音视频流最终封装为相应封装格式的多媒体文件,需要首先将音频流以及视频流首先封装成适宜的音频格式以及视频格式。在一个具体例子中,如果需要最终生成的多媒体文件为MP4格式,则需要首先将输入的音频流封装为MP3格式。
相应的,为了便于程序代码的模块化处理,以及扩展,在本实施例中,将所述编码组件模板具体优化为:音频编码组件模板、视频编码组件模板和混流组件模板。
其中,所述音频编码组件模板,用于将输入的音频流封装为与封装要求对应的音频封装格式;所述视频编码组件模板,用于将输入的视频流封装为与封装要求对应的视频封装格式;所述混流模板组件,用于将所述通过所述音频编码组件模板以及所述视频编码组件模板输出的音视频流进行混流,以最终生成所述预设封装格式的多媒体流。
S220、将输入的多媒体流中的音频流,输入至所述音频编码组件实例进行封装,并输出至混流组件实例。
在本实施例的一个可选的实施方式中,将输入的多媒体流中的音频流,输入至所述音频编码组件实例进行封装,可以包括:
通过所述音频编码组件实例,获取设定大小(典型的,1kb(千字节)或者2kb等)的音频流,在预存的音频编码格式集中获取与封装要求对应的音频编码格式对所述音频流进行封装。
其中,所述音频编码格式集预存在所述音频编码组件模板(实例)中,包括有至少两个音频编码格式等的编码算法以实现对输入的音频流进行相应音频编码格式的封装,典型的所述音频编码格式可以包括:MP3、WAV(Windows Media Audio,微软媒体音频)以及AAC(Advanced Audio Coding高级音频编码)等。
S230、将输入的多媒体流中的视频流,输入至所述视频编码组件实例进行封装,并输出至混流组件实例。
S240、通过所述混流组件实例,按照音频流和视频流中的时间戳,将音频流和视频流进行混流处理,形成具有预设封装格式的多媒体流。
在本实施例的一个可选的实施方式中,通过所述混流组件实例,按照音频流和视频流中的时间戳,将音频流和视频流进行混流处理,形成具有预设封装格式的多媒体流,可以包括:
通过所述混流组件实例,获取与预设封装格式对应的参数配置信息,根据所述参数配置信息创建相应的多媒体容器,并将混流处理的所述音频流和视频流写入所述多媒体容器中,形成具有预设封装格式的多媒体流。
进一步的,在所述混流组件模板中还可以包括有扩展接口,用于支持对至少一个新增封装格式的扩展。
S250、输出具有所述预设封装格式的多媒体流。
本发明实施例的技术方案通过将输入的多媒体流中的音频流,输入至所述音频编码组件实例进行封装,并输出至混流组件实例;将输入的多媒体流中的视频流,输入至所述视频编码组件实例进行封装,并输出至混流组件实例;通过所述混流组件实例,按照音频流和视频流中的时间戳,将音频流和视频流进行混流处理,形成具有预设封装格式的多媒体流,可以提高了现有的多媒体流处理方法的可扩展性,当增加新的封装格式或者多媒体流的数量时,仅需要对音频编码组件模板、视频编码组件模板和混流组件模板进行适应性配置即可,不需要另外开发数据的读写、管理接口等,减少了大量的系统逻辑,提高代码的稳定性,给程序瘦身,减少软件维护成本。
在图2b是一种应用于本发明实施例二中的多媒体流的处理方法的编码组件模板的结构示意图。如图2b所示,所述编码组件模板主体架构以记录引擎管理器(也可称为Record Engine Manager)为中心管理引擎,音频输入过滤器(也可称为Audio InputFilter),用于获取设定大小(典型的,1kb(千字节)或者2kb等)的音频流,音频编码过滤器(也可称为Audio Encode Filter)用于将在预存的音频编码格式集中获取与封装要求对应的音频编码格式对所述音频流进行封装,其中,所述音频输入过滤器以及音频编码过滤器共同构成音频编码组件模板;视频编码过滤器(也可称为Video Encode Filter)构成音频编码组件模板,用于输出设定视频编码格式的视频流。
混流过滤器(也可称为Muxer Filters),用于将输入的一个或者多个音视频流(在图2b中仅示出一个音视频输入)组合成一个单独的数据流(即:预设封装格式的多媒体流,或者多媒体文件),混流配置过滤器(也可称为Muxer Config Filters)用于存储音视频编码,和/或混流格式的参数配置信息,混流控制过滤器(也可称为Muxer Control Filter)用于控制整个流程的开始,结束等操作,同时支持设定数据库(典型的,sqllite数据库)的管理。其中,混流过滤器、混流配置过滤器以及混流控制过滤器共同构成混流组件模板。
可选的,所述记录引擎管理器是主体,用来控制所有的过滤器,主要有以下的功能:用来管理协调不同过滤器之间的状态改变,从而使记录引擎管理器中的所有的过滤器的状态的改变应该一致,将过滤器的消息通知返回给主程序。
过滤器是每个工作阶段,每个过滤器拥有唯一的身份标识号,每一个过滤器都一个其他的一个或者两个过滤器相连接。通过标识出一个过滤器的输入过滤器,和/或输出过滤器的身份标识,可以实现将多媒体流从一个过滤器传输至另一个过滤器,进而实现多媒体流在由过滤器组成的链表中流动。
一个过滤器可以有一个或者多个输入接口、以及一个或者多个输出接口,具体的接口数量取决于过滤器的功能。多媒体流在一个方向传播,即从音频编码过滤器,和/或视频编码过滤器流入混流过滤器。
一个过滤器在获取音视频流并进行相应处理后,通过其输出接口发送处理后的音视频流到该过滤器连接的下一个过滤器的输入接口。下一个过滤器进行相应处理后,发送到下一个过滤器,如此类推。最终各个过滤器实现将输入的音视频数据封装为预设封装格式的多媒体文件。
图2c是一种应用于本发明实施例二中的多媒体流的处理方法的混流过滤器的功能示意图,如图2c所示,所述混流过滤器的工作流程包括:
创建一路或者多路音频编码过滤器或者视频编码过滤器,以记录引擎管理器为时钟基准,将相匹配的音频编码过滤器以及视频编码过滤器输入的音频流以及视频流加上同步时间戳,同时,音频编码过滤器将音频流转换为预设的音频编码格式(例如:G711或者AAC)等。
相应的,通过音频编码过滤器输出的混流输入音频流以及通过视频编码过滤器输出的混流输入视频流被输入至混流过滤器中。
混流过滤器内部将音频流以及视频流送入优先级队列(也可称为PriorityQueue)中,优先级队列将音视频流按帧时间戳重新排序,输出时间戳最小的帧数据;流控制器(也称为stream control)收到开始混流的消息后,读取优先级队列中的数据并以第一帧数据为时钟基准计算打包时间,并将音视频流分发到混流核心器中,混流核心器为所有多媒体容器的管理者,通过混流配置过滤器传送的配置参数,混流核心器创建对应的多媒体容器(例如,MP4容器),并将音视频流写入到所建立的容器中,并按照配置进行自动分片,同时支持动态的分片,保证了在对不同场景下录像需求。这样基本完成一个完整的工作流程。
扩展方面,混流核心器导出了扩展接口,如果想加入新的媒体容器(例如,AVI格式)的封装,在AVI库中实现扩展接口后,即可加入到混流核心器中,实现一个新的容器的扩展,同时支持流的方式输出,比如RTP等。
多路复用方面,只需要创建多个(音频编码过滤器与视频编码过滤器)的输入,系统内部自动同步创建相应的其他过滤器将其对应连接起来完成封装打包。
另外,需要说明的是:音频编码过滤器以及视频编码过滤器并非一定要成对创建,可允许仅输入视频流或者音频流进行封装。
实施例三
在图3中示出了本发明实施例三提供的一种多媒体流的处理装置的结构图。如图3所示,所述装置包括:编码组件实例获取模块310、多媒体流封装模块320以及多媒体流输出模块330。
编码组件实例获取模块310,用于根据封装要求确定多媒体流数量和预设封装格式,对相应封装格式的编码组件模板进行配置,以获得对应的编码组件实例。
多媒体流封装模块320,用于将输入的多媒体流,输入至所述编码组件实例进行所述预设封装格式的封装。
多媒体流输出模块330,用于输出具有所述预设封装格式的多媒体流。
本发明实施例根据封装要求确定多媒体流数量和预设封装格式,对相应封装格式的编码组件模板进行配置,以获得对应的编码组件实例;将输入的多媒体流,输入至所述编码组件实例进行所述预设封装格式的封装;输出具有所述预设封装格式的多媒体流,解决了现有的音视频混流打包的管理方式,只支持单路音视频流的处理或者仅支持对音视频流进行单一封装格式的处理逻辑,直接增添多路或多种格式的封装打包往往会使系统逻辑变得复杂的技术问题,实现了简单、高效将音视频流混流生成满足需求的多媒体文件的技术效果。
在上述各实施例的基础上,编码组件实例获取模块,进一步可以用于:
根据封装要求和预设封装格式,对相应封装格式的音频编码组件模板、视频编码组件模板和混流组件模板分别进行配置,以获得对应的音频编码组件实例、视频编码组件实例和混流组件实例;
相应的,多媒体流封装模块,可以包括:
音频流封装单元,用于将输入的多媒体流中的音频流,输入至所述音频编码组件实例进行封装,并输出至混流组件实例;
视频流封装单元,用于将输入的多媒体流中的视频流,输入至所述视频编码组件实例进行封装,并输出至混流组件实例;
混流单元,用于通过所述混流组件实例,按照音频流和视频流中的时间戳,将音频流和视频流进行混流处理,形成具有预设封装格式的多媒体流。
在上述各实施例的基础上,编码组件实例获取模块可以用于:
如果接收到的封装要求中确定待处理的多媒体流为多个,或者预设封装格式有多个,则根据多媒体流的数量和/或预设封装格式的数量,将多媒体流复制生成多路多媒体流,以分别进行处理。
在上述各实施例的基础上,所述编码组件模板中可以包括与封装格式对应的至少两个编码程序模板。
在上述各实施例的基础上,所述混流单元,具体可以用于:
通过所述混流组件实例,获取与预设封装格式对应的参数配置信息,根据所述参数配置信息创建相应的多媒体容器,并将混流处理的所述音频流和视频流写入所述多媒体容器中,形成具有预设封装格式的多媒体流。
在上述各实施例的基础上,所述音频流封装单元,可以用于:通过所述音频编码组件实例,获取设定大小的音频流,在预存的音频编码格式集中获取与封装要求对应的音频编码格式对所述音频流进行封装。
在上述各实施例的基础上,在所述混流组件模板中包括有扩展接口,可以用于支持对至少一个新增封装格式的扩展。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
实施例四
在图4中示出了本发明实施例四提供的一种嵌入式设备的结构图。如图4所示,所述嵌入式设备包括:本发明任意实施例所述的多媒体流的处理装置410。
一般来说,嵌入式设备中可以运行的程序空间有限,无法引入大型的软件框架,现有技术中无法在嵌入式设备中实现多路多媒体流以及多种媒体容器来管理大量音视频文件或流的情况。在本实施例中,通过在嵌入式设备中引入本发明任意实施例所述的多媒体流的处理装置410,可以在有限的程序空间中,实现简单、高效的将多路音视频流混流生成满足需求的多路多媒体文件的技术效果,可维护性高、使用难度低以及可移植性好。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (6)
1.一种多媒体流的处理方法,其特征在于,包括:
根据封装要求和预设封装格式,对相应封装格式的音频编码组件模板、视频编码组件模板和混流组件模板分别进行配置,以获得对应的音频编码组件实例、视频编码组件实例和混流组件实例,在所述混流组件模板中包括有扩展接口,用于支持对至少一个新增封装格式的扩展;
相应的,将输入的多媒体流,输入至所述编码组件实例进行所述预设封装格式的封装包括:
将输入的多媒体流中的音频流,输入至所述音频编码组件实例进行封装,并输出至混流组件实例;
将输入的多媒体流中的视频流,输入至所述视频编码组件实例进行封装,并输出至混流组件实例;
通过所述混流组件实例,按照音频流和视频流中的时间戳,将音频流和视频流进行混流处理,形成具有预设封装格式的多媒体流;
将输入的多媒体流,输入至所述编码组件实例进行所述预设封装格式的封装;
输出具有所述预设封装格式的多媒体流;
其中,根据封装要求确定多媒体流数量和预设封装格式包括:
如果接收到的封装要求中确定待处理的多媒体流为多个,或者预设封装格式有多个,则根据多媒体流的数量和/或预设封装格式的数量,将多媒体流复制生成多路多媒体流,以分别进行处理。
2.根据权利要求1所述的方法,其特征在于:所述编码组件模板中包括与封装格式对应的至少两个编码程序模板。
3.根据权利要求1所述的方法,其特征在于,通过所述混流组件实例,按照音频流和视频流中的时间戳,将音频流和视频流进行混流处理,形成具有预设封装格式的多媒体流,包括:
通过所述混流组件实例,获取与预设封装格式对应的参数配置信息,根据所述参数配置信息创建相应的多媒体容器,并将混流处理的所述音频流和视频流写入所述多媒体容器中,形成具有预设封装格式的多媒体流。
4.根据权利要求1所述的方法,其特征在于,将输入的多媒体流中的音频流,输入至所述音频编码组件实例进行封装,包括:
通过所述音频编码组件实例,获取设定大小的音频流,在预存的音频编码格式集中获取与封装要求对应的音频编码格式对所述音频流进行封装。
5.一种多媒体流的处理装置,其特征在于,包括:
编码组件实例获取模块,用于根据封装要求确定多媒体流数量和预设封装格式,对相应封装格式的编码组件模板进行配置,以获得对应的编码组件实例;
编码组件实例获取模块,进一步用于:
根据封装要求和预设封装格式,对相应封装格式的音频编码组件模板、视频编码组件模板和混流组件模板分别进行配置,以获得对应的音频编码组件实例、视频编码组件实例和混流组件实例,所述混流组件模板中包括有扩展接口,可以用于支持对至少一个新增封装格式的扩展;
相应的,多媒体流封装模块,包括:
音频流封装单元,用于将输入的多媒体流中的音频流,输入至所述音频编码组件实例进行封装,并输出至混流组件实例;
视频流封装单元,用于将输入的多媒体流中的视频流,输入至所述视频编码组件实例进行封装,并输出至混流组件实例;
混流单元,用于通过所述混流组件实例,按照音频流和视频流中的时间戳,将音频流和视频流进行混流处理,形成具有预设封装格式的多媒体流;
多媒体流封装模块,用于将输入的多媒体流,输入至所述编码组件实例进行所述预设封装格式的封装;
多媒体流输出模块,用于输出具有所述预设封装格式的多媒体流;
其中,根据封装要求确定多媒体流数量和预设封装格式包括:
如果接收到的封装要求中确定待处理的多媒体流为多个,或者预设封装格式有多个,则根据多媒体流的数量和/或预设封装格式的数量,将多媒体流复制生成多路多媒体流,以分别进行处理。
6.一种嵌入式设备,其特征在于,包括:权利要求5所述的多媒体流的处理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611235499.XA CN106657090B (zh) | 2016-12-28 | 2016-12-28 | 一种多媒体流的处理方法、装置和嵌入式设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611235499.XA CN106657090B (zh) | 2016-12-28 | 2016-12-28 | 一种多媒体流的处理方法、装置和嵌入式设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106657090A CN106657090A (zh) | 2017-05-10 |
CN106657090B true CN106657090B (zh) | 2020-09-29 |
Family
ID=58831891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611235499.XA Active CN106657090B (zh) | 2016-12-28 | 2016-12-28 | 一种多媒体流的处理方法、装置和嵌入式设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106657090B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108989831A (zh) * | 2017-05-31 | 2018-12-11 | 北京视联动力国际信息技术有限公司 | 一种多码流的网络录制方法和装置 |
CN108174282A (zh) * | 2017-12-11 | 2018-06-15 | 北京潘达互娱科技有限公司 | 纠错方法、装置、电子设备和计算机存储介质 |
CN108347427B (zh) * | 2017-12-29 | 2021-04-02 | 中兴通讯股份有限公司 | 一种视频数据传输、处理方法、装置及终端、服务器 |
CN108449617B (zh) * | 2018-02-11 | 2020-04-03 | 浙江大华技术股份有限公司 | 一种控制音视频同步的方法及装置 |
CN111901692B (zh) * | 2020-08-06 | 2022-09-06 | 杭州当虹科技股份有限公司 | 一种基于多音视频流合成vr的系统 |
CN113905266B (zh) * | 2021-10-11 | 2024-04-30 | 杭州萤石软件有限公司 | 音视频数据的处理方法、装置、设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101399980B (zh) * | 2007-09-26 | 2011-04-06 | 华为技术有限公司 | 流媒体服务实现方法、系统和策略与控制服务器 |
CN102014262A (zh) * | 2010-10-27 | 2011-04-13 | 杭州海康威视软件有限公司 | 一种硬盘录像机、多媒体格式转换的系统及方法 |
CN102790906A (zh) * | 2012-08-28 | 2012-11-21 | 曙光信息产业(北京)有限公司 | 编解码系统和方法 |
CN102802022A (zh) * | 2012-08-28 | 2012-11-28 | 曙光信息产业(北京)有限公司 | 编解码系统和方法 |
US9420027B1 (en) * | 2015-04-27 | 2016-08-16 | Wowza Media Systems, LLC | Systems and methods of communicating platform-independent representation of source code |
-
2016
- 2016-12-28 CN CN201611235499.XA patent/CN106657090B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106657090A (zh) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106657090B (zh) | 一种多媒体流的处理方法、装置和嵌入式设备 | |
CN108989885B (zh) | 视频文件转码系统、分割方法、转码方法及装置 | |
CN110149518B (zh) | 媒体数据的处理方法、系统、装置、设备以及存储介质 | |
US11381885B2 (en) | Method and device for managing processing of media content, and computer-readable recording medium | |
KR101002886B1 (ko) | 멀티-미디어 신호들의 인코딩 | |
AU2014324536A1 (en) | Multiple data source aggregation for efficient synchronous multi-device media consumption | |
CN106063278A (zh) | 使用子组块化来对媒体流进行代码转换 | |
CN111182322B (zh) | 一种导播控制方法、装置、电子设备和存储介质 | |
CN104427259A (zh) | 视频音频特效实时播放方法及装置 | |
EP2870769B1 (en) | Simultaneous encoding and sending of a video data file | |
CN112309187A (zh) | 一种虚拟现实教学方法、装置及系统 | |
CN104506920A (zh) | 一种播放全媒体数据信息的方法及装置 | |
CN103905843A (zh) | 一种规避连续i帧的分布式音视频处理装置和处理方法 | |
WO2017071642A1 (zh) | 媒体播放方法、装置和计算机存储介质 | |
WO2015177799A2 (en) | A system and method to generate a video on the fly | |
US20140141875A1 (en) | Temporary modification for extending functionality of computer games and software applications. | |
CN107820111B (zh) | 信息设备 | |
CN113784094B (zh) | 视频数据处理方法、网关、终端设备及存储介质 | |
US8503985B1 (en) | Real-time remote storage | |
True et al. | COTS (commercial-off-the-shelf) platform for media production everywhere | |
CN104936016A (zh) | 一种视频文件切合方法及系统 | |
CN105302645A (zh) | 一种任务分发方法及装置 | |
WO2023273622A1 (zh) | 输出特效的运行数据的方法及装置 | |
KR102251148B1 (ko) | 오디오-비디오 동기화 처리 방법 | |
CN114598895B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |