CN114040255A - 直播字幕生成方法、系统、设备及存储介质 - Google Patents
直播字幕生成方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN114040255A CN114040255A CN202111259282.3A CN202111259282A CN114040255A CN 114040255 A CN114040255 A CN 114040255A CN 202111259282 A CN202111259282 A CN 202111259282A CN 114040255 A CN114040255 A CN 114040255A
- Authority
- CN
- China
- Prior art keywords
- subtitle
- stream
- audio
- live
- voice
- 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
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000013519 translation Methods 0.000 claims abstract description 100
- 238000004806 packaging method and process Methods 0.000 claims abstract description 13
- 238000013473 artificial intelligence Methods 0.000 claims description 34
- 238000004891 communication Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 208000032041 Hearing impaired Diseases 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 208000016354 hearing loss disease Diseases 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/488—Data services, e.g. news ticker
- H04N21/4884—Data services, e.g. news ticker for displaying subtitles
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
- H04N21/4394—Processing of audio elementary streams involving operations for analysing the audio stream, e.g. detecting features or characteristics in audio streams
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440218—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/278—Subtitling
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了直播字幕生成方法、系统、设备及存储介质,方法包括:S100:接收直播信源,解码分离出视频流和多条音轨的音频流;S200:接收多个音频流,识别并生成多个第一字幕数据;第一字幕数据中包含各个音频流中语音所对应的语音识别文本以及所对应的时间序列;实时翻译各语音识别文本,分别生成多个语音翻译文本;S300:接收多个语音识别文本和对应的语音翻译文本,封装成多语种的字幕流;S400:利用转码引擎基于时间序列,按帧格式对视频流、音频流以及字幕流进行编码封装,输出带有字幕切片的多条HLS直播流。本发明实现字幕与音视频同步,并且播放端可以根据需求选择音轨、字幕显示,满足不同视听需求的受众群体。
Description
技术领域
本发明涉及音视频转码技术领域,尤其涉及直播字幕生成方法、系统、设备及存储介质。
背景技术
随着直播音视频行业的快速发展,利用现有数据流传输的技术,对高清画质、低延时、声画同步等要求已经优化到了极致,然而用户的需求并不满足于此。
在一些特殊场景中,比如大型体育赛事、大型会议报告、在线教育培训等多语种直播。由于字幕需要先对直播流进行录像,然后提取音频流,人工或机器翻译后烧录到视频中,在重报时可以显示字幕。无法给语言不通或者听觉障碍的受众群体带来直播效果。现有虽然已开发出直播实时生成字幕的技术,比如直播弹幕,但是该技术存在一些缺陷,例如,字幕和声音不同步,时而超前时而延后,受众群体的体验感及其不佳;而且受众群体不可能都听得懂直播语言,因此当前直播技术无法满足不同语言以及具有听觉障碍的受众群体的需求。
发明内容
为解决背景技术中的技术问题,本申请实施例通过提供一种直播字幕生成方法、系统、设备及存储介质,实现了在多语种直播中,在不增加硬件成本的前提下,通过一次直播转码任务实时生成多音轨多字幕、且达到音视频及字幕三方同步的直播视听效果,通过一次转码任务同时输出多音轨、多语种选择字幕的HLS直播流,满足播放器对音频、字幕的选择性视听需求。
第一方面,本申请实施例提供了一种直播字幕生成方法,所述方法包括:
S100:根据直播端的转码任务接收直播信源,利用转码引擎开启解封装解码线程,解码分离出所述直播信源中的视频流和多条音轨的音频流,且各所述音频流为所述视频流中局部音频数据;
S200:利用AI语音翻译引擎接收多个音轨的所述音频流,识别并生成基于多音轨的多个第一字幕数据;所述第一字幕数据中包含各个音轨所述音频流中语音所对应的语音识别文本以及所对应的时间序列;按照预设的翻译规则实时翻译各所述语音识别文本,分别生成多个语音翻译文本;各所述语音翻译文本中包括除对应所述语音识别文本语种以外的其他一个或多个语种;
S300:利用所述转码引擎接收多个所述语音识别文本和对应的所述语音翻译文本,封装成多语种的字幕流;各所述字幕流中包括同一时间序列下含一个或两个语种的若干字幕切片;
S400:利用所述转码引擎基于时间序列,按帧格式对所述视频流、音频流以及所述字幕流进行编码封装,输出带有所述字幕切片的多条HLS直播流。
进一步地,在所述步骤S400中,还包括创建m3u8索引文件;
创建多个HLS直播流的第一索引子文件;
将第一索引子文件分别写入到所述m3u8索引文件内,使得在播放端播放过程中,根据所述m3u8索引文件选择播放其中一个所述第一索引子文件下的HLS直播流;
或者,创建所述视频流、多个音轨的所述音频流以及多个所述字幕流的第二索引子文件,将第二索引子文件分别写入到所述m3u8索引文件内,使得在播放端播放过程中,根据对所述m3u8索引文件选择播放含有所选所述视频流、所述音频流以及所述字幕流的HLS直播流。
进一步地,所述步骤S400中,还包括直接按照帧格式将所述视频流与各个所述音频流编码封装,输出不带字幕切片的HLS直播流;
创建不带字幕切片HLS直播流的第三索引子文件,将所述第三索引子文件写入到所述m3u8索引文件内,根据对所述m3u8索引文件选择播放所述第三索引子文件下的不带字幕切片的HLS直播流;
或者,创建所述视频流、多个音轨的所述音频流的第四索引子文件,将所述第四索引子文件写入到所述m3u8索引文件内,根据对所述m3u8索引文件选择播放含有所选所述视频流、所述音频流的不带字幕切片的HLS直播流。
进一步地,在步骤S400中,根据所述播放端发送的字幕获取请求;
所述字幕获取请求中携带有语种指示消息,所述语种指示消息用于表示选择HLS直播流中所显示的字幕语种;
向所述播放端推送相应语种字幕的HLS直播流。
进一步地,所述步骤S400进一步包括,利用所述转码引擎对所述视频流、所述音频流以及所述字幕流以帧格式进行时间排序,按时间戳从小到大依次进入编码器编码,封装成带有字幕切片的若干HLS直播流。
进一步地,在步骤S300中,所述转码引擎将json格式的所述语音识别文本和所述语音翻译文本封装成webvtt格式的所述字幕流。
进一步地,还包括:通过websocket建立所述转码引擎、所述AI语音翻译引擎之间的通信,其方法为:
在所述转码引擎上建立websocket服务A和websocket客户B;在所述AI语音翻译引擎上建立websocket客户C和websocket服务D;
所述websocket客户C向所述websocket服务A发起鉴权请求,鉴权成功建立连接,所述AI语音翻译引擎通过websocket通信实时向所述转码引擎获取多条所述音频流;
所述websocket客户B分别向websocket服务D发起鉴权请求,鉴权成功建立连接,所述转码引擎通过websocket通信实时向所述AI语音翻译引擎获取所述语音识别文本和所述语音翻译文本。
第二方面,本申请实施例提供了一种直播字幕生成系统,采用第一方面的方法,所述系统包括:
直播解码模块,配置为根据直播端的转码任务接收直播信源,利用转码引擎开启解封装解码线程,解码分离出所述直播信源中的视频流和多条音轨的音频流,且各所述音频流为所述视频流中局部音频数据;
语音翻译模块,配置为利用AI语音翻译引擎接收多个音轨的所述音频流,识别并生成基于多音轨的多个第一字幕数据;所述第一字幕数据中包含各个音轨所述音频流中语音所对应的语音识别文本以及所对应的时间序列;按照预设的翻译规则实时翻译各所述语音识别文本,分别生成多个语音翻译文本;各所述语音翻译文本中包括除对应所述语音识别文本语种以外的其他一个或多个语种;
字幕封装模块,配置为利用所述转码引擎接收多个所述语音识别文本和对应的所述语音翻译文本,封装成多语种的字幕流;各所述字幕流中包括同一时间序列下含一个或两个语种的若干字幕切片;
直播编码模块,配置为利用所述转码引擎基于时间序列,按帧格式对所述视频流、音频流以及所述字幕流进行编码封装,输出带有所述字幕切片的多条HLS直播流。
第三方面,本申请实施例提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现第一方面任一所述的直播字幕生成方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现第一方面任一所述的直播字幕生成方法。
本申请实施例中提供的多个技术方案,至少具有如下技术效果:
1、由于采用基于不同音频流的字幕识别翻译技术,从而实现多音轨多字幕的直播显示技术,并且真正实现字幕与音视频的同步,生成的多语种字幕可以实现播放器根据选择显示相应的音轨和字幕,从而满足不同视听需求的受众群体。
2,由于仅在服务端对转码处理的配置设置,在不增加服务器硬件成本的情况下,通过一次转码任务实时生成多音轨多字幕,并且达到音视频、字幕三方同步。通过一次转码任务同时输出多音轨多国语言的外挂字幕直播流可满足播放端对音频、字幕的选择性显示。
附图说明
图1为本申请实施例一中直播字幕生成方法的流程图;
图2为本申请实施例一中数据流处理示意流程图;
图3为本申请实施例一中直播转码字幕生成主流程图;
图4为本申请实施例一中一种基于websocket通信流程图;
图5为本申请实施例一中另一种基于websocket通信流程图;
图6为本申请实施例二中直播字幕生成系统框图。
具体实施方式
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
在对本申请各个实施例进行说明之前,首先对本申请涉及到的几个概念进行介绍:
(1)字幕:以文字形式显示在网络视频、电视、电影、舞台作品中的对话或者旁白等非影像内容,也泛指影视作品后期加工的文字。
(2)直播:一种通过流媒体技术,将图像、声音、文字等丰富的元素经互联网向用户展示生动、直观的真实画面的一整套技术,其涉及编码工具、流媒体数据、服务器、网络以及播放器等一系列服务模块。
(3)语音识别,语音识别(Automatic Speech Recognition,ASR),将人类语音中的词汇内容转换为计算机可读的输入,可以理解的文本内容或者二进制编码或者字符序列。狭义解释为语音转文字的过程,简称语音转文本识别(SpeechToText,STT)。
(3)语音翻译:通过人工或者计算机将一种语言的语音或者文本即时翻译为另一种语言的语音或者文本。本实施例中的实时翻译可以是基于人工智能的语音识别和即时翻译。
(4)超文本传输协议直播流:超文本传输协议直播流(Hyper Text TransferProtocol Live Streaming,HLS)是一种基于HTTP的流媒体网络传输协议,可以实现流媒体的点播和直播播放。
(5)M3U8文件:是基于8比特统一码转换格式(8-bit UnicodeTransformationFormat,UTF-8)编码的移动图片专家组音频层3统一资源定位器(MovingPicture ExpertsGroup Audio Layer 3Uniform Resource Locator,M3U)文件。M3U8文件本质上是一个资源索引文件,通常用于存储可播放的多媒体文件的地址列表。
实施例一
在阐述步骤S100之前,首先简要构造一种直播网络架构。该架构包括位于通信网络中的直播端、服务端以及若干播放端,服务端可以是一台或者若干台服务器,当然也可能是虚拟化平台、云计算服务中心,对此本实施例不做限定,但是本实施例中的直播字幕生成方法是在该服务端上执行的。直播端可以是具有直播功能的设备,比如智能手机、含有摄像语音功能的台式机、笔记本等,播放端可以理解为具有直播播放器的终端设备,例如,手机、平板电脑、电子书阅读器、智能眼镜、智能手表、MP3播放器、MP4播放器、便携计算机和台式计算机等等具有视频播放功能的终端设备。本实施例中的直播端、播放端均与服务端网络通信连接,通信网络可以是有线也可以是无线。在本实施例中,服务端接收直播端发送的直播信源,经过多音轨多字幕处理后,生成的HLS直播流,并通过播放端进行视听播放。
本实施例中的直播端设有直播应用服务,该直播应用服务通过直播端中已有的图像采集组合和音频采集组件进行直播录制。例如,直播端为智能手机,图像采集组件为内置摄像头,音频采集组件为内置麦克风;直播端为终端设备,图像采集组件为外置摄像机,音频采集组件为外置话筒。直播端中对于音视频采集的实现形式,本实施例不做限定,直播应用服务中可实现音视频采集功能即可。进一步说明,在直播端中配置直播应用服务后,可进行直播信源中音视频数据流的采集,那么相应的服务端可以是对应该直播应用服务的直播服务器。在直播端启动直播应用服务时,操作人员触发启动直播音视频采集功能,同步录制音频数据和视频数据,封装成直播信源,通过直播传输通道传输给服务端处理。也就是说,不同的直播端传输的直播信源可以通过不同的直播传输通道传输,对应直播端的用户预设ID码,然后播放端可以通过ID码选择观看相应的直播,对此不作限定。
本实施例中的无线网络或者有线网络采用标准的通信协议,网络通常为因特网,但也可以是任何网络,包括但不限于局域网、城域网、广域网、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。在一些实施例中,使用包括超文本标记语言、可扩展标记语言等的技术来代表通过网络交换的数据。此外还可以使用诸如安全套接字层、传输层安全、虚拟专用网络、网际协议安全等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制专用数据通信技术取代或者补充上述数据通信技术。
参考附图1-3所示,本申请实施例提供了一种直播字幕生成方法,该方法包括如下几个步骤。
步骤S100:根据直播端的转码任务接收直播信源,利用转码引擎开启解封装解码线程,解码分离出直播信源中的视频流和多条音轨的音频流,且各音频流为视频流中局部音频数据。
步骤S200:利用AI语音翻译引擎接收多个音轨的音频流,识别并生成基于多音轨的多个第一字幕数据;第一字幕数据中包含各个音轨音频流中语音所对应的语音识别文本以及所对应的时间序列;按照预设的翻译规则实时翻译各语音识别文本,分别生成多个语音翻译文本;各语音翻译文本中包括除对应语音识别文本语种以外的其他一个或多个语种。
步骤S300:利用转码引擎接收多个语音识别文本和对应的语音翻译文本,封装成多语种的字幕流;各字幕流中包括同一时间序列下含一个或两个语种的若干字幕切片。
步骤S400:利用转码引擎基于时间序列,按帧格式对视频流、音频流以及字幕流进行编码封装,输出带有字幕切片的多条HLS直播流。
在步骤S100到S400中,获取音频流和生成字幕流的步骤不可避免的需要消耗一定的处理时间,为了使本步骤中的音视频流以及字幕流三方同步展示,本实施例中在进行处理的第一时刻就设置了一个时间序列,使得获取的任意媒体流(视频流、音频流以及字幕流)都处于同一个时间序列中,使任意的媒体流的实际处理时间不受限制,使获得的媒体流按照时间节点进行匹配。比如,语音翻译处理时间过长,但是获得的字幕流中的字幕切片还是按照时间节点封装到视频流中,并且视频流与各音频流本来就是基于同一时间序列产生的媒体流,本实施例中主要是将字幕切片按照对应的时间节点匹配给音视频流媒体文件。
在步骤S200中进一步包括如下步骤。
S210:利用AI语音识别引擎接收多个音轨的音频流,识别并生成多个第一字幕数据;第一字幕数据中包含各个音频流中语音所对应的第一字幕文本以及所对应的时间序列。
S220:利用AI文本翻译引擎接收多个第一字幕文本;按照预设的翻译规则实时翻译,分别生成多个第二字幕文本;各第二字幕文本中包括除对应第一字幕文本语种以外的其他一个或多个语种。
可以看出服务端在本步骤S200进行语音翻译的过程中,先进行语音识别,再进行文本翻译。当然现有技术中已存在语音翻译技术,但是本实施例是针对一些特定直播场景,不可能将全世界所有语种都翻译一遍,那需要极大的文本存储空间。另外由于本技术不是翻译应用服务中点对点的翻译服务,不需要根据用户需求逐一翻译。本实施例在直播之前预设有翻译规则,通常该翻译规则根据受众群体制定翻译语种,比如在国内某些会议中,首先考虑的肯定是中文,如果有少数民族,比如藏族,那么翻译规则中可以有藏文翻译,如果是与相邻国际间的某些会议,那么翻译规则可以包括对应的邻国语种,当然由于英文为世界通用语种之一,通常翻译规则中,中英翻译也是必备的翻译语种之一,对此本实施例不再进一步说明,翻译规则即为根据受众群体预先制定的语种翻译配置。本实施例中根据翻译规则中的语种翻译配置对语音识别文本逐一翻译,获取不同语种的语音翻译文本。
进一步说明,在步骤S300中,将语音识别文本和语音翻译文本封装成多语种字幕流,各字幕流包含一种或两种字幕切片。当然不介意观看效果中字幕遮挡整个视频,也可以将所有的文本封装成字幕流。本实施例中直接优选字幕流中包括一种或多种的基于同一时间序列的字幕切片。进一步说明,服务端在转码步骤中生成多干个字幕流并保存。根据播放端的字幕显示需求,可能包括不同的视频流、音频流以及字幕流搭配。
在一种实施例中,服务端封装获取多语种的字幕流后,同时保存直播信源分解的视频流和多音轨的多条音频流,此时由于不知道播放端的视听规则,先获取播放端发送的视听规则,然后根据接收的视听规则将对应的视频流、音频流以及字幕流进行编码封装成HLS直播流,然后推送给播放端。当然在播放端和服务端通信阶段有一个握手连接时间,首次握手接触即为视听规则的获取,当更换视听规则时,相当于重新握手连接,该方法通常是在播放端数量较少的情况。在另一种实施例中,该实施例可用于播放端数量较多的情况。服务端封装获取多语种的字幕流后,按照不同的搭配预先将视频流、不同的字幕流、不同的音频流进行编码封装,然后输出带有字幕切片的HLS直播流。如果有1条视频流、M条音频流、N条字幕流,那么至多输出M*N条HLS直播流。
本实施例中的直播信源分解出多条音频流,每条音频流为一个独立的音轨,且音轨之间互不影响,比如直播中,主讲人说的是中文,同时有翻译人员进行一种或多种同声传译,那么直播信源分出来的音频流包括中文音轨以及一种或多种同声传译音轨;又比如说,同一个直播场景中,包括多个主讲人,各主讲人同时分别对同一个场景进行不同专业领域的阐述,那么不同主讲人的话语就是不同的音轨。本实施例中采用多音轨播放,便于受众群体选择其中一个音轨进行视听体验,而不受其他音轨播放的影响。
一种实施例中,在步骤S400中,还包括创建m3u8索引文件;
创建多个HLS直播流的第一索引子文件;
将第一索引子文件分别写入到m3u8索引文件内,使得在播放端播放过程中,根据m3u8索引文件选择播放其中一个第一索引子文件下的HLS直播流。
另一种实施例中,在步骤S400中,还包括创建m3u8索引文件;
创建视频流、多个音轨的音频流以及多个字幕流的第二索引子文件,将第二索引子文件分别写入到m3u8索引文件内,使得在播放端播放过程中,根据对m3u8索引文件选择播放含有所选视频流、音频流以及字幕流的HLS直播流。
该两种设计都是基于多音轨多字幕设计的,当然也有直接不带字幕的多音轨设计。
进一步说明,在步骤S400中,还包括直接按照帧格式将视频流与各个音频流编码封装,输出不带字幕切片的HLS直播流。
在一种实施例中,创建不带字幕切片HLS直播流的第三索引子文件,将第三索引子文件写入到m3u8索引文件内,根据对m3u8索引文件选择播放第三索引子文件下的不带字幕切片的HLS直播流;
在另一种实施例中,创建视频流、多个音频流的第四索引子文件,将第四索引子文件写入到m3u8索引文件内,根据对m3u8索引文件选择播放含有所选视频流、音频流的不带字幕切片的HLS直播流。
本实施例中创建的m3u8索引文件使用标准二级m3u8实现直播加时移的多音轨多字幕。其中,补充说明,一级index.m3u8格式代码如下:
#EXTM3U
#EXT-X-VERSION:4
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="",DEFAULT=YES,
AUTOSELECT="YES",FORCED="NO",LANGUAGE="chi",URI="subtitles/0/01.m3u8"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="",DEFAULT=NO,
AUTOSELECT="NO",FORCED="NO",LANGUAGE="eng",URI="subtitles/1/01.m3u8"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="aac",NAME="",DEFAULT=YES,
AUTOSELECT="YES",FORCED="NO",LANGUAGE="chi",URI="audio/aac/0/01.m3u8"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="aac",NAME="",DEFAULT=NO,
AUTOSELECT="NO",FORCED="NO",LANGUAGE="eng",URI="audio/aac/1/01.m3u8"
#EXT-X-STREAM-INF:BANDWIDTH=2059200,RESOLUTION=1920x1080,
SUBTITLES="subs",AUDIO="aac"
video/0/01.m3u8
在一种实施例中,二级音视频01.m3u8格式代码设计如下:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:598914
#EXTINF:6.000000,
20210324161909-01-598914.ts
#EXTINF:6.000000,
20210324161909-01-598915.ts
#EXTINF:6.000000,
20210324161909-01-598916.ts
#EXTINF:6.000000,
20210324161909-01-598917.ts
#EXTINF:6.000000,
20210324161909-01-598918.ts
#EXTINF:6.000000,
20210324161909-01-598919.ts
在一种实施例中,二级字幕01.m3u8格式代码设计如下:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:598914
#EXTINF:6.000000,
20210324161909-01-598914.webvtt
#EXTINF:6.000000,
20210324161909-01-598915.webvtt
#EXTINF:6.000000,
20210324161909-01-598916.webvtt
#EXTINF:6.000000,
20210324161909-01-598917.webvtt
#EXTINF:6.000000,
20210324161909-01-598918.webvtt
#EXTINF:6.000000,
20210324161909-01-598919.webvtt
本步骤中的m3u8索引文件相当于给播放端提供视听规则的技术,根据播放端对m3u8索引文件的选择推送对应的HLS直播流。进一步说明,在步骤S400中,根据播放端发送的字幕获取请求;字幕获取请求中携带有语种指示消息,语种指示消息用于表示选择HLS直播流中所显示的字幕语种;向播放端推送相应语种字幕的HLS直播流。
本实施例中的步骤S400进一步包括,利用转码引擎对视频流、音频流以及字幕流以帧格式进行时间排序,按时间戳从小到大依次进入编码器编码,封装成带有字幕切片的若干HLS直播流。因此可以看出本实施例基于转码技术的基础上,利用对视频流、一个音轨的音频流以及一条字幕流的编码整合获取到若干HLS直播流,满足不同视听受众群体的视听需求,为直播行业的发展带来意想不到的有益效果。
本实施例中的转码引擎将json格式的语音识别文本和语音翻译文本封装成webvtt格式的字幕流。进一步说明,在步骤S200中按照翻译规则进行语音识别文本的翻译,比如说翻译成中文、英文等,翻译步骤实现的过程中,涉及到语种、译文内容、译文开始时间、译文结束时间,对此本实施例中将语音识别处理、翻译处理以及音频流获取处理分别独立开来,互补影响,但是相互之间又基于同一个时间序列,该时间序列作为对照基础,比如说,通过音频流中产生的各个语音可以确定发生或结束在时间序列中的时间节点,然后针对该些语音的语音识别文本,分别对应各个时间节点设置,相应的语音翻译文本也是针对各个时间节点设置。本实施例中将语音识别文本以及语音翻译文本用json格式结构化传输,在代码中,翻译文本中的内容开始时间戳startTime继承自音频流时间戳pts,结束时间戳endTime等于pts加上音频帧持续时长duration,language表示语种,translate表示译文,track表示音轨索引,对此不再进一步阐述。
本实施例中的服务端执行直播字幕生成方法,还包括搭建通信协议。进一步说明,参考附图4-5所示,该方法还包括:通过websocket建立所述转码引擎、所述AI语音翻译引擎之间的通信,其方法为:
在所述转码引擎上建立websocket服务A和websocket客户B;在所述AI语音翻译引擎上建立websocket客户C和websocket服务D。
所述websocket客户C向所述websocket服务A发起鉴权请求,鉴权成功建立连接,所述AI语音翻译引擎通过websocket通信实时向所述转码引擎获取多条所述音频流;websocket客户B分别向websocket服务D发起鉴权请求,鉴权成功建立连接,所述转码引擎通过websocket通信实时向所述AI语音翻译引擎获取所述语音识别文本和所述语音翻译文本。
进一步细化说明,通过websocket建立的AI语音翻译引擎包括AI语音识别引擎和AI文本翻译引擎,在AI语音识别引擎上建立websocket客户C-1和websocket服务D-1,在AI文本翻译引擎上建立websocket客户C-2和websocket服务D-2。
websocket客户C-1向websocket服务A发起鉴权请求,鉴权成功建立连接,AI语音识别引擎通过websocket通信实时向转码引擎获取多条音频流;websocket客户C-2向websocket服务D-1发起鉴权请求,鉴权成功建立连接,AI文本翻译引擎通过websocket通信实时向AI语音识别引擎获取语音识别文本;websocket客户B分别向websocket服务D-1、websocket服务D-2发起鉴权请求,鉴权成功建立连接,转码引擎通过websocket通信实时向AI语音识别引擎获取语音识别文本、向AI文本翻译引擎获取语音翻译文本。
其中,在鉴权请求中还包括预设约定密钥,通过MD5算法对约定密钥进行加密,得到MD5加密密钥,在鉴权请求中,先后将MD5加密密钥以参数形式附加到HTTP请求中,并进行比对MD5加密密钥,以判断鉴权请求是否成功。
实施例二
参考附图6所示,本申请实施例提供了一种直播字幕生成系统,应用实施例一中的方法,系统包括:
直播解码模块100,配置为根据直播端的转码任务接收直播信源,利用转码引擎开启解封装解码线程,解码分离出直播信源中的视频流和多条音轨的音频流,且各音频流为视频流中局部音频数据。
语音翻译模块200,配置为利用AI语音翻译引擎接收多个音轨的音频流,识别并生成基于多音轨的多个第一字幕数据;第一字幕数据中包含各个音轨音频流中语音所对应的语音识别文本以及所对应的时间序列;按照预设的翻译规则实时翻译各语音识别文本,分别生成多个语音翻译文本;各语音翻译文本中包括除对应语音识别文本语种以外的其他一个或多个语种。
字幕封装模块300,配置为利用转码引擎接收多个语音识别文本和对应的语音翻译文本,封装成多语种的字幕流;各字幕流中包括同一时间序列下含一个或两个语种的若干字幕切片。
直播编码模块400,配置为利用转码引擎基于时间序列,按帧格式对视频流、音频流以及字幕流进行编码封装,输出带有字幕切片的多条HLS直播流。
实施例三
本申请实施例提供一种计算机设备,计算机设备包含处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如实施例一中任一项的直播字幕生成方法。
本申请实施例提供一种计算机可读存储介质,其特征在于,存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如实施例一中任一项的直播字幕生成方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种直播字幕生成方法,其特征在于,所述方法包括:
S100:根据直播端的转码任务接收直播信源,利用转码引擎开启解封装解码线程,解码分离出所述直播信源中的视频流和多条音轨的音频流,且各所述音频流为所述视频流中局部音频数据;
S200:利用AI语音翻译引擎接收多个音轨的所述音频流,识别并生成基于多音轨的多个第一字幕数据;所述第一字幕数据中包含各个音轨所述音频流中语音所对应的语音识别文本以及所对应的时间序列;按照预设的翻译规则实时翻译各所述语音识别文本,分别生成多个语音翻译文本;各所述语音翻译文本中包括除对应所述语音识别文本语种以外的其他一个或多个语种;
S300:利用所述转码引擎接收多个所述语音识别文本和对应的所述语音翻译文本,封装成多语种的字幕流;各所述字幕流中包括同一时间序列下含一个或两个语种的若干字幕切片;
S400:利用所述转码引擎基于时间序列,按帧格式对所述视频流、音频流以及所述字幕流进行编码封装,输出带有所述字幕切片的多条HLS直播流。
2.如权利要求1所述的直播字幕生成方法,其特征在于,在所述步骤S400中,还包括创建m3u8索引文件;
创建多个HLS直播流的第一索引子文件;
将第一索引子文件分别写入到所述m3u8索引文件内,使得在播放端播放过程中,根据所述m3u8索引文件选择播放其中一个所述第一索引子文件下的HLS直播流;
或者,创建所述视频流、多个音轨的所述音频流以及多个所述字幕流的第二索引子文件,将第二索引子文件分别写入到所述m3u8索引文件内,使得在播放端播放过程中,根据对所述m3u8索引文件选择播放含有所选所述视频流、所述音频流以及所述字幕流的HLS直播流。
3.如权利要求2所述的直播字幕生成方法,其特征在于,所述步骤S400中,还包括直接按照帧格式将所述视频流与各个所述音频流编码封装,输出不带字幕切片的HLS直播流;
创建不带字幕切片HLS直播流的第三索引子文件,将所述第三索引子文件写入到所述m3u8索引文件内,根据对所述m3u8索引文件选择播放所述第三索引子文件下的不带字幕切片的HLS直播流;
或者,创建所述视频流、多个音轨的所述音频流的第四索引子文件,将所述第四索引子文件写入到所述m3u8索引文件内,根据对所述m3u8索引文件选择播放含有所选所述视频流、所述音频流的不带字幕切片的HLS直播流。
4.如权利要求2或3所述的直播字幕生成方法,其特征在于,在步骤S400中,根据所述播放端发送的字幕获取请求;
所述字幕获取请求中携带有语种指示消息,所述语种指示消息用于表示选择HLS直播流中所显示的字幕语种;
向所述播放端推送相应语种字幕的HLS直播流。
5.如权利要求1所述的直播字幕生成方法,其特征在于,所述步骤S400进一步包括,利用所述转码引擎对所述视频流、所述音频流以及所述字幕流以帧格式进行时间排序,按时间戳从小到大依次进入编码器编码,封装成带有字幕切片的若干HLS直播流。
6.如权利要求1所述的直播字幕生成方法,其特征在于,在步骤S300中,所述转码引擎将json格式的所述语音识别文本和所述语音翻译文本封装成webvtt格式的所述字幕流。
7.如权利要求1所述的直播字幕生成方法,其特征在于,
还包括:通过websocket建立所述转码引擎、所述AI语音翻译引擎之间的通信,其方法为:
在所述转码引擎上建立websocket服务A和websocket客户B;在所述AI语音翻译引擎上建立websocket客户C和websocket服务D;
所述websocket客户C向所述websocket服务A发起鉴权请求,鉴权成功建立连接,所述AI语音翻译引擎通过websocket通信实时向所述转码引擎获取多条音轨的所述音频流;
所述websocket客户B分别向websocket服务D发起鉴权请求,鉴权成功建立连接,所述转码引擎通过websocket通信实时向所述AI语音翻译引擎获取所述语音识别文本和所述语音翻译文本。
8.一种直播字幕生成系统,采用权利要求1-7任意一项所述的方法,其特征在于,所述系统包括:
直播解码模块,配置为根据直播端的转码任务接收直播信源,利用转码引擎开启解封装解码线程,解码分离出所述直播信源中的视频流和多条音轨的音频流,且各所述音频流为所述视频流中局部音频数据;
语音翻译模块,配置为利用AI语音翻译引擎接收多个音轨的所述音频流,识别并生成基于多音轨的多个第一字幕数据;所述第一字幕数据中包含各个音轨所述音频流中语音所对应的语音识别文本以及所对应的时间序列;按照预设的翻译规则实时翻译各所述语音识别文本,分别生成多个语音翻译文本;各所述语音翻译文本中包括除对应所述语音识别文本语种以外的其他一个或多个语种;
字幕封装模块,配置为利用所述转码引擎接收多个所述语音识别文本和对应的所述语音翻译文本,封装成多语种的字幕流;各所述字幕流中包括同一时间序列下含一个或两个语种的若干字幕切片;
直播编码模块,配置为利用所述转码引擎基于时间序列,按帧格式对所述视频流、音频流以及所述字幕流进行编码封装,输出带有所述字幕切片的多条HLS直播流。
9.一种计算机设备,其特征在于,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至7任一项所述的直播字幕生成方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至7任一项所述的直播字幕生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111259282.3A CN114040255A (zh) | 2021-10-28 | 2021-10-28 | 直播字幕生成方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111259282.3A CN114040255A (zh) | 2021-10-28 | 2021-10-28 | 直播字幕生成方法、系统、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114040255A true CN114040255A (zh) | 2022-02-11 |
Family
ID=80135572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111259282.3A Pending CN114040255A (zh) | 2021-10-28 | 2021-10-28 | 直播字幕生成方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114040255A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114554238A (zh) * | 2022-02-23 | 2022-05-27 | 北京有竹居网络技术有限公司 | 直播语音同传方法、装置、介质及电子设备 |
CN114900718A (zh) * | 2022-07-12 | 2022-08-12 | 深圳市华曦达科技股份有限公司 | 一种多区域感知的自动多字幕实现方法、装置及系统 |
CN116320653A (zh) * | 2023-02-03 | 2023-06-23 | 北京有竹居网络技术有限公司 | 音视频的处理方法、装置、电子设备及存储介质 |
CN116527840A (zh) * | 2023-07-05 | 2023-08-01 | 卓望数码技术(深圳)有限公司 | 一种基于云边协同的直播会议智能字幕显示方法和系统 |
CN116916094A (zh) * | 2023-09-12 | 2023-10-20 | 联通在线信息科技有限公司 | 一种双视频混流播放方法、播放器及存储介质 |
-
2021
- 2021-10-28 CN CN202111259282.3A patent/CN114040255A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114554238A (zh) * | 2022-02-23 | 2022-05-27 | 北京有竹居网络技术有限公司 | 直播语音同传方法、装置、介质及电子设备 |
CN114554238B (zh) * | 2022-02-23 | 2023-08-11 | 北京有竹居网络技术有限公司 | 直播语音同传方法、装置、介质及电子设备 |
CN114900718A (zh) * | 2022-07-12 | 2022-08-12 | 深圳市华曦达科技股份有限公司 | 一种多区域感知的自动多字幕实现方法、装置及系统 |
CN116320653A (zh) * | 2023-02-03 | 2023-06-23 | 北京有竹居网络技术有限公司 | 音视频的处理方法、装置、电子设备及存储介质 |
CN116527840A (zh) * | 2023-07-05 | 2023-08-01 | 卓望数码技术(深圳)有限公司 | 一种基于云边协同的直播会议智能字幕显示方法和系统 |
CN116916094A (zh) * | 2023-09-12 | 2023-10-20 | 联通在线信息科技有限公司 | 一种双视频混流播放方法、播放器及存储介质 |
CN116916094B (zh) * | 2023-09-12 | 2024-01-19 | 联通在线信息科技有限公司 | 一种双视频混流播放方法、播放器及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108401192B (zh) | 视频流处理方法、装置、计算机设备及存储介质 | |
US11252444B2 (en) | Video stream processing method, computer device, and storage medium | |
US11272257B2 (en) | Method and apparatus for pushing subtitle data, subtitle display method and apparatus, device and medium | |
CN114040255A (zh) | 直播字幕生成方法、系统、设备及存储介质 | |
RU2702233C2 (ru) | Устройство обработки информации и способ обработки информации | |
US9286940B1 (en) | Video editing with connected high-resolution video camera and video cloud server | |
WO2017063399A1 (zh) | 一种视频播放方法和装置 | |
US9736552B2 (en) | Authoring system for IPTV network | |
US9621963B2 (en) | Enabling delivery and synchronization of auxiliary content associated with multimedia data using essence-and-version identifier | |
CN109348252A (zh) | 视频播放方法、视频传输方法、装置、设备及存储介质 | |
US20050021805A1 (en) | System and method for transmitting multimedia information streams, for instance for remote teaching | |
KR20220077132A (ko) | 시청각 콘텐츠용 바이노럴 몰입형 오디오 생성 방법 및 시스템 | |
RU2497298C2 (ru) | Система и способ хранения мультимедийных презентаций, имеющих несколько источников | |
WO2019214370A1 (zh) | 多媒体信息的传输方法及装置、终端 | |
CN107659538A (zh) | 一种视频处理的方法及设备 | |
CN112437337A (zh) | 一种直播实时字幕的实现方法、系统及设备 | |
JP2014131253A (ja) | コンテンツ生成方法及びメディアクラウドサーバ | |
CN106789976A (zh) | 媒体文件的播放方法、服务端、客户端及系统 | |
US20240107087A1 (en) | Server, terminal and non-transitory computer-readable medium | |
US11818186B2 (en) | Distributed network recording system with synchronous multi-actor recording | |
CN114341866A (zh) | 同声传译方法、装置、服务器和存储介质 | |
CN113891108A (zh) | 字幕优化方法、装置、电子设备和存储介质 | |
CN115150631A (zh) | 字幕处理方法、装置、电子设备和存储介质 | |
KR102273795B1 (ko) | 영상 동기화 처리를 위한 시스템 및 그 제어방법 | |
CN114257843B (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 |