CN116762344A - 音视频数据的处理方法、直播装置、电子设备和存储介质 - Google Patents
音视频数据的处理方法、直播装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN116762344A CN116762344A CN202180087403.2A CN202180087403A CN116762344A CN 116762344 A CN116762344 A CN 116762344A CN 202180087403 A CN202180087403 A CN 202180087403A CN 116762344 A CN116762344 A CN 116762344A
- Authority
- CN
- China
- Prior art keywords
- frame
- audio
- module
- type
- time stamp
- 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
Links
- 238000003860 storage Methods 0.000 title claims abstract description 8
- 238000003672 processing method Methods 0.000 title description 15
- 238000000034 method Methods 0.000 claims abstract description 73
- 230000002441 reversible effect Effects 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims description 74
- 230000003993 interaction Effects 0.000 claims description 19
- 239000004606 Fillers/Extenders Substances 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000002156 mixing Methods 0.000 claims description 8
- 238000005070 sampling Methods 0.000 claims description 8
- 238000000265 homogenisation Methods 0.000 claims description 7
- 230000009467 reduction Effects 0.000 claims description 7
- 238000013475 authorization Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 21
- 238000013461 design Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 7
- 102000009913 Peroxisomal Targeting Signal 2 Receptor Human genes 0.000 description 6
- 108010077056 Peroxisomal Targeting Signal 2 Receptor Proteins 0.000 description 6
- 238000012937 correction Methods 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000009191 jumping Effects 0.000 description 3
- 101100465559 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) PRE7 gene Proteins 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 101150076896 pts1 gene Proteins 0.000 description 2
- GUGNSJAORJLKGP-UHFFFAOYSA-K sodium 8-methoxypyrene-1,3,6-trisulfonate Chemical compound [Na+].[Na+].[Na+].C1=C2C(OC)=CC(S([O-])(=O)=O)=C(C=C3)C2=C2C3=C(S([O-])(=O)=O)C=C(S([O-])(=O)=O)C2=C1 GUGNSJAORJLKGP-UHFFFAOYSA-K 0.000 description 2
- 101100156949 Arabidopsis thaliana XRN4 gene Proteins 0.000 description 1
- 101150001149 CSI1 gene Proteins 0.000 description 1
- 101150071456 CSI2 gene Proteins 0.000 description 1
- 101000941170 Homo sapiens U6 snRNA phosphodiesterase 1 Proteins 0.000 description 1
- 101100215777 Schizosaccharomyces pombe (strain 972 / ATCC 24843) ain1 gene Proteins 0.000 description 1
- 102100031314 U6 snRNA phosphodiesterase 1 Human genes 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请涉及一种时间戳均匀化处理的方法、直播装置、电子设备和存储介质,通过获取媒体流,获取媒体流中当前媒体帧时间戳和上一媒体帧时间戳的差值,以及差值的上下限范围,当差值在上下限范围内,则输出当前媒体帧时间戳,若不在,则获取媒体流的标准媒体帧间隔,将当前媒体帧时间戳更新为上一媒体帧时间戳和标准媒体帧间隔之和;当差值大于标准媒体帧间隔时,根据补偿系数对更新后的当前媒体帧时间戳进行正向补偿,小于时,根据补偿系数对更新后的当前媒体帧时间戳进行反向补偿;输出补偿后的当前媒体帧目标时间戳,解决了音视频帧的时间戳不均匀,播放端播放异常的问题,还通过正向补偿和反向补偿平衡累计误差,防止累计误差越积累越大。
Description
本申请涉及媒体流技术领域,特别是涉及音视频数据的处理方法、直播装置、电子设备和存储介质。
多媒体数据要在因特网上进行实时的传输,必须先对多媒体数据进行流化处理,流化处理的过程是对多媒体数据进行必要的封装处理,把音视频数据打包成能进行流传输的RTP(Real-time Transport Protocol,实时传输协议)数据包,从而实现多媒体数据的流媒体传输。
视频直播就是利用互联网及流媒体技术进行直播的,视频因融合了图像、文字、声音等丰富元素,声形并茂,效果极佳,逐渐成为互联网的主流表达方式。
互联网直播采用实时流式传输技术,首先,主播开启直播,将直播内容编码压缩后,传输至网站服务器,这一过程被称为“推流”,即将视频内容推给服务器,直播内容传输至网站服务器后,用户观看直播时,会直接从网站服务器拉取直播内容,这一过程被称为“拉流”。拉流获得相应媒体流后可在本地进行解码播放,解码播放的过程会依赖媒体流中音视频帧携带的时间戳,在原始采集均匀性不佳或编码器输出的时间戳序列不均匀等情况下,会使媒体流中的音视频帧携带的时间戳不均匀,导致播放端播放异常。
发明内容
本申请实施例提供一种音视频数据的处理方法,所述方法包括:
获取媒体流,其中,所述媒体流为音视频流,所述音视频流包括视频流和音频流;
获取所述媒体流中当前媒体帧时间戳和上一媒体帧时间戳的差值,以及获取所述差值的上下限范围,并判断所述差值是否在所述上下限范围内;
若所述判断结果为是,则输出所述当前媒体帧时间戳作为当前媒体帧目标时间戳,若所述判断结果为否,则获取所述媒体流的标准媒体帧间隔,将所述当前媒体帧时间戳更新为所述上一媒体帧时间戳和所述标准媒体帧间隔之和;
判断所述差值是否大于所述标准媒体帧间隔,若所述判断结果为是,则根据补偿系数对更新后的所述当前媒体帧时间戳进行正向补偿,若所述判断结果为否,则根据补偿系数对更新后的所述当前媒体帧时间戳进行反向补偿,输出所述正向补偿或所述反向补偿后的时间戳作为所述当前媒体帧目标时间戳。
在其中一些实施例中,将所述当前媒体帧时间戳更新为所述上一媒体帧时间戳和所述标准媒体帧间隔之和之前,所述方法还包括:
判断所述差值是否大于最大误差允许系数,若所述判断结果为是,则输出所述当前媒体帧时间戳作为当前媒体帧目标时间戳,若所述判断结果为否,则将所述当前媒体帧时间戳更新为所述上一媒体帧时间戳和所述标准媒体帧间隔之和,其中,所述最大误差允许系数为n倍的所述标准媒体帧间隔,n为大于1的数值。
在其中一些实施例中,根据补偿系数对更新后的所述当前媒体帧时间戳进行正向补偿或反向补偿包括:
所述正向补偿为将更新后的所述当前媒体帧时间戳与所述补偿系数之和作为所述当前媒体帧目标时间戳;
所述反向补偿为将更新后的所述当前媒体帧时间戳与所述补偿系数之差作为所述当前媒体帧目标时间戳。
在其中一些实施例中,所述根据补偿系数对更新后的所述当前媒体帧时间戳进行正向补偿或反向补偿之后,所述方法还包括:
根据所述当前媒体帧目标时间戳更新上一媒体帧时间戳,更新后的上一媒体帧时间戳作为下一媒体帧时间戳的上一媒体帧时间戳。
在其中一些实施例中,获取所述上下限范围包括,根据所述标准媒体帧间隔和波动上下限系数,获取所述上下限范围,其中,所述波动上下限系数小于播放端解码器能容忍的波动范围。
在其中一些实施例中,获取所述媒体流的标准媒体帧间隔包括:
若所述媒体流为视频流,则根据所述视频流的帧率,获取标准视频帧间隔,所述标准视频帧间隔作为所述标准媒体帧间隔;
若所述媒体流为音频流,则根据所述音频流的采样率和每帧音频实际采样点数,获取标准音频帧间隔,所述标准音频帧间隔作为所述标准媒体帧间隔。
在其中一些实施例中,所述方法还包括:
确定音视频流中的每个类型帧对应的权重系数;
根据每个类型帧的权重系数、队列的队列容量,计算出每个类型帧对应的丢帧判断阈值;
在任一类型帧的发送时刻,若队列中该类型帧中两帧时间戳的最大时间间隔差值大于该类型帧对应的丢帧判断阈值,则执行丢帧操作。
在其中一些实施例中,所述类型帧至少包括第一类型帧以及第二类型帧,所述丢帧操作包括:
若所述第一类型帧的权重系数大于所述第二类型帧的权重系数,则将队列中第二类型帧按照时间戳由大到小进行依次丢弃。
在其中一些实施例中,所述类型帧至少包括第一类型帧以及第二类型帧,第二类型帧根据重要程度排序设立二级权重,所述丢帧操作包括:
若所述第一类型帧的权重系数大于所述第二类型帧的权重系数,则将队列中第二类型帧按照二级权重由小到大进行依次丢弃。
在其中一些实施例中,所述方法还包括:
在每执行一次丢帧操作之后,重复计算队列中所丢类型帧中当前两帧时间戳的最大时间间隔差值,再与该类型帧对应的丢帧判断阈值进行比较,直至队列中该类型帧中两帧时间戳的最大时间间隔差值不大于该类型帧对应的丢帧判断阈值时停止丢帧操作。
在其中一些实施例中,所述方法还包括:
计算队列中每个类型帧的堆积比,所述堆积比为任一类型帧中当前两帧时间戳的最大时间间隔差值与该类型帧丢帧判断阈值的比值;
根据堆积比与回置窗口高度之间预设的对应关系确定每个类型帧对应的回置窗口高度;
在每执行一次丢帧操作之后,重复计算队列中所丢类型帧中当前两帧时间戳的最大时间间隔差值,若所述最大时间间隔差值小于该类型帧对应的丢帧判断阈值与回置窗口高度的差值时,则停止丢帧操作。
在其中一些实施例中,所述方法还包括:
获取用户上传的音视频数据,其中,所述音视频数据以音视频流的形式传输,且所述音视频数据携带用户绑定账号信息,且该账号已针对多个目标直播平台的播放参数完成配置;
由服务器分别针对各目标直播平台创建推流任务;
在该用户绑定账号下,由所述服务器向多个目标直播平台分发该用户的音视频数据。
在其中一些实施例中,所述方法还包括:
获取用户绑定账号信息及多个目标直播平台的推流需求信息;
在该用户绑定账号下,向用户发送直播平台配置交互信息;
由服务器响应该用户基于所述交互信息的配置指示,生成匹配对应直播平台需求信息的直播平台配置数据。
在其中一些实施例中,向用户发送直播平台配置交互信息,包括:
向用户发送针对目标直播平台的绑定账号信息;
由服务器响应该用户基于所述交互信息的配置指示,包括:
当所述绑定账号信息请求授权通过时,接收用户选择数据并向目标直播平台发送配置数据,所述配置数据包括隐私设置指示信息和音视频发布设置信息;
由服务器依据所述用户选择数据完成设置及存储该用户针对目标直播平台的配置数据。
在其中一些实施例中,所述方法还包括:
由服务器分别接收推流任务创建的直播间地址并存储。
本申请实施例还提供一种直播装置,所述直播装置包括音频处理模块、设备接口模块和处理器模块,所述音频处理模块包括音频输入接口和音频处理芯片,所述音频输入接口用于连接麦克风,所述音频处理芯片分别连接所述音频输入接口、所述设备接口模块和所述处理器模块,所述音频处理芯片对所述音频输入接口和/或所述设备接口模块输入的音频数据进行降噪和/或混音处理,并将处理后的所述音频数据传送至所述处理器模块;
所述处理器模块包括时间戳均匀化处理单元,所述时间戳均匀化处理单元包括获取模块、判断模块、补偿模块、调整模块和输出模块,所述获取模块与所述判断模块连接,所述判断模块与所述调整模块连接,所述调整模块与所述补偿模块连接,所述补偿模块与所述输出模块连接;
所述获取模块用于获取媒体流,其中,所述媒体流为音视频流;
所述判断模块用于获取当前媒体帧时间戳和上一媒体帧时间戳的差值和所述差值的上下限范围,并判断所述差值是否在所述上下限范围内,若所述判断结果为是,则所述输出模块输出所述当前媒体帧时间戳作为当前媒体帧目标时间戳,若所述判断结果为否,则所述补偿模块用于获取所述媒体流的标准媒体帧间隔,所述调整模块用于将所述当前媒体帧时间戳更新为所述上一媒体帧时间戳和所述标准媒体帧间隔之和;
所述判断模块还用于判断所述差值是否大于所述标准媒体帧间隔,若所述判断结果为是,则所述补偿模块根据补偿系数对更新后的所述当前媒体帧时间戳进行正向补偿,若所述判断结果为否,则所述补偿模块根据补偿系数对更新后的所述当前媒体帧时间戳进行反向补偿;
所述输出模块用于输出所述正向补偿或所述反向补偿后的时间戳作为所述当前媒体帧目标时间戳。
在其中一些实施例中,所述设备接口模块包括HDMI接口模块和/或USB接口模块,其中,所述HDMI接口模块包括至少一个HDMI输入接口,所述USB接口模块包括至少一个USB接口,所述HDMI输入接口和所述USB接口分别连接所述音频处理芯片。
在其中一些实施例中,所述HDMI接口模块还包括至少一个第一格式转换器,所述第一格式转换器连接所述HDMI输入接口和所述处理器模块,所述第一格式转换器将所述HDMI输入接口输入的数据由HDMI格式转换成MIPI格式,并将所述MIPI格式的数据传送至所述处理器模块,其中,所述HDMI输入接口输入的所述数据包括视频数据和/或所述音频数据。
在其中一些实施例中,所述USB接口模块包括第一USB接口和第二USB接口,所述第一USB接口通过所述处理器模块连接所述音频处理芯片,并用于向所述音频处理芯片输入所述音频数据;所述第二USB接口连接所述处理器模块,用于系统调试。
在其中一些实施例中,所述处理器模块包括USB端口,所述第一USB接口设为多个,所述USB接口模块还包括接口拓展器,所述接口拓展器一端连接所述USB端口,所述接口拓展器另一端连接多个所述第一USB接口。
在其中一些实施例中,所述音频输入接口包括有源输入接口和无源输入接口,其中,所述有源输入接口用于连接有源麦克风,所述无源输入接口用于连接无源麦克风。
在其中一些实施例中,所述音频处理模块还包括音频输出接口,所述音频输出接口连接所述音频处理芯片,并用于输出所述处理后的所述音频数据。
在其中一些实施例中,所述直播装置还包括显示模块,所述显示模块包括显示屏和第二格式转换器,所述第二格式转换器连接所述处理器模块和所述显示屏,所述处理器模块输出MIPI格式的数据,所述第二格式转换器将所述MIPI格式的数据转换成LVDS格式,所述显 示屏显示所述LVDS格式的数据,其中,所述处理器模块输出的MIPI格式数据包括视频数据。
在其中一些实施例中,所述显示屏包括触摸屏,所述USB接口模块包括第三USB接口,所述第三USB接口连接所述接口拓展器和所述触摸屏。
在其中一些实施例中,所述直播装置还包括数据输出模块,所述数据输出模块包括第三格式转换器和HDMI输出接口,所述第三格式转换器连接所述处理器模块和所述HDMI输出接口,所述第三格式转换器将所述处理器模块输出的数据由MIPI格式转换成HDMI格式,并将所述HDMI格式的数据传送至所述HDMI输出接口,其中,所述处理器模块输出的所述数据包括视频数据和所述音频数据。
在其中一些实施例中,所述处理器模块还包括音视频丢帧单元,所述音视频丢帧单元包括:
确定模块,用于确定音视频流中的每个类型帧对应的权重系数;
计算模块,用于根据每个类型帧的权重系数、队列的队列容量,计算出每个类型帧对应的丢帧判断阈值;
丢帧模块,用于在任一类型帧的发送时刻,若队列中该类型帧中两帧时间戳的最大时间间隔差值大于该类型帧对应的丢帧判断阈值,则执行丢帧操作。
在其中一些实施例中,所述处理器模块还包括音视频丢帧单元,所述音视频丢帧单元包括:
外部动态参数设置器,用于设置音频帧和视频帧的权重系数、以及设置丢帧判断阈值参数;
参数收集器,用于将丢帧判断相关的参数进行收集,参数包括权重系数、队列容量、丢帧判断阈值参数;
参数计算器,用于将收集到的参数根据计算规则得到各类型帧的丢帧判断阈值;
丢帧判定器,用于先寻找该类型帧丢帧判断阈值,再计算队列中该类型帧中两帧时间戳的最大时间间隔差值,根据丢帧判定原则对最大时间间隔差值与丢帧判断阈值进行比较判断;
丢帧执行器,用于当丢帧判定器判断出执行丢帧操作,则将队列中该类型帧按照时间戳由大到小进行依次丢弃,每丢弃一次该类型帧将反馈给参数计算器和丢帧判定器,重复计算队列中所丢类型帧中当前两帧时间戳的最大时间间隔差值并进行丢帧判定。
本申请实施例还提供一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项所述的方法。
本申请实施例还提供一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项所述的方法。
相比于相关技术,在原始采集均匀性不佳或编码器输出的时间戳序列不均匀等情况下,即采集端为android系统,程序定时调用audiorecord接口,通过系统api获取的媒体帧可能存在不均匀、编码器内部可能存在队列缓冲区,媒体帧的编码处理过程也有时间差异,如果采集未标记时间戳,采用编码器输出的时间戳序列,可能存在不均匀,或者采集的时间戳是通过解码音频文件进一步得到的,解码每一帧的过程可能时间不均匀,进而导致采集不均匀等情况下,会使媒体流中的音视频帧携带的时间戳不均匀,导致播放端播放异常的问题。本申请实施例提供的音视频数据的处理方法中,根据当前媒体帧时间戳和上一媒体帧时间戳的差值判断是否需要对当前媒体帧时间戳进行校正,当差值在上下限范围内,则认为当前媒体帧时间戳和上一媒体帧时间戳的帧间隔符合要求,当差值在上下限范围外,则将当前媒体帧时间戳更新为上一媒体帧时间戳和标准媒体帧间隔之和,更新当前媒体帧时间戳后,判断更新前当前媒体帧时间戳和上一媒体帧时间戳的差值是否大于标准媒体帧间隔,若差值大于标准媒体帧间隔,更新当前媒体帧时间戳后,更新后的当前媒体帧时间戳和下一媒体帧时间戳的帧间隔会增大,故根据补偿系数对更新后的当前媒体帧时间戳进行正向补偿,经过正向补偿后,当前媒体帧目标时间戳与上一媒体帧时间戳的差值在标准媒体帧间隔的波动范围内,同时还缩小了更新后的当前媒体帧时间戳和下一媒体帧时间戳的帧间隔,对需要校正的每一媒 体帧时间戳经过校正和补偿的处理,不仅解决了媒体流中的音视频帧携带的时间戳不均匀,导致播放端播放异常的问题,还通过正向补偿和反向补偿平衡累计误差,防止调整时间戳序列过程中累计误差越积累越大,提升了音视频的兼容性,有标准化意义。
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例1的一种音视频数据的处理方法的流程图;
图2是根据本申请实施例1的另一种音视频数据的处理方法的流程图;
图3是根据本申请实施例1的时间戳均匀化处理单元的结构框图;
图4是根据本申请实施例2的丢帧过程示意图;
图5是根据本申请实施例3的音视频推流数据的配置流程示意图;
图6是根据本申请实施例4的直播装置的应用环境示意图;
图7是根据本申请实施例4的第一种直播装置的示意图;
图8是根据本申请实施例4的第二种直播装置的示意图;
图9是根据本申请实施例4的第三种直播装置的示意图;
图10是根据本申请实施例4的第四种直播装置的示意图;
图11是根据本申请实施例4的第五种直播装置的示意图;
图12是根据本申请实施例4的第六种直播装置的示意图;
图13是根据本申请实施例4的第七种直播装置的示意图;
图14是根据本申请实施例5的电子设备的内部结构示意图。
实施例1
本实施例提供了一种音视频数据的处理方法,图1是根据本申请实施例1的一种音视频数据的处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,获取媒体流,其中,媒体流为音视频流,音视频流包括视频流和音频流,媒体流是采用流式传输的方式使得流式媒体在互联网上播放的技术;
步骤S102,获取媒体流中当前媒体帧时间戳和上一媒体帧时间戳的差值,以及获取差值的上下限范围,并判断差值是否在上下限范围内;本实施例中,获取媒体流后,每一媒体帧数据都会附带媒体帧采集时刻的时间戳和媒体帧数据编码后标记的时间戳,本申请采用的时间戳可以为采集时刻的时间戳,也可以为编码后标记的时间戳;
步骤S103,若判断结果为是,则输出当前媒体帧时间戳作为当前媒体帧目标时间戳,若判断结果为否,则获取媒体流的标准媒体帧间隔,将当前媒体帧时间戳更新为上一媒体帧时间戳和标准媒体帧间隔之和;本实施例中,差值在上下限范围内,则认为当前媒体帧时间戳和上一媒体帧时间戳的帧间隔符合要求,无需对当前媒体帧时间戳进行校正,输出当前媒体帧时间戳作为当前媒体帧目标时间戳,当差值在上下限范围外,则会导致播放端解码后播放异常,故将当前媒体帧时间戳更新为上一媒体帧时间戳和标准媒体帧间隔之和;
步骤S104,判断差值是否大于标准媒体帧间隔,若判断结果为是,则根据补偿系数对更新后的当前媒体帧时间戳进行正向补偿,若判断结果为否,则根据补偿系数对更新后的当前媒体帧时间戳进行反向补偿,输出正向补偿或反向补偿后的时间戳作为当前媒体帧目标时间戳。
本实施例中,当差值在上下限范围外,则将当前媒体帧时间戳更新为上一媒体帧时间戳和标准媒体帧间隔之和之后,判断差值是否大于标准媒体帧间隔,若差值大于标准媒体帧间隔,更新当前媒体帧时间戳后,更新后的当前媒体帧时间戳和下一媒体帧时间戳的帧间隔会增大,故根据补偿系数对更新后的当前媒体帧时间戳进行正向补偿,经过正向补偿后,当前 媒体帧目标时间戳与上一媒体帧时间戳的差值还在上下限范围内,即在标准媒体帧间隔的波动范围内,并且同时缩小了更新后的当前媒体帧时间戳和下一媒体帧时间戳的帧间隔;若差值小于标准媒体帧间隔,更新当前媒体帧时间戳后,更新后的当前媒体帧时间戳和下一媒体帧时间戳的帧间隔会减小,故根据补偿系数对更新后的当前媒体帧时间戳进行反向补偿,经过反向补偿后,当前媒体帧目标时间戳与上一媒体帧时间戳的差值还在标准媒体帧间隔的波动范围内,同时还增大了更新后的当前媒体帧时间戳和下一媒体帧时间戳的帧间隔;对当前媒体帧时间戳进行校正后,通过正向补偿和反向补偿平衡累计误差,其中,考虑到补偿系数太大会进一步增大误差,太小的补偿能力有限,故补偿系数可设置为0.1倍的标准媒体帧间隔。
在其中一些实施例中,获取上下限范围包括,根据标准媒体帧间隔和波动上下限系数,获取上下限范围,其中,波动上下限系数小于播放端解码器能容忍的波动范围。本实施例中,波动上下限系数一般要求小于播放端解码器能容忍的波动范围,将波动上限系数设置为1.05,波动下限系数设置为0.8,则上限范围阈值为波动上限系数1.05乘于标准媒体帧间隔,下限范围阈值为波动下限系数0.8乘于标准媒体帧间隔,本申请将波动范围上限设置为1.05,远远小于h5播放器能容忍的波动范围上限1.5,不设置为最大上限,是因为较小的上限会使输出的均匀度提升,但是会导致需要调整的原始点变多,也会增大超过最大误差允许系数强制同步的可能性。较大的上限(小于播放器能容忍的最大上限1.5倍标准音频帧间隔)会使输出均匀性略微下降,但是需要调整的采集点会变少,也会减少差值超过最大误差允许系数,不进行校正的可能性,故可根据需求设定波动上下限系数,只要设定的波动上下限系数小于播放端解码器能容忍的波动范围即可,示例性的,波动上限系数×标准媒体帧间隔+补偿系数小于播放内核限定的上限系数×标准媒体帧间隔即可。
在其中一些实施例中,将当前媒体帧时间戳更新为上一媒体帧时间戳和标准媒体帧间隔之和之前,判断差值是否大于最大误差允许系数,若判断结果为是,则输出当前媒体帧时间戳作为当前媒体帧目标时间戳,若判断结果为否,则将当前媒体帧时间戳更新为上一媒体帧时间戳和标准媒体帧间隔之和,其中,最大误差允许系数为n倍的标准媒体帧间隔,n为大于1的数值。本实施例中,n为大于1的数值,并且n大于波动范围上限,波动范围上限改变时,可动态设置n的取值,在将当前媒体帧时间戳更新为上一媒体帧时间戳和标准媒体帧间隔之和之前,先判断差值是否有太大偏差,当差值大于n倍的标准媒体帧间隔时,不对当前媒体帧时间戳进行校正,直接输出当前媒体帧时间戳作为当前媒体帧目标时间戳,这是因为当差值大于n倍的标准媒体帧间隔时,意味着当前媒体帧时间戳和上一媒体帧时间戳有了较大的偏差,该偏差可能是采集端在采集媒体流数据时出现了中断情况,示例性的,采集端允许音频源切换,切换的过程会有一定的时间间隙,该时间间隙内没有音频帧产生,当音频帧恢复时,当前音频帧时间戳和上一音频时间戳的帧间隔会非常大,如果对当前音频帧时间戳进行校正,会导致从切换时刻开始的后续音频帧都需要经过较大幅度的调整,故直接输出当前媒体帧时间戳作为当前媒体帧目标时间戳,不进行校正,牺牲一个点的均匀性来消除这个大的差值对一大段时间戳序列的影响。
在其中一些实施例中,根据补偿系数对更新后的当前媒体帧时间戳进行正向补偿或反向补偿包括:
正向补偿为将更新后的当前媒体帧时间戳与补偿系数之和作为当前媒体帧目标时间戳;反向补偿为将更新后的当前媒体帧时间戳与补偿系数之差作为当前媒体帧目标时间戳。本实施例中,校正过程并不一定要将每帧的帧间隔校正为标准媒体帧间隔,例如,h5播放器能容忍的波动范围上限为1.5倍的标准音频帧间隔,当标准音频帧间隔为22.5毫秒,那么播放第一帧音频后,第二帧音频时间戳与第一帧音频时间戳的帧间隔只要在1.5*22.5毫秒内就能正常播放,故将当前媒体帧时间戳更新为上一媒体帧时间戳和标准媒体帧间隔之和之后,根据补偿系数对更新后的当前媒体帧时间戳进行正向补偿或反向补偿,正向补偿下,当前媒体帧目标时间戳为更新后的当前媒体帧时间戳与补偿系数之和,使播放器能正常播放的情况下, 缩小更新后的当前媒体帧时间戳和下一媒体帧时间戳的帧间隔,平衡累计误差,反向补偿下,当前媒体帧目标时间戳为更新后的当前媒体帧时间戳与补偿系数之差,使播放器能正常播放的情况下,增大更新后的当前媒体帧时间戳和下一媒体帧时间戳的帧间隔,平衡累计误差,通过引入补偿系数以平衡累计误差,防止累计误差越积累越大。
在其中一些实施例中,根据补偿系数对更新后的当前媒体帧时间戳进行正向补偿或反向补偿之后,根据当前媒体帧目标时间戳更新上一媒体帧时间戳,更新后的上一媒体帧时间戳作为下一媒体帧时间戳的上一媒体帧时间戳。本实施例中,根据补偿系数对更新后的当前媒体帧时间戳进行正向补偿或反向补偿之后,对当前媒体帧时间戳的校正就已经完成了,此时,判断是否需要对下一媒体帧时间戳进行校正,需求出下一媒体帧时间戳和当前媒体帧目标时间戳的帧间隔,故根据当前媒体帧目标时间戳更新上一媒体帧时间戳,更新后的上一媒体帧时间戳作为下一媒体帧时间戳的上一媒体帧时间戳,示例性的,某个音频帧时间戳序列为pts1、pts2、pts3和pts4,当前媒体帧时间戳为pts2,上一媒体帧时间戳prevpts=pts1,pts2与pts1差值大于标准音频帧间隔,对pts2进行校正和补偿,得到当前媒体帧目标时间戳PTS2,若pts3与PTS2差值也大于标准音频帧间隔,需对pts3进行校正和补偿,根据当前媒体帧目标时间戳更新上一媒体帧时间戳,即此时prevpts=PTS2,更新后的上一媒体帧时间戳prevpts=PTS2作为下一媒体帧时间戳pts3的上一媒体帧时间戳,通过pts3-PTS2求出pts3与上一媒体帧时间戳的差值。
在其中一些实施例中,获取媒体流的标准媒体帧间隔包括:若媒体流为视频流,则根据视频流的帧率,获取标准视频帧间隔,标准视频帧间隔作为标准媒体帧间隔;示例性的,视频流的帧率为30fps,则标准视频帧间隔为1/30×1000,单位为毫秒;若媒体流为音频流,则根据音频流的采样率和每帧音频实际采样点数,获取标准音频帧间隔,标准音频帧间隔作为标准媒体帧间隔。示例性的,音频流的采样率为44100HZ,采集端每帧读取音频实际采样点数为1024,则标准音频帧间隔为1024/44100×1000,单位为毫秒,通过本实施例计算出标准媒体帧间隔后,通过该标准媒体帧间隔对媒体帧时间戳进行校正。
在其中一些实施例中,图2是根据本申请实施例1的另一种音视频数据的处理方法的流程图,如图2所示,以媒体流为音频流为例,该方法包括如下步骤:
步骤S201,编码器输出音频帧时间戳pts,其中,输出的音频帧时间戳可以是音频帧采集时刻的时间戳,也可以是音频帧数据编码后标记的系统时间戳,采集时刻的时间戳相对于编码后标记的时间戳更准确,故pts推荐采用音频帧采集时刻的时间戳进行校正;
步骤S202,更新diff=pts-prevPts,即差值diff=当前音频帧时间戳pts-上一音频帧时间戳prevPts;
步骤S203,判断diff<lowThreshold||diff>highThreshold?即差值diff小于下限lowThreshold或差值diff大于上限highThreshold,则说明差值在上下限范围外,判断差值diff是否在上下限范围外,若判断结果为是,则跳转到步骤S205,若判断结果为否,则跳转到步骤S204;
步骤S204,curpts=pts,即差值diff在上下限范围内,无需校正,直接输出当前音频帧时间戳pts,或差值diff大于或等于n倍的标准音频帧间隔,无需校正,直接输出当前音频帧时间戳pts;
步骤S205,判断diff<n×SAMPLE_DURATION?即判断差值diff是否小于n倍的标准音频帧间隔SAMPLE_DURATION,若判断结果为是,则为正向补偿,跳转到步骤S206,若判断结果为否,则为反向补偿,跳转到步骤S204;
步骤S206,curpts=prevPts+SAMPLE_DURATION,即将当前音频帧时间戳curpts更新为上一音频帧时间戳prevPts与标准音频帧间隔之和;
步骤S207,判断diff<SAMPLE_DURATION?若判断结果为是,则跳转到步骤S208,若判断结果为否,则跳转到步骤S209;
步骤S208,normalAdujst=COMPENSATE,即正向补偿时,补偿系数normalAdujst为正 的COMPENSATE;
步骤S209,normalAdujst=-COMPENSATE,即反向补偿时,补偿系数normalAdujst为负的COMPENSATE;
步骤S210,curpts=curpts+normalAdujst,即将当前音频帧目标时间戳为更新后的当前音频帧时间戳与补偿系数之和;
步骤S211,prevPts=curpts,即根据当前音频帧时间戳更新上一音频帧时间戳,作为下一音频帧时间戳的上一音频帧时间戳;
步骤S212,输出curpts。
本实施例还提供了一种时间戳均匀化处理单元。图3是根据本申请实施例1的时间戳均匀化处理单元的结构框图,如图3所示,该时间戳均匀化处理单元包括获取模块31、判断模块32、调整模块33、补偿模块34和输出模块35,并且,获取模块31与判断模块32连接,判断模块32与调整模块33连接,调整模块33与补偿模块34连接、补偿模块34与输出模块35连接。
获取模块31,用于获取媒体流,其中,媒体流为音视频流,音视频流包括视频流和音频流;判断模块32,用于获取当前媒体帧时间戳和上一媒体帧时间戳的差值和差值的上下限范围,并判断差值是否在上下限范围内,若判断结果为是,则输出模块35输出当前媒体帧时间戳作为当前媒体帧目标时间戳,若判断结果为否,则补偿模块34获取媒体流的标准媒体帧间隔,调整模块33将当前媒体帧时间戳更新为上一媒体帧时间戳和标准媒体帧间隔之和;判断模块32判断差值是否大于标准媒体帧间隔,若判断结果为是,则补偿模块34根据补偿系数对更新后的当前媒体帧时间戳进行正向补偿,若判断结果为否,则补偿模块34根据补偿系数对更新后的当前媒体帧时间戳进行反向补偿;输出模块35输出正向补偿或反向补偿后的时间戳作为当前媒体帧时间戳,解决了媒体流中的音视频帧携带的时间戳不均匀,导致播放端播放异常的问题,还通过正向补偿和反向补偿平衡累计误差,防止累计误差越积累越大,提升了音视频的兼容性,有标准化意义。
实施例2
根据实施例1的技术方案,解决了媒体流中的音视频帧携带的时间戳不均匀,导致播放端播放异常的问题,保障了播放端的正常播放。因此,基于上述实施例1,本实施例进一步考虑到在网络条件不理想的情况下,视频直播画面可能会出现卡顿,造成观众的体验不佳;在现有技术中,为了改善观众端的视频质量,一般采取对音视频数据进行丢帧处理,但是传统的丢帧策略比较单一笼统,可能对视频质量影响较大。因此,本实施例提供的音视频数据的处理方法可以在实施例1的流程之前或之后,还包括音视频丢帧流程。
在其中一些实施例中,音视频丢帧流程包括以下步骤:
步骤一:确定音视频流中的每个类型帧对应的权重系数;
步骤二:根据每个类型帧的权重系数、对应队列的队列容量,计算出作为丢帧判断依据的每个类型帧的丢帧判断阈值;
步骤三:在任一类型帧的发送时刻,若队列中该类型帧中两帧时间戳的最大时间间隔差值大于该类型帧对应的丢帧判断阈值,则执行丢帧操作。
下文对每个步骤进行详细说明:
步骤一中,类型帧至少包括第一类型帧和第二类型帧,存在着两种丢帧操作方法。
丢帧操作方法一:
若所述第一类型帧的权重系数大于所述第二类型帧的权重系数,则将队列中第二类型帧按照时间戳由大到小进行依次丢弃。
丢帧操作方法二:
第二类型帧根据重要程度排序设立二级权重;
若所述第一类型帧的权重系数大于所述第二类型帧的权重系数,则将队列中第二类型帧按照二级权重由小到大进行依次丢弃。
上述类型帧至少包括第一类型帧以及第二类型帧,在现有的设计中,但不局限于此种设计方式,例如,第一类型帧设计为音频帧、第二类型帧设计为视频帧,音频帧的权重系数大于视频帧的权重系数;又例如,第一类型帧设计为视频帧、第二类型帧设计为编码帧,编码帧具体分为P帧、I帧、B帧,I帧的权重系数大于P帧的权重系数。进一步地,每一组GOP图像中的P帧还可以再进行重要程度排序,如设立二级权重,按照二级权重由小到大进行依次丢弃P帧,使丢帧更加精细化。
步骤二中,丢帧判断阈值的设计参考了设计的权重系数,队列的队列容量,计算出作为丢帧判断依据的每个类型帧的丢帧判断阈值,丢帧判断阈值计算的同时会加入丢帧判断阈值参数。
可选的,丢帧判断阈值可通过上述权重系数、队列容量、丢帧判断阈值参数三者的乘积获得。
步骤三中,上述该类型帧中两帧时间戳的最大时间间隔差值可为最靠后的该类型帧时间戳与最靠前的该类型帧时间戳的差值,也可为队列中靠后位置的该类型帧的时间戳差值,即可为队列中该类型帧不同位置的时间戳差值,具体根据实际情况设计得到。
在每进行一次丢帧操作之后,重复计算队列中所丢类型帧中当前两帧时间戳的最大时间间隔差值,再与丢帧判断阈值进行比较,判定是得到该类型帧发送操作指令或该类型帧丢帧操作指令,直至队列中该类型帧中两帧时间戳的最大时间间隔差值不大于该类型帧对应的丢帧判断阈值时停止丢帧操作。
值得说明的是,在执行丢帧过程中,先对权重系数最低的类型帧进行丢帧操作,直至所丢类型帧中当前两帧时间戳的最大时间间隔差值不大于该类型帧对应的丢帧判断阈值。若此时网络仍然存在拥塞情况,则对权重系数次低的类型帧进行丢帧操作。这样,以帧类型的权重系数为第一优先条件、各类型帧对应的丢帧判断阈值为第二优先条件进行丢帧判断并执行丢帧操作,可以减少丢帧对视频质量的影响。
示例地,在本实施例中,类型帧包括P帧、I帧,其中I帧的权重系数大于P帧的权重系数,则在网络拥塞的情况下,可以先对P帧进行丢帧判断并执行丢帧操作,在P帧满足两帧时间戳的最大时间间隔差值不大于P帧对应的丢帧判断阈值,且网络仍然存在拥塞情况时,才对I帧进行丢帧判断并执行丢帧操作,直至I帧满足两帧时间戳的最大时间间隔差值不大于I帧对应的丢帧判断阈值。
另外,为应对网络波动的情况,及位于阈值临界点附近时的丢帧抖动现象,丢帧判断引入了回置窗口高度,由此延伸出两种回置窗口高度应用逻辑,分别为回置窗口高度固定和动态调整。
回置窗口高度固定:单纯引入一个回置窗口高度,时间戳差值与丢帧判断阈值进行比较,直到时间戳差值小于丢帧判断阈值与回置窗口高度的差值得到对应类型帧发送操作指令。
回置窗口高度动态调整:回置窗口高度可根据队列中该类型帧中两帧时间戳的最大时间间隔差值与丢帧判断阈值的实际情况进行动态调整,直到队列中该类型帧中两帧时间戳的最大时间间隔差值小于丢帧判断阈值与回置窗口高度的差值得到对应类型帧发送操作指令;
目前设计出一套判定逻辑,但不局限于此,即回置窗口高度随着堆积比动态调整,堆积比为队列中该类型帧中两帧时间戳的最大时间间隔差值与丢帧判断阈值的比值;具体的判定逻辑如下:
当堆积比小于等于1时,回置窗口高度为0;
当堆积比大于1、且多出部分介于N倍丢帧阶梯系数至N+1倍丢帧阶梯系数之间,则回置窗口高度为N+1倍丢帧阶梯系数,N取0,1,2,……。
根据上述描述设计逻辑和描述内容,具体的音视频帧的设计过程如下:
1、权重表设计
音视频流媒体发送主要包含音频流与视频流,音频流主要包含音频帧,视频流常用的编码方式为H.264,主要包含P帧、I帧、B帧。
本方案将音频帧与视频帧统一纳入帧权重表,给定不同的权重系数;按照经验,音频帧由于人耳对于断续的音频流极为敏感、包数据量较小等特点,给予较高的权重系数;I帧作为关键帧,能独立解码,且作为P帧、B帧的解码参考,重要程度也相对较高,也给予较高的权重系数,按照经验得出弱网下推流效果较好的帧权重表参考如表1所示:
帧类型 | 帧名称 | 权重系数a(0-10) |
音频 | 音频帧 | 8 |
视频 | I帧 | 6 |
视频 | P帧 | 3 |
表1
2、丢帧判断阈值的确定
本发明使用丢帧判断阈值作为丢帧判断依据,对网络拥塞情况描述更加直白、准确、灵敏。
丢帧判断阈值T的设计考虑帧权重系数a、队列容量n(n通常≥200)、丢帧判断阈值参数p,设计计算公式如下:T=p*a*n。
丢帧判断阈值参数p的经验值通常为0.002左右,此时,帧权重表更新如下述表2所示:
帧类型 | 帧名称 | 权重系数a(0-10) | 丢帧判断阈值(T) |
音频 | 音频帧 | 8 | 3.6 |
视频 | I帧 | 6 | 2.4 |
视频 | P帧 | 3 | 1.2 |
表2
3、缓冲队列
基于本方案的丢帧策略,音频帧往往重要度较高、不容易被丢弃,设计两个队列容器,一个作为音频帧发送缓冲,一个作为视频帧发送缓冲,如此可以大大降低丢帧判断算法的计算量。
缓冲队列可以采取的形式包括但不限于数组、列表、队列、链表等数据结构,通常采用先进先出的FIFO;如此,在每次计算丢帧判定时,可以将音频帧与视频帧分开计算。
4、丢帧判断与丢帧操作,图4是根据本申请实施例2的丢帧过程示意图,如图4所示,在任一帧的发送时刻,先进行该类型帧的丢帧判定策略执行,具体的判定逻辑如下:
1、根据该帧类型,在表中寻找丢帧判断阈值T;
2、根据音视频帧类型,统计对应队列中该类型帧的总时长S;
总时长S的计算方法为:寻找队列中最靠前的该类型时间戳F1与队列中最靠后的该类型时间戳F2,计算两帧时间戳的时间间隔Δ值即为S,S=F2-F1;
3、将计算所得的总时长S与丢帧判断阈值T做比较,若S≥T,则发生丢帧操作,丢帧的执行逻辑为按照队列中该类型帧的时间顺序从后往前进行依次丢弃,每丢弃一次重复计算当前总时长S,再和丢帧判断阈值T进行比较,直到S满足S<T-M。
其中,M为回置窗口高度,M的大小直接反映了该丢帧的数量,同时,M在一定程度上取决于S与T的比值,即堆积比Q,堆积比计算方法为Q=S/T。
现引入丢帧阶梯系数step,用于动态调整M的大小,以下举例但不限定,见表3:
堆积比Q | 回置窗口高度M |
≤1 | M=0,不丢帧 |
1<Q≤1+step | M=step,丢帧到(1-M) |
1+step<Q≤1+2*step | M=2*step,丢帧到(1-M) |
依次类推 | …… |
表3
基于上述本申请内容,创新点可总结如下:
1、采用帧权重系数表来描述音视频帧的重要程度、丢帧优先级、计算丢帧容限度阈值, 采取了帧权重系数、丢帧判断阈值参数p、丢帧阶梯系数step、回置窗口高度M、丢帧判断阈值T等量化系数来精确描述丢帧操作;
2、基于本方案的丢帧策略,音频帧往往重要度较高、不容易被丢弃,设计两个队列容器,一个作为音频帧发送缓冲,一个作为视频帧发送缓冲,如此可以大大降低丢帧判断算法的计算量;
3、使用丢帧判断阈值作为丢帧判断依据,对网络拥塞情况描述更加直白、准确、灵敏,且丢帧时,能立即刷新当前总时长并与丢帧判断阈值再次比较,控制反应速度极快;
4、丢帧时,丢帧数量参照堆积比,能更加准确的衡量该丢帧数量的大小,将网络的状态与丢帧操作进行了很好的匹配,对于不同网络的拥塞程度具备较好的自适应性;网络拥塞情况越严重,丢帧数量增大,网络拥塞较轻,丢帧数量减小;
5、基于丢帧判断阈值,执行丢帧操作时使用回置窗口的设计,每次丢帧后留有一定余量,能大大减少丢帧操作反复进行的情况;
6、帧权重、丢帧判断阈值参数能动态调整,算法具备较好的适应性。
本实施例对比于现有技术的有益效果为:对音视频帧中的不同类型帧进行权重设计,依据上述丢帧方法的弃帧顺序逻辑,权重越低的帧越先被丢弃,并且可进一步对第二类型帧设立二级权重,丢帧的时候能够做到更加精细化;或者队列中时间戳越大的帧(后入队列的)会被先丢弃;其中,丢帧判断加入回置窗口高度,整体丢帧操作执行来看,由于增加了回置窗口,丢帧时间位于阈值临界点附近时的丢帧抖动现象能被大大消除,应对网络波动的情况,基本上一次丢帧就能覆盖一次网络波动时间;并且从丢帧数量与网络波动的匹配关系来看,由于丢帧时丢帧数量参照堆积比,即回置窗口高度取决于堆积比,将网络的状态与丢帧操作进行了很好的匹配,使得该丢帧数量的大小衡量更加精确,总体上呈现网络拥塞情况越严重,丢帧数量增大;网络拥塞较轻,丢帧数量减小的状态。
本实施例中,还提供一种音视频丢帧单元,该音视频丢帧单元包括依次电连接的编码器输出单元、帧接收单元、音视频丢帧单元和发送单元,其中,音视频丢帧单元包括确定模块、计算模块和丢帧模块,确定模块用于确定音视频流中的每个类型帧对应的权重系数;计算模块用于根据每个类型帧的权重系数、队列的队列容量,计算出每个类型帧对应的丢帧判断阈值;丢帧模块用于在任一类型帧的发送时刻,若队列中该类型帧中两帧时间戳的最大时间间隔差值大于该类型帧对应的丢帧判断阈值,则执行丢帧操作。
在其中一个实施例中,还提供了一种音视频丢帧单元,该音视频丢帧单元包括外部动态参数设置器、参数收集器、参数计算器、丢帧判定器和丢帧执行器。
外部动态参数设置器用于设置音频帧和视频帧的权重系数、以及设置丢帧判断阈值参数;
参数收集器用于将丢帧判断相关的参数进行收集,参数包括权重系数、队列容量、丢帧判断阈值参数;
参数计算器用于将收集到的参数根据计算规则得到各类型帧的丢帧判断阈值;
丢帧判定器用于先寻找该类型帧丢帧判断阈值,再计算队列中该类型帧中两帧时间戳的最大时间间隔差值,根据丢帧判定原则对最大时间间隔差值与丢帧判断阈值进行比较判断;
丢帧执行器用于当丢帧判定器判断出进行丢帧操作,则将队列中该类型帧按照时间戳由大到小进行依次丢弃,每丢弃一次该类型帧将反馈给参数计算器和丢帧判定器,重复计算队列中所丢类型帧中当前两帧时间戳的最大时间间隔差值并进行丢帧判定。
实施例3
基于上述任一项实施例,本实施例还包括音视频推流数据的处理方法,旨在实现一个主播对多平台的推流。该音视频推流数据的处理流程包括以下步骤:
步骤1:获取用户上传的音视频数据,其中,所述音视频数据以音视频流的形式传输,且所述音视频数据携带用户绑定账号信息,且该账号已针对多个目标直播平台的播放参数完成配置;
步骤2:由服务器分别针对各目标直播平台创建推流任务;
步骤3:在该用户绑定账号下,由所述服务器向多个目标直播平台分发该用户的音视频数据。
因此,通过在一个平台上将绑定的用户绑定账号针对多个目标直播平台的播放参数完成基于直播的配置;由服务器分别针对各目标直播平台创建推流任务,向多个目标直播平台分发该用户的音视频数据,满足了针对一个主播在多个平台同时直播的需求,克服了现有技术中无法实现一键多平台推流的技术缺陷。下文对每个步骤进行详细说明:
步骤1中,在直播一体机的客户端,用户的账号需要通过客户端与多个目标直播平台进行授权绑定,其流程优选包括以下步骤:
(1)用户点击添加账号按钮;
(2)通过浏览器调起目标平台登录授权网页;
(3)用户登录目标平台完成授权;
(4)后端云服务器建立本客户端所在智能端的账号与目标直播平台的账号之间的链接;
(5)客户端接收到新增绑定信息,绑定完成。
以上流程首先通过目标平台开放接口,获取平台账号信息,直播推流等权限。用户可以以登录到目标平台,并将平台账号与本机账号绑定,授权本机账号可操作平台账号,在平台账号下进行直播推流等操作。绑定完成后服务器将会记录设备登录的用户(本机账号)与目标平台(第三方直播平台)账号的一对多的绑定关系,持久化存储在服务器数据库中。
提供给用户完成多个平台的直播参数配置交互信息的流程包括以下步骤:
(1)在该用户绑定账号下,向用户发送直播平台配置交互信息;
所述配置交互信息可以通过直播一体机的弹窗交互界面向用户展示,也可以以推送方式向用户提示,并不局限。
(2)由服务器响应该用户基于所述交互信息的配置指示,生成匹配对应直播平台需求信息的直播平台配置数据。
上述方法作为示例在本方案中列举,所述多个目标直播平台并不作为局限本发明范围的条件。
用户上传音视频数据后,可通过如下步骤完成推流的数据准备:
(1)通过音视频采集设备采集音视频数据;
(2)通过对所述音视频数据进行编码及封装,以准备进行针对多个目标直播平台的推流。
其中,包括一路或者多路音视频采集设备,该音视频采集设备可以是外接的摄像头/麦克风,也可以是具备音视频采集功能的录播一体机、直播一体机,还可以是软件采集模块,如虚拟摄像头、虚拟麦克风等。示例地,以上步骤可通过直播一体机本机完成,也可以通过与服务器配合的方式完成,并不局限。
步骤2中,音视频数据到达服务器之后,根据服务器中持有的目标平台数量创建多个任务。每个任务都是-条负责将流分发产线,以单独完成将音视频数据推送到对应目标直播平台及直播间。
步骤3中,目标直播平台直播间在配置完成后,可供协议互通的音视频信号推流开播,比如RTMP协议,当推流-旦到达就可配置信息进行直播,直播平台A,晚8点开播,仅好友可见;直播平台B为全部公开,且开播时间为晚9点,每个直播间互不影响,即使其中一个推流任务执行失败,其他直播平台的直播间也可以继续直播。
对于音视频的同时播放,可以通过如内置Camera或者外接HDMI、USB视频采集设备采集音视频数据。通过编码转码操作将数据封装成RTMP协议规定格式。利用音频均匀化算法,在视频数据发送之前,将音频数据与视频数据进行对齐操作来保证音画同步。由于云服务器中已经持有本机账号,本机账号绑定的多个目标平台账号,目标直播平台的推流地址以及可完成推流的权限。那么就可以将准备好的音视频数据推流到后端云服务器,通过点击开始直播按钮获取云服务器的推流地址,开始推流。此过程中可优选开源技术方案librtmp作为RTMP数据传输工具,并且需要将librtmp交叉编译并移植到该直播一体机中。
图5是根据本申请实施例3的音视频推流数据的配置流程示意图,如图5所示,针对客户端向用户发送直播平台配置交互信息的流程,具体可通过如下步骤实现:
S801:向用户发送针对目标直播平台的绑定账号信息;
由服务器响应该用户基于所述交互信息的配置指示,包括:
S802:当所述绑定账号信息请求授权通过时,客户端接收用户选择数据并向目标直播平台发送配置数据,所述配置数据包括隐私设置指示信息和音视频发布设置信息;
需要说明的是,所述用户选择数据可以是按钮或者启停选择,或是其他可以反映用户在配置过程中的个性化需求的形式,客户端接收选择数据,在本地进行个性化配置数据的解读和打包,发往服务器。
S803:由服务器依据所述用户选择数据完成设置及存储该用户针对目标直播平台的配置数据。
例如,用户需要设置直播平台A直播观看权限的隐私设置为仅好友可见,就可通过点击已绑定完整的直播平台列表中目标直播平台右侧的箭头图标进入设置页,进入页面可以看到三种隐私权限交互信息,可以是操作按钮形式,点击“仅好友可见”按钮,点击完成执行设置操作。随后设备会将用户操作交互信息转换为通信消息:直播平台唯-标识符publishId、权限等级privacy2个参数传递给后端服务器即可将用户配置的隐私选项设置到目标A的直播平台。
在其中一些实施例中,交互界面包括“视频区域”,以及“时间线”、“粉丝圈”、“小组”、“公开”和“仅朋友可见”等相关设置功能。
作为优选,由服务器分别接收推流任务创建的直播间地址并存储。
由客户端或者由服务器通过客户端向用户发送直播平台配置交互信息,包括:
由客户端向用户发送针对目标直播平台的配置交互界面;
响应该用户基于所述交互信息的配置指示,包括:
当所述绑定账号信息请求授权通过时,接收用户选择数据并向目标直播平台发送配置数据,所述配置数据包括隐私设置指示信息和音视频发布设置信息;
依据所述用户选择数据完成设置及存储该用户针对目标直播平台的配置数据。
实施例4
本实施例考虑到,在直播的过程中,经常需要接入多路音频信号进行直播,但在相关技术中的小型化的直播装置中,输入直播装置的音频数据是通过直播装置的处理器模块进行处理,导致处理器模块运算量大,造成处理器模块运行效率低,容易造成直播卡顿现象,影响直播呈现内容的质量。
本实施例提供的直播装置,可以应用于如图6所示的应用环境中,图6是根据本申请实施例4的直播装置的应用环境示意图,如图6所示,该直播装置12集成导播台、硬盘录像机、编码器、采集卡等多种直播装置的功能于一体,针对高清摄像机、麦克风、摄像头等多种直播设备11,可以进行多路视频采集、解码、编码、推流等直播数据处理操作;用户在直播时,将直播设备11连上该直播装置12,直播装置12通过网络连接远端的服务器13,该直播装置12将处理后的数据推送至服务器13,服务器13将数据转发至多个直播平台,观众可以通过平板、手机、电脑等观看设备14在各个直播平台上观看直播。
在相关技术中,小型化的直播装置输入的音频数据是通过直播装置的处理器模块进行处理,导致处理器模块运算量大,造成处理器模块运行效率低,从而容易造成直播卡顿现象,影响直播呈现内容的质量。
本实施例提供了一种直播装置,图7是根据本申请实施例4的第一种直播装置的示意图,如图7所示,该直播装置12包括音频处理模块21、设备接口模块22和处理器模块23,其中,设备接口模块22可以用于连接高清摄像机、摄像头等直播设备,音频处理模块21包括音频输入接口211和音频处理芯片212,音频输入接口211可以用于连接麦克风,音频处理芯片212分别连接音频输入接口211、设备接口模块22和处理器模块23,音频处理芯片212对音 频输入接口211和/或设备接口模块22输入的音频数据进行降噪和/或混音处理,并将处理后的音频数据传送至处理器模块23,可选的,该音频处理芯片212的型号可以是AK7735。
通过设置音频处理芯片212,并将音频处理芯片212分别与多路音频输入端相连接,该多路音频输入端包括音频输入接口211和设备接口模块22,在音频处理芯片212内可以进行对音频输入接口211和/或设备接口模块22输入的音频数据的降噪和/或混音处理,音频处理芯片212将处理后的音频数据传送至处理器模块23,处理器模块23在处理直播数据的过程中无需再进行音频处理工作,相对于现有技术中小型化的直播装置的音频数据是通过处理器模块23进行处理,导致处理器模块23运算量大的问题,本实施例中的直播装置12提高了处理器模块23运行效率,有利于减少直播卡顿现象,从而提高直播呈现内容的质量。
另外,通过在音频处理芯片212内对音频输入接口211和/或设备接口模块22输入的音频数据进行降噪和/或混音处理,也可以实现该直播装置12对应的用户界面的音量调节、音频源切换、混音等功能。
可选的,如图7所示,音频输入接口211包括有源输入接口2111(或者称为Line In接口)和无源输入接口2112(或者称为Mic In接口),其中,有源输入接口2111用于连接有源麦克风,无源输入接口2112用于连接无源麦克风;通过设置有源输入接口2111和无源输入接口2112,针对不同类型的输入音频,该直播装置12支持有源麦克风输入和无源麦克风输入,适用性好。
可选的,如图7所示,音频处理模块21还包括音频输出接口213(或者称为Audio out接口),音频输出接口213连接音频处理芯片212,并用于将音频处理芯片212处理后的音频数据输出至耳机等设备。
在其中一些实施例中,图8是根据本实施例4的第二种直播装置的示意图,如图8所示,该设备接口模块22包括HDMI接口模块31和USB接口模块32,其中,高清多媒体接口(HighDefinition Multimedia Interface,简称HDMI)是一种全数字化视频和声音发送接口,可以发送未压缩的音频及视频信号;通用串行总线(Universal Serial Bus,简称USB)是一种串口总线标准,也是一种输入输出接口的技术规范,被广泛地应用于个人电脑和移动设备等信息通讯产品,并扩展至摄影器材、数字电视(机顶盒)、游戏机等其它相关领域。
进一步的,HDMI接口模块31包括多个HDMI输入接口311和多个第一格式转换器312,多个HDMI输入接口311分别连接音频处理芯片212;多个HDMI输入接口311和多个第一格式转换器312一一对应连接,并且第一格式转换器312的一端连接HDMI输入接口311,另一端连接处理器模块23;通过将HDMI输入接口311设置成多个,该直播装置12支持多视频接入,从而满足部分用户直播时的多路视频接入的需求;通过设置该第一格式转换器312,可以将输入的数据由HDMI格式转换成MIPI格式,因此该直播装置12可以适配市面上通用的摄像机和单反相机,解决了相关技术中的便携式编码器兼容性差的问题,提高了直播装置12的适用性,可选的,第一格式转换器312的芯片型号可以是龙讯LT6911HDMI转MIPI桥接芯片。
如图8所示,HDMI输入接口311可以外接高清摄像机等直播设备,HDMI输入接口311输入的数据包括视频数据和/或音频数据,第一格式转换器312将HDMI输入接口311输入的视频数据和/或音频数据由HDMI格式转换成MIPI格式,并将MIPI格式的视频数据和/或音频数据传送至处理器模块23,处理器模块23接收到视频数据后对视频数据进行处理,可选的,该处理器模块23可以是移远SC66智能模块,移远SC66智能模块集成了高通骁龙8核处理器与高通Adreno 512图形处理器(Graphic Processing Unit,简称GPU),支持多路且每路高达1080P格式的视频数据的解码和编码处理。
在其他一些实施例中,该设备接口模块22也可以只包括HDMI接口模块31,或者只包括USB接口模块32。
在其中一些实施例中,图9是根据本申请实施例4的第三种直播装置的示意图,如图9所示,USB接口模块32包括第一USB接口41、第二USB接口42和第三USB接口43,处 理器模块23包括USB端口,其中,第一USB接口41连接处理器模块23的USB端口,并通过该处理器模块23向音频处理芯片212输入音频数据,可选的,如图9所示,USB接口模块32还可以包括接口拓展器44,该接口拓展器44一端连接USB端口,另一端连接多个第一USB接口41和第三USB接口43,通过设置接口拓展器44,可以将单个USB端口拓展成多个第一USB接口41,使直播装置12支持多设备接入,例如,该直播装置12可以在多个第一USB接口41上分别接入USB A型的物理接口的鼠标、键盘、摄像头等设备,同时,通过设置接口拓展器44,还可以将第三USB接口43也集成在处理器模块23的USB端口,该第三USB接口43可以用于连接触摸屏,其中,该接口拓展器44的芯片型号可以是LAN9514;第二USB接口42连接处理器模块23,用于系统调试,该第二USB接口42不对用户开放。
在其中一些实施例中,图10是根据本申请实施例4的第四种直播装置的示意图,如图10所示,直播装置12还包括显示模块50,显示模块50包括显示屏51和第二格式转换器52,第二格式转换器52的一端连接处理器模块23,第二格式转换器52的另一端连接显示屏51,处理器模块23输出MIPI格式的视频数据,第二格式转换器52将MIPI格式的视频数据转换成LVDS格式,显示屏51显示LVDS格式的视频数据,可选的,该第二格式转换器52的芯片型号可以是龙讯LT9211 MIPI转LVDS桥接芯片;通过设置显示模块50,该直播装置12支持搭载不同尺寸规格的LVDS接口的显示屏51,用户在直播时,可以通过该LVDS接口的显示屏51实时观看视频画面。
可选的,如图10所示,显示屏51包括触摸屏511,第三USB接口43连接该触摸屏511,从而该触摸屏511捕捉到的触摸信号可以通过该第三USB接口43传输至处理器模块23,使得处理器模块23能够对触摸信号作出响应。
在其中一些实施例中,图11是根据本申请实施例4的第五种直播装置的示意图,如图11所示,直播装置还包括数据输出模块60,数据输出模块60包括第三格式转换器61和HDMI输出接口62,第三格式转换器61的一端连接处理器模块23,第三格式转换器61的另一端连接HDMI输出接口62,第三格式转换器61将处理器模块23输出的视频数据和音频数据由MIPI格式转换成HDMI格式,并将HDMI格式的视频数据和音频数据传送至HDMI输出接口62,可选的,该第三格式转换器61的芯片型号可以是龙讯LT9611 MIPI转HDMI桥接芯片;用户在直播时,可以将HDMI输出接口与HDMI接口的显示器相连接,从而可以在该HDMI接口的显示器上实时观看视频画面。
在其中一些实施例中,图12是根据本申请实施例4的第六种直播装置的示意图,如图12所示,直播装置12还包括网络模块70,该网络模块可以实现WIFI连接、有线网络连接和4G网络连接等多种联网方式,使该直播装置12支持在有线网络或者无线网络下工作,该网络模块70连接处理器模块23,用于将处理器模块23处理后的视频数据或音频数据推送到服务器,从而该服务器可以将视频数据或音频数据转发至多个网络直播平台。
在其中一些实施例中,图13是根据本申请实施例4的第七种直播装置的示意图,如图13所示,音频处理芯片212包括I2S1端口、I2S2端口、I2S3端口、AIN1端口、AIN2端口、I2C端口和AOUT1端口,处理器模块23包括MIPI CSI1端口、MIPI CSI2端口、I2S端口、I2C端口、USIM端口、USB3.0端口、POWER CORE端口、LCD MIPI端口、USB2.0端口和MIPI DSI端口,第二格式转换器52包括LDVS1端口和LDVS2端口,显示屏51包括TP触屏端口,接口拓展器44包括USB0端口、USB1端口、USB2端口、USB3端口和PHY端口,直播装置12还包括SIM接口81、电源输入接口82、电源转换芯片83和网口84,该直播装置12各组成部分或各组成部分的端口间的连接关系如图13所示。
如图13所示,SIM接口81可以接入SIM卡,SIM接口81连接处理器模块23的USIM端口;电源输入接口82可以接入电源,电源转换芯片83连接电源输入接口82和处理器模块23的POWER CORE端口并用于电源电压转换,可选的,该电源转换芯片83的型号可以是RT7295,该RT7295型号的芯片将电源输入接口输入的12V电压转换成适配处理器模块23的3.9V电压,并将3.9V电压传送给处理器模块23;网口84连接接口拓展器44,该网口84 用于接入网线。
本实施例中提供的直播装置12,通过设置多个HDMI输入接口311和多个第一USB接口41,可以实现多路视频采集;通过设置音频处理模块21,并将音频处理模块21分别与设备接口模块22和处理器模块23相连接,可以实现对输入的音频数据的降噪和/或混音处理;通过设置处理器模块23,并将处理器模块23分别与音频处理模块21和设备接口模块22相连接,可以实现对输入的视频数据和音频数据的解码、编码处理;通过设置显示模块50,可以实现视频画面的实时观看;通过设置数据输出模块60,可以转换视频数据和音频数据的数据格式并输出数据;通过设置网络模块70,可以实现视频数据和音频数据的网络推送,因此,该直播装置12集多路视频采集、解码、编码、推流功能于一体,用户使用时,无需额外配合导播台、硬盘录像机、编码器、采集卡等设备,使得用户直播更加方便,且有利于降低直播成本。
通过该直播装置包括音频处理模块、设备接口模块和处理器模块,音频处理模块包括音频输入接口和音频处理芯片,音频输入接口用于连接麦克风,音频处理芯片分别连接音频输入接口、设备接口模块和处理器模块,音频处理芯片对音频输入接口和/或设备接口模块输入的音频数据进行降噪和/或混音处理,并将处理后的音频数据传送至处理器模块,解决了相关技术中直播装置的处理器模块运行效率低,影响直播呈现内容的质量的问题,提高了观众的观看体验。
需要说明的是,上述直播装置中的处理器模块还可以包括实施例1中的时间戳均匀化处理单元和/或实施例2中的音视频丢帧单元,以实现时间戳均匀化处理和/或音视频丢帧。
在其中一些实施例中,可以提供一种音视频数据的处理系统,该系统包括上述的直播装置,也可以包括实施例3中的服务器,且在实施例3的场景下,客户端也可以作为上述直播装置使用,也就是说,其处理器模块可以实现实施例3的音视频推流数据的处理方法。
上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
实施例5
结合上述实施例中的音视频数据的处理方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种音视频数据的处理方法。
本申请的一个实施例中还提供了一种电子设备,图14是根据本申请实施例5的电子设备的内部结构示意图,如图14所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图14所示。该电子设备包括通过内部总线连接的处理器、网络接口、内存储器和非易失性存储器,其中,该非易失性存储器存储有操作系统、计算机程序和数据库。处理器用于提供计算和控制能力,网络接口用于与外部的终端通过网络连接通信,内存储器用于为操作系统和计算机程序的运行提供环境,计算机程序被处理器执行时以实现一种音视频数据的处理方法,数据库用于存储数据。
本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
Claims (29)
- 一种音视频数据的处理方法,其特征在于,所述方法包括:获取媒体流,其中,所述媒体流为音视频流,所述音视频流包括视频流和音频流;获取所述媒体流中当前媒体帧时间戳和上一媒体帧时间戳的差值,以及获取所述差值的上下限范围,并判断所述差值是否在所述上下限范围内;若所述判断结果为是,则输出所述当前媒体帧时间戳作为当前媒体帧目标时间戳,若所述判断结果为否,则获取所述媒体流的标准媒体帧间隔,将所述当前媒体帧时间戳更新为所述上一媒体帧时间戳和所述标准媒体帧间隔之和;判断所述差值是否大于所述标准媒体帧间隔,若所述判断结果为是,则根据补偿系数对更新后的所述当前媒体帧时间戳进行正向补偿,若所述判断结果为否,则根据补偿系数对更新后的所述当前媒体帧时间戳进行反向补偿,输出所述正向补偿或所述反向补偿后的时间戳作为所述当前媒体帧目标时间戳。
- 根据权利要求1所述的方法,其特征在于,将所述当前媒体帧时间戳更新为所述上一媒体帧时间戳和所述标准媒体帧间隔之和之前,所述方法还包括:判断所述差值是否大于最大误差允许系数,若所述判断结果为是,则输出所述当前媒体帧时间戳作为当前媒体帧目标时间戳,若所述判断结果为否,则将所述当前媒体帧时间戳更新为所述上一媒体帧时间戳和所述标准媒体帧间隔之和,其中,所述最大误差允许系数为n倍的所述标准媒体帧间隔,n为大于1的数值。
- 根据权利要求1所述的方法,其特征在于,根据补偿系数对更新后的所述当前媒体帧时间戳进行正向补偿或反向补偿包括:所述正向补偿为将更新后的所述当前媒体帧时间戳与所述补偿系数之和作为所述当前媒体帧目标时间戳;所述反向补偿为将更新后的所述当前媒体帧时间戳与所述补偿系数之差作为所述当前媒体帧目标时间戳。
- 根据权利要求1或3所述的方法,其特征在于,所述根据补偿系数对更新后的所述当前媒体帧时间戳进行正向补偿或反向补偿之后,所述方法还包括:根据所述当前媒体帧目标时间戳更新上一媒体帧时间戳,更新后的上一媒体帧时间戳作为下一媒体帧时间戳的上一媒体帧时间戳。
- 根据权利要求1所述的方法,其特征在于,获取所述上下限范围包括,根据所述标准媒体帧间隔和波动上下限系数,获取所述上下限范围,其中,所述波动上下限系数小于播放端解码器能容忍的波动范围。
- 根据权利要求1所述的方法,其特征在于,获取所述媒体流的标准媒体帧间隔包括:若所述媒体流为视频流,则根据所述视频流的帧率,获取标准视频帧间隔,所述标准视频帧间隔作为所述标准媒体帧间隔;若所述媒体流为音频流,则根据所述音频流的采样率和每帧音频实际采样点数,获取标准音频帧间隔,所述标准音频帧间隔作为所述标准媒体帧间隔。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:确定音视频流中的每个类型帧对应的权重系数;根据每个类型帧的权重系数、队列的队列容量,计算出每个类型帧对应的丢帧判断阈值;在任一类型帧的发送时刻,若队列中该类型帧中两帧时间戳的最大时间间隔差值大于该类型帧对应的丢帧判断阈值,则执行丢帧操作。
- 根据权利要求7所述的方法,其特征在于,所述类型帧至少包括第一类型帧以及第二类型帧,所述丢帧操作包括:若所述第一类型帧的权重系数大于所述第二类型帧的权重系数,则将队列中第二类型帧按照时间戳由大到小进行依次丢弃。
- 根据权利要求7所述的方法,其特征在于,所述类型帧至少包括第一类型帧以及第二类型帧,第二类型帧根据重要程度排序设立二级权重,所述丢帧操作包括:若所述第一类型帧的权重系数大于所述第二类型帧的权重系数,则将队列中第二类型帧按照二级权重由小到大进行依次丢弃。
- 根据权利要求7-9中任一项所述的方法,其特征在于,所述方法还包括:在每执行一次丢帧操作之后,重复计算队列中所丢类型帧中当前两帧时间戳的最大时间间隔差值,再与该类型帧对应的丢帧判断阈值进行比较,直至队列中该类型帧中两帧时间戳的最大时间间隔差值不大于该类型帧对应的丢帧判断阈值时停止丢帧操作。
- 根据权利要求7-9中任一项所述的方法,其特征在于,所述方法还包括:计算队列中每个类型帧的堆积比,所述堆积比为任一类型帧中当前两帧时间戳的最大时间间隔差值与该类型帧丢帧判断阈值的比值;根据堆积比与回置窗口高度之间预设的对应关系确定每个类型帧对应的回置窗口高度;在每执行一次丢帧操作之后,重复计算队列中所丢类型帧中当前两帧时间戳的最大时间间隔差值,若所述最大时间间隔差值小于该类型帧对应的丢帧判断阈值与回置窗口高度的差值时,则停止丢帧操作。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:获取用户上传的音视频数据,其中,所述音视频数据以音视频流的形式传输,且所述音视频数据携带用户绑定账号信息,且该账号已针对多个目标直播平台的播放参数完成配置;由服务器分别针对各目标直播平台创建推流任务;在该用户绑定账号下,由所述服务器向多个目标直播平台分发该用户的音视频数据。
- 根据权利要求12所述的方法,其特征在于,所述方法还包括:获取用户绑定账号信息及多个目标直播平台的推流需求信息;在该用户绑定账号下,向用户发送直播平台配置交互信息;由服务器响应该用户基于所述交互信息的配置指示,生成匹配对应直播平台需求信息的直播平台配置数据。
- 根据权利要求13所述的方法,其特征在于,向用户发送直播平台配置交互信息,包括:向用户发送针对目标直播平台的绑定账号信息;由服务器响应该用户基于所述交互信息的配置指示,包括:当所述绑定账号信息请求授权通过时,接收用户选择数据并向目标直播平台发送配置数据,所述配置数据包括隐私设置指示信息和音视频发布设置信息;由服务器依据所述用户选择数据完成设置及存储该用户针对目标直播平台的配置数据。
- 根据权利要求12所述的方法,其特征在于,所述方法还包括:由服务器分别接收推流任务创建的直播间地址并存储。
- 一种直播装置,其特征在于,所述直播装置包括音频处理模块、设备接口模块和处理器模块,所述音频处理模块包括音频输入接口和音频处理芯片,所述音频输入接口用于连接麦克风,所述音频处理芯片分别连接所述音频输入接口、所述设备接口模块和所述处理器模块,所述音频处理芯片对所述音频输入接口和/或所述设备接口模块输入的音频数据进行降噪和/或混音处理,并将处理后的所述音频数据传送至所述处理器模块;所述处理器模块包括时间戳均匀化处理单元,所述时间戳均匀化处理单元包括获取模块、判断模块、补偿模块、调整模块和输出模块,所述获取模块与所述判断模块连接,所述判断模块与所述调整模块连接,所述调整模块与所述补偿模块连接,所述补偿模块与所述输出模块连接;所述获取模块用于获取媒体流,其中,所述媒体流为音视频流;所述判断模块用于获取当前媒体帧时间戳和上一媒体帧时间戳的差值和所述差值的上下限范围,并判断所述差值是否在所述上下限范围内,若所述判断结果为是,则所述输出模块输出所述当前媒体帧时间戳作为当前媒体帧目标时间戳,若所述判断结果为否,则所述补偿模块用于获取所述媒体流的标准媒体帧间隔,所述调整模块用于将所述当前媒体帧时间戳更 新为所述上一媒体帧时间戳和所述标准媒体帧间隔之和;所述判断模块还用于判断所述差值是否大于所述标准媒体帧间隔,若所述判断结果为是,则所述补偿模块根据补偿系数对更新后的所述当前媒体帧时间戳进行正向补偿,若所述判断结果为否,则所述补偿模块根据补偿系数对更新后的所述当前媒体帧时间戳进行反向补偿;所述输出模块用于输出所述正向补偿或所述反向补偿后的时间戳作为所述当前媒体帧目标时间戳。
- 根据权利要求16所述的直播装置,其特征在于,所述设备接口模块包括HDMI接口模块和/或USB接口模块,其中,所述HDMI接口模块包括至少一个HDMI输入接口,所述USB接口模块包括至少一个USB接口,所述HDMI输入接口和所述USB接口分别连接所述音频处理芯片。
- 根据权利要求17所述的直播装置,其特征在于,所述HDMI接口模块还包括至少一个第一格式转换器,所述第一格式转换器连接所述HDMI输入接口和所述处理器模块,所述第一格式转换器将所述HDMI输入接口输入的数据由HDMI格式转换成MIPI格式,并将所述MIPI格式的数据传送至所述处理器模块,其中,所述HDMI输入接口输入的所述数据包括视频数据和/或所述音频数据。
- 根据权利要求17所述的直播装置,其特征在于,所述USB接口模块包括第一USB接口和第二USB接口,所述第一USB接口通过所述处理器模块连接所述音频处理芯片,并用于向所述音频处理芯片输入所述音频数据;所述第二USB接口连接所述处理器模块,用于系统调试。
- 根据权利要求19所述的直播装置,其特征在于,所述处理器模块包括USB端口,所述第一USB接口设为多个,所述USB接口模块还包括接口拓展器,所述接口拓展器一端连接所述USB端口,所述接口拓展器另一端连接多个所述第一USB接口。
- 根据权利要求16所述的直播装置,其特征在于,所述音频输入接口包括有源输入接口和无源输入接口,其中,所述有源输入接口用于连接有源麦克风,所述无源输入接口用于连接无源麦克风。
- 根据权利要求16所述的直播装置,其特征在于,所述音频处理模块还包括音频输出接口,所述音频输出接口连接所述音频处理芯片,并用于输出所述处理后的所述音频数据。
- 根据权利要求20所述的直播装置,其特征在于,所述直播装置还包括显示模块,所述显示模块包括显示屏和第二格式转换器,所述第二格式转换器连接所述处理器模块和所述显示屏,所述处理器模块输出MIPI格式的数据,所述第二格式转换器将所述MIPI格式的数据转换成LVDS格式,所述显示屏显示所述LVDS格式的数据,其中,所述处理器模块输出的MIPI格式数据包括视频数据。
- 根据权利要求23所述的直播装置,其特征在于,所述显示屏包括触摸屏,所述USB接口模块包括第三USB接口,所述第三USB接口连接所述接口拓展器和所述触摸屏。
- 根据权利要求16所述的直播装置,其特征在于,所述直播装置还包括数据输出模块,所述数据输出模块包括第三格式转换器和HDMI输出接口,所述第三格式转换器连接所述处理器模块和所述HDMI输出接口,所述第三格式转换器将所述处理器模块输出的数据由MIPI格式转换成HDMI格式,并将所述HDMI格式的数据传送至所述HDMI输出接口,其中,所述处理器模块输出的所述数据包括视频数据和所述音频数据。
- 根据权利要求16所述的直播装置,其特征在于,所述处理器模块还包括音视频丢帧单元,所述音视频丢帧单元包括:确定模块,用于确定音视频流中的每个类型帧对应的权重系数;计算模块,用于根据每个类型帧的权重系数、队列的队列容量,计算出每个类型帧对应的丢帧判断阈值;丢帧模块,用于在任一类型帧的发送时刻,若队列中该类型帧中两帧时间戳的最大时间间隔差值大于该类型帧对应的丢帧判断阈值,则执行丢帧操作。
- 根据权利要求16所述的直播装置,其特征在于,所述处理器模块还包括音视频丢帧单元,所述音视频丢帧单元包括:外部动态参数设置器,用于设置音频帧和视频帧的权重系数、以及设置丢帧判断阈值参数;参数收集器,用于将丢帧判断相关的参数进行收集,参数包括权重系数、队列容量、丢帧判断阈值参数;参数计算器,用于将收集到的参数根据计算规则得到各类型帧的丢帧判断阈值;丢帧判定器,用于先寻找该类型帧丢帧判断阈值,再计算队列中该类型帧中两帧时间戳的最大时间间隔差值,根据丢帧判定原则对最大时间间隔差值与丢帧判断阈值进行比较判断;丢帧执行器,用于当丢帧判定器判断出执行丢帧操作,则将队列中该类型帧按照时间戳由大到小进行依次丢弃,每丢弃一次该类型帧将反馈给参数计算器和丢帧判定器,重复计算队列中所丢类型帧中当前两帧时间戳的最大时间间隔差值并进行丢帧判定。
- 一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至15中任一项所述的方法。
- 一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至15中任一项所述的方法。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011637767.7A CN112822505B (zh) | 2020-12-31 | 2020-12-31 | 音视频丢帧方法、装置、系统、存储介质和计算机设备 |
CN2020116377677 | 2020-12-31 | ||
CN202120826728.5U CN215072677U (zh) | 2021-04-21 | 2021-04-21 | 直播装置 |
CN2021208267285 | 2021-04-21 | ||
CN202110643677.7A CN113365094A (zh) | 2021-06-09 | 2021-06-09 | 基于直播的推流数据处理方法、计算设备和存储介质 |
CN2021106436777 | 2021-06-09 | ||
PCT/CN2021/118485 WO2022142481A1 (zh) | 2020-12-31 | 2021-09-15 | 音视频数据的处理方法、直播装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116762344A true CN116762344A (zh) | 2023-09-15 |
Family
ID=87952005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180087403.2A Pending CN116762344A (zh) | 2020-12-31 | 2021-09-15 | 音视频数据的处理方法、直播装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116762344A (zh) |
-
2021
- 2021-09-15 CN CN202180087403.2A patent/CN116762344A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11128893B2 (en) | Live streaming method and system, server, and storage medium | |
US20070271388A1 (en) | Server-side media stream manipulation for emulation of media playback functions | |
US20140111670A1 (en) | System and method for enhanced image capture | |
US11356493B2 (en) | Systems and methods for cloud storage direct streaming | |
CN112752115B (zh) | 直播数据传输方法、装置、设备及介质 | |
US8572670B2 (en) | Video distribution device, video distribution system, and video distribution method | |
US8244897B2 (en) | Content reproduction apparatus, content reproduction method, and program | |
US20180041817A1 (en) | Video Assets Having Associated Graphical Descriptor Data | |
CN111031389B (zh) | 视频处理方法、电子装置和存储介质 | |
JP2009038420A (ja) | コンテンツ評価ソフトウェア及びサービス提供システム | |
US20130166769A1 (en) | Receiving device, screen frame transmission system and method | |
EP2034733A2 (en) | Content reproduction | |
CN107040825B (zh) | 终端、电视机、多屏互动系统和抓屏参数的设置方法 | |
US20240004859A1 (en) | Data handling method, system and computer program | |
CN107317815A (zh) | 一种视频叠加的方法及装置、存储介质和终端 | |
US20230345089A1 (en) | Audio and Video Data Processing Method, Live Streaming Apparatus, Electronic Device, and Storage Medium | |
WO2017016266A1 (zh) | 一种实现同步播放的方法和装置 | |
CN114363648A (zh) | 直播系统混流过程中音视频对齐的方法、设备及存储介质 | |
US20120154678A1 (en) | Receiving device, screen frame transmission system and method | |
EP1962510A2 (en) | Device, system and method for remotely processing multimedia stream | |
CN116762344A (zh) | 音视频数据的处理方法、直播装置、电子设备和存储介质 | |
US20120147048A1 (en) | Method and Input-Output Device for Rendering at least one of Audio, Video and Computer Graphics Content and Servicing Device for Delivering at least one of Pre-Rendered Audio, Pre-Rendered Video and Pre-Rendered Computer Graphics Content | |
CN113973215A (zh) | 数据去重方法、装置及存储介质 | |
KR20120009981A (ko) | 셋탑박스 화면 가상화 방법 및 시스템 | |
CN106210867A (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 |