CN114173081A - 一种远程音视频方法及系统 - Google Patents
一种远程音视频方法及系统 Download PDFInfo
- Publication number
- CN114173081A CN114173081A CN202111517840.1A CN202111517840A CN114173081A CN 114173081 A CN114173081 A CN 114173081A CN 202111517840 A CN202111517840 A CN 202111517840A CN 114173081 A CN114173081 A CN 114173081A
- Authority
- CN
- China
- Prior art keywords
- data
- video
- voice
- audio
- user
- 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 45
- 230000005540 biological transmission Effects 0.000 claims abstract description 29
- 238000004891 communication Methods 0.000 claims abstract description 14
- 230000008569 process Effects 0.000 claims description 17
- 230000007246 mechanism Effects 0.000 claims description 14
- 238000007906 compression Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 230000003139 buffering effect Effects 0.000 claims description 5
- 230000006835 compression Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 4
- 230000006837 decompression Effects 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 3
- 125000004122 cyclic group Chemical group 0.000 claims description 2
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 238000012790 confirmation Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
-
- 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/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提出了一种远程音视频方法及系统,包括:利用远程服务器分别连接至第一端及第二端,建立第一端及第二端的通信,用于实现第一端及第二端之间进行语音数据和视频数据的传输;远程服务器获取语音数据和视频数据,将获取的语音数据和视频数据进行压缩,并将压缩后的语音数据和视频数据进行发送;第一端或第二端接收对方的语音数据和视频数据并实时播放,进行低延迟语音视频通话。本发明所提出的方法能在Hololens端和Android端等其他设备之间实现低延迟语音视频通话,并且具有较好的音质和视频质量。
Description
技术领域
本发明属于视频处理技术领域,尤其涉及一种远程音视频方法及系统。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
由于经济发展、人口、地理的差异,许多行业之间的技术人员需要和同事或者其他非专业人员之间进行更加直观的交互,自从微软发布Hololens设备以来,由于Hololens设备可以实现多人间非传统的交互模式,它可以跨设备之间进行协作,而且可以解放佩戴者的双手和双眼,打破传统交流之间只能实现单方面视角,没有双方的身体语言,难以控制视角导致的言语难以共同的问题。
目前,许多开发者都使用Hololens 2开发多人非传统交互应用,就需要在Hololens设备上实现语音视频通话,虽然音视频实时通讯的应用场景已经随处可见,从游戏的语音对讲、直播连麦、直播答题组队开黑,再到银行视频开户等。对于开发者来讲,除了关注如何能快速实现不同应用场景重点音视频通讯,另一个更需要关注的可能就是“低延时”。因为Hololens端音视频软件服务器大多都在国外,导致语音视频通话的延迟很高,而且支持语音视频通话的软件开发工具包很少支持Hololens平台。因此,如何在Hololens端实现低延迟语音通话是本领域的技术人员亟待解决的问题。
发明内容
为克服上述现有技术的不足,本发明提供了一种远程音视频方法,解决Hololens端低延迟语音视频通话的问题。
为实现上述目的,本发明的一个或多个实施例提供了如下技术方案:
第一方面,公开了一种远程音视频方法,包括:
利用远程服务器分别连接至第一端及第二端,建立第一端及第二端的通信,用于实现第一端及第二端之间进行语音数据和视频数据的传输;
远程服务器获取语音数据和视频数据,将获取的语音数据和视频数据进行压缩,并将压缩后的语音数据和视频数据进行发送;
第一端或第二端接收对方的语音数据和视频数据并实时播放,进行低延迟语音视频通话。
进一步的技术方案,所述远程服务器采用传输控制协议TCP和用户数据包协议UDP相结合的方式,其中TCP协议面向连接,UDP协议面向无连接。
进一步的技术方案,所述远程服务器使用TCP传输数据之前,通过多次握手与第一端或第二端建立连接,实现每次发送的数据进行跟踪与协商确保数据端的发送和接收同步,在数据发送和接收中有确认应答、超时重传、滑动窗口、拥塞控制、流量控制及延迟应答机制,以确保数据完整,在数据传送完成后,自动与第一端或第二端断开连接。
进一步的技术方案,所述远程服务器建立用户池及房间,所述房间用来实现多人语音视频通话,统一管理传输控制协议TCP和用户数据包协议UDP的收发,然后将收到的信息进行处理,发送请求则统一集中处理。
进一步的技术方案,所述远程服务器在进行工作之前,初始化端口和用户池,注册连接第一端或第二端事件,并为所有用户池内所有用户注册接收和发送事件;
之后,从用户池中弹出一个用户,并为其赋值为当前连接用户套接字,待服务器接收到用户的请求时,为其做出相应判断后返回结果;
最后,判断心跳时间,若超时则自动断开用户连接,或用户主动断开连接。
进一步的技术方案,所述远程服务器建立第一端及第二端的通信时,当第一端与第二端发起视频语音通话邀请时,远程服务器把第一端的用户与第二端的用户拉入同一房间,并向双方发送对方的互联网协议地址与端口,从而使第一端与第二端建立起用户数据包协议连接。
进一步的技术方案,所述远程服务器获取语音数据时,使用应用程序编程接口打开指定的麦克风设备、指定音频数据的容器的录制时间及音频数据容器的采样率,获得用于音频数据存储的容器。
进一步的技术方案,获取语音数据时,当麦克风设备正在录音时会实时获取在录制样本中的位置并保存上次获取的使用的样本中的位置;
样本的样本数由float数组的长度决定,通过获取的样本位置实时创建一个等同于每帧麦克风录制的音频容器样本数的float数组,并将每一帧所录制的音频容器的样本填充到新创建的float数组中,减少获取语音数据时需要等待每次麦克风录制完后得到的音频数据导致的至少1秒的延迟。
进一步的技术方案,所述远程服务器获取视频数据时使用应用程序编程接口打开指定的网络摄像头,创建实时视频输入渲染的纹理,要渲染的纹理实时转化为所需格式,得到视频数据。
进一步的技术方案,将获取的语音数据和视频数据进行压缩,具体为:
将输入的序列进行“全循环排列”,即将输入字符串的首位字母放置在最后一位,其他字母依次向前移动一位,得到原字符串一个循环排列字符串;
重复循环排列的过程直至得到原始的字符串;
将得到的“全循环排列”的字符串按照字典序排序,排序后的每个全循环字符串的最后一个字母连成的字符串,再对数据进行压缩编码。
进一步的技术方案,第一端或第二端接收对方的语音数据和视频数据:
当接收到数据后进行解压,逆变换的过程首先将原本的输出放入一个列,然后对所有行进行字典序排序,然后再将所有行进行排序,这一过程一直重复,直至每一行的字符数目与原本字符的数目相同为止,此时所有行就是原字符串的“全循环排列”的字符串。
进一步的技术方案,第一端或第二端实时播放,进行低延迟语音视频通话的过程为:
将解压后的视频数据解压后得到的图片,实时将图像JPG字节数组加载到纹理中,完成视频的实时传输;
接收到一个音频片段后,缓冲处理;
缓冲处理的过程中,将解压后的音频数据中的发送时间和接收到的时间对比,当时间大于1秒时丢弃此数据,如果小于1秒则创建一个新的音频容器然后将接收到的数据设置到音频容器中并播放完成实时语音。
第二方面,公开了一种远程音视频系统,包括:远程服务器、第一端及第二端;
所述远程服务器分别连接至第一端及第二端,建立第一端及第二端的通信,用于实现第一端及第二端之间进行语音数据和视频数据的传输;
所述远程服务器获取语音数据和视频数据,将获取的语音数据和视频数据进行压缩,并将压缩后的语音数据和视频数据进行发送;
所述第一端或第二端接收对方的语音数据和视频数据并实时播放,进行低延迟语音视频通话。
以上一个或多个技术方案存在以下有益效果:
本发明所提出的方法能在Hololens端和Android端等其他设备之间实现低延迟语音视频通话,并且具有较好的音质和视频质量。
本发明服务器和客户端使用了可供专用高性能套接字应用程序使用的替代异步模式。此类专为需要高性能的网络服务器应用程序而设计,避免在大容量异步套接字I/O期间重复分配和同步对象;通过建立用户池(UserTokenPool)的方法提高通信效率,通过房间(Room)来实现多人语音视频通话。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为本发明实施例未优化前图片示意图;
图2为本发明实施例优化后图片示意图;
图3为本发明实施例语音视频通话的具体流程示意图;
图4为本发明实施例获取语音数据和视频数据示意图;
图5为本发明实施例语音数据和视频数据进行压缩示意图;
图6为本发明实施例语音数据和视频数据进行解压缩示意图;
图7为本发明实施例实时语音播放示意图。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例一
本实施例公开了一种远程音视频方法,采用了一种可供高性能套接字服务器使用的代替异步套接字模式套接字服务器:服务器运行在特定的计算机上,并且有一个绑定到特定端口号的套接字。服务器只是等待,侦听套接字,以便客户机发出连接请求。
异步套接字模式:异步套接字使用来自系统线程池的多个线程来处理网络连接。一个线程负责初始化数据的发送或接收;其他线程完成与网络设备的连接并发送或接收数据。通过使用异步套接字,您可以避免等待用户响应造成的资源浪费,然后可以用相同的硬件处理更多的请求。如果系统是大规模分布式的,并且同时处理数千个连接,它可以节省资源以及处理更多的请求。
代替异步模式:避免在大容量异步套接字I/O期间重复分配和同步对象。
上述方式实现降低通话间的延迟,语音视频通话的具体流程见图3所示,具体步骤为:
步骤1:构建远程服务器,并连接Hololens端与Android端。
步骤2:获取语音数据和视频数据。
步骤3:将步骤2中的语音数据和视频数据进行压缩,将压缩后的语音视频数据进行发送。
步骤4:接收对方的语音和视频数据,并实时播放视频和语音,实现低延迟语音视频通话。
步骤5:经过实验过后结果表明本专利提出的方法能在Hololens端和Android端等其他设备之间实现低延迟语音视频通话,并且具有较好的音质和视频质量。
在具体实施例子中,步骤1:搭建服务器,服务器接受Hololens端或者Android端的请求,并将Hololens端或者Android端的请求转发给对方;
在服务器的搭建中,采用了传输控制协议(TCP)和用户数据包协议(UDP)相结合的方式。
对于对及时性要求比较高的数据传输采用UDP连接,对于可靠性要求比较高的请求采用TCP。
TCP:当处理打开视频、打开语音、进入房间等简单的请求时使用。
UDP:当进行视频流传输,语音数据传输时使用。
其中TCP协议面向连接,TCP协议具有非常好的可靠性,当使用TCP传输数据之前,为了对每次发送的数据进行跟踪与协商确保数据端的发送和接收同步,会有三次握手建立连接,而且在数据传递中也会有确认应答、超时重传、滑动窗口、拥塞控制、流量控制、延迟应答等机制确保数据完整,在数据传送完成后,会自动断开连接从而节约系统资源等优点。
UDP协议面向无连接,UDP协议没有确认应答、超时重传、滑动窗口、拥塞控制、流量控制、延迟应答等机制,是一个无状态的传输协议,所以他在传输过程中延迟非常低。
在任何套接字服务器中,都有一个接受循环来接收客户端建立连接的连接请求和一个读套接字循环来从客户端接收数据。
如果接受循环受阻,就会导致服务器满载,客户端无法快速建立连接,连接超时。如果接收的读循环阻塞会导致随着时间的推移接收客户端数据。它也会导致发送的缓冲区已满。最后,服务器不能发送数据。
在代替异步套接字操作中可以创建异步对象池并可以预制分配异步操作对象。如果套接字服务器需要异步操作对象会应用程序池中获取一个空闲对象。调用适当的套接字方法以启动异步操作。在异步操作完成后,将其放回池中,或销毁它。避免在大容量异步套接字I/O期间重复分配和同步对象。
因此,本发明服务器和客户端使用了一种可供专用高性能套接字应用程序使用的替代异步模式。Hololens端和Android均为客户端。此类专为需要高性能的网络服务器应用程序而设计,避免在大容量异步套接字I/O期间重复分配和同步对象。
本发明通过建立用户池(UserTokenPool)的方法提高通信效率,通过房间(Room)来实现多人语音视频通话,通过UnityNetWorkManager类统一管理两种协议的收发,然后将收到的信息交予MessageHandlerCenter类进行处理,发送请求则统一集中MessageSendManager类,然后应用层只负责与这MessageHandlerCenter类和MessageSendManager类交互,实现应用层通信的封装。
首先,初始化端口和用户池,注册连接客户端事件,并为所有用户池内所有用户注册接收和发送事件。之后,从用户池中弹出(Pop)一个用户(UserToken),并为其赋值为当前连接用户套接字,待服务器接收到用户的请求时,为其做出相应判断后返回结果。最后,判断心跳时间,若超时则自动断开用户连接,或用户主动断开连接。
当Hololens端与Android端发起视频语音通话邀请时,远程服务器会把Hololens端的Token与Android端Token拉入同一房间(Room),并向双方发送对方的互联网协议地址(IP)与端口(Port),从而使Hololens端与Android端建立起UDP连接。
上述Hololens端和Android端都为用户。
Token类包含用户的异步操作对象,负责接收用户的信息和发送给用户信息。
步骤2:获取语音数据和视频数据。
具体的,参见附图4所示,获取语音数据时使用Unity应用程序编程接口(API)打开指定的麦克风设备,指定音频数据的容器(AudioClip)的录制时间,音频数据容器的采样率,获得用于音频数据的容器。音频数据容器存储压缩为Ogg Vorbis或未压缩的音频文件。
上述音频数据的容器为一个类,把音频数据以float数组的形式把数据存储在类中。容器与服务器无关,进行语音视频时远程服务器会使用户之间建立起UDP连接,用户把容器的数据进行切片发送给另一个用户。
当麦克风正在录音时会实时获取在录制样本中的位置并保存上次获取的使用的样本中的位置,由于音频数据容器储存的样本为浮点值,范围为-1.0f到1.0f。样本数由float数组的长度决定,通过获取的样本位置可以实时创建一个等同于每帧麦克风录制的音频容器样本数的float数组,并将每一帧所录制的音频容器的样本填充到新创建的float数组中,从而大大减少了以往获取语音数据时需要等待每次麦克风录制完后得到的音频数据导致的至少1秒的延迟。
获取视频数据时使用Unity应用程序编程接口(API)打开指定的网络摄像头,创建实时视频输入渲染的纹理(WebCam Texture),因为视频播放需要发送图片,所以要渲染的纹理实时转化为Texture 2D格式得到视频数据,因为Texture2D是继承于Texture类的,它们之间彼此可以进行相互的转换,但不能强转,所以要通过U3D中有一种特殊的Texture类型,叫做RenderTexture来作为中介,通过给Texture 2D分配临时渲染纹理,然后使用着色器将视频输入的纹理复制到目标渲染纹理RenderTexture,Texture2D将RenderTexture的屏幕像素读取到保存的纹理数据中,完成转换得到视频数据。
RenderBuffer是图像数据在内存里的区域,使用RenderBuffer创建Texture2D可以直接指向图像数据的内存地址。无需重复创建对象节省可内存占用。
步骤3:将步骤2中的语音数据和视频数据进行压缩,将压缩后的语音视频数据进行发送。
参见附图5所示,在压缩的过程中采用了基于Burrows-Wheeler的算法。Burrows-Wheeler变换首先将输入的序列进行“全循环排列”。即将输入字符串的首位字母放置在最后一位,其他字母依次向前移动一位,得到原字符串一个循环排列字符串。重复循环排列的过程直至得到原始的字符串。此时可以得到全部可能的循环排列字符串,得到与字符数目相同的循环排列数目(如下表1中有11个字母,得到11种可能的循环排列)。Burrows-Wheeler变换之后将得到的“全循环排列”的字符串按照字典序排序。排序后的每个全循环字符串的最后一个字母连成的字符串(即下表1中“将所有的字符串按照字典序排序”中的最后一列),即为Burrows-Wheeler变换的输出,BWT能使大量相同的字符聚集在一起,使用BWT之后,再对数据进行压缩编码,可以获得更好的压缩效果。
表1
本申请Burrows-Wheeler算法不仅容易压缩输出而且其编码是可逆的,因此可以从压缩结果无需额外数据就能实现恢复原始数据。
步骤4:接收对方的语音和视频数据,并实时播放视频和语音,实现低延迟语音视频通话。
参见附图6所示,当接收到数据后采用了基于Burrows-Wheeler的算法进行解压,逆变换的过程首先将原本的输出放入一个列(即加列1),然后对所有行进行字典序排序(即排序1)。逆变换重复这一过程,在已经排序的结果前面加BWT的输入的一列(即加列2),然后再将所有行进行排序(即排序2)。这一过程一直重复,直至每一行的字符数目与原本字符的数目相同为止。此时所有行就是原字符串的“全循环排列”的字符串。其中结尾为EOF的行,就是原本的字符串。
参见附图7所示,将解压后的视频数据解压后得到的图片,实时将图像JPG字节数组加载到纹理中,完成视频的实时传输。
接收到一个音频片段后本应该是立即播放的但由于编码、网络传输导致的延迟可能上个片段还未播放完(甚至未开始播放)因此需要缓冲处理。因为存在缓冲就需要进行实时同步处理如果缓冲内积压了过多的音频片段会导致语音播放滞后太多因此需要适当进行对数据进行丢弃,将解压后的音频数据中的发送时间和接收到的时间对比,当时间大于1秒时丢弃此数据,如果小于1秒则创建一个新的音频容器然后将接收到的数据设置到音频容器中并播放完成实时语音。
上述步骤既降低了语音延迟,又实现了语音同步,防止因为网络等原因造成的语音不同步。
经过实验过后结果表明本专利提出的方法能在Hololens端和Android端等其他设备之间实现低延迟语音视频通话,并且具有较好的音质和视频质量。
未优化的音视频如图1所示,采用本发明的方法针对音视频进行处理,优化后的效果见附图2所示。
实施例二
本实施例的目的是提供了一种远程音视频系统,包括:远程服务器、第一端及第二端;第一端及第二端为Hololens端或Android端;
所述远程服务器分别连接至第一端及第二端,建立第一端及第二端的通信,用于实现第一端及第二端之间进行语音数据和视频数据的传输;
所述远程服务器获取语音数据和视频数据,将获取的语音数据和视频数据进行压缩,并将压缩后的语音数据和视频数据进行发送;
所述第一端或第二端接收对方的语音数据和视频数据并实时播放,进行低延迟语音视频通话。
以上实施例二的装置中涉及的各步骤与方法实施例一相对应,具体实施方式可参见实施例一的相关说明部分。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (10)
1.一种远程音视频方法,其特征是,包括:
利用远程服务器分别连接至第一端及第二端,建立第一端及第二端的通信,用于实现第一端及第二端之间进行语音数据和视频数据的传输;
远程服务器获取语音数据和视频数据,将获取的语音数据和视频数据进行压缩,并将压缩后的语音数据和视频数据进行发送;
第一端或第二端接收对方的语音数据和视频数据并实时播放,进行低延迟语音视频通话。
2.如权利要求1所述的一种远程音视频方法,其特征是,所述远程服务器采用传输控制协议TCP和用户数据包协议UDP相结合的方式,其中TCP协议面向连接,UDP协议面向无连接;
优选的,所述远程服务器使用TCP传输数据之前,通过多次握手与第一端或第二端建立连接,实现每次发送的数据进行跟踪与协商确保数据端的发送和接收同步,在数据发送和接收中有确认应答、超时重传、滑动窗口、拥塞控制、流量控制及延迟应答机制,以确保数据完整,在数据传送完成后,自动与第一端或第二端断开连接。
3.如权利要求1所述的一种远程音视频方法,其特征是,所述远程服务器建立用户池及房间,所述房间用来实现多人语音视频通话,统一管理传输控制协议TCP和用户数据包协议UDP的收发,然后将收到的信息进行处理,发送请求则统一集中处理。
4.如权利要求1所述的一种远程音视频方法,其特征是,所述远程服务器在进行工作之前,初始化端口和用户池,注册连接第一端或第二端事件,并为所有用户池内所有用户注册接收和发送事件;
之后,从用户池中弹出一个用户,并为其赋值为当前连接用户套接字,待服务器接收到用户的请求时,为其做出相应判断后返回结果;
最后,判断心跳时间,若超时则自动断开用户连接,或用户主动断开连接。
5.如权利要求1所述的一种远程音视频方法,其特征是,所述远程服务器建立第一端及第二端的通信时,当第一端与第二端发起视频语音通话邀请时,远程服务器把第一端的用户与第二端的用户拉入同一房间,并向双方发送对方的互联网协议地址与端口,从而使第一端与第二端建立起用户数据包协议连接。
6.如权利要求1所述的一种远程音视频方法,其特征是,所述远程服务器获取语音数据时,使用应用程序编程接口打开指定的麦克风设备、指定音频数据的容器的录制时间及音频数据容器的采样率,获得用于音频数据存储的容器;
优选的,获取语音数据时,当麦克风设备正在录音时会实时获取在录制样本中的位置并保存上次获取的使用的样本中的位置;
样本的样本数由float数组的长度决定,通过获取的样本位置实时创建一个等同于每帧麦克风录制的音频容器样本数的float数组,并将每一帧所录制的音频容器的样本填充到新创建的float数组中,减少获取语音数据时需要等待每次麦克风录制完后得到的音频数据导致的至少1秒的延迟。
7.如权利要求1所述的一种远程音视频方法,其特征是,所述远程服务器获取视频数据时使用应用程序编程接口打开指定的网络摄像头,创建实时视频输入渲染的纹理,要渲染的纹理实时转化为所需格式,得到视频数据。
8.如权利要求1所述的一种远程音视频方法,其特征是,将获取的语音数据和视频数据进行压缩,具体为:
将输入的序列进行“全循环排列”,即将输入字符串的首位字母放置在最后一位,其他字母依次向前移动一位,得到原字符串一个循环排列字符串;
重复循环排列的过程直至得到原始的字符串;
将得到的“全循环排列”的字符串按照字典序排序,排序后的每个全循环字符串的最后一个字母连成的字符串,再对数据进行压缩编码。
9.如权利要求1所述的一种远程音视频方法,其特征是,第一端或第二端接收对方的语音数据和视频数据:
当接收到数据后进行解压,逆变换的过程首先将原本的输出放入一个列,然后对所有行进行字典序排序,然后再将所有行进行排序,这一过程一直重复,直至每一行的字符数目与原本字符的数目相同为止,此时所有行就是原字符串的“全循环排列”的字符串。
优选的,第一端或第二端实时播放,进行低延迟语音视频通话的过程为:
将解压后的视频数据解压后得到的图片,实时将图像JPG字节数组加载到纹理中,完成视频的实时传输;
接收到一个音频片段后,缓冲处理;
缓冲处理的过程中,将解压后的音频数据中的发送时间和接收到的时间对比,当时间大于1秒时丢弃此数据,如果小于1秒则创建一个新的音频容器然后将接收到的数据设置到音频容器中并播放完成实时语音。
10.一种远程音视频系统,其特征是,包括:远程服务器、第一端及第二端;
所述远程服务器分别连接至第一端及第二端,建立第一端及第二端的通信,用于实现第一端及第二端之间进行语音数据和视频数据的传输;
所述远程服务器获取语音数据和视频数据,将获取的语音数据和视频数据进行压缩,并将压缩后的语音数据和视频数据进行发送;
所述第一端或第二端接收对方的语音数据和视频数据并实时播放,进行低延迟语音视频通话。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111517840.1A CN114173081A (zh) | 2021-12-13 | 2021-12-13 | 一种远程音视频方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111517840.1A CN114173081A (zh) | 2021-12-13 | 2021-12-13 | 一种远程音视频方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114173081A true CN114173081A (zh) | 2022-03-11 |
Family
ID=80486262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111517840.1A Pending CN114173081A (zh) | 2021-12-13 | 2021-12-13 | 一种远程音视频方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114173081A (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1516436A (zh) * | 2003-08-27 | 2004-07-28 | 腾讯科技(深圳)有限公司 | 一种即时通讯中音/视频分享的方法和系统 |
CN1933594A (zh) * | 2005-09-14 | 2007-03-21 | 王世刚 | 多路音视频数据网络传输与同步播放的方法 |
CN101601087A (zh) * | 2006-11-16 | 2009-12-09 | 弗劳恩霍夫应用研究促进协会 | 用于编码和解码的设备 |
CN102368823A (zh) * | 2011-06-28 | 2012-03-07 | 上海盈方微电子有限公司 | 一种基于分级机制的视频丢帧策略 |
CN104639560A (zh) * | 2006-08-03 | 2015-05-20 | 思杰系统有限公司 | 用于提供多模式传输层压缩的系统和方法 |
CN105743920A (zh) * | 2016-04-08 | 2016-07-06 | 陈立新 | 一种多方视频会话系统的通信方法 |
CN107888992A (zh) * | 2017-11-17 | 2018-04-06 | 北京松果电子有限公司 | 视频数据传输方法、接收方法、装置、存储介质及设备 |
CN108712407A (zh) * | 2018-05-08 | 2018-10-26 | 北京酷我科技有限公司 | 一种基于浏览器的音频/视频直播方法及其系统 |
CN109045708A (zh) * | 2018-06-14 | 2018-12-21 | 太仓聚堂网络科技有限公司 | 游戏事件智能检测方法、系统及终端设备 |
CN110493225A (zh) * | 2019-08-20 | 2019-11-22 | 杭州安恒信息技术股份有限公司 | 一种请求传输方法、装置、设备及可读存储介质 |
CN110572678A (zh) * | 2014-03-14 | 2019-12-13 | Vid拓展公司 | 调色板编码及解码视频数据的方法、编码设备及编码器 |
CN111193928A (zh) * | 2019-10-28 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 用于传递视频中的感兴趣区域信息的方法和设备 |
CN111294634A (zh) * | 2020-02-27 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 直播方法、装置、系统、设备及计算机可读存储介质 |
CN112584189A (zh) * | 2020-12-08 | 2021-03-30 | 深圳创维新世界科技有限公司 | 直播数据处理方法、装置、系统与计算机可读存储介质 |
CN113382212A (zh) * | 2021-08-13 | 2021-09-10 | 深圳市有为信息技术发展有限公司 | 播放实时音视频流的方法、装置及电子设备 |
-
2021
- 2021-12-13 CN CN202111517840.1A patent/CN114173081A/zh active Pending
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1516436A (zh) * | 2003-08-27 | 2004-07-28 | 腾讯科技(深圳)有限公司 | 一种即时通讯中音/视频分享的方法和系统 |
CN1933594A (zh) * | 2005-09-14 | 2007-03-21 | 王世刚 | 多路音视频数据网络传输与同步播放的方法 |
CN104639560A (zh) * | 2006-08-03 | 2015-05-20 | 思杰系统有限公司 | 用于提供多模式传输层压缩的系统和方法 |
CN101601087A (zh) * | 2006-11-16 | 2009-12-09 | 弗劳恩霍夫应用研究促进协会 | 用于编码和解码的设备 |
CN102368823A (zh) * | 2011-06-28 | 2012-03-07 | 上海盈方微电子有限公司 | 一种基于分级机制的视频丢帧策略 |
CN110572678A (zh) * | 2014-03-14 | 2019-12-13 | Vid拓展公司 | 调色板编码及解码视频数据的方法、编码设备及编码器 |
CN105743920A (zh) * | 2016-04-08 | 2016-07-06 | 陈立新 | 一种多方视频会话系统的通信方法 |
CN107888992A (zh) * | 2017-11-17 | 2018-04-06 | 北京松果电子有限公司 | 视频数据传输方法、接收方法、装置、存储介质及设备 |
CN108712407A (zh) * | 2018-05-08 | 2018-10-26 | 北京酷我科技有限公司 | 一种基于浏览器的音频/视频直播方法及其系统 |
CN109045708A (zh) * | 2018-06-14 | 2018-12-21 | 太仓聚堂网络科技有限公司 | 游戏事件智能检测方法、系统及终端设备 |
CN110493225A (zh) * | 2019-08-20 | 2019-11-22 | 杭州安恒信息技术股份有限公司 | 一种请求传输方法、装置、设备及可读存储介质 |
CN111193928A (zh) * | 2019-10-28 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 用于传递视频中的感兴趣区域信息的方法和设备 |
CN111294634A (zh) * | 2020-02-27 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 直播方法、装置、系统、设备及计算机可读存储介质 |
CN112584189A (zh) * | 2020-12-08 | 2021-03-30 | 深圳创维新世界科技有限公司 | 直播数据处理方法、装置、系统与计算机可读存储介质 |
CN113382212A (zh) * | 2021-08-13 | 2021-09-10 | 深圳市有为信息技术发展有限公司 | 播放实时音视频流的方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9635525B2 (en) | Voice messaging method and mobile terminal supporting voice messaging in mobile messenger service | |
US20070156815A1 (en) | Method, system and entities for multicast content pushing | |
CN110430441B (zh) | 一种云手机视频采集方法、系统、装置及存储介质 | |
US20030169330A1 (en) | Network conference recording system and method including post-conference processing | |
US20040116183A1 (en) | Digital advertisement insertion system and method for video games | |
US20050123042A1 (en) | Moving picture streaming file, method and system for moving picture streaming service of mobile communication terminal | |
CN109194642A (zh) | 白板远程同步处理方法、系统及存储介质 | |
CN1703714A (zh) | 数据压缩和解压缩系统及方法 | |
WO2023131057A1 (zh) | 视频直播方法、系统及计算机存储介质 | |
Mekuria et al. | A 3d tele-immersion system based on live captured mesh geometry | |
US20030191860A1 (en) | Accelerated collaboration of high frame rate applications | |
CN109525802A (zh) | 一种视频流传输方法和装置 | |
WO2019011133A1 (zh) | 数据传输方法、装置、服务器及存储介质 | |
CN113438442A (zh) | 一种会议资料的共享方法及装置 | |
CN1534503A (zh) | 实现网络游戏中实时影音会谈的方法、系统及储存媒体 | |
CN114221909B (zh) | 数据传输方法、装置、终端及存储介质 | |
CN110602523A (zh) | 一种vr全景直播多媒体处理合成系统和方法 | |
CN111641878A (zh) | 三维模型展示方法、装置和电子设备 | |
US6583807B2 (en) | Videoconference system for wireless network machines and its implementation method | |
CN110413240A (zh) | 一种交互式会议系统及多终端设备同屏显示的方法 | |
CN114173081A (zh) | 一种远程音视频方法及系统 | |
US9838463B2 (en) | System and method for encoding control commands | |
CN1988661A (zh) | 一种在游戏中视频的使用和传输的方法 | |
CN110662101A (zh) | 一种基于udp协议的网络视频多路显示方法及装置 | |
CN114143132B (zh) | 基于rtp-mesh实现多端设备智能联动的方法及系统 |
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 |