CN107277594B - 一种视音频与弹幕同步方法及装置 - Google Patents
一种视音频与弹幕同步方法及装置 Download PDFInfo
- Publication number
- CN107277594B CN107277594B CN201710546299.4A CN201710546299A CN107277594B CN 107277594 B CN107277594 B CN 107277594B CN 201710546299 A CN201710546299 A CN 201710546299A CN 107277594 B CN107277594 B CN 107277594B
- Authority
- CN
- China
- Prior art keywords
- video
- audio
- frame
- synchronized
- last frame
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000001360 synchronised effect Effects 0.000 claims abstract description 145
- 230000005540 biological transmission Effects 0.000 claims description 9
- 230000015654 memory Effects 0.000 description 30
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static 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/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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
-
- 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)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开了一种视音频与弹幕同步方法及装置,该方法包括:接收用户执行的指定切换操作,停止发送执行指定切换操作前所对应的视频与音频,获取执行指定切换操作后所对应的待同步的视频与音频,对获取到的待同步的视频与音频进行同步,获取弹幕,并对所述弹幕与同步后的视频和音频进行同步。通过上述方法,在将同步后的视音频通过客户端展示给观众之前,需要将同步后的视音频与弹幕进行同步,从而使得弹幕、音频与视频三者之间一一对应匹配。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于视音频与弹幕同步方法及装置。
背景技术
随着网络技术的不断发展,网络直播已经成为人们日常娱乐生活的重要组成部分。
目前,网络直播平台为了满足不同用户的观看需求,通常将所直播的视频设置成不同的清晰度(如,超清、高清以及普清)或者不同的观看线路(线路1、线路2以及线路3)。
而在观看网络直播的过程中,用户会根据不同的需求来切换所需的清晰度或者切换所需的线路,当服务器接收到用户发起的切换清晰度的操作后,首先停止发送切换前清晰度所对应的视频帧以及声音,假设所发送的最后一个视频帧为第N帧,然后根据用户所选择的切换后清晰度,确定切换后清晰度所对应的视频帧以及声音帧,对视频帧以及声音帧进行同步,并发送同步后的视频帧以及声音帧。
但是,通常而言,切换后的直播视频会有一定的延迟,也就是说,假设切换前的最后一帧是第N帧,那么切换后的直播视频则是从第(N-3)帧开始播放,而对于存在弹幕的网络直播而言,由于弹幕服务器与视音频服务器不是同一个服务器,因此,虽然切换后的直播视频由于存在延迟而不是当前最新的,但是弹幕确实是实时最新的,这样会导致弹幕与直播视频不匹配。
发明内容
本申请实施例提供一种视音频与弹幕同步方法及装置,用以解决现有技术中用户在观看网络直播的过程中,执行切换清晰度操作后所导致的弹幕与直播视频不匹配的问题。
本申请实施例提供的一种视音频与弹幕同步方法,包括:
接收用户执行的指定切换操作;
停止发送执行指定切换操作前所对应的视频与音频;
获取执行指定切换操作后所对应的待同步的视频与音频;
对获取到的待同步的视频与音频进行同步;
获取弹幕,并对所述弹幕与同步后的视频和音频进行同步。
优选地,所述指定切换操作包括:清晰度切换操作或线路切换操作中的一个。
优选地,当停止发送执行指定切换操作前所对应的视频与音频时,所述方法还包括:记录最后一帧所对应的视频时间戳以及音频时间戳。获取执行指定切换操作后所对应的待同步的视频与音频,具体包括:根据最后一帧所对应的视频时间戳,在执行指定切换操作后所对应的视频中确定与所述最后一帧对应的视频帧,将与所述最后一帧对应的视频帧的前一视频帧之后的所有视频帧作为待同步的视频,并获取该待同步的视频,根据最后一帧所对应的音频时间戳,在执行指定切换操作后所对应的音频中确定与所述最后一帧对应的音频帧,将与所述最后一帧对应的音频帧前一音频帧之后的所有音频帧作为待同步的音频,并获取该待同步的音频。
优选地,根据与所述最后一帧对应的视频帧的前一视频帧以及与所述最后一帧对应的音频帧的前一音频帧,对获取到的待同步的视频与音频进行同步。
优选地,当停止发送执行指定切换操作前所对应的视频与音频时,所述方法还包括:记录最后一帧所对应的视频时间戳以及音频时间戳;获取执行指定切换操作后所对应的待同步的视频与音频,具体包括:将最后一帧所对应的视频时间戳前N秒内的所有视频帧以及最后一帧所对应的视频时间戳之后的所有视频帧作为待同步的视频,并获取该待同步的视频,将最后一帧所对应的音频时间戳前N秒内的所有音频帧以及最后一帧所对应的音频时间戳之后的所有音频帧作为待同步的音频,并获取该待同步的音频,其中所述N为大于0的任何数。
优选地,根据最后一帧所对应的视频时间戳前N秒内的视频帧以及最后一帧所对应的音频时间戳前N秒内音频帧,对获取到的待同步的视频与音频进行同步。
优选地,当停止发送执行指定切换操作前所对应的视频与音频时,所述方法还包括:记录最后一帧所对应的视频时间戳;获取弹幕具体包括:获取最后一帧所对应的视频时间戳后N秒内的所有视音频帧,获取最后一帧所对应的视频时间戳后N秒内的所有弹幕,其中,所述弹幕携带有弹幕时间戳,所述N为大于0的任何数。
优选地,当获取到的弹幕的数量超过预设阈值时,按照获取到的视频帧和音频帧的播放顺序,依次针对获取到的每个视频帧和音频帧,计算该视频帧和音频帧与所获取的每个弹幕时间戳的差值,确定各差值中最小的差值所对应的弹幕时间戳,将该视频帧和音频帧与确定出的弹幕时间戳所对应的弹幕进行匹配。
优选地,所述方法还包括:当获取到的弹幕的数量未超过预设阈值时,直接从最后一帧对应的视音频帧开始播放同步后的视音频。
本申请实施例提供的一种视音频与弹幕同步装置,包括:
接收模块,用于接收用户执行的指定切换操作;
停止发送模块,用于停止发送执行指定切换操作前所对应的视频与音频;
获取模块,用于获取执行指定切换操作后所对应的待同步的视频与音频;
第一同步模块,用于对获取到的待同步的视频与音频进行同步;
第二同步模块,用于获取弹幕,并对所述弹幕与同步后的视频和音频进行同步。
优选地,所述指定切换操作包括:清晰度切换操作或线路切换操作中的一个。
优选地,所述装置还包括:记录模块,用于当所述停止发送模块停止发送执行指定切换操作前所对应的视频与音频时,记录最后一帧所对应的视频时间戳以及音频时间戳;所述获取模块具体用于,根据最后一帧所对应的视频时间戳,在执行指定切换操作后所对应的视频中确定与所述最后一帧对应的视频帧,将与所述最后一帧对应的视频帧的前一视频帧之后的所有视频帧作为待同步的视频,并获取该待同步的视频;根据最后一帧所对应的音频时间戳,在执行指定切换操作后所对应的音频中确定与所述最后一帧对应的音频帧,将与所述最后一帧对应的音频帧前一音频帧之后的所有音频帧作为待同步的音频,并获取该待同步的音频。
优选地,所述第一同步模块具体用于,根据与所述最后一帧对应的视频帧的前一视频帧以及与所述最后一帧对应的音频帧的前一音频帧,对获取到的待同步的视频与音频进行同步。
优选地,所述记录模块还用于,当所述停止发送模块停止发送执行指定切换操作前所对应的视频与音频时,记录最后一帧所对应的视频时间戳以及音频时间戳;所述获取模块具体用于,将最后一帧所对应的视频时间戳前N秒内的所有视频帧以及最后一帧所对应的视频时间戳之后的所有视频帧作为待同步的视频,并获取该待同步的视频,将最后一帧所对应的音频时间戳前N秒内的所有音频帧以及最后一帧所对应的音频时间戳之后的所有音频帧作为待同步的音频,并获取该待同步的音频,其中所述N为大于0的任何数。
优选地,所述第一同步模块具体用于,根据最后一帧所对应的视频时间戳前N秒内的视频帧以及最后一帧所对应的音频时间戳前N秒内音频帧,对获取到的待同步的视频与音频进行同步。
优选地,所述记录模块还用于,当所述停止发送模块停止发送执行指定切换操作前所对应的视频与音频时,记录最后一帧所对应的视频时间戳;所述第二同步模块具体用于,获取最后一帧所对应的视频时间戳后N秒内的所有视音频帧,获取最后一帧所对应的视频时间戳后N秒内的所有弹幕,其中,所述弹幕携带有弹幕时间戳,所述N为大于0的任何数。
优选地,所述第二同步模块具体用于,当获取到的弹幕的数量超过预设阈值时,按照获取到的视频帧和音频帧的播放顺序,依次针对获取到的每个视频帧和音频帧,计算该视频帧和音频帧与所获取的每个弹幕时间戳的差值,确定各差值中最小的差值所对应的弹幕时间戳,将该视频帧和音频帧与确定出的弹幕时间戳所对应的弹幕进行匹配。
优选地,所述第二同步模块还用于,当获取到的弹幕的数量未超过预设阈值时,直接从最后一帧对应的视音频帧开始播放同步后的视音频。
本申请实施例提供一种视音频与弹幕同步方法及装置,该方法包括:接收用户执行的指定切换操作,停止发送执行指定切换操作前所对应的视频与音频,获取执行指定切换操作后所对应的待同步的视频与音频,对获取到的待同步的视频与音频进行同步,获取弹幕,并对所述弹幕与同步后的视频和音频进行同步。通过上述方法,在将同步后的视音频通过客户端展示给观众之前,需要将同步后的视音频与弹幕进行同步,从而使得弹幕、音频与视频三者之间一一对应匹配。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的视音频与弹幕同步的过程示意图;
图2为本申请实施例提供的视音频与弹幕同步装置的结构示意图;
图3为本申请实施例提供的视音频与弹幕同步***组成结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的视音频与弹幕同步过程,具体包括以下步骤:
S101:接收用户执行的指定切换操作。
在实际应用中,网络直播平台为了满足不同用户的观看需求,通常将所直播的视频设置成不同的清晰度(如,超清、高清以及普清)或者不同的观看线路(线路1、线路2以及线路3)。
而用户在观看网络直播的过程中,会根据不同的需求来切换所需的清晰度或者切换所需的线路,也就是向服务器发送指定切换操作,服务器在接收到用户发送的指定切换操作后,会执行相应的操作。
在此需要说明的是,所述指定切换操作指的是能够触发视音频与弹幕进行同步的操作,可以是清晰度切换操作,也可以是线路切换操作,当然也可以是其他指定切换操作,在此不再一一赘述。
S102:停止发送执行指定切换操作前所对应的视频与音频。
服务器在接收到用户执行的指定切换操作后,会立刻停止发送执行指定切换操作前所对应的视频与音频,也就是说,立刻停止发送当前正在向用户发送,并通过客户端展示的视频与音频。
S103:获取执行指定切换操作后所对应的待同步的视频与音频。
服务器在停止发送执行指定切换操作前所对应的视频与音频后,会向视音频服务器发送获取执行指定切换操作后所对应的待同步的视频与音频的请求,并从视音频服务器那里获取执行指定切换操作后所对应的待同步的视频与音频。
进一步的,在获取执行指定切换操作后所对应的待同步的视频与音频的过程中,由于需要知道执行指定切换操作后所对应的待同步的视频与音频到底是哪个,因此,在本申请中,在步骤S102中,除了停止发送执行指定切换操作前所对应的视频与音频,还需要记录最后一帧所对应的视频时间戳以及音频时间戳,也就是说,在停止发送执行指定切换操作前所对应的视频与音频的同时,需要记录最后一帧所对应的视频时间戳以及音频时间戳。
在此需要说明的是,执行指定切换操作前的视频中某一帧的时间戳与执行指定切换操作后的视频中某一帧的时间戳是相同的,那么这两帧的画面是相同的,且这两帧也是相互对应的,反之亦然。
进一步的,本申请基于记录最后一帧所对应的视频时间戳以及音频时间戳,提供了两种获取执行指定切换操作后所对应的待同步的视频与音频的方式,具体如下:
第一种方式:根据最后一帧所对应的视频时间戳,在执行指定切换操作后所对应的视频中确定与所述最后一帧对应的视频帧,将与所述最后一帧对应的视频帧的前一视频帧之后的所有视频帧作为待同步的视频,并获取该待同步的视频,根据最后一帧所对应的音频时间戳,在执行指定切换操作后所对应的音频中确定与所述最后一帧对应的音频帧,将与所述最后一帧对应的音频帧前一音频帧之后的所有音频帧作为待同步的音频,并获取该待同步的音频。
第二种方式:将最后一帧所对应的视频时间戳前N秒内的所有视频帧以及最后一帧所对应的视频时间戳之后的所有视频帧作为待同步的视频,并获取该待同步的视频,将最后一帧所对应的音频时间戳前N秒内的所有音频帧以及最后一帧所对应的音频时间戳之后的所有音频帧作为待同步的音频,并获取该待同步的音频,其中所述N为大于0的任何数。
在此需要说明的是,N的具体数值可以根据实际情况来设定,如,可以根据切换清晰度时视音频加载的实际延迟时间来设定,而实际延迟时间跟服务器返回速度,用户的网络速度以及用户的机器响应速度均有关系。
S104:对获取到的待同步的视频与音频进行同步。
服务器在获取到执行指定切换操作后所对应的待同步的视频与音频,需要对待同步的视频与音频进行同步。
进一步的,针对步骤S103中的第一种获取执行指定切换操作后所对应的待同步的视频与音频的方式,本申请在对待同步的视频与音频进行同步的具体方式为:根据与所述最后一帧对应的视频帧的前一视频帧以及与所述最后一帧对应的音频帧的前一音频帧,对获取到的待同步的视频与音频进行同步。
针对步骤S103中的第二种获取执行指定切换操作后所对应的待同步的视频与音频的方式,本申请在对待同步的视频与音频进行同步的具体方式为:根据最后一帧所对应的视频时间戳前N秒内的视频帧以及最后一帧所对应的音频时间戳前N秒内音频帧,对获取到的待同步的视频与音频进行同步。
在此需要说明的是,在第一种对待同步的视频与音频进行同步的方式中,将与所述最后一帧对应的视频帧的前一视频帧以及与所述最后一帧对应的音频帧的前一音频帧进行匹配,当与所述最后一帧对应的视频帧的前一视频帧以及与所述最后一帧对应的音频帧的前一音频帧匹配完成之后,位于最后一帧对应的视频帧的前一帧之后的所有视频帧与位于最后一帧对应的音频帧的前一帧后的所有音频帧也实现了同步匹配,另外,在本申请中,也不仅仅局限于匹配紧挨最后一帧的前一帧,也可以获取最后一帧对应的视频帧的前倒数第二帧的视频帧以及最后一帧对应的音频帧的前倒数第二帧的音频帧,并进行匹配,总之只要是使用最后一帧对应的视频帧前的视频帧以及最后一帧对应的音频帧前的音频帧即可。
在第二种对待同步的视频与音频进行同步的方式中,具体是,匹配最后一帧所对应的视频时间戳前N秒内的视频帧以及最后一帧所对应的音频时间戳前N秒内音频帧,也就是,根据最后一帧所对应的视频时间戳前N秒内的视频帧,在最后一帧所对应的音频时间戳前N秒内音频帧中,找到视频帧相应的音频帧,可以只先在最后一帧所对应的视频时间戳前N秒内的视频中确定某一个视频帧,并根据该视频帧,在最后一帧所对应的音频时间戳前N秒内音频帧中,找到该视频帧相应的音频帧,这样该视频帧前后的每一个视频帧也会与相应音频完成同步匹配,当然,在本申请中,也可以在最后一帧所对应的视频时间戳前N秒内的视频中确定某两个视频帧,并进行匹配,具体找几个视频帧可以根据实际情况来确定。
在执行完成上述同步匹配操作后,执行指定切换操作后所对应的视频与音频就完成了同步匹配。
S105:获取弹幕,并对所述弹幕与同步后的视频和音频进行同步。
进一步的,在对执行指定切换操作后所对应的视频与音频完成同步匹配之后,需要获取弹幕以及同步匹配完成的视音频帧,并对同步匹配完成的视音频以及弹幕进行同步。
进一步,由于需要知道获取哪些弹幕以及视音频,因此,在本申请中,在停止发送执行指定切换操作前所对应的视频与音频的同时,还需要记录最后一帧所对应的视频时间戳。
在此需要说明的是,由于同步后的视音频每一个视音频帧都是相对应的,是相同的,因此,在本申请中,所记录的最后一帧所对应的视频时间戳与视音频帧的时间戳是对应的。
进一步的,本申请在获取弹幕以及同步匹配完成的视音频帧的过程中,具体如下:
获取最后一帧所对应的视频时间戳后N秒内的所有视音频帧,从弹幕服务器中获取最后一帧所对应的视频时间戳后N秒内的所有弹幕,其中,所述弹幕携带有弹幕时间戳,所述N为大于0的任何数。
在此需要说明的是,本申请中的N是同一个数值。
进一步的,在获取到弹幕以及同步匹配完成的视音频帧后,需要对获取到的弹幕以及同步匹配完成的视音频帧进行同步匹配,具体的,当获取到的弹幕的数量超过预设阈值时,按照获取到的视频帧和音频帧的播放顺序,依次针对获取到的每个视频帧和音频帧,计算该视频帧和音频帧与所获取的每个弹幕时间戳的差值,确定各差值中最小的差值所对应的弹幕时间戳,将该视频帧和音频帧与确定出的弹幕时间戳所对应的弹幕进行匹配。
当获取到的弹幕的数量未超过预设阈值时,直接从最后一帧对应的视音频帧开始播放同步后的视音频。
在此需要说明的是,预设的阈值是根据实际情况来设定的。另外,弹幕的数量未超过预设阈值包括两种情况,第一种情况是弹幕的数量为零,也就是,在N秒内并未获取到弹幕,第二种情况是在N秒内有弹幕,但是弹幕的数量没有超过预设的阈值。
在此还需要说明的是,取视频的50ms间隔的视频帧最接近的弹幕,误差在10ms均可,也可以精确到1ms内,具体看弹幕的密度。
通过上述方法,在将同步后的视音频通过客户端展示给观众之前,需要将同步后的视音频与弹幕进行同步,从而使得弹幕、音频与视频三者之间一一对应匹配。
以上执行步骤可由服务器完成,也可由客户端完成。
以上为本申请实施例提供的视音频与弹幕同步方法,基于同样的思路,本申请实施例还提供一种视音频与弹幕同步装置。
如图2所示,本申请实施例提供的一种视音频与弹幕同步装置包括:
接收模块201,用于接收用户执行的指定切换操作;
停止发送模块202,用于停止发送执行指定切换操作前所对应的视频与音频;
获取模块203,用于获取执行指定切换操作后所对应的待同步的视频与音频;
第一同步模块204,用于对获取到的待同步的视频与音频进行同步;
第二同步模块205,用于获取弹幕,并对所述弹幕与同步后的视频和音频进行同步。
所述指定切换操作包括:清晰度切换操作或线路切换操作中的一个。
所述装置还包括:
记录模块206,用于当所述停止发送模块202停止发送执行指定切换操作前所对应的视频与音频时,记录最后一帧所对应的视频时间戳以及音频时间戳;所述获取模块203具体用于,根据最后一帧所对应的视频时间戳,在执行指定切换操作后所对应的视频中确定与所述最后一帧对应的视频帧,将与所述最后一帧对应的视频帧的前一视频帧之后的所有视频帧作为待同步的视频,并获取该待同步的视频;根据最后一帧所对应的音频时间戳,在执行指定切换操作后所对应的音频中确定与所述最后一帧对应的音频帧,将与所述最后一帧对应的音频帧前一音频帧之后的所有音频帧作为待同步的音频,并获取该待同步的音频。
所述第一同步模块204具体用于,根据与所述最后一帧对应的视频帧的前一视频帧以及与所述最后一帧对应的音频帧的前一音频帧,对获取到的待同步的视频与音频进行同步。
所述记录模块206还用于,当所述停止发送模块202停止发送执行指定切换操作前所对应的视频与音频时,记录最后一帧所对应的视频时间戳以及音频时间戳;所述获取模块203具体用于,将最后一帧所对应的视频时间戳前N秒内的所有视频帧以及最后一帧所对应的视频时间戳之后的所有视频帧作为待同步的视频,并获取该待同步的视频,将最后一帧所对应的音频时间戳前N秒内的所有音频帧以及最后一帧所对应的音频时间戳之后的所有音频帧作为待同步的音频,并获取该待同步的音频,其中所述N为大于0的任何数。
所述第一同步模块204具体用于,根据最后一帧所对应的视频时间戳前N秒内的视频帧以及最后一帧所对应的音频时间戳前N秒内音频帧,对获取到的待同步的视频与音频进行同步。
所述记录模块206还用于,当所述停止发送模块202停止发送执行指定切换操作前所对应的视频与音频时,记录最后一帧所对应的视频时间戳;所述第二同步模块205具体用于,获取最后一帧所对应的视频时间戳后N秒内的所有视音频帧,获取最后一帧所对应的视频时间戳后N秒内的所有弹幕,其中,所述弹幕携带有弹幕时间戳,所述N为大于0的任何数。
所述第二同步模块205具体用于,当获取到的弹幕的数量超过预设阈值时,按照获取到的视频帧和音频帧的播放顺序,依次针对获取到的每个视频帧和音频帧,计算该视频帧和音频帧与所获取的每个弹幕时间戳的差值,确定各差值中最小的差值所对应的弹幕时间戳,将该视频帧和音频帧与确定出的弹幕时间戳所对应的弹幕进行匹配。
所述第二同步模块205还用于,当获取到的弹幕的数量未超过预设阈值时,直接从最后一帧对应的视音频帧开始播放同步后的视音频。
另外,本申请实施例还提供一种视音频与弹幕同步***,该***包括:
处理器、计算机可读存储器、和计算机可读存储介质;
程序,用于接收用户执行的指定切换操作,停止发送执行指定切换操作前所对应的视频与音频,获取执行指定切换操作后所对应的待同步的视频与音频,对获取到的待同步的视频与音频进行同步,获取弹幕,并对所述弹幕与同步后的视频和音频进行同步。
所述程序存储在所述计算机可读存储介质上,用于由所述处理器经由所述计算机可读存储器执行。
所述处理器、计算机可读存储器以及所述计算机可读存储介质可以用图3中的处理器、内部存储器、外部存储器来实现。
其中,图3为视音频与弹幕同步***组成结构框图,其中示出了视音频与弹幕同步***的主要部件。图3中,处理器310、内部存储器305、总线桥320以及网络接口315接入***总线340,总线桥320用于桥接***总线340和I/O总线345,I/O接口接入I/O总线345,USB接口以及外部存储器与I/O接口连接。图3中,处理器310可以为一个或多个处理器,每个处理器可以具有一个或者多个处理器内核;内部存储器305为易失性存储器,例如寄存器、缓存器、各种类型的随机存取存储器等;在视音频与弹幕同步***运行的时候,内部存储器305中的数据包括操作***和应用程序;网络接口315可以为以太网接口、光纤接口等;***总线340可以用来传送数据信息、地址信息、以及控制信息;总线桥320可以用来进行协议转换,将***总线协议转换为I/O协议或者将I/O协议转换为***总线协议以实现数据传输;I/O总线345用来数据信息和控制信息,还可以总线终结电阻或电路来降低信号反射干扰;I/O接口330主要与各种外部设备连接,例如键盘、鼠标、传感器等等,闪存可以通过USB接口接入I/O总线,外部存储器为非易失性存储器,例如硬盘、光盘等。在视音频与弹幕同步***运行之后,处理器可以将存储于外部存储其中的数据读取到内部存储器中,并对内部存储其中的***指令进行处理,完成操作***以及应用程序的功能。该示例视音频与弹幕同步***可以为位于台式机、笔记本电脑、平板电脑、智能手机等。
优选地,所述指定切换操作包括:清晰度切换操作或线路切换操作中的一个。
优选地,所述程序还用于,当停止发送执行指定切换操作前所对应的视频与音频时,所述方法还包括:记录最后一帧所对应的视频时间戳以及音频时间戳。获取执行指定切换操作后所对应的待同步的视频与音频,具体包括:根据最后一帧所对应的视频时间戳,在执行指定切换操作后所对应的视频中确定与所述最后一帧对应的视频帧,将与所述最后一帧对应的视频帧的前一视频帧之后的所有视频帧作为待同步的视频,并获取该待同步的视频,根据最后一帧所对应的音频时间戳,在执行指定切换操作后所对应的音频中确定与所述最后一帧对应的音频帧,将与所述最后一帧对应的音频帧前一音频帧之后的所有音频帧作为待同步的音频,并获取该待同步的音频。
优选地,所述程序还用于,根据与所述最后一帧对应的视频帧的前一视频帧以及与所述最后一帧对应的音频帧的前一音频帧,对获取到的待同步的视频与音频进行同步。
优选地,所述程序还用于,当停止发送执行指定切换操作前所对应的视频与音频时,所述方法还包括:记录最后一帧所对应的视频时间戳以及音频时间戳;获取执行指定切换操作后所对应的待同步的视频与音频,具体包括:将最后一帧所对应的视频时间戳前N秒内的所有视频帧以及最后一帧所对应的视频时间戳之后的所有视频帧作为待同步的视频,并获取该待同步的视频,将最后一帧所对应的音频时间戳前N秒内的所有音频帧以及最后一帧所对应的音频时间戳之后的所有音频帧作为待同步的音频,并获取该待同步的音频,其中所述N为大于0的任何数。
优选地,所述程序还用于,根据最后一帧所对应的视频时间戳前N秒内的视频帧以及最后一帧所对应的音频时间戳前N秒内音频帧,对获取到的待同步的视频与音频进行同步。
优选地,所述程序还用于,当停止发送执行指定切换操作前所对应的视频与音频时,所述方法还包括:记录最后一帧所对应的视频时间戳;获取弹幕具体包括:获取最后一帧所对应的视频时间戳后N秒内的所有视音频帧,获取最后一帧所对应的视频时间戳后N秒内的所有弹幕,其中,所述弹幕携带有弹幕时间戳,所述N为大于0的任何数。
优选地,所述程序还用于,当获取到的弹幕的数量超过预设阈值时,按照获取到的视频帧和音频帧的播放顺序,依次针对获取到的每个视频帧和音频帧,计算该视频帧和音频帧与所获取的每个弹幕时间戳的差值,确定各差值中最小的差值所对应的弹幕时间戳,将该视频帧和音频帧与确定出的弹幕时间戳所对应的弹幕进行匹配。
优选地,所述程序还用于,所述方法还包括:当获取到的弹幕的数量未超过预设阈值时,直接从最后一帧对应的视音频帧开始播放同步后的视音频。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (16)
1.一种视音频与弹幕同步方法,其特征在于,包括:
接收用户执行的指定切换操作;
停止发送执行指定切换操作前所对应的视频与音频;
获取执行指定切换操作后所对应的待同步的视频与音频;
对获取到的待同步的视频与音频进行同步;
获取弹幕,并对所述弹幕与同步后的视频和音频进行同步,具体包括:当获取到的所述弹幕的数量超过预设阈值时,按照获取到的所述视频对应的视频帧和所述音频对应的音频帧的播放顺序,依次针对获取到的每个视频帧和音频帧,计算所述视频帧和所述音频帧与所获取的每个弹幕时间戳的差值,确定各差值中最小的差值所对应的弹幕时间戳,将所述视频帧和所述音频帧与确定出的弹幕时间戳所对应的弹幕进行匹配。
2.如权利要求1所述的方法,其特征在于,所述指定切换操作包括:清晰度切换操作或线路切换操作中的一个。
3.如权利要求1所述的方法,其特征在于,当停止发送执行指定切换操作前所对应的视频与音频时,所述方法还包括:
记录最后一帧所对应的视频时间戳以及音频时间戳;
获取执行指定切换操作后所对应的待同步的视频与音频,具体包括:
根据最后一帧所对应的视频时间戳,在执行指定切换操作后所对应的视频中确定与所述最后一帧对应的视频帧,将与所述最后一帧对应的视频帧的前一视频帧之后的所有视频帧作为待同步的视频,并获取该待同步的视频;
根据最后一帧所对应的音频时间戳,在执行指定切换操作后所对应的音频中确定与所述最后一帧对应的音频帧,将与所述最后一帧对应的音频帧前一音频帧之后的所有音频帧作为待同步的音频,并获取该待同步的音频。
4.如权利要求3所述的方法,其特征在于,对获取到的待同步的视频与音频进行同步,具体包括:
根据与所述最后一帧对应的视频帧的前一视频帧以及与所述最后一帧对应的音频帧前一的音频帧,对获取到的待同步的视频与音频进行同步。
5.如权利要求1所述的方法,其特征在于,当停止发送执行指定切换操作前所对应的视频与音频时,所述方法还包括:
记录最后一帧所对应的视频时间戳以及音频时间戳;
获取执行指定切换操作后所对应的待同步的视频与音频,具体包括:
将最后一帧所对应的视频时间戳前N秒内的所有视频帧以及最后一帧所对应的视频时间戳之后的所有视频帧作为待同步的视频,并获取该待同步的视频;
将最后一帧所对应的音频时间戳前N秒内的所有音频帧以及最后一帧所对应的音频时间戳之后的所有音频帧作为待同步的音频,并获取该待同步的音频,其中所述N为大于0的任何数。
6.如权利要求5所述的方法,其特征在于,对获取到的待同步的视频与音频进行同步,具体包括:
根据最后一帧所对应的视频时间戳前N秒内的视频帧以及最后一帧所对应的音频时间戳前N秒内音频帧,对获取到的待同步的视频与音频进行同步。
7.如权利要求1所述的方法,其特征在于,当停止发送执行指定切换操作前所对应的视频与音频时,所述方法还包括:
记录最后一帧所对应的视频时间戳;
获取弹幕具体包括:
获取最后一帧所对应的视频时间戳后N秒内的所有视音频帧,获取最后一帧所对应的视频时间戳后N秒内的所有弹幕,其中,所述弹幕携带有弹幕时间戳,所述N为大于0的任何数。
8.如权利要求1所述的方法,其特征在于,所述方法还包括:
当获取到的弹幕的数量未超过预设阈值时,直接从最后一帧对应的视音频帧开始播放同步后的视音频。
9.一种视音频与弹幕同步装置,其特征在于,包括:
接收模块,用于接收用户执行的指定切换操作;
停止发送模块,用于停止发送执行指定切换操作前所对应的视频与音频;
获取模块,用于获取执行指定切换操作后所对应的待同步的视频与音频;
第一同步模块,用于对获取到的待同步的视频与音频进行同步;
第二同步模块,用于获取弹幕,并对所述弹幕与同步后的视频和音频进行同步,具体包括:当获取到的所述弹幕的数量超过预设阈值时,按照获取到的所述视频对应的视频帧和所述音频对应的音频帧的播放顺序,依次针对获取到的每个视频帧和音频帧,计算所述视频帧和所述音频帧与所获取的每个弹幕时间戳的差值,确定各差值中最小的差值所对应的弹幕时间戳,将所述视频帧和所述音频帧与确定出的弹幕时间戳所对应的弹幕进行匹配。
10.如权利要求9所述的装置,其特征在于,所述指定切换操作包括:清晰度切换操作或线路切换操作中的一个。
11.如权利要求9所述的装置,其特征在于,所述装置还包括:
记录模块,用于当所述停止发送模块停止发送执行指定切换操作前所对应的视频与音频时,记录最后一帧所对应的视频时间戳以及音频时间戳;所述获取模块具体用于,根据最后一帧所对应的视频时间戳,在执行指定切换操作后所对应的视频中确定与所述最后一帧对应的视频帧,将与所述最后一帧对应的视频帧的前一视频帧之后的所有视频帧作为待同步的视频,并获取该待同步的视频;根据最后一帧所对应的音频时间戳,在执行指定切换操作后所对应的音频中确定与所述最后一帧对应的音频帧,将与所述最后一帧对应的音频帧前一音频帧之后的所有音频帧作为待同步的音频,并获取该待同步的音频。
12.如权利要求11所述的装置,其特征在于,所述第一同步模块具体用于,根据与所述最后一帧对应的视频帧的前一视频帧以及与所述最后一帧对应的音频帧的前一音频帧,对获取到的待同步的视频与音频进行同步。
13.如权利要求11所述的装置,其特征在于,所述记录模块还用于,当所述停止发送模块停止发送执行指定切换操作前所对应的视频与音频时,记录最后一帧所对应的视频时间戳以及音频时间戳;所述获取模块具体用于,将最后一帧所对应的视频时间戳前N秒内的所有视频帧以及最后一帧所对应的视频时间戳之后的所有视频帧作为待同步的视频,并获取该待同步的视频,将最后一帧所对应的音频时间戳前N秒内的所有音频帧以及最后一帧所对应的音频时间戳之后的所有音频帧作为待同步的音频,并获取该待同步的音频,其中所述N为大于0的任何数。
14.如权利要求13所述的装置,其特征在于,所述第一同步模块具体用于,根据最后一帧所对应的视频时间戳前N秒内的视频帧以及最后一帧所对应的音频时间戳前N秒内音频帧,对获取到的待同步的视频与音频进行同步。
15.如权利要求11所述的装置,其特征在于,所述记录模块还用于,当所述停止发送模块停止发送执行指定切换操作前所对应的视频与音频时,记录最后一帧所对应的视频时间戳;所述第二同步模块具体用于,获取最后一帧所对应的视频时间戳后N秒内的所有视音频帧,获取最后一帧所对应的视频时间戳后N秒内的所有弹幕,其中,所述弹幕携带有弹幕时间戳,所述N为大于0的任何数。
16.如权利要求9所述的装置,其特征在于,所述第二同步模块还用于,当获取到的弹幕的数量未超过预设阈值时,直接从最后一帧对应的视音频帧开始播放同步后的视音频。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710546299.4A CN107277594B (zh) | 2017-07-06 | 2017-07-06 | 一种视音频与弹幕同步方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710546299.4A CN107277594B (zh) | 2017-07-06 | 2017-07-06 | 一种视音频与弹幕同步方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107277594A CN107277594A (zh) | 2017-10-20 |
CN107277594B true CN107277594B (zh) | 2020-04-28 |
Family
ID=60072306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710546299.4A Active CN107277594B (zh) | 2017-07-06 | 2017-07-06 | 一种视音频与弹幕同步方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107277594B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109803151B (zh) * | 2017-11-16 | 2022-02-08 | 腾讯科技(深圳)有限公司 | 多媒体数据流切换方法、装置、存储介质及电子装置 |
CN107911709A (zh) * | 2017-11-17 | 2018-04-13 | 广州酷狗计算机科技有限公司 | 直播界面显示方法、装置及终端 |
CN108024121B (zh) * | 2017-11-17 | 2020-02-07 | 武汉微摇科技文化有限公司 | 语音弹幕同步方法和*** |
CN108495152B (zh) * | 2018-03-30 | 2021-05-28 | 武汉斗鱼网络科技有限公司 | 一种视频直播方法、装置、电子设备及介质 |
CN108495163B (zh) * | 2018-04-08 | 2021-03-16 | 上海哔哩哔哩科技有限公司 | 视频弹幕朗读装置、***、方法及计算机可读存储介质 |
CN108848414A (zh) * | 2018-06-26 | 2018-11-20 | 曜宇航空科技(上海)有限公司 | 一种视频的播放方法、清晰度的切换方法及播放器 |
CN109600626A (zh) * | 2018-12-24 | 2019-04-09 | 北京奇艺世纪科技有限公司 | 一种视频处理方法及相关设备 |
CN111629158B (zh) | 2019-02-28 | 2021-08-03 | 华为技术有限公司 | 一种音频流和视频流同步切换方法及装置 |
US11431775B2 (en) * | 2019-11-20 | 2022-08-30 | W.S.C. Sports Technologies Ltd. | System and method for data stream synchronization |
CN112839235B (zh) * | 2020-12-30 | 2023-04-07 | 北京达佳互联信息技术有限公司 | 显示方法、评论发送方法、视频帧推送方法及相关设备 |
CN115484503B (zh) * | 2021-05-31 | 2024-03-08 | 上海幻电信息科技有限公司 | 弹幕生成方法及装置、电子设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101282482A (zh) * | 2008-05-04 | 2008-10-08 | 中兴通讯股份有限公司 | 视频数据与音频数据同步播放的装置、***和方法 |
EP2509320A1 (en) * | 2010-06-10 | 2012-10-10 | Huawei Technologies Co., Ltd. | Channel switching method, apparatus and system |
CN105657524A (zh) * | 2016-01-13 | 2016-06-08 | 上海视云网络科技有限公司 | 一种视频间无缝切换的方法 |
CN105657579A (zh) * | 2015-10-29 | 2016-06-08 | 乐视致新电子科技(天津)有限公司 | 直播音频切换方法、流媒体服务器及客户端 |
CN105828100A (zh) * | 2016-03-21 | 2016-08-03 | 乐视网信息技术(北京)股份有限公司 | 一种音视频文件同时播放的方法、装置和*** |
-
2017
- 2017-07-06 CN CN201710546299.4A patent/CN107277594B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101282482A (zh) * | 2008-05-04 | 2008-10-08 | 中兴通讯股份有限公司 | 视频数据与音频数据同步播放的装置、***和方法 |
EP2509320A1 (en) * | 2010-06-10 | 2012-10-10 | Huawei Technologies Co., Ltd. | Channel switching method, apparatus and system |
CN105657579A (zh) * | 2015-10-29 | 2016-06-08 | 乐视致新电子科技(天津)有限公司 | 直播音频切换方法、流媒体服务器及客户端 |
CN105657524A (zh) * | 2016-01-13 | 2016-06-08 | 上海视云网络科技有限公司 | 一种视频间无缝切换的方法 |
CN105828100A (zh) * | 2016-03-21 | 2016-08-03 | 乐视网信息技术(北京)股份有限公司 | 一种音视频文件同时播放的方法、装置和*** |
Also Published As
Publication number | Publication date |
---|---|
CN107277594A (zh) | 2017-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107277594B (zh) | 一种视音频与弹幕同步方法及装置 | |
US11284131B2 (en) | Establishment and use of time mapping based on interpolation using low-rate fingerprinting, to help facilitate frame-accurate content revision | |
US11188560B2 (en) | Synchronizing object in local object storage node | |
CN106533399B (zh) | 修改时钟信号的电路和方法及执行时间敏感任务的装置 | |
US11595731B2 (en) | Implementation method and system of real-time subtitle in live broadcast and device | |
EP2538689A1 (en) | Adaptive media delay matching | |
US20160301961A1 (en) | Video smoothing method and device | |
CN110581973A (zh) | 数据回放方法、装置、终端设备及存储介质 | |
US11627353B2 (en) | System and method for synchronized playing of media items on a plurality of remote devices | |
CN116527977A (zh) | 一种音画同步方法、装置、电子设备及可读存储介质 | |
KR101853441B1 (ko) | 클라이언트 장치 및 그 로컬 클럭 스큐 보정 방법 | |
CN106533598B (zh) | 事件之间的发生时间差的估计电路和方法、计算机可读存储介质 | |
US10917679B2 (en) | Video recording of a display device | |
CN115529481B (zh) | 基于融合信号源的视频同步显示***、方法及输入设备 | |
WO2018188365A1 (zh) | 同步播放方法、装置和*** | |
US20200007306A1 (en) | Virtual reality viewing system, reproduction synchronizing method, and virtual reality viewing program | |
CN116166673A (zh) | 数据处理方法及装置、电子设备、计算机可读存储介质 | |
CN112019288B (zh) | 时间同步方法、业务单板及网络设备 | |
CN114500476A (zh) | 多媒体播放方法、装置及计算机可读存储介质 | |
CN106330922B (zh) | 一种视频碎片命名方法及装置 | |
CN111193570A (zh) | 指令执行的方法、装置、***、介质和电子设备 | |
JP2021197722A (ja) | 超短メディアコンテンツを交換するシステムおよび方法 | |
CN115174978B (zh) | 一种3d数字人的音画同步方法及电子设备 | |
CN117615090A (zh) | 基于公共时间轴的录像同步控制方法、装置、终端及介质 | |
JP2016187142A (ja) | 情報処理方法、情報処理装置及び動画データ送信システム |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210111 Address after: 511442 3108, 79 Wanbo 2nd Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province Patentee after: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd. Address before: 511442 24 floors, B-1 Building, Wanda Commercial Square North District, Wanbo Business District, 79 Wanbo Second Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province Patentee before: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd. |