首页> 中国专利> 一种多路音视频同时播放时处理音视频同步的方法

一种多路音视频同时播放时处理音视频同步的方法

摘要

本发明涉及一种多路音视频同时播放时处理音视频同步的方法。传统的音视频同步技术不能满足多人沟通应用对多路音视频同时进行同步的要求。本发明方法中每个用户分别获取各自的音、视频数据并压缩成音、视频压缩包,每个音、视频压缩包标记时间戳,发送给服务器;服务器将接收到的每个用户的音频压缩包解压后混音,在混音结果中记录所有参与混音的音频压缩包对应的时间戳,压缩成混音压缩包,发送给客户端,视频压缩包直接发送给客户端;每个客户端接收到混音压缩包和视频压缩包后,将混音压缩包解压后顺序播放,然后根据音频驱动视频的原则,显示对应视频压缩包中的视频帧。本发明方法能够完整地保存所有音频和视频之间的同步关系。

著录项

  • 公开/公告号CN102364952A

    专利类型发明专利

  • 公开/公告日2012-02-29

    原文格式PDF

  • 申请/专利权人 浙江万朋网络技术有限公司;

    申请/专利号CN201110327166.0

  • 发明设计人 胡开荆;李群巍;

    申请日2011-10-25

  • 分类号H04N7/52(20060101);

  • 代理机构33200 杭州求是专利事务所有限公司;

  • 代理人杜军

  • 地址 310013 浙江省杭州市文三西路118号电子商务大厦15楼

  • 入库时间 2023-12-18 04:25:54

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-12-27

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04N21/236 专利号:ZL2011103271660 变更事项:专利权人 变更前:浙江万朋教育科技股份有限公司 变更后:浙江万朋数智科技股份有限公司 变更事项:地址 变更前:310051 浙江省杭州市滨江区西兴街道聚工路19号8幢12层 变更后:310051 浙江省杭州市滨江区西兴街道聚工路19号8幢12层

    专利权人的姓名或者名称、地址的变更

  • 2015-08-12

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04N21/236 变更前: 变更后: 申请日:20111025

    专利权人的姓名或者名称、地址的变更

  • 2013-12-25

    授权

    授权

  • 2012-04-11

    实质审查的生效 IPC(主分类):H04N7/52 申请日:20111025

    实质审查的生效

  • 2012-02-29

    公开

    公开

说明书

技术领域

本发明属于计算机多媒体技术领域,涉及经过网络传输后对多路音视频处理的方法,具体是一种多路音视频同时播放时处理音视频同步的方法。

背景技术

随着当今互联网宽带技术和多媒体信息技术的飞速发展,网络多媒体应用已经成为internet应用的重要内容。特别是网络视频会议中,由于涉及到多人之间的交互行为,需要对多路音视频同时进行播放。此时每一路音视频都需要同步,否则无法做到“唇音同步”的效果,影响沟通的流畅性。传统的音视频同步技术是将音视频包各标记一个时间戳,在播放时根据该时间戳来进行同步。这种方式只能工作于一路音频和一路视频的情况,在多路音频和多路视频的情况下无法正常工作,不能满足视频会议这类多人沟通应用对多路音视频同时进行同步的要求。

发明内容

本发明的目的是针对现有技术的不足,提供了一种基于音频播放驱动的多路视频同步方法。

本发明方法的具体步骤为:

步骤(1).每个用户分别获取各自的音视频数据并将音频和视频各自压缩;将采集的音频数据以10~120毫秒为单位分割成音频数据单元,将每个音频数据单元压缩成音频压缩包,每个音频压缩包标记采集时刻的客户端机器时间戳;将视频数据中的每一帧压缩成视频压缩包,每个视频压缩包标记采集时刻的客户端机器时间戳;将每个音频压缩包和每个视频压缩包发送给服务器;

每个用户分别获取各自的音视频数据的方法包括通过设备采集和从媒体文件中获取;如通过设备采集,则所述的时间戳为采集的时刻;如从媒体文件中获取,媒体文件播放或解压组件会为数据设置时间戳,该时间戳为相对媒体文件开始的时刻,转换为以当前计算机时刻为标准的时间戳。

步骤(2).服务器将接收到的每个用户的音频压缩包解压后混音,然后在混音结果中记录所有参与混音的音频压缩包对应的时间戳,压缩成混音压缩包,发送给客户端;视频压缩包直接发送给客户端。

N个用户U1、U2、…、UN,每个用户有一路音频,共有N路音频,分别为A1、A2、…、AN;服务器需要混音出N+1路音频,分别是:

第0路.包含了所有音频,记为M0、

第1路.除A1外其他所有音频,记为M1、

第2路.除A2外其他所有音频,记为M2、

…、

第N路.除AN外其他所有音频,记为MN。

生成的每路音频都需要将其对应的N或N-1路源音频的时间戳写入这路音频中,该音频包将会有N或N-1个时间戳,以及这些时间戳所对应的源音频。

生成这N+1路音频后,将M0发送给所有没有发送音频的用户,M1发送给U1,M2发送给U2,以此类推,发送给每个用户的音频内容都不包含该用户的音频。

步骤(3).每个客户端接收到混音压缩包和视频压缩包后,将混音压缩包解压后顺序播放,然后根据音频驱动视频的原则,显示对应视频压缩包中的视频帧。

每个客户端接收到的内容为一路混音压缩包和服务器转发的N路视频压缩包;播放时通过音频驱动视频进行,即每播放一个音频压缩包,记录该音频压缩包中包含的所有时间戳(U,A)…;播放X用户的视频时,取出该路视频待播放的一帧对应的视频时间戳(UX,VX),同时取出最近播放过的音频帧的同一用户的时间戳(UX,AX),对VX和AX进行比较,若VX大于等于AX,则表示视频内容已经在音频内容之后了,可以播放,而若VX小于AX,根据音频驱动视频原则,表示这个视频帧还没有到播放的时刻,因此需要等待下一次的播放判断来决定是否可以播放。

本发明方法以音频时间戳为纽带,将多路视频与音频同步,达到所有视频均能够与音频“唇音同步”的效果。本发明方法中音频在服务器混音时,并不使用单一的时间戳来标记一个音频混音压缩包,而是将参与这个音频混音压缩包的多路音频的时间戳都保存起来,作为音频混音压缩包的时间戳,这样就完整地保存了所有音频和视频之间的同步关系。

具体实施方式

一种多路音视频同时播放时处理音视频同步的方法,具体步骤为:

步骤(1).每个用户分别获取各自的音视频数据并将音频和视频各自压缩;将采集的音频数据以10~120毫秒为单位分割成音频数据单元,将每个音频数据单元压缩成音频压缩包,每个音频压缩包标记采集时刻的客户端机器时间戳;将视频数据中的每一帧压缩成视频压缩包,每个视频压缩包标记采集时刻的客户端机器时间戳;将每个音频压缩包和每个视频压缩包发送给服务器。

每个用户分别获取各自的音视频数据的方法包括通过设备采集和从媒体文件中获取;如通过设备采集,则所述的时间戳为采集的时刻;如从媒体文件中获取,媒体文件播放或解压组件会为数据设置时间戳,该时间戳为相对媒体文件开始的时刻,转换为以当前计算机时刻为标准的时间戳。

视频处理则是将输入的视频以帧为单位,使用视频编码器压缩后,根据网络情况,切割成适宜传输的大小(一般为400~1400个字节),和该视频帧的时间戳一起发送给服务器。为方便接收端排序以及判断是否在传输过程中有丢包现象,音视频包均带有序列号。序列号为2字节递增,超过最大值后从0重新开始。为提高带宽较差时的用户体验,音视频数据使用不同的连接来发送,这样当带宽不够时,音频连接由于数据相对视频连接比较少,容易得到保障。而我们交互的主要手段是通过音频,视频一般来说是辅助手段,这样做可以让音频比较流畅,减少对用户的影响。

步骤(2).服务器将接收到的每个用户的音频压缩包解压后混音,然后在混音结果中记录所有参与混音的音频压缩包对应的时间戳,压缩成混音压缩包,发送给客户端;视频压缩包直接发送给客户端。

N个用户U1、U2、…、UN,每个用户有一路音频,共有N路音频,分别为A1、A2、…、AN;服务器需要混音出N+1路音频,分别是:

第0路.包含了所有音频,记为M0、

第1路.除A1外其他所有音频,记为M1、

第2路.除A2外其他所有音频,记为M2、

…、

第N路.除AN外其他所有音频,记为MN。

生成的每路音频都需要将其对应的N或N-1路源音频的时间戳写入这路音频中,该音频包将会有N或N-1个时间戳,以及这些时间戳所对应的源音频。例如M0将会包含(U1,A1)(U2,A2)…(UN,AN),M1将会包含(U2,A2)(U3,A3)…(UN,AN)。

生成这N+1路音频后,将M0发送给所有没有发送音频的用户,M1发送给U1,M2发送给U2,以此类推,发送给每个用户的音频内容都不包含该用户的音频,即避免在该用户喇叭中产生回声。

步骤(3).每个客户端接收到混音压缩包和视频压缩包后,将混音压缩包解压后顺序播放,然后根据音频驱动视频的原则,显示对应视频压缩包中的视频帧。

每个客户端接收到的内容为一路混音压缩包和服务器转发的N路视频压缩包;播放时通过音频驱动视频进行,即每播放一个音频压缩包,记录该音频压缩包中包含的所有时间戳(U,A)…;播放X用户的视频时,取出该路视频待播放的一帧对应的视频时间戳(UX,VX),同时取出最近播放过的音频帧的同一用户的时间戳(UX,AX),对VX和AX进行比较,若VX大于等于AX,则表示视频内容已经在音频内容之后了,可以播放,而若VX小于AX,根据音频驱动视频原则,表示这个视频帧还没有到播放的时刻,因此需要等待下一次的播放判断来决定是否可以播放。

网络传输的不确定性比较强,主要表现有以下几点:数据包乱序和接收延时的不确定性。通过TCP发送数据时,不同连接发出的数据在接收时可能会与发送的顺序不同,通过UDP发送数据时,不同的数据包到达的顺序也是不能保证的,这是数据包的乱序特性。无论使用TCP还是UDP,发出的数据包到达对方计算机所消耗的时间都是不确定的,会随着网络传输质量状况而变化,一般可能在1毫秒到500毫秒内波动,网络差的时候甚至有可能达到数秒钟。由于以上两个特性,需要对接收到的音视频数据分别进行排序和缓冲处理。排序的依据是数据包中的序列号,缓冲的时间将根据网络延迟决定。网络延迟越小,表示网络状况越好,那么可以适当减少缓冲的音频数据,来获取更好的实时性。网络延迟越大,表示网络状况越差,那么我们将暂停播放,直到缓冲的音频数据时长等于网络延时的时长,这样虽然牺牲了实时性,但是提高了播放的流畅度,减少播放的时候由于缓冲过短,数据被播放完后没有数据可用造成的一卡一卡的现象。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号