CN114257843A - 一种多媒体数据处理方法、装置、设备及可读存储介质 - Google Patents
一种多媒体数据处理方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN114257843A CN114257843A CN202011015245.3A CN202011015245A CN114257843A CN 114257843 A CN114257843 A CN 114257843A CN 202011015245 A CN202011015245 A CN 202011015245A CN 114257843 A CN114257843 A CN 114257843A
- Authority
- CN
- China
- Prior art keywords
- video
- subtitle
- target
- time
- coding
- 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
- 238000003672 processing method Methods 0.000 title abstract description 16
- 238000000034 method Methods 0.000 claims abstract description 64
- 238000004806 packaging method and process Methods 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims description 45
- 238000004590 computer program Methods 0.000 claims description 30
- 230000002123 temporal effect Effects 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 26
- 238000013519 translation Methods 0.000 description 18
- 238000013518 transcription Methods 0.000 description 9
- 230000035897 transcription Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 230000000153 supplemental effect Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000004927 fusion Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000000007 visual effect 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
-
- 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/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23602—Multiplexing isochronously with the video sync, e.g. according to bit-parallel or bit-serial interface formats, as SDI
-
- 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/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请实施例公开了一种多媒体数据处理方法、装置、设备及可读存储介质,本申请属于计算机技术领域,方法包括:获取视频的视频编码块,以及每个视频编码块对应的编码描述信息;在视频编码块对应的编码描述信息中,添加视频帧数据的时间编码信息,得到目标编码描述信息,将视频编码块与目标编码描述信息进行封装,得到目标视频流文件;获取视频的字幕流,在字幕流中添加字幕时间信息,得到目标字幕流;将目标视频流文件与目标字幕流发送至解码端;目标编码描述信息以及字幕时间信息,用于指示解码端将目标视频流文件中的视频帧数据与目标字幕流中的字幕进行时间对齐。采用本申请,可以提高视频数据与字幕的同步率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种多媒体数据处理方法、装置、设备以及可读存储介质。
背景技术
随着多媒体技术的发展,视频与音乐等多媒体数据已成为人们日常生活中获取信息与享受娱乐的主要载体。不同的多媒体软件的爆炸式增长使海量视频、海量音乐出现在人们的视野中,对于视频、音乐中的字幕对用户极为重要,用户可以根据字幕准确的获取信息。
在现有技术中,将视频推送至用户观看时,主要流程为视频推送模块将视频数据推送至用户终端,字幕转写模块将视频中的音频数据转换为字幕文本数据,再将字幕文本数据推送至用户终端,用户终端可以将视频推送模块与字幕转写模块所推送过来的直播视频与字幕文本数据进行输出。因为视频推送模块与字幕转写模块的处理性能具有差异,用户终端在接收到字幕转写模块所推送的字幕文本数据时,可能还未接收到视频推送模块所推送过来的视频数据,从而可能导致用户在观看视频时,视频的声音与字幕不能同步。
发明内容
本申请实施例提供一种多媒体数据处理方法、装置、设备以及可读存储介质,可以提高视频数据与字幕的同步率。
本申请实施例一方面提供了一种多媒体数据处理方法,包括:
获取视频的视频编码块,以及每个视频编码块对应的编码描述信息;视频编码块包含视频的视频帧数据;
在视频编码块对应的编码描述信息中,添加视频帧数据的时间编码信息,得到目标编码描述信息,将视频编码块与目标编码描述信息进行封装,得到目标视频流文件;时间编码信息用于表征获取视频帧数据的时间戳;
获取视频的字幕流,在字幕流中添加字幕时间信息,得到目标字幕流;字幕时间信息用于表征字幕流中的字幕在视频中的显示时长区间;
将目标视频流文件与目标字幕流发送至解码端;目标编码描述信息以及字幕时间信息,用于指示解码端将目标视频流文件中的视频帧数据与目标字幕流中的字幕进行时间对齐。
本申请实施例一方面提供了一种多媒体数据处理方法,包括:
响应针对视频的视频播放操作,获取与视频相关联的目标视频流文件;目标视频流文件是通过对视频的视频编码块与目标编码描述信息进行封装处理后得到;视频编码块包含视频的视频帧数据;目标编码描述信息是通过在视频编码块对应的编码描述信息中,添加视频帧数据的时间编码信息所得到的;时间编码信息用于表征获取视频帧数据的时间戳;
获取视频的目标字幕流;目标字幕流中包含字幕时间信息;字幕时间信息用于表征目标字幕流中的字幕在视频中的显示时长区间;
对目标视频流文件与目标字幕流分别进行解码,得到目标视频流文件对应的视频帧数据、目标视频流文件中的目标编码描述信息,以及目标字幕流对应的字幕和目标字幕流中的字幕时间信息;
根据目标编码描述信息以及字幕时间信息,在目标字幕流的字幕中确定与视频帧数据具有时间对齐关系的目标字幕,将视频帧数据与目标字幕进行同步输出。
本申请实施例一方面提供了一种多媒体数据处理装置,包括:
视频块获取模块,用于获取视频的视频编码块,以及每个视频编码块对应的编码描述信息;视频编码块包含视频的视频帧数据;
视频时间添加模块,用于在视频编码块对应的编码描述信息中,添加视频帧数据的时间编码信息,得到目标编码描述信息;
视频封装模块,用于将视频编码块与目标编码描述信息进行封装,得到目标视频流文件;时间编码信息用于表征获取视频帧数据的时间戳;
字幕流获取模块,用于获取视频的字幕流;
字幕时间添加模块,用于在字幕流中添加字幕时间信息,得到目标字幕流;字幕时间信息用于表征字幕流中的字幕在视频中的显示时长区间;
文件发送模块,用于将目标视频流文件与目标字幕流发送至解码端;目标编码描述信息以及字幕时间信息,用于指示解码端将目标视频流文件中的视频帧数据与目标字幕流中的字幕进行时间对齐。
其中,视频编码块中包含的视频帧数据包括视频帧数据Ki;
视频时间添加模块包括:
序号确定单元,用于通过编码描述信息,确定视频帧数据Ki对应的帧序号;帧序号用于表征视频帧数据Ki在视频中的时间排列顺序;
时间戳确定单元,用于获取视频的视频录制起始时间戳,根据视频录制起始时间戳以及视频帧数据Ki对应的帧序号,确定视频帧数据Ki对应的时间戳Mi;
时间添加单元,用于将时间戳Mi对应的时间编码信息,添加至视频编码块对应的编码描述信息中,得到目标编码描述信息。
其中,时间戳确定单元包括:
起始序号获取子单元,用于获取视频的视频帧数据中的起始视频帧数据的起始帧序号;
序号差值确定子单元,用于确定视频帧数据Ki对应的帧序号与起始帧序号之间的序号差值;
时间戳确定子单元,用于获取视频的视频帧数据中相邻视频帧数据之间的采集时间差值,根据采集时间差值、序号差值以及视频录制起始时间戳,确定视频帧数据Ki对应的时间戳Mi。
其中,时间戳确定子单元,还用于将采集时间差值与序号差值进行相乘处理,得到视频帧数据Ki与起始视频帧数据之间的差值时间戳;
时间戳确定子单元,还用于将视频录制起始时间戳与差值时间戳进行相加处理,得到视频帧数据Ki对应的时间戳Mi。
其中,视频编码块包括编码块头与编码块体,编码描述信息包括编码块头对应的块头编码描述信息与编码块体对应的块体编码描述信息;
时间添加单元包括:
定义信息添加子单元,用于在块头编码描述信息中,添加目标定义描述信息;目标定义描述信息用于定义块头编码描述信息中存在用于添加附加信息的编码存储位;
时间信息生成子单元,用于根据目标定义描述信息所指示的编码存储位,生成目标时间戳对应的时间编码信息;
附加信息添加子单元,用于将时间编码信息确定为附加信息,将附加信息添加至块头编码描述信息中的编码存储位,得到目标块头编码描述信息;
信息融合子单元,用于将目标块头编码描述信息与块体编码描述信息进行融合,生成目标编码描述信息。
其中,字幕流获取模块包括:
音频获取单元,用于获取视频的音频数据;
音频识别单元,用于对音频数据进行音频识别,得到音频数据对应的文本数据;
文本转换单元,用于将文本数据进行断句处理,得到断句文本数据,对断句文本数据进行转换,得到转换文本数据;断句文本数据所属的语言类型与转换文本数据所属的语言类型不同;
字幕生成单元,用于将断句文本数据与转换文本数据所组成的文本数据组确定为字幕,得到包含字幕的字幕流。
其中,字幕时间信息包括字幕的字幕起始时间以及字幕结束时间;
字幕时间添加模块包括:
字幕时间获取单元,用于获取字幕的字幕起始时间与字幕结束时间;
字幕时间添加单元,用于在字幕流中,添加字幕的字幕起始时间与字幕结束时间,得到包含字幕起始时间与字幕结束时间的目标字幕流。
其中,文件发送模块包括:
请求接收单元,用于接收解码端发送的文件资源获取请求;文件资源获取请求为解码端响应针对视频的视频播放操作所生成的请求;
文件获取单元,用于根据文件资源获取请求,获取视频的目标视频流文件与目标字幕流;
文件返回单元,用于将目标视频流文件与目标字幕流返回至解码端,以使解码端将目标视频流文件与目标字幕流分别进行解码,得到具有时间对齐关系的视频帧数据与字幕,对视频帧数据与字幕进行同步输出。
本申请实施例一方面提供了一种计算机设备,包括:处理器和存储器;
存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本申请实施例中的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行本申请实施例中的方法。
本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例中一方面提供的方法。
在本申请实施例中,将视频推送至解码端(用户终端)前,可以在创建视频的视频流文件时,在视频流文件中的编码描述信息中添加时间编码信息(获取视频的视频帧数据的时间戳对应的时间编码信息);同时,可以在视频的字幕流中,添加字幕时间信息;由此,解码端通过该视频流文件中的时间编码信息,与字幕流中的字幕时间信息,可以将视频流文件中的视频帧数据与字幕流中的字幕进行时间对齐,则可以将具有时间对齐关系的视频帧数据与字幕进行同步输出,从而可以实现对视频帧数据与字幕的同步,提高视频数据与字幕的同步率。
本申请实施例一方面提供了一种多媒体数据处理装置,包括:
视频文件获取模块,用于响应针对视频的视频播放操作,获取与视频相关联的目标视频流文件;目标视频流文件是通过对视频的视频编码块与目标编码描述信息进行封装处理后得到;视频编码块包含视频的视频帧数据;目标编码描述信息是通过在视频编码块对应的编码描述信息中,添加视频帧数据的时间编码信息所得到的;时间编码信息用于表征获取视频帧数据的时间戳;
目标文件获取模块,用于获取视频的目标字幕流;目标字幕流中包含字幕时间信息;字幕时间信息用于表征目标字幕流中的字幕在视频中的显示时长区间;
文件解码模块,用于对目标视频流文件与目标字幕流分别进行解码,得到目标视频流文件对应的视频帧数据、目标视频流文件中的目标编码描述信息,以及目标字幕流对应的字幕和目标字幕流中的字幕时间信息;
目标字幕确定模块,用于根据目标编码描述信息以及字幕时间信息,在目标字幕流的字幕中确定与视频帧数据具有时间对齐关系的目标字幕;
输出模块,用于将视频帧数据与目标字幕进行同步输出。
其中,字幕时间信息包括字幕的字幕起始时间以及字幕结束时间;
目标字幕确定模块包括:
获取时间确定单元,用于根据目标编码描述信息中的时间编码信息,确定视频帧数据的获取时间戳;
起始时间确定单元,用于根据目标编码描述信息,确定视频的视频录制起始时间戳;
字幕时间确定单元,用于将视频录制起始时间戳与字幕起始时间进行相加处理,得到字幕的字幕录制起始时间;
字幕时间确定单元,还用于将视频录制起始时间戳与字幕结束时间进行相加处理,得到字幕的字幕录制结束时间;
目标字幕确定单元,用于根据视频帧数据的获取时间戳、字幕录制起始时间以及字幕录制结束时间,在目标字幕流的字幕中确定与视频帧数据具有时间对齐关系的目标字幕。
其中,目标字幕确定单元包括:
时间区间确定子单元,用于确定字幕录制起始时间与字幕录制结束时间之间的字幕时间区间;
时间匹配子单元,用于将视频帧数据的获取时间戳与字幕时间区间进行匹配,若字幕时间区间内包含视频帧数据的获取时间戳,则将包含获取时间戳的字幕时间区间对应的字幕,确定为与视频帧数据具有时间对齐关系的目标字幕。
本申请实施例一方面提供了一种计算机设备,包括:处理器和存储器;
存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本申请实施例中的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行本申请实施例中的方法。
本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例中一方面提供的方法。
在本申请实施例中,将视频推送至解码端(用户终端)前,可以在创建视频的视频流文件时,在视频流文件中的编码描述信息中添加时间编码信息(获取视频的视频帧数据的时间戳对应的时间编码信息);同时,可以在视频的字幕流中,添加字幕时间信息;由此,解码端通过该视频流文件中的时间编码信息,与字幕流中的字幕时间信息,可以将视频流文件中的视频帧数据与字幕流中的字幕进行时间对齐,则可以将具有时间对齐关系的视频帧数据与字幕进行同步输出,从而可以实现对视频帧数据与字幕的同步,提高视频数据与字幕的同步率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络架构图;
图2是本申请实施例提供的一种场景示意图;
图3是本申请实施例提供的一种多媒体数据处理方法的流程示意图;
图4a是本申请实施例提供的一种视频编码块的结构示意图;
图4b是本申请实施例提供的一种在编码描述信息中添加时间编码信息的示意图;
图5是本申请实施例提供的一种多媒体数据处理方法的流程示意图;
图6是本申请实施例提供的一种系统架构图;
图7a-图7b是本申请实施例提供的一种视频展示效果对比图;
图8是本申请实施例提供的一种多媒体数据处理装置的结构示意图;
图9是本申请实施例提供的一种计算机设备的结构示意图;
图10是本申请实施例提供的一种多媒体数据处理装置的结构示意图;
图11是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,图1是本申请实施例提供的一种网络架构图。如图1所示,该网络架构可以包括业务服务器1000和用户终端集群,用户终端集群可以包括一个或者多个用户终端,这里将不对用户终端的数量进行限制。如图1所示,多个用户终端可以包括用户终端100a、用户终端100b、用户终端100c、…、用户终端100n;如图1所示,用户终端100a、用户终端100b、用户终端100c、…、用户终端100n可以分别与业务服务器1000进行网络连接,以便于每个用户终端可以通过该网络连接与业务服务器1000之间进行数据交互。
可以理解的是,如图1所示的每个用户终端均可以安装有目标应用,当该目标应用运行于各用户终端中时,可以分别与图1所示的业务服务器1000之间进行数据交互,使得业务服务器1000可以接收来自于每个用户终端的业务数据。其中,该目标应用可以包括具有显示文字、图像、音频以及视频等数据信息功能的应用。如,应用可以为多媒体类应用(例如,视频应用),该多媒体类应用可以用于用户播放多媒体数据(例如,视频、音频等数据);应用还可以为娱乐类应用(例如,游戏应用),可以用于用户进行娱乐或播放娱乐视频(例如,游戏比赛视频)。本申请中的业务服务器1000可以根据这些应用获取到业务数据,如,该业务数据可以为用户点击播放的一个视频。
随后,业务服务器1000获取到该视频的视频文件资源(包括该视频的视频流文件以及字幕流),并将该视频的视频文件资源(包括该视频的视频流文件以及字幕流)返回至用户终端;而用户终端在接收到视频的视频流文件与字幕流后,可以将该视频流文件与字幕流进行解码,得到视频流文件对应的视频帧数据与字幕流对应的字幕;用户终端可以在字幕中确定与视频帧数据具有时间对齐关系的目标字幕,并将该视频帧数据与目标字幕进行同步输出,由此,用户可以通过该用户终端,观看到声音与字幕同步的视频内容。
本申请实施例可以在多个用户终端中选择一个用户终端作为目标用户终端,该用户终端可以包括:智能手机、平板电脑、笔记本电脑、桌上型电脑、智能电视、智能音箱、台式计算机、智能手表、车载设备等携带多媒体数据处理功能(例如,视频数据播放功能、音乐数据播放功能)的智能终端,但并不局限于此。例如,本申请实施例可以将图1所示的用户终端100a作为该目标用户终端,该目标用户终端中可以集成有上述目标应用,此时,该目标用户终端可以通过该目标应用与业务服务器1000之间进行数据交互。
如,用户在使用用户终端中的目标应用(如视频应用)时,用户在该视频应用中点击视频播放控件,用户终端可以根据这一针对视频播放控件的触发动作,生成文件资源获取请求;随后,用户终端可以将该文件资源获取请求发送至业务服务器,该业务服务器可以根据该文件资源获取请求,将该视频的视频流文件与字幕流发送至用户终端;随后,用户终端可以将该视频流文件与字幕流进行解码,得到视频流文件对应的视频帧数据,该视频流文件中包含的编码描述信息,字幕流对应的字幕,以及字幕流中包含的字幕的字幕时间信息;其中,该视频流文件中的编码描述信息包含有业务服务器添加的视频帧数据的时间编码信息,则用户终端通过该编码描述信息中的时间编码信息,以及该字幕的字幕时间信息,可以将视频帧数据与字幕进行时间对齐(也就是说,可以在字幕中确定与视频帧数据具有时间对齐关系的目标字幕),并将具有时间对齐关系的视频帧数据与字幕进行同步输出。其中,编码描述信息中的时间编码信息,以及字幕的字幕时间信息,均是为便于解码端(用户终端)将视频帧数据与字幕进行时间对齐所添加的时间信息,有关于添加时间编码信息得到视频流文件,以及添加字幕时间信息得到字幕流的具体实现方式,可以参见后续图3所对应实施例中步骤S101-步骤S104中的描述。
可选的,可以理解的是,网络架构中可以包括多个业务服务器,一个用户终端可以与一个业务服务器相连接,每个业务服务器可以获取到与之相连接的用户终端中的业务数据(如,用户点击播放的一个视频),并获取到该视频的视频文件资源(视频的视频流文件以及字幕流),随后可以将该视频流文件以及字幕流返回至用户终端,以使用户终端将视频流文件中的视频帧数据与字幕流中的字幕进行时间对齐,将具有时间对齐关系的视频帧数据与字幕进行同步输出。
可选的,可以理解的是,用户终端也可以获取到业务数据(如,用户点击播放的一个视频),并获取到该视频的视频文件资源(视频的视频流文件以及字幕流),将视频流文件中的视频帧数据与字幕流中的字幕进行时间对齐,并将具有时间对齐关系的视频帧数据与字幕进行同步输出。
可以理解的是,本申请实施例提供的方法可以由计算机设备执行,计算机设备包括但不限于用户终端或业务服务器。其中,业务服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
其中,用户终端以及业务服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
为便于理解,请参见图2,图2是本申请实施例提供的一种场景示意图。其中,如图2所示的业务服务器可以为上述图1所示的业务服务器1000,且如图2所示的用户终端M可以为在上述图1所对应实施例的用户终端集群中所选取的任意一个用户终端,比如,该用户终端可以为上述用户终端100b。
如图2所示,用户M通过用户终端M中的视频应用,可以查看到当前正在直播的视频包括视频EP1、视频EP2、视频EP3以及视频EP4,用户M可以在当前页面中点击视频EP1、视频EP2、视频EP3以及视频EP4中的任一视频进行观看。如图2所示,用户M所点击的视频为视频EP4,而用户终端M可以响应用户M的这一点击操作(触发操作),生成针对EP4的文件资源获取请求,并将该文件资源获取请求发送至业务服务器。
进一步地,业务服务器接收到该文件资源获取请求后,可以获取该视频EP4的视频流文件以及字幕流,其中,该视频流文件中包含有视频帧数据以及视频帧数据对应的编码描述信息,且该编码描述信息中包含有业务服务器所添加的视频帧的时间编码信息,而该字幕流中包含有字幕以及业务服务器所添加的字幕时间信息。随后,业务服务器可以将该视频流文件以及字幕流返回至用户终端M。
进一步地,用户终端M可以对该视频流文件进行解码,得到视频帧数据(如图2所示的视频帧数据20a、视频帧20b、视频帧数据20c以及视频帧数据20d)和视频帧数据的编码描述信息,同时,用户终端也可以对字幕流进行解码,得到字幕(如图2所示的字幕1、字幕2以及字幕3)和每个字幕的字幕时间信息。随后,用户终端M可以根据编码描述信息中的时间编码信息以及该字幕时间信息,在字幕中确定与该视频帧数据具有时间对齐关系的目标字幕,并将该具有时间对齐关系的视频帧数据与目标字幕进行同步输出。
其中,该字幕流中的字幕时间信息可以是指字幕在视频中的相对时间信息(包括字幕在视频中的字幕起始时间以及字幕结束时间),例如,视频EP4的视频时长为20s,视频的视频时长为20s(0s-20s),而字幕1在视频EP4中的字幕起始时间为0s,字幕1在视频EP4中的字幕结束时间为10s,则字幕1的字幕时间信息则可以为0s-20s,表征该字幕1在该视频EP4中的显示时长为10s;而该编码描述信息中的时间编码信息,可以是指获取视频帧数据的时间戳对应的编码信息,例如,录制视频EP4时,录制开始时间为9点,则9点可以作为获取该视频EP4的第一个视频帧的时间戳,并将该9点这个获取时间戳对应的编码信息作为该第一个视频帧的时间编码信息。
由此,用户终端M根据编码描述信息中的时间编码信息以及该字幕时间信息,在字幕中确定与视频帧数据具有时间对齐关系的目标字幕的具体方法可以为,用户终端M可以获取每个字幕(包括字幕1、字幕2以及字幕3)分别对应的字幕时间信息,从而可以确定每个字幕在视频中的相对时间(字幕起始时间与字幕结束时间);随后,用户终端M可以获取该视频EP4的录制起始时间戳,将该录制起始时间戳与该字幕的字幕起始时间进行相加,可以得到字幕的字幕录制起始时间;同理,将该录制起始时间戳与字幕的字幕结束时间进行相加,也可以得到字幕的字幕录制结束时间,从而,可以得到每个字幕的字幕录制时间区间。进一步地,用户终端M通过时间编码信息,可以确定每一个视频帧数据的获取时间戳,用户终端M可以将该获取时间戳与该字幕录制时间区间进行匹配,若获取时间戳处于字幕录制时间区间内,则可以将该视频帧数据与该字幕录制时间区间对应的字幕确定为具有时间对齐关系。
例如,如图2所示,字幕1的字幕时间信息为0s-20s(字幕1在视频EP4中的字幕起始时间为0s,字幕结束时间为20s),视频EP4的录制起始时间戳为9:00,则该字幕1的字幕录制时间区间为9点-9点零20s;同理,字幕2的字幕时间信息为21s-25s(字幕2在视频EP4中的字幕起始时间为21s,字幕结束时间为25s),则该字幕2的字幕录制时间区间为9点零21s-9点零25s;同理,字幕3的字幕时间信息为26s-30s(字幕3在视频EP4中的字幕起始时间为26s,字幕结束时间为30s),则该字幕3的字幕录制时间区间为9点零26s-9点零30s。
进一步地,用户终端M通过时间编码信息可以确定获取到视频帧数据20a的时间戳为9点,获取视频帧数据20b的时间戳为9点零10s,因为9点与9点零10s均属于9点-9点零20s这一时间区间内,则可以确定在字幕(包括字幕1、字幕2以及字幕3)中,与该视频帧数据20a与视频帧数据20b具有时间对齐关系的字幕均为字幕1;同理,用户终端M通过时间编码信息可以确定获取到视频帧数据20c的时间戳为9点零23s,因为9点零23s属于9点零21s-9点零25s这一时间区间内,则可以确定在字幕(包括字幕1、字幕2以及字幕3)中,与该视频帧数据20c具有时间对齐关系的字幕为字幕2;同理,用户终端M通过时间编码信息可以确定获取到视频帧数据20d的时间戳为9点零28s,因为9点零28s属于9点零26s-9点零30s这一时间区间内,则可以确定在字幕(包括字幕1、字幕2以及字幕3)中,与该视频帧数据20d具有时间对齐关系的字幕为字幕3。
进一步地,用户终端M可以将具有时间对齐关系的视频帧数据与字幕进行同步输出,也就是说,在输出视频帧数据20a与视频帧数据20b的同时,将字幕1一并输出;输出视频帧数据20c的同时,将字幕2一并输出;输出视频帧数据20d的同时,将字幕3一并输出。由此,因为每个视频帧数据均有与之具有时间对齐关系的字幕,则用户M在观看该视频EP4时,可以观看到声音与字幕同步的效果。
需要说明的是,以上的9点、9点零20s等字幕时间信息,9点零23s、9点零28s等获取时间戳,均是为便于理解所作出的举例说明,并不具备实际参考意义。
其中,编码描述信息中的时间编码信息以及字幕流中的字幕时间信息,均是业务服务器将视频推送至用户终端前所添加的。有关于业务服务器添加时间编码信息至编码描述信息,以及添加字幕时间信息至字幕流中的具体实现方式,可以参见后续图3所对应实施例中的描述。
进一步地,请参见图3,图3是本申请实施例提供的一种多媒体数据处理方法的流程示意图。该方法可以由用户终端(例如,上述图1、图2所示的用户终端)或业务服务器(如,上述图1所示的业务服务器1000)执行,也可以由用户终端和业务服务器(如上述图1所对应实施例中的业务服务器1000)共同执行。为便于理解,本实施例以该方法由上述业务服务器执行为例进行说明。其中,该数据处理方法至少可以包括以下步骤S101-步骤S104:
步骤S101,获取视频的视频编码块,以及每个视频编码块对应的编码描述信息;视频编码块包含视频的视频帧数据。
本申请中,视频的媒体内容(包括音频内容与视频内容)是通过捕获设备采集现实世界的声音-视觉场景获得的。其中,捕获设备可以是指麦克风、摄像头、用户终端等。捕获到的音频内容或视频内容可进行编码形成视频的视频编码块(包括音频码流与视频码流)。可以将视频编码块进行封装,得到视频的文件资源,该文件资源可以是视频文件或视频片段形成视频的视频文件;同时,可以采用编码描述信息记录该视频的视频编码块的元数据,此处的元数据是对与视频的呈现有关的信息的总称,该元数据可包括视频的媒体内容的分辨率、帧率以及渲染相关的描述信息等。
应当理解,可以通过摄像头、用户终端等设备录制视频(例如,直播视频),录制视频的音频帧数据或视频帧数据可进行编码,从而得到视频的视频编码块,该视频编码块中可以包含一个或多个视频帧数据。随后,可以将该视频编码块进行封装,并采用编码描述信息来记录该视频的视频编码块的元数据,从而可以得到包含视频编码块与编码描述信息的文件资源,业务服务器可以获取得到该文件资源,由此可以获取到视频的视频编码块。例如,视频为直播视频时,业务服务器获取视频的文件资源的一种方式可以为,通过直播推流(Open Broadcaster Software,OBS)软件将视频的文件资源推送至业务服务器;业务服务器获取视频的文件资源的一种方式也可以为,业务服务器对视频的媒体内容(包括音频帧数据或视频帧数据)进行编码,得到视频编码块,并对视频编码块进行封装从而得到视频的文件资源。
步骤S102,在视频编码块对应的编码描述信息中,添加视频帧数据的时间编码信息,得到目标编码描述信息,将视频编码块与目标编码描述信息进行封装,得到目标视频流文件;时间编码信息用于表征获取视频帧数据的时间戳。
本申请中,可以在视频编码块对应的编码描述信息中,添加视频帧数据的时间编码信息,对于添加视频帧数据的时间编码信息的具体实现方式,以下将以视频编码块中包含的视频帧数据为视频帧数据Ki为例进行说明。视频编码块的编码描述信息中,记录有与视频的呈现有关的信息,该信息中可以包含视频帧数据Ki对应的帧序号,该帧序号可以用于表征该视频帧数据Ki在该视频中的时间排列顺序;则通过该编码描述信息,可以确定该视频帧数据Ki对应的帧序号;随后,可以获取该视频的视频录制起始时间戳,根据该视频录制起始时间戳以及视频帧数据Ki对应的帧序号,可以确定该视频帧数据Ki对应的时间戳Mi;随后,可以将该时间戳Mi对应的时间编码信息,添加至该视频编码块对应的编码描述信息中,从而可以得到目标编码描述信息。进一步地,将该目标编码描述信息与视频编码块进行封装,可以得到视频的目标视频流文件。
其中,对于根据该视频录制起始时间戳以及视频帧数据Ki对应的帧序号,确定该视频帧数据Ki对应的时间戳Mi的具体实现方式可以为,可以获取该视频的视频帧数据中的起始视频帧数据的起始帧序号;随后,可以确定该视频帧数据Ki对应的帧序号与该起始帧序号之间的序号差值;随后,可以获取视频的视频帧数据中相邻视频帧数据之间的采集时间差值,可以将该采集时间差值与该序号差值进行相乘处理,得到该视频帧数据Ki与该起始视频帧数据之间的差值时间戳;随后,可以将该视频录制起始时间戳与该差值时间戳进行相加处理,从而可以得到该视频帧数据Ki对应的时间戳Mi。
应当理解,该视频的视频帧数据中,相邻视频帧数据之间的采集时间差值可以理解为视频帧数据的帧率,则将帧率与序号差值进行相乘,可以得到视频帧Ki与起始视频帧数据之间相差的时间戳,视频录制起始时间戳可以作为该起始视频帧数据的获取时间戳,则将该视频录制起始时间戳与该视频帧Ki与起始视频帧数据之间相差的时间戳进行相加,得到的时间可以作为该视频帧Ki对应的时间戳Mi。
例如,视频A的视频帧数据包括视频帧数据a1、视频帧数据a2、视频帧数据a3以及视频帧数据a4,视频帧数据a1是该视频A的起始视频帧数据。其中,视频帧数据a1的帧序号为0,视频帧数据a2的帧序号为1,视频帧数据a3的帧序号为2,视频帧数据a4的帧序号为3;相邻两个视频帧数据之间的采集时间差值为5s。视频录制起始时间戳为10点,则该视频帧数据a1对应的时间戳(获取时间戳)也为10点,因为视频帧数据a2与视频帧数据a1之间的序号差值为1-0=1,则将该采集时间差值5s与该序号差值进行相乘后得到的结果为5s,则可以确定该视频帧数据a2的获取时间戳为10点+5s=10点零5s;同理,因为视频帧数据a3与视频帧数据a1之间的序号差值为2-0=2,则将该采集时间差值5s与该序号差值进行相乘后得到的结果为10s,则可以确定该视频帧数据a3的获取时间戳为10点+10s=10点零10s;同理,可以确定该视频帧数据a4的获取时间戳为10点+15s=10点零15s。
可以理解的是,因为一个视频编码块中包含一个或多个视频帧数据,则在添加视频帧数据的时间编码信息至视频编码块的编码描述信息中时,可以添加任一视频帧数据的时间编码信息,例如,一个视频编码块中包含视频帧数据a1、视频帧数据a2、视频帧数据a3以及视频帧数据a4,其中,视频帧数据a1为该视频帧数据a1、视频帧数据a2、视频帧数据a3以及视频帧数据a4中的起始视频帧数据,则可以获取该视频帧数据a1对应的时间戳,并获取该视频帧数据a1对应的时间戳对应的时间编码信息,将该视频帧数据a1的时间编码信息添加至该视频编码块的编码描述信息中。同理,也可以添加视频帧数据a2或视频帧数据a3或视频帧数据a4的时间编码信息。
其中,需要说明的是,视频编码块包括编码块头与编码块体,则该编码描述信息包括该编码块头对应的块头编码描述信息与该编码块体对应的块体编码描述信息;而本申请在编码描述信息中添加时间编码信息,是指在编码描述信中的块头编码描述信息中添加时间编码信息。对于将时间戳Mi对应的时间编码信息,添加至该视频编码块对应的编码描述信息中的具体方法可以为,在该块头编码描述信息中,可以添加目标定义描述信息;其中,该目标定义描述信息可以用于定义该块头描述信息中存在用于添加附加信息的编码存储位;随后,可以根据该目标定义描述信息所指示的该编码存储位,生成该目标时间戳对应的时间编码信息;随后,可以将该时间编码信息确定为该附加信息,并将该附加信息添加至该块头编码描述信息中的该编码存储位,从而可以得到目标块头编码描述信息;随后,可以将该目标块头编码描述信息与该块体编码描述信息进行融合,从而可以生成目标编码描述信息。
为便于理解,请一并参见图4a,图4a是本申请实施例提供的一种视频编码块的结构示意图。如图4a所示,视频编码块可以包括编码块头与编码块体两个部分,编码块头可以是指编码块的块头信息,编码块体可以是指原始字节流(Raw Byte SequencePayload,RBSP)。
应当理解,在视频的编码传输结构中,可以包含视频编码层(Video CodingLayer,VCL)和网络提取层(Network Abstraction Layer,NAL)。其中,VCL数据即对视频进行编码处理的输出数据,它表示被压缩编码后的视频数据序列。在VCL数据传输或存储之前,这些编码的VCL数据,先被映射或封装进NAL单元(视频编码块)中。每个NAL单元(视频编码块)包括一个原始字节流(编码块体)以及一个视频编码的NAL头信息。该编码块头以及编码块体(形成一个NAL单元)可以用于存储一组特定含义的数据(也就是编码描述信息)。其中,该编码块头对应存储块头编码描述信息,该编码块体对应存储块体编码描述信息,从而形成包含一个NAL单元以及编码描述信息的文件资源。其中,该块头编码描述信息中可以包括定义描述信息,该定义描述信息可以用于定义该编码块体(RBSP原始字节流)的类型。
为便于理解,请参见表1,表1是本申请实施例提供的定义类型。
表1
nal_unit_type | NAL定义类型 |
0 | 未定义 |
1 | 不分区、非IDR图像的片 |
2 | 片数据A分区 |
3 | 片数据B分区 |
4 | 片数据C分区 |
5 | IDR图像中的片 |
6 | 补充增强信息单元(SEI) |
7 | 序列参数集(SPS) |
8 | 图像参数集(PPS) |
9 | 分界符 |
10 | 序列结束 |
11 | 码流结束 |
12 | 填充 |
13…23 | 保留 |
24…31 | 未定义 |
其中,如表1所示的nal_unit_type用于指示每个NAL单元(视频编码块)的类型。例如,当nal_unit_type=5,NAL的定义类型为“IDR图像中的片”,表示当前NAL是IDR图像的一个片,在这种情况下,IDR图像中的每个片的nal_unit_type都应该等于5;当nal_unit_type=6,NAL的定义类型为“补充增强信息单元”,表示当前NAL中存在补充增强信息,该补充增强信息可以用于解码端(例如,用户终端)对视频序列进行解码。
应当理解,为便于解码端(例如,用户终端)对视频的文件资源进行解码,本申请采用在每个NAL单元(视频编码块)的NAL头信息(块头编码描述信息)中,添加SEI单元(补充增强信息单元),从而可以将视频帧数据的时间编码信息作为补充增强信息添加至块头编码描述信息中。解码端(例如,用户终端)可以利用该视频编码块中的视频帧数据的时间编码信息,将视频编码块中的视频帧数据与视频的字幕进行时间对齐。
为便于理解,请一并参见图4b,图4b是本申请实施例提供的一种在编码描述信息中添加时间编码信息的示意图。如图4b所示,在块头编码描述信息中,添加了SEI单元(如表1所示的06单元),其中,“00 00 00 01”表示同步码,“06”表示添加SEI单元,SEI单元可以理解为目标定义描述信息。如图4b所示的区域P可以理解为SEI单元所定义的编码存储位,该编码存储位为8字节的存储位,本申请期望添加的时间编码信息可以存储至该编码存储位中。
应当理解,若一个视频编码块(NAL单元)中所包含的视频帧数据包括视频帧数据1-视频帧数据5,其中,视频帧数据1为该视频帧数据1-视频帧数据5中的起始视频帧数据,则可以获取该起始视频帧数据1的时间戳,并将该起始视频帧数据1的时间戳对应的时间编码信息添加至该视频编码块的块头编码描述信息中。因为编码描述信息中,包含有视频编码块中每个视频帧数据的帧序号,所以通过该起始视频帧数据1的时间编码信息以及该帧序号,可以计算得到其他每个视频帧数据(包含视频帧数据2-视频帧数据5)的时间戳,则解码端(例如,用户终端)可以利用该每个视频帧数据的时间戳,在视频的字幕中确定与之具有时间对齐关系的字幕。
步骤S103,获取视频的字幕流,在字幕流中添加字幕时间信息,得到目标字幕流;字幕时间信息用于表征字幕流中的字幕在视频中的显示时长区间。
本申请中,对于获取视频的字幕流的具体实现方式可以为,首先获取视频的音频数据;随后,可以对该音频数据进行音频识别,从而可以得到该音频数据对应的文本数据;其中,对于对音频数据进行音频识别的方式可以为:调用字幕实时转写组件对音频数据进行字幕转写,得到音频数据对应的文本数据。随后,可以将该文本数据进行断句处理,得到断句文本数据,并对该断句文本数据进行转换,可以得到转换文本数据;其中,该断句文本数据所属的语言类型与该转换文本数据所属的语言类型不同。可以理解为,将对音频数据进行字幕转写得到语言类型为中文的文本数据后,可以对该文本数据进行断句处理,通过断句处理可以使得部分没有语言逻辑或前后联系的文本数据,变为存在语言逻辑或前后具有联系的文本数据;随后,将断句处理后的文本数据进行文本转换,也就是将断句处理后的文本数据进行字幕翻译,进行字幕翻译的方式可以通过字幕翻译引擎来实现,通过字幕翻译引擎可以将断句处理后的文本数据从中文语言类型转换为英文语言类型、泰文语言类型等。从而,可以得到包含两种或两种以上的语言类型的字幕,进而得到包含字幕的字幕流。
应当理解,字幕流中可以包括一条或多条字幕,每条字幕均包含一种或多种语言类型。
进一步地,可以在字幕流中添加字幕时间信息,可以理解为,在字幕流中,可以添加每条字幕的字幕时间信息,该字幕时间信息可以包括每条字幕的字幕起始时间以及字幕结束时间。其中,该字幕起始时间与字幕结束时间均为每条字幕在视频中的时间,例如,一个视频的时长区间为0s-40s,字幕的字幕时间信息为20s与30s,其中,20s为字幕的字幕起始时间,30s为字幕的字幕结束时间,也就是说,在视频中的20s时,字幕开始显示,且显示的时长为10s,到视频中的30s时,字幕结束显示。
则在字幕流中添加字幕时间信息的方式可以为,首先获取每条字幕的字幕起始时间与字幕结束时间;随后,在该字幕流中,可以添加每条字幕的字幕起始时间与字幕结束时间,从而可以得到包含字幕起始时间与字幕结束时间的目标字幕流。
步骤S104,将目标视频流文件与目标字幕流发送至解码端;目标编码描述信息以及字幕时间信息,用于指示解码端将目标视频流文件中的视频帧数据与目标字幕流中的字幕进行时间对齐。
本申请中,业务服务器当接收到解码端(例如,用户终端)发送的文件资源获取请求后,可以根据该文件资源获取请求,获取该视频的上述目标视频流文件与上述目标字幕流。其中,文件资源获取请求可以是指该解码端响应针对该视频的视频播放操作所生成的请求;随后,业务服务器可以将该目标视频流文件与目标字幕流返回至解码端,以使该解码端将该目标视频流文件与目标字幕流分别进行解码,得到具有时间对齐关系的视频帧数据与字幕,并对具有时间对齐关系的视频帧数据与字幕进行同步输出。其中,对于解码端将目标视频流文件与目标字幕流分别进行解码,得到具有时间对齐关系的视频帧数据与字幕的具体实现方式,可以参见后续图5所对应实施例中的描述。
在本申请实施例中,将视频推送至解码端(用户终端)前,可以在创建视频的视频流文件时,在视频流文件中的编码描述信息中添加时间编码信息(获取视频的视频帧数据的时间戳对应的时间编码信息);同时,可以在视频的字幕流中,添加字幕时间信息;由此,解码端通过该视频流文件中的时间编码信息,与字幕流中的字幕时间信息,可以将视频流文件中的视频帧数据与字幕流中的字幕进行时间对齐,则可以将具有时间对齐关系的视频帧数据与字幕进行同步输出,从而可以实现对视频帧数据与字幕的同步,提高视频数据与字幕的同步率。同时,应当理解,在部分特定视频推送场景中(例如,直播视频推送场景)中,因为本申请将识别音频数据所得到的字幕文本数据进行了断句处理,可以使得视频的字幕具有逻辑性与连贯性,则在进行直播视频播放过程中,在字幕显示时,可以整句显示具有逻辑性与连贯性的字幕,从而可以降低用户阅读字幕的难度,进而可以提高用户体验感;且由于断句处理后的字幕具有逻辑性与连贯性,在进行字幕翻译时,可以联系前后文本进行整句翻译,从而可以提高字幕翻译的准确率。综上可知,本申请可以提高视频数据与字幕的同步率,增强字幕的逻辑性与连贯性,从而可以提高字幕翻译的准确率,提高用户体验感。
进一步地,请参见图5,图5是本申请实施例提供的一种多媒体数据处理方法的流程示意图。该方法可以由用户终端(例如,上述图1、图2所示的用户终端)执行。其中,该多媒体数据处理方法至少可以包括以下步骤S201-步骤S204:
步骤S201,响应针对视频的视频播放操作,获取与视频相关联的目标视频流文件;目标视频流文件是通过对视频的视频编码块与目标编码描述信息进行封装处理后得到;视频编码块包含视频的视频帧数据;目标编码描述信息是通过在视频编码块对应的编码描述信息中,添加视频帧数据的时间编码信息所得到的;时间编码信息用于表征获取视频帧数据的时间戳。
本申请中,当用户通过用户终端点击视频播放控件时,用户终端可以响应用户针对该视频的视频播放操作,生成文件资源获取请求,并将该文件资源获取请求发送至业务服务器,该业务服务器可以基于该文件资源获取请求向用户终端返回该视频的文件资源(包括目标字幕流与目标视频流文件)。其中,该目标视频流文件可以是指上述业务服务器对视频编码块与包含有时间编码信息的目标编码描述信息进行封装处理后所得到的文件。对于业务服务器在编码描述信息中添加时间编码信息,得到目标视频流文件的具体实现方式,可以参见上述图3所对应实施例中的描述,这里将不再进行赘述。
步骤S202,获取视频的目标字幕流;目标字幕流中包含字幕时间信息;字幕时间信息用于表征目标字幕流中的字幕在视频中的显示时长区间。
本申请中,目标字幕流中包含有每条字幕的字幕时间信息,该字幕时间信息可以包括字幕起始时间与字幕结束时间,业务服务器可以将每条字幕的字幕起始时间与字幕结束时间添加至字幕流中,从而可以得到视频的目标字幕流。对于确定目标字幕流的具体实现方式,可以参见上述图3所对应实施例中业务服务器确定目标字幕流的描述,这里将不再进行赘述。
步骤S203,对目标视频流文件与目标字幕流分别进行解码,得到目标视频流文件对应的视频帧数据、目标视频流文件中的目标编码描述信息,以及目标字幕流对应的字幕和目标字幕流中的字幕时间信息。
本申请中,用户终端可以对目标视频流文件进行解封装,可以得到视频编码块与包含时间编码信息的目标编码描述信息,对该视频编码块进行解码,可以得到视频的视频帧数据;用户终端对目标字幕流进行解封装并解码后,可以得到字幕以及字幕的字幕时间信息(字幕在视频中的字幕起始时间与字幕结束时间)。
步骤S204,根据目标编码描述信息以及字幕时间信息,在目标字幕流的字幕中确定与视频帧数据具有时间对齐关系的目标字幕,将视频帧数据与目标字幕进行同步输出。
本申请中,因为目标编码描述信息中包含的是视频帧数据的获取时间戳对应的时间编码信息,则用户终端可以根据上述目标编码描述信息中的时间编码信息,确定视频帧数据的获取时间戳;根据该目标编码描述信息,也可以确定该视频的视频录制起始时间戳;将该视频录制起始时间戳与该字幕起始时间进行相加处理,可以得到该字幕的字幕录制起始时间;将该视频录制起始时间戳与字幕结束时间进行相加处理,可以得到该字幕的字幕录制结束时间;随后,可以确定该字幕录制起始时间与该字幕录制结束时间之间的字幕时间区间,并将该视频帧数据的获取时间戳与该字幕时间区间进行匹配,若该字幕时间区间内包含该视频帧数据的获取时间戳,则可以将该包含该视频帧数据的字幕时间区间对应的字幕,确定为与该视频帧数据具有时间对齐关系的目标字幕,并将该目标字幕进行同步输出。
以下将以视频编码块中包含的视频帧数据为视频帧数据b1、视频帧数据b2以及视频帧数据b3为例,对用户终端根据上述目标编码描述信息中的时间编码信息,确定视频帧数据的获取时间戳的具体方式进行说明。视频帧数据b1的帧序号为1、视频帧数据b2的帧序号为2,视频帧数据b3的帧序号为3,根据该帧序号,可以确定视频帧数据b1的获取时间戳小于视频帧数据b2的获取时间戳,且视频帧数据b2的获取时间戳小于视频帧数据b3的获取时间戳。其中,该目标编码描述信息中所记录的时间编码信息为视频帧数据b2的获取时间戳所对应的编码信息,则根据该时间编码信息可以确定视频帧数据b2的获取时间戳;随后,根据目标编码描述信息中所记录的相邻两个视频帧数据之间的采集时间差值(帧率),可以确定视频帧数据b1以及视频帧数据b3分别对应的获取时间戳。例如,该采集时间差值为2s,则可以将该视频帧数据b2的获取时间戳减去2s,可以得到视频帧数据b1的获取时间戳;将该视频帧数据b2的获取时间戳加上2s,可以得到该视频帧数据b3的获取时间戳。
应当理解,字幕流中所记录的字幕时间信息为字幕在视频中的时间信息,而视频帧数据的获取时间戳并非是指在视频中的时间,则无法直接将该字幕时间信息与该视频帧数据的获取时间戳进行匹配,需要将字幕的字幕时间信息从视频中转换为视频外,得到字幕的字幕录制起始时间与字幕录制结束时间,此时,字幕的字幕录制起始时间与字幕录制结束时间以及视频帧数据的获取时间戳,均是相对于视频外的时间,可以进行匹配。
在本申请实施例中,将视频推送至解码端(用户终端)前,可以在创建视频的视频流文件时,在视频流文件中的编码描述信息中添加时间编码信息(获取视频的视频帧数据的时间戳对应的时间编码信息);同时,可以在视频的字幕流中,添加字幕时间信息;由此,解码端通过该视频流文件中的时间编码信息,与字幕流中的字幕时间信息,可以将视频流文件中的视频帧数据与字幕流中的字幕进行时间对齐,则可以将具有时间对齐关系的视频帧数据与字幕进行同步输出,从而可以实现对视频帧数据与字幕的同步,提高视频数据与字幕的同步率。同时,应当理解,在部分特定视频推送场景中(例如,直播视频推送场景)中,因为本申请将识别音频数据所得到的字幕文本数据进行了断句处理,可以使得视频的字幕具有逻辑性与连贯性,则在进行直播视频播放过程中,在字幕显示时,可以整句显示具有逻辑性与连贯性的字幕,从而可以降低用户阅读字幕的难度,进而可以提高用户体验感;且由于断句处理后的字幕具有逻辑性与连贯性,在进行字幕翻译时,可以联系前后文本进行整句翻译,从而可以提高字幕翻译的准确率。综上可知,本申请可以提高视频数据与字幕的同步率,增强字幕的逻辑性与连贯性,从而可以提高字幕翻译的准确率,提高用户体验感。
进一步地,请参见图6,图6是本申请实施例提供的一种系统架构图。如图6所示,系统架构图中可以包括:
视频录制模块,该视频录制模块可以用于录制视频,例如,通过用户终端、摄像头等录制带有声音的视频。
视频封装模块,该视频封装模块可以用于对视频录制模块所录制的内容进行编码封装处理,从而可以得到视频的视频文件。其中,视频文件中包括视频编码块以及视频编码块对应的编码描述信息。
视频时间添加模块,视频时间添加模块可以用于对上述视频文件进行解封装,得到视频编码块与编码描述信息,并在该编码描述信息中添加时间编码信息,该时间编码信息可以是指视频编码块中所包含的视频帧数据的时间编码信息。应当理解,该视频帧数据的时间编码信息可以是指视频编码块中,所包含的一个或多个视频帧数据中的任一视频帧数据的获取时间戳所对应的编码信息。可以理解的是,在编码描述信息中添加时间编码信息后,可以得到目标编码描述信息,随后可以对视频编码块与目标编码描述信息进行重新封装,从而可以得到目标视频流文件。
字幕实时转写模块,字幕实时转写模块可以用于提取视频中的音频数据,并对音频数据进行音频识别,从而将音频数据转写为文本数据。
字幕翻译引擎,字幕翻译引擎可以用于字幕翻译场景中,可以对将音频数据进行字幕转写得到的文本数据进行翻译,从而得到翻译文本数据。应当理解,音频数据对应的文本数据以及翻译文本数据共同组成字幕,一条或多条字幕可以组成字幕流。
字幕时间添加模块,字幕时间添加模块可以用于在字幕流中,添加字幕的字幕时间信息,从而可以得到视频的目标字幕流。
带字幕视频合成模块,带字幕视频合成模块可以用于将目标视频流文件与目标字幕流进行解码,并基于带有时间编码信息的目标编码描述信息与字母时间信息,将目标视频流文件中的视频帧数据与字幕进行时间对齐,从而可以将视频与字幕进行同步。
应当理解,在视频编码描述信息中添加视频帧数据的时间编码信息,在字幕流中添加字幕时间信息,可以使得解码端对齐字幕时间到视频,从而实现字幕与视频音频的同步,由此可以提高字幕与视频数据的同步率。
为便于理解本申请提供的方法所带来的有益效果,请一并参见图7a-图7b,图7a-图7b是本申请实施例提供的一种视频展示效果对比图。其中,图7a与图7b均是直播视频推送的场景。图7a是未采用本申请提供的方法(也就是未添加时间编码信息与字幕时间信息)对应的视频展示效果图,如图7a所示,画面70a-画面70c可以看出,用户在观看直播视频时,所观看的字幕为逐字呈现,用户观看到的字幕时非完整的字幕;且当呈现的字幕文本超出字幕呈现区域,呈现时间靠前的字幕会消失,由此,剩下的字幕呈现出来的效果也是一句非完整的字幕。例如,画面70c中,完整的中文翻译字幕应为“AA是一个非常特别的地方,那里拥有所有自由”,但因为字幕呈现区域已无法呈现完整字幕,所以用户在画面70c中所观看到的中文翻译字幕为“一个非常特别的地方,那里拥有所有自由”。可以看出,字幕逐字呈现的方式提高了用户阅读字幕的难度,影响用户体验感;且逐字呈现的方式由于未呈现完整的句子,并不具备完整的语义,则在进行字幕翻译时,因为语序错误等原因,翻译的准确率可能并不高。
而图7b是采用本申请提供的方法(也就是添加时间编码信息与字幕时间信息)对应的视频展示效果图。如图7b所示,因为在视频流文件中添加了时间编码信息,在字幕流中添加了字幕时间信息,则解码端(例如,用户终端)在解码时,可以根据时间编码信息与字幕时间信息,在字幕流的字幕中确定出每一个视频帧数据对应的目标字幕,并将视频帧数据与对应的目标字幕进行同步输出。由此,可以使得字幕严格对齐到视频,做到字幕与视频中的声音同步;且因为本申请对字幕进行了断句,可以使得字幕是一条完整字幕,具有正确语序,具有更强的逻辑性与连贯性,由此,通过对具有正确语序的完整字幕进行翻译,也可以提高翻译字幕的准确率,也可以降低用户阅读字幕的难度,提高用户的体验感。
由此可以看出,本申请可以提高视频数据与字幕的同步率,降低用户阅读字幕的难度,从而可以提高用户体验感;同时可以减少翻译难度,提高翻译字幕的准确率。
进一步地,请参见图8,图8是本申请实施例提供的一种多媒体数据处理装置的结构示意图。如图8所示,该多媒体数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该多媒体数据处理装置为一个应用软件;该多媒体数据处理装置可以用于执行图3所示的方法。如图8所示,多媒体数据处理装置1可以包括:视频块获取模块11、视频时间添加模块12、视频封装模块13、字幕流获取模块14、字幕时间添加模块15以及文件发送模块16。
视频块获取模块11,用于获取视频的视频编码块,以及每个视频编码块对应的编码描述信息;视频编码块包含视频的视频帧数据;
视频时间添加模块12,用于在视频编码块对应的编码描述信息中,添加视频帧数据的时间编码信息,得到目标编码描述信息;
视频封装模块13,用于将视频编码块与目标编码描述信息进行封装,得到目标视频流文件;时间编码信息用于表征获取视频帧数据的时间戳;
字幕流获取模块14,用于获取视频的字幕流;
字幕时间添加模块15,用于在字幕流中添加字幕时间信息,得到目标字幕流;字幕时间信息用于表征字幕流中的字幕在视频中的显示时长区间;
文件发送模块16,用于将目标视频流文件与目标字幕流发送至解码端;目标编码描述信息以及字幕时间信息,用于指示解码端将目标视频流文件中的视频帧数据与目标字幕流中的字幕进行时间对齐。
其中,视频块获取模块11、视频时间添加模块12、视频封装模块13、字幕流获取模块14、字幕时间添加模块15以及文件发送模块16的具体实现方式,可以参见上述图3所对应实施例中步骤S101-步骤S104的描述,这里将不再进行赘述。
其中,视频编码块中包含的视频帧数据包括视频帧数据Ki;
请参见图8,视频时间添加模块12可以包括:序号确定单元121、时间戳确定单元122以及时间添加单元123。
序号确定单元121,用于通过编码描述信息,确定视频帧数据Ki对应的帧序号;帧序号用于表征视频帧数据Ki在视频中的时间排列顺序;
时间戳确定单元122,用于获取视频的视频录制起始时间戳,根据视频录制起始时间戳以及视频帧数据Ki对应的帧序号,确定视频帧数据Ki对应的时间戳Mi;
时间添加单元123,用于将时间戳Mi对应的时间编码信息,添加至视频编码块对应的编码描述信息中,得到目标编码描述信息。
其中,序号确定单元121、时间戳确定单元122以及时间添加单元123的具体实现方式,可以参见上述图3所对应实施例中步骤S102的描述,这里将不再进行赘述。
请参见图8,时间戳确定单元122可以包括:起始序号获取子单元1221、序号差值确定子单元1222以及时间戳确定子单元1223。
起始序号获取子单元1221,用于获取视频的视频帧数据中的起始视频帧数据的起始帧序号;
序号差值确定子单元1222,用于确定视频帧数据Ki对应的帧序号与起始帧序号之间的序号差值;
时间戳确定子单元1223,用于获取视频的视频帧数据中相邻视频帧数据之间的采集时间差值,根据采集时间差值、序号差值以及视频录制起始时间戳,确定视频帧数据Ki对应的时间戳Mi。
其中,起始序号获取子单元1221、序号差值确定子单元1222以及时间戳确定子单元1223的具体实现方式,可以参见上述图3所对应实施例中步骤S102中的描述,这里将不再进行赘述。
其中,时间戳确定子单元1223,还用于将采集时间差值与序号差值进行相乘处理,得到视频帧数据Ki与起始视频帧数据之间的差值时间戳;
时间戳确定子单元1223,还用于将视频录制起始时间戳与差值时间戳进行相加处理,得到视频帧数据Ki对应的时间戳Mi。
其中,视频编码块包括编码块头与编码块体,编码描述信息包括编码块头对应的块头编码描述信息与编码块体对应的块体编码描述信息;
请参见图8,时间添加单元123可以包括:定义信息添加子单元1231、时间信息生成子单元1232、附加信息添加子单元1233以及信息融合子单元1234。
定义信息添加子单元1231,用于在块头编码描述信息中,添加目标定义描述信息;目标定义描述信息用于定义块头编码描述信息中存在用于添加附加信息的编码存储位;
时间信息生成子单元1232,用于根据目标定义描述信息所指示的编码存储位,生成目标时间戳对应的时间编码信息;
附加信息添加子单元1233,用于将时间编码信息确定为附加信息,将附加信息添加至块头编码描述信息中的编码存储位,得到目标块头编码描述信息;
信息融合子单元1234,用于将目标块头编码描述信息与块体编码描述信息进行融合,生成目标编码描述信息。
其中,定义信息添加子单元1231、时间信息生成子单元1232、附加信息添加子单元1233以及信息融合子单元1234的具体实现方式,可以参见上述图3所对应实施例中步骤S102中的描述,这里将不再进行赘述。
请参见图8,字幕流获取模块14可以包括:音频获取单元141、音频识别单元142、文本转换单元143以及字幕生成单元144。
音频获取单元141,用于获取视频的音频数据;
音频识别单元142,用于对音频数据进行音频识别,得到音频数据对应的文本数据;
文本转换单元143,用于将文本数据进行断句处理,得到断句文本数据,对断句文本数据进行转换,得到转换文本数据;断句文本数据所属的语言类型与转换文本数据所属的语言类型不同;
字幕生成单元144,用于将断句文本数据与转换文本数据所组成的文本数据组确定为字幕,得到包含字幕的字幕流。
其中,音频获取单元141、音频识别单元142、文本转换单元143以及字幕生成单元144的具体实现方式,可以参见上述图3所对应实施例中步骤S103中的描述,这里将不再进行赘述。
其中,字幕时间信息包括字幕的字幕起始时间以及字幕结束时间;
请参见图8,字幕时间添加模块15可以包括:字幕时间获取单元151以及字幕时间添加单元152。
字幕时间获取单元151,用于获取字幕的字幕起始时间与字幕结束时间;
字幕时间添加单元152,用于在字幕流中,添加字幕的字幕起始时间与字幕结束时间,得到包含字幕起始时间与字幕结束时间的目标字幕流。
其中,字幕时间获取单元151以及字幕时间添加单元152的具体实现方式,可以参见上述图3所对应实施例中步骤S103中的描述,这里将不再进行赘述。
请参见图8,文件发送模块16可以包括:请求接收单元161、文件获取单元162以及文件返回单元163。
请求接收单元161,用于接收解码端发送的文件资源获取请求;文件资源获取请求为解码端响应针对视频的视频播放操作所生成的请求;
文件获取单元162,用于根据文件资源获取请求,获取视频的目标视频流文件与目标字幕流;
文件返回单元163,用于将目标视频流文件与目标字幕流返回至解码端,以使解码端将目标视频流文件与目标字幕流分别进行解码,得到具有时间对齐关系的视频帧数据与字幕,对视频帧数据与字幕进行同步输出。
其中,请求接收单元161、文件获取单元162以及文件返回单元163的具体实现方式,可以参见上述图3所对应实施例中步骤S104中的描述,这里将不再进行赘述。
在本申请实施例中,将视频推送至解码端(用户终端)前,可以在创建视频的视频流文件时,在视频流文件中的编码描述信息中添加时间编码信息(获取视频的视频帧数据的时间戳对应的时间编码信息);同时,可以在视频的字幕流中,添加字幕时间信息;由此,解码端通过该视频流文件中的时间编码信息,与字幕流中的字幕时间信息,可以将视频流文件中的视频帧数据与字幕流中的字幕进行时间对齐,则可以将具有时间对齐关系的视频帧数据与字幕进行同步输出,从而可以实现对视频帧数据与字幕的同步,提高视频数据与字幕的同步率。同时,应当理解,在部分特定视频推送场景中(例如,直播视频推送场景)中,因为本申请将识别音频数据所得到的字幕文本数据进行了断句处理,可以使得视频的字幕具有逻辑性与连贯性,则在进行直播视频播放过程中,在字幕显示时,可以整句显示具有逻辑性与连贯性的字幕,从而可以降低用户阅读字幕的难度,进而可以提高用户体验感;且由于断句处理后的字幕具有逻辑性与连贯性,在进行字幕翻译时,可以联系前后文本进行整句翻译,从而可以提高字幕翻译的准确率。综上可知,本申请可以提高视频数据与字幕的同步率,增强字幕的逻辑性与连贯性,从而可以提高字幕翻译的准确率,提高用户体验感。
进一步地,请参见图9,图9是本申请实施例提供的一种计算机设备的结构示意图。如图9所示,上述图8所对应实施例中的装置1可以应用于上述计算机设备1000,上述计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图9所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图9所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取视频的视频编码块,以及每个视频编码块对应的编码描述信息;视频编码块包含视频的视频帧数据;
在视频编码块对应的编码描述信息中,添加视频帧数据的时间编码信息,得到目标编码描述信息,将视频编码块与目标编码描述信息进行封装,得到目标视频流文件;时间编码信息用于表征获取视频帧数据的时间戳;
获取视频的字幕流,在字幕流中添加字幕时间信息,得到目标字幕流;字幕时间信息用于表征字幕流中的字幕在视频中的显示时长区间;
将目标视频流文件与目标字幕流发送至解码端;目标编码描述信息以及字幕时间信息,用于指示解码端将目标视频流文件中的视频帧数据与字幕流中的字幕进行时间对齐。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3所对应实施例中对该多媒体数据方法的描述,也可执行前文图8所对应实施例中对该多媒体数据处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且上述计算机可读存储介质中存储有前文提及的数据处理的计算机设备1000所执行的计算机程序,且上述计算机程序包括程序指令,当上述处理器执行上述程序指令时,能够执行前文图3所对应实施例中对上述数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
进一步地,请参见图10,图10是本申请实施例提供的一种多媒体数据处理装置的结构示意图。如图10所示,该多媒体数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该多媒体数据处理装置为一个应用软件;该多媒体数据处理装置可以用于执行图5所示的方法。如图10所示,多媒体数据处理装置2可以包括:视频文件获取模块21、目标文件获取模块22、文件解码模块23、目标字幕确定模块24以及输出模块25。
视频文件获取模块21,用于响应针对视频的视频播放操作,获取与视频相关联的目标视频流文件;目标视频流文件是通过对视频的视频编码块与目标编码描述信息进行封装处理后得到;视频编码块包含视频的视频帧数据;目标编码描述信息是通过在视频编码块对应的编码描述信息中,添加视频帧数据的时间编码信息所得到的;时间编码信息用于表征获取视频帧数据的时间戳;
目标文件获取模块22,用于获取视频的目标字幕流;目标字幕流中包含字幕时间信息;字幕时间信息用于表征目标字幕流中的字幕在视频中的显示时长区间;
文件解码模块23,用于对目标视频流文件与目标字幕流分别进行解码,得到目标视频流文件对应的视频帧数据、目标视频流文件中的目标编码描述信息,以及目标字幕流对应的字幕和目标字幕流中的字幕时间信息;
目标字幕确定模块24,用于根据目标编码描述信息以及字幕时间信息,在目标字幕流的字幕中确定与视频帧数据具有时间对齐关系的目标字幕;
输出模块25,用于将视频帧数据与目标字幕进行同步输出。
其中,视频文件获取模块21、目标文件获取模块22、文件解码模块23以及目标字幕确定模块24的具体实现方式,可以参加上述图5所对应实施例步骤S201-步骤S204的描述,这里将不再进行赘述。
其中,字幕时间信息包括字幕的字幕起始时间以及字幕结束时间;
请参见图10,目标字幕确定模块24可以包括:获取时间确定单元241、起始时间确定单元242、字幕时间确定单元243以及目标字幕确定单元244。
获取时间确定单元241,用于根据目标编码描述信息中的时间编码信息,确定视频帧数据的获取时间戳;
起始时间确定单元242,用于根据目标编码描述信息,确定视频的视频录制起始时间戳;
字幕时间确定单元243,用于将视频录制起始时间戳与字幕起始时间进行相加处理,得到字幕的字幕录制起始时间;
字幕时间确定单元243,还用于将视频录制起始时间戳与字幕结束时间进行相加处理,得到字幕的字幕录制结束时间;
目标字幕确定单元244,用于根据视频帧数据的获取时间戳、字幕录制起始时间以及字幕录制结束时间,在目标字幕流的字幕中确定与视频帧数据具有时间对齐关系的目标字幕。
其中,获取时间确定单元241、起始时间确定单元242、字幕时间确定单元243以及目标字幕确定单元244的具体实现方式,可以参加上述图5所对应实施例步骤S204中的描述,这里将不再进行赘述。
请参见图10,目标字幕确定单元244可以包括:时间区间确定子单元2441以及时间匹配子单元2442。
时间区间确定子单元2441,用于确定字幕录制起始时间与字幕录制结束时间之间的字幕时间区间;
时间匹配子单元2442,用于将视频帧数据的获取时间戳与字幕时间区间进行匹配,若字幕时间区间内包含视频帧数据的获取时间戳,则将包含获取时间戳的字幕时间区间对应的字幕,确定为与视频帧数据具有时间对齐关系的目标字幕。
其中,时间区间确定子单元2441以及时间匹配子单元2442的具体实现方式,可以参见上述图5所对应实施例步骤S204中的描述,这里将不再进行赘述。
在本申请实施例中,将视频推送至解码端(用户终端)前,可以在创建视频的视频流文件时,在视频流文件中的编码描述信息中添加时间编码信息(获取视频的视频帧数据的时间戳对应的时间编码信息);同时,可以在视频的字幕流中,添加字幕时间信息;由此,解码端通过该视频流文件中的时间编码信息,与字幕流中的字幕时间信息,可以将视频流文件中的视频帧数据与字幕流中的字幕进行时间对齐,则可以将具有时间对齐关系的视频帧数据与字幕进行同步输出,从而可以实现对视频帧数据与字幕的同步,提高视频数据与字幕的同步率。同时,应当理解,在部分特定视频推送场景中(例如,直播视频推送场景)中,因为本申请将识别音频数据所得到的字幕文本数据进行了断句处理,可以使得视频的字幕具有逻辑性与连贯性,则在进行直播视频播放过程中,在字幕显示时,可以整句显示具有逻辑性与连贯性的字幕,从而可以降低用户阅读字幕的难度,进而可以提高用户体验感;且由于断句处理后的字幕具有逻辑性与连贯性,在进行字幕翻译时,可以联系前后文本进行整句翻译,从而可以提高字幕翻译的准确率。综上可知,本申请可以提高视频数据与字幕的同步率,增强字幕的逻辑性与连贯性,从而可以提高字幕翻译的准确率,提高用户体验感。
进一步地,请参见图11,是本申请实施例提供的一种计算机设备的结构示意图。如图11所示,上述图10所对应实施例中的装置2可以应用于上述计算机设备4000,上述计算机设备4000可以包括:处理器4004,网络接口4004和存储器4005,此外,上述计算机设备4000还包括:用户接口4003,和至少一个通信总线4002。其中,通信总线4002用于实现这些组件之间的连接通信。其中,用户接口4003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口4003还可以包括标准的有线接口、无线接口。网络接口4004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器4005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器4005可选的还可以是至少一个位于远离前述处理器4004的存储装置。如图11所示,作为一种计算机可读存储介质的存储器4005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图11所示的计算机设备4000中,网络接口4004可提供网络通讯功能;而用户接口4003主要用于为用户提供输入的接口;而处理器4004可以用于调用存储器4005中存储的设备控制应用程序,以实现:
响应针对视频的视频播放操作,获取与视频相关联的目标视频流文件;目标视频流文件是通过对视频的视频编码块与目标编码描述信息进行封装处理后得到;视频编码块包含视频的视频帧数据;目标编码描述信息是通过在视频编码块对应的编码描述信息中,添加视频帧数据的时间编码信息所得到的;时间编码信息用于表征获取视频帧数据的时间戳;
获取视频的目标字幕流;目标字幕流中包含字幕时间信息;字幕时间信息用于表征目标字幕流中的字幕在视频中的显示时长区间;
对目标视频流文件与目标字幕流分别进行解码,得到目标视频流文件对应的视频帧数据、目标视频流文件中的目标编码描述信息,以及目标字幕流对应的字幕和目标字幕流中的字幕时间信息;
根据目标编码描述信息以及字幕时间信息,在目标字幕流的字幕中确定与视频帧数据具有时间对齐关系的目标字幕,将视频帧数据与目标字幕进行同步输出。
应当理解,本申请实施例中所描述的计算机设备4000可执行前文图5所对应实施例中对该多媒体数据处理方法的描述,也可执行前文图10所对应实施例中对该多媒体数据处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且上述计算机可读存储介质中存储有前文提及的数据处理的计算机设备4000所执行的计算机程序,且上述计算机程序包括程序指令,当上述处理器执行上述程序指令时,能够执行前文图5所对应实施例中对上述多媒体数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
上述计算机可读存储介质可以是前述任一实施例提供的多媒体数据处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例中一方面提供的方法。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (14)
1.一种多媒体数据处理方法,其特征在于,包括:
获取视频的视频编码块,以及每个视频编码块对应的编码描述信息;所述视频编码块包含所述视频的视频帧数据;
在所述视频编码块对应的编码描述信息中,添加所述视频帧数据的时间编码信息,得到目标编码描述信息,将所述视频编码块与所述目标编码描述信息进行封装,得到目标视频流文件;所述时间编码信息用于表征获取所述视频帧数据的时间戳;
获取所述视频的字幕流,在所述字幕流中添加字幕时间信息,得到目标字幕流;所述字幕时间信息用于表征所述字幕流中的字幕在所述视频中的显示时长区间;
将所述目标视频流文件与所述目标字幕流发送至解码端;所述目标编码描述信息以及所述字幕时间信息,用于指示所述解码端将所述目标视频流文件中的所述视频帧数据与所述目标字幕流中的字幕进行时间对齐。
2.根据权利要求1所述的方法,其特征在于,所述视频编码块中包含的所述视频帧数据包括视频帧数据Ki;
在所述视频编码块对应的编码描述信息中,添加所述视频帧数据的时间编码信息,得到目标编码描述信息,包括:
通过所述编码描述信息,确定所述视频帧数据Ki对应的帧序号;所述帧序号用于表征所述视频帧数据Ki在所述视频中的时间排列顺序;
获取所述视频的视频录制起始时间戳,根据所述视频录制起始时间戳以及所述视频帧数据Ki对应的帧序号,确定所述视频帧数据Ki对应的时间戳Mi;
将所述时间戳Mi对应的时间编码信息,添加至所述视频编码块对应的编码描述信息中,得到目标编码描述信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述视频录制起始时间戳以及所述视频帧数据Ki对应的帧序号,确定所述视频帧数据Ki对应的时间戳Mi,包括:
获取所述视频的视频帧数据中的起始视频帧数据的起始帧序号;
确定所述视频帧数据Ki对应的帧序号与所述起始帧序号之间的序号差值;
获取所述视频的视频帧数据中相邻视频帧数据之间的采集时间差值,根据所述采集时间差值、所述序号差值以及所述视频录制起始时间戳,确定所述视频帧数据Ki对应的时间戳Mi。
4.根据权利要求3所述的方法,其特征在于,所述根据所述采集时间差值、所述序号差值以及所述视频录制起始时间戳,确定所述视频帧数据Ki对应的时间戳Mi,包括:
将所述采集时间差值与所述序号差值进行相乘处理,得到所述视频帧数据Ki与所述起始视频帧数据之间的差值时间戳;
将所述视频录制起始时间戳与所述差值时间戳进行相加处理,得到所述视频帧数据Ki对应的时间戳Mi。
5.根据权利要求2所述的方法,其特征在于,所述视频编码块包括编码块头与编码块体,所述编码描述信息包括所述编码块头对应的块头编码描述信息与所述编码块体对应的块体编码描述信息;
所述将所述时间戳Mi对应的时间编码信息,添加至所述视频编码块对应的编码描述信息中,得到目标编码描述信息,包括:
在所述块头编码描述信息中,添加目标定义描述信息;所述目标定义描述信息用于定义所述块头编码描述信息中存在用于添加附加信息的编码存储位;
根据所述目标定义描述信息所指示的所述编码存储位,生成所述目标时间戳对应的时间编码信息;
将所述时间编码信息确定为所述附加信息,将所述附加信息添加至所述块头编码描述信息中的所述编码存储位,得到目标块头编码描述信息;
将所述目标块头编码描述信息与所述块体编码描述信息进行融合,生成所述目标编码描述信息。
6.根据权利要求1所述的方法,其特征在于,获取所述视频的字幕流,包括:
获取所述视频的音频数据;
对所述音频数据进行音频识别,得到所述音频数据对应的文本数据;
将所述文本数据进行断句处理,得到断句文本数据,对所述断句文本数据进行转换,得到转换文本数据;所述断句文本数据所属的语言类型与所述转换文本数据所属的语言类型不同;
将所述断句文本数据与所述转换文本数据所组成的文本数据组确定为字幕,得到包含所述字幕的字幕流。
7.根据权利要求6所述的方法,其特征在于,所述字幕时间信息包括所述字幕的字幕起始时间以及字幕结束时间;
所述在所述字幕流中添加字幕时间信息,得到目标字幕流,包括:
获取所述字幕的字幕起始时间与字幕结束时间;
在所述字幕流中,添加所述字幕的所述字幕起始时间与所述字幕结束时间,得到包含所述字幕起始时间与所述字幕结束时间的目标字幕流。
8.根据权利要求1所述的方法,其特征在于,所述将所述目标视频流文件与所述目标字幕流发送至解码端,包括:
接收解码端发送的文件资源获取请求;所述文件资源获取请求为所述解码端响应针对所述视频的视频播放操作所生成的请求;
根据所述文件资源获取请求,获取所述视频的所述目标视频流文件与所述目标字幕流;
将所述目标视频流文件与所述目标字幕流返回至所述解码端,以使所述解码端将所述目标视频流文件与所述目标字幕流分别进行解码,得到具有时间对齐关系的所述视频帧数据与所述字幕,对所述视频帧数据与所述字幕进行同步输出。
9.一种多媒体数据处理方法,其特征在于,包括:
响应针对视频的视频播放操作,获取与所述视频相关联的目标视频流文件;所述目标视频流文件是通过对所述视频的视频编码块与目标编码描述信息进行封装处理后得到;所述视频编码块包含所述视频的视频帧数据;所述目标编码描述信息是通过在所述视频编码块对应的编码描述信息中,添加所述视频帧数据的时间编码信息所得到的;所述时间编码信息用于表征获取所述视频帧数据的时间戳;
获取所述视频的目标字幕流;所述目标字幕流中包含字幕时间信息;所述字幕时间信息用于表征所述目标字幕流中的字幕在所述视频中的显示时长区间;
对所述目标视频流文件与所述目标字幕流分别进行解码,得到所述目标视频流文件对应的视频帧数据、所述目标视频流文件中的所述目标编码描述信息,以及所述目标字幕流对应的字幕和所述目标字幕流中的所述字幕时间信息;
根据所述目标编码描述信息以及所述字幕时间信息,在所述目标字幕流的字幕中确定与所述视频帧数据具有时间对齐关系的目标字幕,将所述视频帧数据与所述目标字幕进行同步输出。
10.根据权利要求9所述的方法,其特征在于,所述字幕时间信息包括所述字幕的字幕起始时间以及所述字幕结束时间;
所述根据所述目标编码描述信息以及所述字幕时间信息,在所述目标字幕流的字幕中确定与所述视频帧数据具有时间对齐关系的目标字幕,包括:
根据所述目标编码描述信息中的时间编码信息,确定所述视频帧数据的获取时间戳;
根据所述目标编码描述信息,确定所述视频的视频录制起始时间戳;
将所述视频录制起始时间戳与所述字幕起始时间进行相加处理,得到所述字幕的字幕录制起始时间;
将所述视频录制起始时间戳与所述字幕结束时间进行相加处理,得到所述字幕的字幕录制结束时间;
根据所述视频帧数据的获取时间戳、所述字幕录制起始时间以及所述字幕录制结束时间,在所述目标字幕流的字幕中确定与所述视频帧数据具有时间对齐关系的目标字幕。
11.根据权利要求10所述的方法,其特征在于,所述根据所述视频帧数据的获取时间戳、所述字幕录制起始时间以及所述字幕录制结束时间,在所述目标字幕流的字幕中确定与所述视频帧数据具有时间对齐关系的目标字幕,包括:
确定所述字幕录制起始时间与所述字幕录制结束时间之间的字幕时间区间;
将所述视频帧数据的获取时间戳与所述字幕时间区间进行匹配,若所述字幕时间区间内包含所述视频帧数据的获取时间戳,则将包含所述获取时间戳的字幕时间区间对应的字幕,确定为与所述视频帧数据具有时间对齐关系的目标字幕。
12.一种多媒体数据处理装置,其特征在于,包括:
视频块获取模块,用于获取视频的视频编码块,以及每个视频编码块对应的编码描述信息;所述视频编码块包含所述视频的视频帧数据;
视频时间添加模块,用于在所述视频编码块对应的编码描述信息中,添加所述视频帧数据的时间编码信息,得到目标编码描述信息;
视频封装模块,用于将所述视频编码块与所述目标编码描述信息进行封装,得到目标视频流文件;所述时间编码信息用于表征获取所述视频帧数据的时间戳;
字幕时间添加模块,用于获取所述视频的字幕流,在所述字幕流中添加字幕时间信息,得到目标字幕流;所述字幕时间信息用于表征所述字幕流中的字幕在所述视频中的显示时长区间;
文件发送模块,用于将所述目标视频流文件与所述目标字幕流发送至解码端;所述目标编码描述信息以及所述字幕时间信息,用于指示所述解码端将所述目标视频流文件中的所述视频帧数据与所述目标字幕流中的字幕进行时间对齐。
13.一种计算机设备,其特征在于,包括:处理器、存储器以及网络接口;
所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供网络通信功能,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行权利要求1-11任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行权利要求1-11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011015245.3A CN114257843A (zh) | 2020-09-24 | 2020-09-24 | 一种多媒体数据处理方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011015245.3A CN114257843A (zh) | 2020-09-24 | 2020-09-24 | 一种多媒体数据处理方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114257843A true CN114257843A (zh) | 2022-03-29 |
Family
ID=80789989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011015245.3A Pending CN114257843A (zh) | 2020-09-24 | 2020-09-24 | 一种多媒体数据处理方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114257843A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100039558A1 (en) * | 2008-08-12 | 2010-02-18 | Richard Detore | Real time high definition caption correction |
CN103780977A (zh) * | 2014-02-26 | 2014-05-07 | 厦门雅迅网络股份有限公司 | 一种基于帧定位技术的流媒体播放方法 |
CN107566794A (zh) * | 2017-08-31 | 2018-01-09 | 深圳英飞拓科技股份有限公司 | 一种视频数据的处理方法、系统及终端设备 |
CN108234997A (zh) * | 2017-12-12 | 2018-06-29 | 北京百度网讯科技有限公司 | 直播视频的时延测量方法、设备、系统及计算机可读介质 |
CN108401192A (zh) * | 2018-04-25 | 2018-08-14 | 腾讯科技(深圳)有限公司 | 视频流处理方法、装置、计算机设备及存储介质 |
CN108600773A (zh) * | 2018-04-25 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 字幕数据推送方法、字幕展示方法、装置、设备及介质 |
-
2020
- 2020-09-24 CN CN202011015245.3A patent/CN114257843A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100039558A1 (en) * | 2008-08-12 | 2010-02-18 | Richard Detore | Real time high definition caption correction |
CN103780977A (zh) * | 2014-02-26 | 2014-05-07 | 厦门雅迅网络股份有限公司 | 一种基于帧定位技术的流媒体播放方法 |
CN107566794A (zh) * | 2017-08-31 | 2018-01-09 | 深圳英飞拓科技股份有限公司 | 一种视频数据的处理方法、系统及终端设备 |
CN108234997A (zh) * | 2017-12-12 | 2018-06-29 | 北京百度网讯科技有限公司 | 直播视频的时延测量方法、设备、系统及计算机可读介质 |
CN108401192A (zh) * | 2018-04-25 | 2018-08-14 | 腾讯科技(深圳)有限公司 | 视频流处理方法、装置、计算机设备及存储介质 |
CN108600773A (zh) * | 2018-04-25 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 字幕数据推送方法、字幕展示方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108401192B (zh) | 视频流处理方法、装置、计算机设备及存储介质 | |
US20200314460A1 (en) | Video stream processing method, computer device, and storage medium | |
US10375350B2 (en) | Non-closed caption data transport in standard caption service | |
CN109348252B (zh) | 视频播放方法、视频传输方法、装置、设备及存储介质 | |
US11770589B2 (en) | Using text data in content presentation and content search | |
US10887645B2 (en) | Processing media data using file tracks for web content | |
US20150358507A1 (en) | Timing recovery for embedded metadata | |
US11218784B1 (en) | Method and system for inserting markers in a media presentation | |
CN106331853B (zh) | 多媒体解封装方法及装置 | |
CN114040255A (zh) | 直播字幕生成方法、系统、设备及存储介质 | |
US7149770B1 (en) | Method and system for client-server interaction in interactive communications using server routes | |
CN112272327A (zh) | 数据处理方法、装置、存储介质及设备 | |
CN112165653B (zh) | 一种视频播放方法、装置及设备 | |
CN113099282B (zh) | 一种数据处理方法、装置及设备 | |
CN115623264A (zh) | 直播流的字幕处理方法、装置及直播流的播放方法、装置 | |
EP1049984A1 (en) | Method and system for client-server interaction in interactive communications | |
JP6715910B2 (ja) | インターネット経由で同時配信されるテレビ番組における字幕データの処理システム、処理方法およびプログラム | |
CN114257843A (zh) | 一种多媒体数据处理方法、装置、设备及可读存储介质 | |
CN116233490A (zh) | 视频合成方法、系统、装置、电子设备及存储介质 | |
CN113709579A (zh) | 音视频数据的传输方法、装置以及存储介质 | |
KR20030056103A (ko) | 엠펙-4 장면 기술자를 이용한 엠펙-2 비디오의 특정 영역활성화 장치 및 그 방법 | |
CN113873275B (zh) | 一种视频媒体数据的传输方法及装置 | |
KR102273795B1 (ko) | 영상 동기화 처리를 위한 시스템 및 그 제어방법 | |
US20220159318A1 (en) | Streaming data generating device, streaming data delivery system, and method of generating streaming data | |
CN117376593A (zh) | 直播流的字幕处理方法、装置、存储介质及计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40065614 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |