首页 / 专利库 / 多媒体工具与应用 / 媒体流 / 一种显示直播字幕的方法、装置、服务器及介质

一种显示直播字幕的方法、装置、服务器及介质

阅读:397发布:2020-05-08

专利汇可以提供一种显示直播字幕的方法、装置、服务器及介质专利检索,专利查询,专利分析的服务。并且本 发明 实施例 提供了一种显示直播字幕的方法、装置、 服务器 及介质,涉及信息处理技术领域。本 申请 实施例的方案包括:接收直播管理系统发送的直播任务指令,基于直播任务指令接收并缓存直播管理系统发送的音频数据和 视频 帧 数据,并对音频数据进行 语音识别 ,得到音频数据对应的文本数据,然后根据文本数据的时间戳和视频帧数据的时间戳,将文本数据 叠加 至与文本数据的时间戳相同的视频帧数据,得到携带字幕信息的视频帧数据,并输出由携带字幕信息的视频帧数据和音频数据组成的 媒体流 。采用该方法可以实现为直播视频显示字幕。,下面是一种显示直播字幕的方法、装置、服务器及介质专利的具体信息内容。

1.一种显示直播字幕的方法,其特征在于,所述方法应用于服务器,所述方法包括:
接收直播管理系统发送的直播任务指令;
基于所述直播任务指令接收并缓存所述直播管理系统发送的音频数据和视频数据,并对所述音频数据进行语音识别,得到所述音频数据对应的文本数据;
根据所述文本数据的时间戳和所述视频帧数据的时间戳,将所述文本数据叠加至与所述文本数据的时间戳相同的视频帧数据,得到携带字幕信息的视频帧数据;
输出由所述携带字幕信息的视频帧数据和所述音频数据组成的媒体流
2.根据权利要求1所述的方法,其特征在于,所述基于所述直播任务指令接收并缓存所述直播管理系统发送的音频数据和视频数据,并对所述音频数据进行语音识别,得到所述音频数据对应的文本数据,包括:
解析所述直播任务指令;
若所述直播任务指令中携带语音识别参数,则接收并缓存所述直播管理系统发送的音频数据和视频数据,同时对所述音频数据进行语音识别,得到所述音频数据对应的文本数据。
3.根据权利要求1或2所述的方法,其特征在于,所述对所述音频数据进行语音识别,得到所述音频数据对应的文本数据,包括:
对所述音频数据进行重采样,得到指定采样率的脉冲编码调制PCM数据,并基于所述音频数据的时间戳为所述PCM数据添加时间戳;
将PCM数据组合为指定大小的PCM包;
每隔预设时间间隔对一个PCM包中的PCM数据进行语音识别,得到所述PCM包中的PCM数据对应的文本数据;
将所述PCM包中的PCM数据对应的文本数据缓存至文本处理队列。
4.根据权利要求3所述的方法,其特征在于,所述根据所述文本数据的时间戳和所述视频帧数据的时间戳,将所述文本数据叠加值与所述文本数据时间戳相同的视频帧数据,得到携带字幕信息的视频帧数据,包括:
当存在视频帧数据缓存超时时,从所述文本处理队列获取与所述视频帧数据时间戳相同的文本数据,将获取到的文本数据作为字幕信息叠加至所述视频帧数据,得到携带字幕信息的视频帧数据。
5.根据权利要求4所述的方法,其特征在于,在所述将获取到的文本数据作为字幕信息叠加至所述视频帧数据,得到携带字幕信息的视频帧数据之后,所述方法还包括:
将所述携带字幕信息的视频帧数据和与所述携带字幕信息的视频帧数据时间戳相同的音频数据进行音视频同步处理。
6.根据权利要求5所述的方法,其特征在于,所述将所述携带字幕信息的视频帧数据和与所述携带字幕信息的视频帧数据时间戳相同的音频数据进行音视频同步处理,包括:
将所述携带字幕信息视频帧数据和与所述视频帧数据时间戳相同的音频数据输入缓存区,在所述缓存区中对所述携带字幕信息的视频帧数据和与所述携带字幕信息的视频帧数据时间戳相同的音频数据进行音视频同步处理;
所述输出由所述携带字幕信息的视频帧数据和所述音频数据组成的媒体流,包括:
在经过音视频同步处理的所述携带字幕信息的视频帧数据和所述音频数据在所述缓存区的缓存时长达到指定时长时,输出由所述携带字幕信息的视频帧数据和所述音频数据组成的媒体流。
7.一种显示直播字幕的装置,其特征在于,所述装置应用于服务器,所述装置包括:
接收模,用于接收直播管理系统发送的直播任务指令;以及基于所述直播任务指令接收并缓存所述直播管理系统发送的音频数据和视频帧数据;
语音识别模块,用于对所述音频数据进行语音识别,得到所述音频数据对应的文本数据;
叠加模块,用于根据所述文本数据的时间戳和所述视频帧数据的时间戳,将所述文本数据叠加至与所述文本数据的时间戳相同的视频帧数据,得到携带字幕信息的视频帧数据;
输出模块,用于输出由所述携带字幕信息的视频帧数据和所述音频数据组成的媒体流。
8.根据权利要求7所述的装置,其特征在于,
所述接收模块,具体用于解析所述直播任务指令;以及若所述直播任务指令中携带语音识别参数,则接收并缓存所述直播管理系统发送的音频数据和视频数据;
所述语音识别模块,用于在所述接收模块缓存所述音频数据和所述视频数据的同时,对所述音频数据进行语音识别,得到所述音频数据对应的文本数据。
9.一种服务器,其特征在于,包括处理器、通信接口存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法步骤。

说明书全文

一种显示直播字幕的方法、装置、服务器及介质

技术领域

[0001] 本发明涉及信息处理技术领域,特别是涉及一种显示直播字幕的方法、装置、服务器及介质。

背景技术

[0002] 目前,大多数视频内容都有字幕,比如春节晚会、电视剧、电影等,都会在播放过程中同步显示字幕。这类视频中的字幕都是在离线状态由人工录入的,即视频录制完成后,先由人工录入字幕,然后才能实现在播放过程中同步显示字幕。
[0003] 而对于直播视频,需在录制的同时进行播放,所以无法先由人工录制字幕再播放,导致目前在直播过程中无法同步显示直播视频的字幕。

发明内容

[0004] 本发明实施例的目的在于提供一种显示直播字幕的方法、装置、电子设备及介质,以解决直播视频在直播过程中无法同步显示字幕的问题。具体技术方案如下:
[0005] 第一方面,本申请实施例提供一种显示直播字幕的方法,所述方法应用于服务器,所述方法包括:
[0006] 接收直播管理系统发送的直播任务指令;
[0007] 基于所述直播任务指令接收并缓存所述直播管理系统发送的音频数据和视频数据,并对所述音频数据进行语音识别,得到所述音频数据对应的文本数据;
[0008] 根据所述文本数据的时间戳和所述视频帧数据的时间戳,将所述文本数据叠加至与所述文本数据的时间戳相同的视频帧数据,得到携带字幕信息的视频帧数据;
[0009] 输出由所述携带字幕信息的视频帧数据和所述音频数据组成的媒体流
[0010] 在一种可能的实现方式中,所述基于所述直播任务指令接收并缓存所述直播管理系统发送的音频数据和视频数据,并对所述音频数据进行语音识别,得到所述音频数据对应的文本数据,包括:
[0011] 解析所述直播任务指令;
[0012] 若所述直播任务指令中携带语音识别参数,则接收并缓存所述直播管理系统发送的音频数据和视频数据,同时对所述音频数据进行语音识别,得到所述音频数据对应的文本数据。
[0013] 在一种可能的实现方式中,所述对所述音频数据进行语音识别,得到所述音频数据对应的文本数据,包括:
[0014] 对所述音频数据进行重采样,得到指定采样率的脉冲编码调制PCM数据,并基于所述音频数据的时间戳为所述PCM数据添加时间戳;
[0015] 将PCM数据组合为指定大小的PCM包;
[0016] 每隔预设时间间隔对一个PCM包中的PCM数据进行语音识别,得到所述PCM包中的PCM数据对应的文本数据;
[0017] 将所述PCM包中的PCM数据对应的文本数据缓存至文本处理队列。
[0018] 在一种可能的实现方式中,所述根据所述文本数据的时间戳和所述视频帧数据的时间戳,将所述文本数据叠加值与所述文本数据时间戳相同的视频帧数据,得到携带字幕信息的视频帧数据,包括:
[0019] 当存在视频帧数据缓存超时时,从所述文本处理队列获取与所述视频帧数据时间戳相同的文本数据,将获取到的文本数据作为字幕信息叠加至所述视频帧数据,得到携带字幕信息的视频帧数据。
[0020] 在一种可能的实现方式中,在所述将获取到的文本数据作为字幕信息叠加至所述视频帧数据,得到携带字幕信息的视频帧数据之后,所述方法还包括:
[0021] 将所述携带字幕信息的视频帧数据和与所述携带字幕信息的视频帧数据时间戳相同的音频数据进行音视频同步处理。
[0022] 在一种可能的实现方式中,所述将所述携带字幕信息的视频帧数据和与所述携带字幕信息的视频帧数据时间戳相同的音频数据进行音视频同步处理,包括:
[0023] 将所述携带字幕信息视频帧数据和与所述视频帧数据时间戳相同的音频数据输入缓存区,在所述缓存区中对所述携带字幕信息的视频帧数据和与所述携带字幕信息的视频帧数据时间戳相同的音频数据进行音视频同步处理;
[0024] 所述输出由所述携带字幕信息的视频帧数据和所述音频数据组成的媒体流,包括:
[0025] 在经过音视频同步处理的所述携带字幕信息的视频帧数据和所述音频数据在所述缓存区的缓存时长达到指定时长时,输出由所述携带字幕信息的视频帧数据和所述音频数据组成的媒体流。
[0026] 第二方面,本申请实施例提供一种显示直播字幕的装置,所述装置应用于服务器,所述装置包括:
[0027] 接收模,用于接收直播管理系统发送的直播任务指令;以及基于所述直播任务指令接收并缓存所述直播管理系统发送的音频数据和视频帧数据;
[0028] 语音识别模块,用于对所述音频数据进行语音识别,得到所述音频数据对应的文本数据;
[0029] 叠加模块,用于根据所述文本数据的时间戳和所述视频帧数据的时间戳,将所述文本数据叠加至与所述文本数据的时间戳相同的视频帧数据,得到携带字幕信息的视频帧数据;
[0030] 输出模块,用于输出由所述携带字幕信息的视频帧数据和所述音频数据组成的媒体流。
[0031] 在一种可能的实现方式中,所述接收模块,具体用于解析所述直播任务指令;以及若所述直播任务指令中携带语音识别参数,则接收并缓存所述直播管理系统发送的音频数据和视频数据;
[0032] 所述语音识别模块,用于在所述接收模块缓存所述音频数据和所述视频数据的同时,对所述音频数据进行语音识别,得到所述音频数据对应的文本数据。
[0033] 在一种可能的实现方式中,所述语音识别模块,具体用于:
[0034] 对所述音频数据进行重采样,得到指定采样率的脉冲编码调制PCM数据,并基于所述音频数据的时间戳为所述PCM数据添加时间戳;
[0035] 将PCM数据组合为指定大小的PCM包;
[0036] 每隔预设时间间隔对一个PCM包中的PCM数据进行语音识别,得到所述PCM包中的PCM数据对应的文本数据;
[0037] 将所述PCM包中的PCM数据对应的文本数据缓存至文本处理队列。
[0038] 在一种可能的实现方式中,所述叠加模块,具体用于当存在视频帧数据缓存超时时,从所述文本处理队列获取与所述视频帧数据时间戳相同的文本数据,将获取到的文本数据作为字幕信息叠加至所述视频帧数据,得到携带字幕信息的视频帧数据。
[0039] 在一种可能的实现方式中,所述装置还包括:
[0040] 同步模块,用于将所述携带字幕信息的视频帧数据和与所述携带字幕信息的视频帧数据时间戳相同的音频数据进行音视频同步处理。
[0041] 在一种可能的实现方式中,所述同步模块,具体用于将所述携带字幕信息视频帧数据和与所述视频帧数据时间戳相同的音频数据输入缓存区,在所述缓存区中对所述携带字幕信息的视频帧数据和与所述携带字幕信息的视频帧数据时间戳相同的音频数据进行音视频同步处理;
[0042] 所述输出模块,具体用于在经过音视频同步处理的所述携带字幕信息的视频帧数据和所述音频数据在所述缓存区的缓存时长达到指定时长时,输出由所述携带字幕信息的视频帧数据和所述音频数据组成的媒体流。
[0043] 第三方面,本申请实施例提供一种服务器,其特征在于,包括处理器、通信接口存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0044] 存储器,用于存放计算机程序
[0045] 处理器,用于执行存储器上所存放的程序时,实现上述第一方面所述的方法步骤。
[0046] 第四方面,本申请实施例提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法步骤。
[0047] 第五方面,本申请实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
[0048] 采用本申请实施例提供的显示直播字幕的方法,在接收到直播管理系统发送的直播任务指令之后,可以基于直播任务指令接收直播管理系统发送的音频数据和视频帧数据,并对音频数据进行语音识别,得到音频数据对应的文本数据,进而根据文本数据的时间戳和视频帧数据的时间戳,将文本数据叠加至于文本数据的时间戳相同的视频帧数据,得到携带字幕信息的视频帧数据,进而输出由携带字幕信息视频帧数据和音频数据组成的媒体流。由于在直播过程中,可以实时对音频数据进行语音识别,得到音频数据对应的文本数据,并且在媒体流被输出前,已经将文本数据叠加至视频帧数据中,所以采用本申请实施可以实现在直播过程中同步显示字幕。
[0049] 当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。附图说明
[0050] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0051] 图1为本申请实施例提供的一种显示直播字幕的方法的流程图
[0052] 图2为本申请实施例提供的另一种显示直播字幕的方法的流程图;
[0053] 图3为本申请实施例提供的另一种显示直播字幕的方法的流程图;
[0054] 图4为本申请实施例提供的另一种显示直播字幕的方法的流程图;
[0055] 图5为本申请实施例提供的一种直播系统的结构示意图;
[0056] 图6为本申请实施例提供的一种显示直播字幕的装置的结构示意图;
[0057] 图7为本申请实施例提供的另一种显示直播字幕的装置的结构示意图;
[0058] 图8为本申请实施例提供的一种服务器的结构示意图。

具体实施方式

[0059] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0060] 为了实现在直播过程中显示字幕,本申请实施例提供了一种显示直播字幕的方法,如图1所示,该方法应用于服务器,该方法包括:
[0061] S101、接收直播管理系统发送的直播任务指令。
[0062] S102、基于直播任务指令接收并缓存直播管理系统发送的音频数据和视频帧数据,并对音频数据进行语音识别,得到音频数据对应的文本数据。
[0063] S103、根据文本数据的时间戳和视频帧数据的时间戳,将文本数据叠加至与文本数据的时间戳相同的视频帧数据,得到携带字幕信息的视频帧数据。
[0064] S104、输出由携带字幕信息的视频帧数据和音频数据组成的媒体流。
[0065] 采用本申请实施例提供的显示直播字幕的方法,在接收到直播管理系统发送的直播任务指令之后,可以基于直播任务指令接收直播管理系统发送的音频数据和视频帧数据,并对音频数据进行语音识别,得到音频数据对应的文本数据,进而根据文本数据的时间戳和视频帧数据的时间戳,将文本数据叠加至于文本数据的时间戳相同的视频帧数据,得到携带字幕信息的视频帧数据,进而输出由携带字幕信息视频帧数据和音频数据组成的媒体流。由于在直播过程中,可以实时对音频数据进行语音识别,得到音频数据对应的文本数据,并且在媒体流被输出前,已经将文本数据叠加至视频帧数据中,所以采用本申请实施可以实现在直播过程中同步显示字幕。
[0066] 在上述S101中,直播管理系统可基于各服务器的负载情况,向其中一个服务器发送直播任务指令。直播任务指令中携带直播频道ID和直播相关参数,直播相关参数包括直播视频的码率、帧率、编码类型以及直播类型等。
[0067] 在上述S102中,服务器的直播转码服务进程可以接收并缓存直播管理系统发送的音频数据和视频数据,并将音频数据传输至语音识别服务进程,由语音识别服务进程对音频数据进行语音识别,从而将音频数据转换为文本数据。
[0068] 在上述S103中,直播转码服务进程可以获取语音识别服务进程识别得到的文本数据,并将文本数据叠加至于文本数据的时间戳相同的视频帧数据中。
[0069] 在上述S104中,服务器可以将媒体流输出至内容分发网络(Content Delivery Network,CDN)服务器,以使得CDN服务器为各播放终端提供具有字幕的直播视频。
[0070] 具体地,服务器可以根据直播相关参数中的码率、帧率、编码类型以及直播类型等信息对直播视频帧数据进行转码服务,然后根据直播频道ID将媒体流输出至对应的CDN服务器。
[0071] 在本申请实施例的一种实现方式中,如图2所示,上述S102、基于直播任务指令接收直播管理系统发送的音频数据和视频帧数据,并对音频数据进行语音识别,得到音频数据对应的文本数据,具体包括以下步骤:
[0072] S1021、解析直播任务指令。
[0073] S1022、若直播任务指令中携带语音识别参数,则接收并缓存直播管理系统发送的音频数据和视频数据,同时对音频数据进行语音识别,得到音频数据对应的文本数据。
[0074] 其中,若直播任务指令中携带语音识别(Automatic Speech Recognition,ASR)参数,说明需要在直播过程中显示字幕,进而服务器可同时启动语音识别服务进程以及直播转码服务进程,并为该直播任务指令创建缓存目录和缓存文件。
[0075] 若直播任务指令中未携带ASR参数,则无需对音频数据进行语音识别,服务器的直播转码服务进程对接收到的音视频数据进行转码后,可直接进行输出。
[0076] 在本申请实施例的另一种实现方式中,如图3所示,上述S1022、对音频数据进行语音识别,得到音频数据对应的文本数据,具体包括以下步骤:
[0077] S301、对音频数据进行重采样,得到指定采样率的脉冲编码调制(Pulse Code Modulation,PCM)数据,并基于音频数据的时间戳为PCM数据添加时间戳。
[0078] 可选地,指定采样率可以为16K采样率。语音识别系统可以识别指定采样率的PCM数据,所以直播转码服务进程可以将音频数据转换为指定采样率的PCM数据,并为PCM数据打上时间戳,并按照音频数据输入的频率通过消息队列将PCM数据推送至语音识别服务进程的接收端口。
[0079] S302、将PCM数据组合为指定大小的PCM包。
[0080] 为方便语音识别服务进程的处理,语音识别服务进程可将接收到的PCM数据组合为指定大小的PCM包,一个PCM包中可以包括多条PCM数据。
[0081] S303、每隔预设时间间隔对一个PCM包中的PCM数据进行语音识别,得到PCM包中的PCM数据对应的文本数据。
[0082] 语音识别进程可以每隔预设时间间隔对一个PCM包进行处理,对于PCM包中的PCM数据,将按照各PCM数据的时间戳从早到晚的顺序进行处理。
[0083] S304、将PCM包中的PCM数据对应的文本数据缓存至文本处理队列。
[0084] 可以理解的是,在按照各PCM数据的时间戳从早到晚的顺序处理的过程中,可将语音识别后得到的数据按顺序缓存至文本处理队列。
[0085] 基于图3所示的方法流程,如图4所示,上述S103、根据文本数据的时间戳和视频帧数据的时间戳,将文本数据叠加至与文本数据的时间戳相同的视频帧数据,得到携带字幕信息的视频帧数据,具体可执行为:
[0086] S1031、当存在视频帧数据缓存超时时,从文本处理队列获取与视频帧数据时间戳相同的文本数据,将获取到的文本数据作为字幕信息叠加至视频帧数据,得到携带字幕信息的视频帧数据。
[0087] 作为示例,视频数据的缓存超时时长可以为0.5秒,当然也可以设置为其他值,本申请实施例对此不作限定。
[0088] 本申请实施例设置缓存超时时长,可以使得在视频帧数据到达超时时长前,语音识别服务进程有足够的时间对音频数据进行语音识别,在音频数据和视频帧数据缓存的时间段内,语音识别服务进程完成对音频数据的语音识别,进而当视频帧数据缓存超时时,可获取语音识别得到的文本数据,并将该文本数据作为视频帧数据的字幕信息。
[0089] 采用该方法,通过对音频数据和视频帧数据的短时间缓存,为语音识别提供了时间,使得语音识别后得到的文本信息能够与视频帧数据以及音频数据同步播放。
[0090] 在本申请实施例的另一种实现方式中,在上述S1031、在将获取到的文本数据作为字幕信息叠加至视频帧数据,得到携带字幕信息的视频帧数据之后,该方法还包括:
[0091] 将携带字幕信息的视频帧数据和与携带字幕信息的视频帧数据时间戳相同的音频数据进行音视频同步处理。
[0092] 该步骤具体可以实现为:将携带字幕信息的视频帧数据和与该视频帧数据时间戳相同的音频数据输入缓存区,在缓存区对该携带字幕信息的视频帧数据和与该携带字幕信息的视频帧数据时间戳相同的音频数据进行音视频同步处理。
[0093] 可选地,携带字幕信息的视频帧数据和音频数据在缓存区的缓存时长可实时调整,即在完成音视频同步处理后,即可从缓存区输出。
[0094] 或者,携带字幕信息的视频帧数据和音频数据在缓存区的缓存时长可根据实际需求设置为固定值,例如0.5秒或者1秒,当然也可以设置为其他值,本申请实施例对此不作限制。缓存时间越长,对语音识别服务进程的容错率越高,但缓存时长过长将导致直播的延迟较大,影响用户体验,所以缓存时长不超过3秒。
[0095] 相应地,在经过音视频同步处理的视频帧数据和音频数据在缓存区的缓存时长达到指定时长时,输出视频帧数据和音频帧数据组成的媒体流。
[0096] 采用该方法,服务器可以在缓存时长内完成音视频的同步,使得直播视频可以同步播放视频帧、音频以及字幕。若因网络抖动等原因导致语音识别结果未及时传输至直播转码服务进程,服务器仍有缓冲时间等待语音识别结果。所以,通过延迟播放机制,可以避免因语音识别结果传输不及时等问题导致的音频、视频帧与字幕不能同步的问题,且延迟较短的时间,例如1秒,对用户而言基本无感知,可以提高直播视频播放效果。
[0097] 如图5所示,本申请实施例提供的方法可以应用于图5所示的直播系统中,该系统中包括直播管理系统、连接于后台控制系统的多个服务节点以及数据库
[0098] 其中,直播管理系统包括命令解析模块、数据存储模块和调度分发模块。
[0099] 且直播管理系统用于提供后台显示界面。
[0100] 在一种实现方式中,管理员可通过触发后台管理系统中的“直播实时字幕”按钮,触发直播管理系统启动显示直播字幕的方法。
[0101] 或者,在另一种实现方式中,直播管理系统可以接收统一资源定位符(Uniform Resource Locator,URL)请求,例如http://xxxx/start?asr=Zh,然后解析该URL请求,从而启动显示直播字幕的方法。
[0102] 具体地,命令解析模块,用于解析上述按钮触发的命令,或者解析上述URL请求,并生成编码服务控制命令,向调度分发模块发送编码服务控制命令。
[0103] 调度分发模块,用于在接收到编码服务控制命令后,根据各服务节点的资源情况选择合适的服务节点,然后通过消息队列向选择的服务节点发送直播任务指令。
[0104] 调度分发模块,还用于通过数据存储模块将直播任务对应的频道ID和直播视频相关参数存入数据库。
[0105] 数据存储模块,还用于将后续接收到的音频数据和视频数据存储至数据库。
[0106] 服务节点,即上述方法流程中的服务器,用于接收直播管理系统发送的直播任务指令,并按照上述方法实施例中的方法流程执行该直播任务指令。
[0107] 图5中的服务节点为采用分布式部署的服务节点,各服务节点支持自动呼叫,直播管理系统自动搜索到服务节点后,可与服务节点建立连接,各服务节点被直播管理系统统一调度。
[0108] 服务节点中包括直播编码模块、直播转码服务模块和语音识别服务模块。图5中各服务节点的构成相同,图5示例性地示出了一个服务节点的结构。
[0109] 其中,直播编码模块,用于接收直播管理系统发送的直播任务指令,并解析直播任务指令,若直播任务指令中携带ASR参数,则启动直播转码服务模块的直播转码服务进程和语音识别服务模块的语音识别服务进程,并创建直播转码服务进程和语音识别服务进程所使用的缓存目录和缓存文件。
[0110] 直播转码服务模块,用于接收直播管理系统发送的音频数据和视频数据,并以单线程方式缓存音频数据和视频数据,同时将音频数据进行重采样,并为音频数据打上时间戳,然后按照音频输入频率通过消息队列将音频数据推送至语音识别模块的接收端口。
[0111] 语音识别服务模块接收到音频数据后,将音频数据组合为指定大小的PCM包,按照指定时间间隔进行语音识别算法的处理,将音频数据转换为文本数据,然后将文本数据按顺序存储在文本处理队列。
[0112] 直播转码服务模块中存在视频帧数据缓存超时时,则从文本处理队列中获取与视频帧数据时间戳相同的文本数据,然后依据文本数据为视频帧数据添加字幕数据,并经过音视频同步处理后,输出媒体流。
[0113] 本申请实施例中,直播转码服务模块采用单线程缓存机制缓存音频数据和视频数据,相比于多线程模型,减小了开销,提升了开发效率,且降低了开发难度和险。另外本申请实施例采用插件式部署方式实现了为视频添加字幕的功能,与现有的系统的耦合性低,后续升级部署方便,稳定性强。
[0114] 基于相同的技术构思,本申请实施例还提供一种显示直播字幕的装置,如图6所示,该装置应用于服务器,该装置包括:接收模块601、语音识别模块602、叠加模块603和输出模块604。
[0115] 接收模块601,用于接收直播管理系统发送的直播任务指令;以及基于直播任务指令接收并缓存直播管理系统发送的音频数据和视频帧数据;
[0116] 语音识别模块602,用于对音频数据进行语音识别,得到音频数据对应的文本数据;
[0117] 叠加模块603,用于根据文本数据的时间戳和视频帧数据的时间戳,将文本数据叠加至与文本数据的时间戳相同的视频帧数据,得到携带字幕信息的视频帧数据;
[0118] 输出模块604,用于输出由携带字幕信息的视频帧数据和音频数据组成的媒体流。
[0119] 可选地,接收模块601,具体用于解析直播任务指令;以及若直播任务指令中携带语音识别参数,则接收并缓存直播管理系统发送的音频数据和视频数据;
[0120] 语音识别模块602,用于在接收模块缓存音频数据和视频数据的同时,对音频数据进行语音识别,得到音频数据对应的文本数据。
[0121] 可选地,语音识别模块602,具体用于:
[0122] 对音频数据进行重采样,得到指定采样率的脉冲编码调制PCM数据,并基于音频数据的时间戳为PCM数据添加时间戳;
[0123] 将PCM数据组合为指定大小的PCM包;
[0124] 每隔预设时间间隔对一个PCM包中的PCM数据进行语音识别,得到PCM包中的PCM数据对应的文本数据;
[0125] 将PCM包中的PCM数据对应的文本数据缓存至文本处理队列。
[0126] 可选地,叠加模块603,具体用于当存在视频帧数据缓存超时时,从文本处理队列获取与视频帧数据时间戳相同的文本数据,将获取到的文本数据作为字幕信息叠加至视频帧数据,得到携带字幕信息的视频帧数据。
[0127] 可选地,如图7所示,该装置还包括:同步模块701。
[0128] 同步模块701,用于将携带字幕信息的视频帧数据和与携带字幕信息的视频帧数据时间戳相同的音频数据进行音视频同步处理。
[0129] 可选地,同步模块701,具体用于将携带字幕信息视频帧数据和与视频帧数据时间戳相同的音频数据输入缓存区,在缓存区中对携带字幕信息的视频帧数据和与携带字幕信息的视频帧数据时间戳相同的音频数据进行音视频同步处理;
[0130] 输出模块604,具体用于在经过音视频同步处理的携带字幕信息的视频帧数据和音频数据在缓存区的缓存时长达到指定时长时,输出由携带字幕信息的视频帧数据和音频数据组成的媒体流。
[0131] 采用本申请实施例提供的显示直播字幕的装置,在接收到直播管理系统发送的直播任务指令之后,可以基于直播任务指令接收直播管理系统发送的音频数据和视频帧数据,并对音频数据进行语音识别,得到音频数据对应的文本数据,进而根据文本数据的时间戳和视频帧数据的时间戳,将文本数据叠加至于文本数据的时间戳相同的视频帧数据,得到携带字幕信息的视频帧数据,进而输出由携带字幕信息视频帧数据和音频数据组成的媒体流。由于在直播过程中,可以实时对音频数据进行语音识别,得到音频数据对应的文本数据,并且在媒体流被输出前,已经将文本数据叠加至视频帧数据中,所以采用本申请实施可以实现在直播过程中同步显示字幕。
[0132] 本发明实施例还提供了一种服务器,如图8所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,
[0133] 存储器803,用于存放计算机程序;
[0134] 处理器801,用于执行存储器803上所存放的程序时,实现上述方法实施例中服务器执行的方法步骤。
[0135] 上述服务器提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry  Standard Architecture,EISA)总线等。该通信总线可以分为地址总线数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0136] 通信接口用于上述服务器与其他设备之间的通信。
[0137] 存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0138] 上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0139] 在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一显示直播字幕的方法的步骤。
[0140] 在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一显示直播字幕的方法。
[0141] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
[0142] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0143] 本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0144] 以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈