音频视频编转码问题速查方法和系统与流程

文档序号:12136397阅读:338来源:国知局
音频视频编转码问题速查方法和系统与流程

本发明属于视频处理领域,特别涉及一种音频视频编转码问题速查方法和系统。



背景技术:

在音频视频编转码系统中,排查问题常用方法一般是通过运维人员现场抓取输入输出信号以及系统运行日志进行问题定位,并在问题定位后进一步通过改进部分模块用于输出更详细的信息或者采取进一步的实验以定位问题。如下方法:

从文件或流中读取数据;

将读取到的数据进行解封装,分离出的音频数据发送给音频解码器,分离出的视频数据发送给视频解码器;

音频解码器将收到的音频数据解码为音频解码数据;

视频解码器将收到的视频数据解码为图像数据;

将图像数据按照目标要求上变换或下变换为目标尺寸的图像;

将变换后的图像按照视频编码目标要求编码为相应的视频编码数据;

将音频解码数据按照音频编码目标要求编码为相应的音频编码数据;

将视频编码数据和音频编码数据进行交织化处理;

将交织后的数据写入目标文件或按目标协议发送。

在上述正常的视频编码活动中,往往存在7x24小时无间断的编码(如电视频道直播编码),在出现问题后进行排查时,因为来自文件或流的数据往往都已经不存在了,导致排查非常困难,往往只能根据大量的日志进行分析,而整个编转码的过程中的各种数据的变化并没有被记录下来往往又导致只靠日志分析很验证找到最终的原因。上述方法往往导致问题解决时间过长,有必要引入一种更进一步的方法来提高问题诊断的效率。



技术实现要素:

有鉴于此,本发明的目的在于提供一种高效的、逐帧逐数据地进行数据和内部状态变量对比,从而快速定位问题出现位置的音频视频编转码问题速查方法和系统。

为达到上述目的,本发明提供了一种音频视频编转码问题速查方法,包括以下步骤:

从文件或流中读取数据,进行第一处理而得到第一处理结果,将第一处理结果写入指定存储路径;

将第一处理结果进行第二处理,得到第二处理结果,将第二处理结果写入指定存储路径;

将第二处理结果进行第三处理,得到第三处理结果,将第三处理结果写入指定存储路径;

将第三处理结果进行第四处理,得到第四处理结果,将第四处理结果写入指定存储路径;

其中,第一处理、第二处理、第三处理和第四处理具有固定的内容收录周期和共同的诊断收录接口,在最近一个周期中的处理结果记录在存储介质中。

优选地,所述从文件或流中读取数据,进行第一处理而得到第一处理结果,将第一处理结果写入指定存储路径中,第一处理为对读取到的数据进行解封装,分离出的音频数据发送给音频解码器,分离出的视频数据发送给视频解码器;第一处理结果包括音频数据、视频数据,并且在第一处理中始终记录视频文件头和媒体协议头。

优选地,所述将第一处理结果进行第二处理,得到第二处理结果,将第二处理结果写入指定存储路径,第二处理为音频解码器将收到的音频数据解码为音频解码数据,视频解码器将收到的视频数据解码为图像数据;第二处理结果包括解码出来的音频解码数据、图像数据以及媒体信息。

优选地,所述将第二处理结果进行第三处理,得到第三处理结果,将第三处理结果写入指定存储路径,第三处理为视频解码器将收到的视频数据解码为图像数据,将图像数据按照目标要求上变换或下变换为目标尺寸的图像,将变换后的图像按照视频编码目标要求编码为相应的视频编码数据;将音频解码数据按照音频编码目标要求编码为相应的音频编码数据;第三处理结果包括解码出来的图像数据、上变换或下变换后的图像、编码后的视频编码数据、编码后的音频编码数据以及媒体信息。

优选地,所述将第三处理结果进行第四处理,得到第四处理结果,将第四处理结果写入指定存储路径,第四处理为将视频编码数据和音频编码数据进行交织化处理,将交织后的数据写入目标文件或按目标协议发送;第四处理结果包括交织化处理后的数据以及媒体信息。

优选地,所述媒体信息至少包括时间戳、数据大小和数据格式。

基于上述目的,本发明还提供了一种音频视频编转码问题速查系统,其特征在于,包括读取器、解复用器、视频解码器、音频解码器、视频转换器、视频编码器、音频编码器、多路复用器和写入器,其中:

所述读取器的输出与所述解复用器的输入连接,所述解复用器的输出与所述视频解码器的输入和所述音频解码器的输入分别连接,所述视频解码器的输出与所述视频转换器的输入连接,所述视频转换器的输出与所述视频编码器的输入连接,所述音频解码器的输出与所述音频编码器的输入连接,所述视频编码器的输出和所述音频编码器的输出均与所述多路复用器的输入连接,所述多路复用器的输出与所述写入器的输入连接;

所述读取器,用于从文件或流中读取数据;所述解复用器,用于进行第一处理而得到第一处理结果,将第一处理结果写入指定存储路径;

所述视频解码器和音频解码器,用于将第一处理结果进行第二处理,得到第二处理结果,将第二处理结果写入指定存储路径;

所述视频转换器、视频编码器和音频编码器,用于将第二处理结果进行第三处理,得到第三处理结果,将第三处理结果写入指定存储路径;

所述多路复用器和写入器,用于将第三处理结果进行第四处理,得到第四处理结果,将第四处理结果写入指定存储路径;

其中,第一处理、第二处理、第三处理和第四处理具有固定的内容收录周期和共同的诊断收录接口,在最近一个周期中的处理结果记录在存储介质中。

优选地,所述第一处理为对读取到的数据进行解封装,分离出的音频数据发送给音频解码器,分离出的视频数据发送给视频解码器;第一处理结果包括音频数据、视频数据,并且在第一处理中始终记录视频文件头和媒体协议头。

优选地,所述第二处理为音频解码器将收到的音频数据解码为音频解码数据,视频解码器将收到的视频数据解码为图像数据;第二处理结果包括解码出来的音频解码数据、图像数据以及媒体信息。

优选地,所述第三处理为视频解码器将收到的视频数据解码为图像数据,将图像数据按照目标要求上变换或下变换为目标尺寸的图像,将变换后的图像按照视频编码目标要求编码为相应的视频编码数据;将音频解码数据按照音频编码目标要求编码为相应的音频编码数据;第三处理结果包括解码出来的图像数据、上变换或下变换后的图像、编码后的视频编码数据、编码后的音频编码数据以及媒体信息。

优选地,所述第四处理为将视频编码数据和音频编码数据进行交织化处理,将交织后的数据写入目标文件或按目标协议发送;第四处理结果包括交织化处理后的数据以及媒体信息。

优选地,所述媒体信息至少包括时间戳、数据大小和数据格式。

本发明的有益效果在于:在一般音频视频编转码活动中,往往存在7x24小时无间断的编码(如电视频道直播编码),在出现问题后进行排查时,因为来自文件或流的数据往往都已经不存在了,导致排查非常困难,往往只能根据大量的日志进行分析,而整个编转码的过程中的各种数据的变化并没有被记录下来往往又导致只靠日志分析很验证找到最终的原因。因此,采用本发明的方法和系统,对系统中各部分的数据及元数据进行存储,结合日志可以进行非常高效的分析,进而提高了客户响应速度。

附图说明

为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:

图1为本发明方法实施例1的音频视频编转码问题速查方法步骤流程图;

图2为本发明方法实施例2的音频视频编转码问题速查方法步骤流程图;

图3为本发明系统实施例的音频视频编转码问题速查系统结构示意图。

具体实施方式

下面将结合附图,对本发明的优选实施例进行详细的描述。

实施例1

参见图1,所示为本发明方法实施例1的音频视频编转码问题速查方法步骤流程图,包括以下步骤:

S101,从文件或流中读取数据,进行第一处理而得到第一处理结果,将第一处理结果写入指定存储路径;

S102,将第一处理结果进行第二处理,得到第二处理结果,将第二处理结果写入指定存储路径;

S103,将第二处理结果进行第三处理,得到第三处理结果,将第三处理结果写入指定存储路径;

S104,将第三处理结果进行第四处理,得到第四处理结果,将第四处理结果写入指定存储路径;

其中,第一处理、第二处理、第三处理和第四处理具有固定的内容收录周期和共同的诊断收录接口,在最近一个周期中的处理结果记录在存储介质中。

实施例2

参见图2,所示为本发明方法实施例2的音频视频编转码问题速查方法步骤流程图,包括以下步骤:

S201,从文件或流中读取数据,将读取到的数据进行解封装,分离出的音频数据发送给音频解码器,分离出的视频数据发送给视频解码器,将读取到的数据和分离出音频数据、视频数据的媒体信息和媒体数据写入指定存储路径,并且始终记录视频文件头和媒体协议头;

S202,音频解码器将收到的音频数据解码为音频解码数据,将解码后音频解码数据和媒体信息写入指定存储路径;

S203,视频解码器将收到的视频数据解码为图像数据,将图像数据和媒体信息写入指定存储路径;

S204,将图像数据按照目标要求上变换或下变换为目标尺寸的图像,将上变换或下变换后的图像和媒体信息写入指定存储路径;

S205,将变换后的图像按照视频编码目标要求编码为相应的视频编码数据,将编码后的视频编码数据和媒体信息写入指定存储路径;

S206,将音频解码数据按照音频编码目标要求编码为相应的音频编码数据,将编码后的音频编码数据和媒体信息写入指定存储路径;

S207,将视频编码数据和音频编码数据进行交织化处理,将交织后的数据写入目标文件或按目标协议发送,将交织化处理后的数据以及媒体信息写入指定存储路径;

图像数据格式包括YUV格式和RGB格式;音频解码数据格式包括PCM格式;视频编码目标要求包括H.264和H.265;音频编码数据格式包括AAC和AC3格式。

目标要求指的是用户最终需要的视频文件所限定的参数,如视频格式、图像分辨率、码率、编码参数,音频格式、音频采样率、码率等。通过上述方法,当音频视频编转码系统出现问题时,不需对大量的日志进行分析和排查,只需将上述每个步骤中的各组件的数据及元数据进行存储,在问题出现需要进行诊断时,逐帧逐数据地进行数据和内部状态变量的对比,进而快速定位出问题出现在哪里,从而达到快速高效的问题排查效果。

上述方法有固定的内容收录周期,可以设定回收时间,如指定收录一分钟,则有一个环形队列机制,保证总是有最近的一分钟的各组件的数据被记录在存储介质中。最老的时候将被自动清除掉,如指定收录时间为一分钟,从10:00:00开始存储诊断数据,当10:01:01秒的时候,10:00:00秒的数据被删除;当10:01:02秒的时候,10:00:01秒的数据被删除;以此类推。。每个组件自行负责数据存储和淘汰,这样可以方便进行编转码流程的扩展,提高灵活性——比如说在某些情况下需要引入音频重采样组件,只需要这个组件也满足此机制即可。上述各组件包括但不仅限于读取器、解复用器、视频解码器、音频解码器、视频转换器、视频编码器、音频编码器、多路复用器和写入器。存储介质可以是但不仅限于本机磁盘或者外部存储(如磁盘阵列、NAS等)。

为满足上面的机制,具体地,每个组件遵循共同的诊断收录接口:

启动内容收录:指定存储路径,组件将把它的数据写入此处,数据组织方式可以由组件自行决定。

停止内容收录:不在进行数据存储。

媒体信息至少包括时间戳、数据大小、数据格式等,不同的组件可能携带更多的辅助媒体信息。每个组件在存储数据的时候,也必须要把其内部的所有相应状态变量进行序列化存储,当然,各组件也可以将它们各自的内部逻辑产生的中间数据也写入存储。

具体如何快速定位问题,以视频解码器为例,将每次输入的媒体信息、媒体数据(比如说H.264编码过的数据)以及解码前后的内部变量存储起来。当输入的媒体信息的视频分辨率为1920x1080,在10:00:00时刻至10:00:05时刻解出来的图像是1920x1080时,意味着没有问题,但在10:00:06时发现这个变量突变为640x480时,这个点就是问题点了,此时进一步诊断,可以由组件将存储好的此时刻的这个帧的数据读取进来,进行调试就可以发现到底是具体哪个地方的代码写错了。

与上述音频视频编转码问题速查方法对应的,本发明还提供了一种音频视频编转码问题速查系统,其结构示意图参见图3,包括读取器10、解复用器20、视频解码器40、音频解码器30、视频转换器60、视频编码器、音频编码器70、多路复用器80和写入器90,其中,

所述读取器10的输出与所述解复用器20的输入连接,所述解复用器20的输出与所述视频解码器40的输入和所述音频解码器30的输入分别连接,所述视频解码器40的输出与所述视频转换器60的输入连接,所述视频转换器60的输出与所述视频编码器的输入连接,所述音频解码器30的输出与所述音频编码器70的输入连接,所述视频编码器的输出和所述音频编码器70的输出均与所述多路复用器80的输入连接,所述多路复用器80的输出与所述写入器90的输入连接,

所述读取器10,用于从文件或流中读取数据;所述解复用器20,用于进行第一处理而得到第一处理结果,将第一处理结果写入指定存储路径;

所述视频解码器40和音频解码器30,用于将第一处理结果进行第二处理,得到第二处理结果,将第二处理结果写入指定存储路径;

所述视频转换器50、视频编码器60和音频编码器70,用于将第二处理结果进行第三处理,得到第三处理结果,将第三处理结果写入指定存储路径;

所述多路复用器80和写入器90,用于将第三处理结果进行第四处理,得到第四处理结果,将第四处理结果写入指定存储路径;

其中,第一处理、第二处理、第三处理和第四处理具有固定的内容收录周期和共同的诊断收录接口,在最近一个周期中的处理结果记录在存储介质中。

具体实施例参照上述方法实施例,在此不赘述。

最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1