CN116233520B - 传递和获取视频数据的方法及装置、服务器设备和存储介质 - Google Patents
传递和获取视频数据的方法及装置、服务器设备和存储介质 Download PDFInfo
- Publication number
- CN116233520B CN116233520B CN202310499229.3A CN202310499229A CN116233520B CN 116233520 B CN116233520 B CN 116233520B CN 202310499229 A CN202310499229 A CN 202310499229A CN 116233520 B CN116233520 B CN 116233520B
- Authority
- CN
- China
- Prior art keywords
- video data
- server
- application program
- terminal
- video
- 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 84
- 230000011664 signaling Effects 0.000 claims abstract description 44
- 230000008569 process Effects 0.000 claims description 45
- 239000000872 buffer Substances 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 5
- 230000000052 comparative effect Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000019491 signal transduction Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- 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/4781—Games
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供一种传递和获取视频数据的方法及装置、服务器设备和存储介质,属于计算机技术领域。所述传递视频数据的方法包括:在服务器上运行有待获取由终端拍摄得到的视频数据的应用程序时,建立与应用程序之间的信令通道;在服务器接收到来自终端的视频数据时,将视频数据存储至服务器的共享内存的缓存区域中,并通过信令通道向应用程序发送包括视频存储地址的消息,以使应用程序根据视频存储地址从缓存区域中获取视频数据;其中,视频存储地址指示视频数据在共享内存中的存储位置。本申请能够帮助降低云游戏场景中服务器上运行的应用程序从终端处获取视频数据的时延。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种传递和获取视频数据的方法及装置、服务器设备和存储介质。
背景技术
随着云计算、网络技术和游戏行业的快速发展,云游戏作为一种新兴的游戏方式,其已经成为游戏行业的重要趋势之一。云游戏将游戏应用类的核心部分迁移到云端服务器上,通过由服务器向终端实时发送视频画面并实时接收终端输入的方式,来向用户提供云游戏应用类的网络应用服务,使得玩家无需购买昂贵的游戏主机、电脑或者高配置手机,而只需在低配置设备上通过互联网即可流畅地体验游戏内容。目前,在移动端设备上,云游戏成为了不少用户首选的游戏方式。
在例如AR(Augmented Reality,增强显示)的游戏应用场景中,运行在云端服务器上的第三方游戏应用程序需要实时获取终端摄像头拍摄得到的视频数据,以基于终端拍摄到的画面生成游戏界面发送给终端进行显示。在这一过程中,服务器上的第三方游戏应用程序无法识别自身运行在服务器上还是终端上,而只会统一从所在设备的摄像头处获取所需的视频数据;因此,服务器在接收到终端采集并发送的视频数据之后,还需要将其虚拟化为虚拟摄像头拍摄得到的数据,以使第三方游戏应用程序能够从该虚拟摄像头处获取所需的视频数据。但是,上述虚拟化等过程会不可避免地带来一定的服务器处理时延,其会对云游戏服务的即时性和服务质量产生不良影响,并容易导致卡顿或延迟过高等严重影响服务质量的问题。
发明内容
本申请提供了一种传递和获取视频数据的方法及装置、服务器设备和存储介质,能够帮助降低云游戏场景中服务器上运行的应用程序从终端处获取视频数据的时延。
本申请实施例的至少一个方面提供了一种传递视频数据的方法,所述方法由运行在服务器上的传递程序执行,所述方法包括:在所述服务器上运行有待获取由终端拍摄得到的视频数据的应用程序时,建立与所述应用程序之间的信令通道;在所述服务器接收到来自所述终端的所述视频数据时,将所述视频数据存储至所述服务器的共享内存的缓存区域中,并通过所述信令通道向所述应用程序发送包括视频存储地址的消息,以使所述应用程序根据所述视频存储地址从所述缓存区域中获取所述视频数据;其中,所述视频存储地址指示所述视频数据在所述共享内存中的存储位置。
本申请实施例的至少一个方面提供了一种获取视频数据的方法,所述方法由运行在服务器上且待获取由终端拍摄得到的视频数据的应用程序执行,所述方法包括:建立与运行在所述服务器上的传递程序之间的信令通道;在通过所述信令通道接收到来自所述传递程序的包括视频存储地址的消息时,根据所述视频存储地址从所述服务器的共享内存的缓存区域中获取所述视频数据;其中,所述视频数据是所述传递程序在所述服务器接收到来自所述终端的所述视频数据时存储至所述缓存区域中的,所述视频存储地址指示所述视频数据在所述共享内存中的存储位置。
本申请实施例的至少一个方面提供了一种传递视频数据的装置,其应用于服务器,包括:建立模块,用于在所述服务器上运行有待获取由终端拍摄得到的视频数据的应用程序时,建立与所述应用程序之间的信令通道;发送模块,用于在所述服务器接收到来自所述终端的所述视频数据时,将所述视频数据存储至所述服务器的共享内存的缓存区域中,并通过所述信令通道向所述应用程序发送包括视频存储地址的消息,以使所述应用程序根据所述视频存储地址从所述缓存区域中获取所述视频数据;其中,所述视频存储地址指示所述视频数据在所述共享内存中的存储位置。
本申请实施例的至少一个方面提供了一种获取视频数据的装置,其应用于服务器,包括:建立模块,用于建立与运行在所述服务器上的传递程序之间的信令通道;获取模块,用于在通过所述信令通道接收到来自所述传递程序的包括视频存储地址的消息时,根据所述视频存储地址从所述服务器的共享内存的缓存区域中获取待获取的由终端拍摄得到的视频数据;其中,所述缓存区域是所述传递程序在所述服务器接收到来自所述终端的所述视频数据时在所述共享内存中创建的用于存储所述视频数据的区域,所述视频存储地址指示所述视频数据在所述共享内存中的存储位置。
本申请实施例的至少一个方面提供了一种服务器设备,所述服务器设备包括:处理器;用于存储所述处理器的可执行指令的存储器;其中,所述处理器用于执行所述可执行指令,以实现上述任意一种传递视频数据的方法或上述任意一种获取视频数据的方法。
本申请实施例的至少一个方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有处理器的可执行指令,所述可执行指令被配置为在被处理器执行时使所述处理器实现上述任意一种传递视频数据的方法或上述任意一种获取视频数据的方法。
本申请实施例中,服务器上除了运行有待获取由终端拍摄得到的视频数据的应用程序之外还运行有传递程序,该传递程序能够通过与该应用程序之间建立信令通道,在服务器接收到所述视频数据时利用服务器的共享内存缓存所述视频数据并通知该应用程序视频存储地址,以使该应用程序能够直接从共享内存中获取所需的视频数据,相比于现有技术而言能够省去将视频数据虚拟化为虚拟摄像头拍摄得到的视频数据的过程,不仅能够降低服务器的运算负荷,还能够大大减少服务器对于视频数据的处理时延,因而能够帮助降低云游戏场景中服务器上运行的应用程序从终端处获取视频数据的时延,有助于提升相关网络服务的服务质量。
附图说明
图1是本申请实施例提供的一种传递视频数据的方法和一种获取视频数据的方法的应用场景示意图;
图2是本申请一个对比示例提供的一种运行在服务器上的应用程序获取视频数据的过程示意图;
图3是本申请实施例提供的一种传递视频数据的方法的步骤流程示意图;
图4是本申请实施例提供的一种运行在服务器上的应用程序获取视频数据的过程示意图;
图5是本申请实施例提供的一种获取视频数据的方法的步骤流程示意图;
图6是本申请实施例提供的视频数据在服务器中的处理过程示意图;
图7是本申请实施例提供的一种传递视频数据的装置的结构框图;
图8是本申请实施例提供的一种获取视频数据的装置的结构框图;
图9是本申请实施例提供的一种服务器设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的一种传递视频数据的方法和一种获取视频数据的方法的应用场景示意图。在如图1所示的网络系统中,服务器设备100(可以为单个服务器设备或多个设备的组合,以下简称“服务器”)与终端设备200(可以为任何一种具备显示和通信功能的电子设备,如手机、平板电脑、笔记本电脑等等,以下简称“终端”)之间具有网络连接300,使得服务器100与终端200之间能够利用和依照规定的协议传输数据。在一个示例中,服务器100向终端200实时发送待形成显示画面的视频数据,并接收来自终端200发送的用户输入数据,以提供包括云电脑、云手机、云应用、云游戏中至少一种的网络应用服务。在该示例中,终端200向服务器发送包括键盘输入、触控屏输入、鼠标输入、按钮输入、麦克风输入、摄像头输入、传感器输入中的至少一种用户输入数据;服务器100通过向终端200包括电脑界面、手机界面、操作系统界面、应用界面、游戏界面中的至少一个的显示画面的视频数据,来向终端200提供可供交互的用户界面。在一个示例性的AR云游戏的应用场景中,服务器100与终端200之间的交互具有很高的即时性要求——终端200需要实时上传摄像头拍摄得到的视频数据,服务器100则需要及时地将接收到的视频数据传递给运行在服务器100上的第三方AR游戏应用程序,并实时地将包括第三方AR游戏应用程序的游戏界面的画面发送给终端200,以在终端200上实时地显示包括第三方AR游戏应用程序的游戏界面的画面;如此,终端200的用户才能同步于该第三方AR游戏应用的时钟来进行游玩。
图2是本申请一个对比示例提供的一种运行在服务器上的应用程序获取视频数据的过程示意图。参见图2,当第三方应用程序运行在服务器100上时,基于终端开发的第三方应用程序无法识别自身所处的运行环境,而只会统一从所在设备的摄像头处获取所需的视频数据。因此,服务器100在接收到终端采集并发送的视频数据之后,还需要外围程序将其虚拟化为虚拟硬件(虚拟摄像头)拍摄得到的数据,以使第三方应用程序能够从该虚拟摄像头处获取所需的视频数据。当然,该过程不仅需要服务器100在应用程序框架(ApplicationFramework)、系统运行环境(比如安卓运行环境Android Runtime)、硬件抽象层(HardwareAbstraction Layer,HAL)等多个不同层级之间执行相应的操作,还需要将同样的视频数据进行数次的拷贝,不仅占用了服务器100有限的系统资源,还导致视频数据在服务器100内部的处理时延大大增加,其会对云游戏服务的即时性和服务质量产生不良影响,并容易导致卡顿或延迟过高等严重影响服务质量的问题。
图3是本申请实施例提供的一种传递视频数据的方法的步骤流程示意图。针对上述问题,本申请实施例的方法提供了一种能够帮助降低上述云游戏场景中服务器上运行的应用程序从终端处获取视频数据的时延。参见图3,该方法由运行在服务器上的传递程序执行(例如由图1中的服务器设备100的处理器通过与传递程序对应的程序进程来执行),并包括以下过程。
在步骤301中,在服务器上运行有待获取由终端拍摄得到的视频数据的应用程序时,建立与应用程序之间的信令通道。
在步骤302中,在服务器接收到来自终端的视频数据时,将视频数据存储至服务器的共享内存的缓存区域中,并通过信令通道向应用程序发送包括视频存储地址的消息,以使应用程序根据视频存储地址从缓存区域中获取视频数据;其中,视频存储地址指示视频数据在共享内存中的存储位置。
图4是本申请实施例提供的一种运行在服务器上的应用程序获取视频数据的过程示意图。参见图4,不同于图2所示的方式,本申请实施例中,服务器100上除了运行有待获取由终端200拍摄得到的视频数据的应用程序之外,还运行有传递程序。该传递程序能够通过与该应用程序之间建立信令通道,在服务器100接收到所述视频数据时利用服务器100的共享内存缓存所述视频数据并通知该应用程序视频存储地址,以使该应用程序能够直接从共享内存中获取所需的视频数据,而不需要如图2那样在多个不同层级之间执行相应的操作并数次进行视频数据的拷贝。与例如图2所示的对比示例相比,本申请实施例能够省去将视频数据虚拟化为虚拟摄像头拍摄得到的视频数据的过程,不仅能够降低服务器100的运算负荷,还能够大大减少服务器100对于视频数据的处理时延,因而能够帮助降低云游戏场景中服务器100上运行的应用程序从终端200处获取视频数据的时延,有助于提升相关网络服务的服务质量。
需要说明的是,上述传递程序指的是用于将服务器接收到的来自终端的视频数据传递给相应应用程序的程序,其既可以是不存在于原有架构中的单独的程序,也可以由服务器中已经存在的程序通过添加功能的方式来实现。而且,在传递程序与应用程序之间建立信令通道可以例如通过任意一种进程间通信(InterProcess Communication,IPC)的方式来实现,且信令通道仅仅指代传递程序与应用程序之间通信的媒介,而不一定需要具备信道的形式。
还需要说明的是,上述应用程序是在运行时需要获取终端拍摄得到的视频数据的应用程序,且为了能够与传递程序建立信令通道而至少需要具备必要的相应组成部分,其具体形式取决于上述进程间通信的具体类型,实现方式可以参照相关技术中的任意一种IPC实现方式,在此不再一一赘述。
在一些可能的实现方式中,上述步骤302包括:获取与应用程序相对应的数据格式标识;在将来自终端的视频数据处理为与数据格式标识对应的数据格式之后,将视频数据存储至服务器的共享内存的缓存区域中;通过信令通道向应用程序发送包括视频存储地址的消息,以使应用程序根据视频存储地址从缓存区域中获取视频数据。在一个示例中,传递程序在与应用程序建立信令通道之后向应用程序请求上述数据格式标识,以通过应用程序发送的数据格式标识来确定该应用程序所需要的视频数据的数据格式(比如H264格式、YUV格式、VP8格式等等),并在必要时对来自终端的视频数据进行解码和/或转码等处理,并在处理结束后再将得到的视频数据存储至上述缓存区域中。如此,传递程序能够在服务器接收到的视频数据不是应用程序所需要的数据格式时对服务器接收到的视频数据进行处理,帮助避免某些类型的应用程序在缓存区域中识别不到指定数据格式的视频数据时报错等异常情况发生。在其他示例中,传递程序获取数据格式标识的可能方式包括:接收应用程序通过信令通道发送的包括数据格式标识的消息;在存储于服务器中的应用程序标识与数据格式标识之间的对应关系中根据目标应用程序的标识确定其对应的数据格式标识。
在一些可能的实现方式中,上述将视频数据存储至服务器的共享内存的缓存区域中包括:获取视频数据的描述信息,并将视频数据连同其描述信息一并存储至服务器的共享内存的缓存区域中。其中,描述信息指的是用于区分不同视频数据的视频数据的特征信息,其内容可以包括而不限于:视频来源的设备ID、视频ID、视频格式、视频大小、码率、视频分辨率、是否包含音频的标识,等等。如此,应用程序在从缓存区域中获取所需要的视频之前,能够根据该视频数据的描述信息对视频数据进行确认,帮助减少异常情况的发生。
对应于上述以传递程序为执行主体的传递视频数据的方法,图5是本申请实施例提供的一种获取视频数据的方法的步骤流程示意图。参见图5,该方法由运行在服务器上且待获取由终端拍摄得到的视频数据的应用程序执行(例如由图1中的服务器设备100的处理器通过与应用程序对应的程序进程来执行),并包括以下过程。
在步骤501中,建立与运行在服务器上的传递程序之间的信令通道。
在步骤502中,在通过信令通道接收到来自传递程序的包括视频存储地址的消息时,根据视频存储地址从服务器的共享内存的缓存区域中获取视频数据;其中,视频数据是传递程序在服务器接收到来自终端的视频数据时存储至缓存区域中的,视频存储地址指示视频数据在共享内存中的存储位置。
在一些可能的实现方式中,上述获取视频数据的方法还包括:在建立与运行在服务器上的传递程序之间的信令通道之后,向传递程序发送包括数据格式标识的消息,以使传递程序在服务器接收到来自终端的视频数据时将视频数据处理为与数据格式标识对应的数据格式之后再存储至缓存区域中。
在一些可能的实现方式中,上述根据视频存储地址从服务器的共享内存的缓存区域中获取视频数据,包括:根据视频存储地址从缓存区域中获取视频数据的描述信息;在根据描述信息确定视频数据为待获取的视频数据之后,从缓存区域中获取视频数据。
可以看出,本申请实施例中,服务器上除了运行有待获取由终端拍摄得到的视频数据的应用程序之外还运行有传递程序,该传递程序能够通过与该应用程序之间建立信令通道,在服务器接收到所述视频数据时利用服务器的共享内存缓存所述视频数据并通知该应用程序视频存储地址,以使该应用程序能够直接从共享内存中获取所需的视频数据,相比于现有技术而言能够省去将视频数据虚拟化为虚拟摄像头拍摄得到的视频数据的过程,不仅能够降低服务器的运算负荷,还能够大大减少服务器对于视频数据的处理时延,因而能够帮助降低云游戏场景中服务器上运行的应用程序从终端处获取视频数据的时延,有助于提升相关网络服务的服务质量。
图6是本申请实施例提供的视频数据在服务器中的处理过程示意图。参见图6,作为上述获取视频数据的方法和上述传递视频数据的方法的实现方式示例,上述视频数据在服务器中的处理过程包括以下步骤流程。
在步骤601中,传递程序进程与应用程序进程之间建立信令通道。
在一个示例中,运行在服务器上的传递程序的进程主动创建与目标第三方应用程序的进程之间的信令通道(基于任意一种IPC方式),以交换与创建共享内存、同步、读数据和写数据有关的数据、命令或消息。
在步骤602中,在信令通道建立之后,应用程序进程向传递程序进程发送包括数据格式标识的消息。
例如,第三方应用程序进程在上述信令通道建立之后向传递程序的进程发送对应于YUV格式的数据格式标识,以指示所需要的视频数据的数据格式为YUV格式。
在步骤603中,在服务器接收到来自终端的视频数据时,传递程序进程将来自终端的视频数据处理为与数据格式标识对应的数据格式。
例如,传递程序进程在服务器接收到终端的每一帧视频数据之后,都根据上述数据格式标识将H264格式的一帧视频数据处理为上述YUV格式的一帧视频数据,以配合应用程序进程的需要。
在步骤604中,传递程序进程将处理后的视频数据连同其描述信息存储至缓存区域中。
例如,传递程序进程利用缓冲区队列(Buffer queue)从共享内存中获取空闲的若干缓冲区(组成上述缓存区域),并将视频帧的宽度、高度以及像素格式连同视频数据本身一并存储到这些空闲的缓冲区当中,从而得到表示视频数据存储地址的至少一个缓冲区ID。
在步骤605中,传递程序进程在存储完成之后,利用信令通道向应用程序进程发送包括视频存储地址的消息。
例如,传递程序进程在完成上述存储操作之后,通过建立好的信令通道向应用程序进程发送包括至少一个缓冲区ID的消息,以通知应用程序进程目前的缓冲区队列已经存在可供读取的有效的视频数据。
在步骤606中,应用程序进程在接收到包括视频存储地址的消息之后,从缓存区域中获取视频数据的描述信息。
例如,应用程序进程基于至少一个缓冲区ID利用缓冲区队列从共享内存中获得若干个视频帧的宽度、高度以及像素格式等信息。
在步骤607中,应用程序进程根据视频数据的描述信息对视频数据进行确认。
例如,应用程序进程确认视频帧的宽度、高度和像素格式是否为规定的值,若是则继续执行步骤608,若否则释放上述缓存区域中的数据并终止对于上述包括视频存储地址的消息的响应。
在步骤608中,应用程序进程根据视频存储地址获取视频数据。
例如,在对视频数据完成确认之后,应用程序基于上述至少一个缓冲区ID利用缓冲区队列从共享内存中获取若干帧的视频数据,以进行后续处理。
可以看出,本公开实施例中利用了应用程序进程与传递程序进程之间的信令通道,实现了无需创建虚拟摄像头设备的视频数据传递,能够省去将视频数据虚拟化为虚拟摄像头拍摄得到的视频数据的过程,不仅能够降低服务器的运算负荷,还能够大大减少服务器对于视频数据的处理时延,因而能够帮助降低云游戏场景中服务器上运行的应用程序从终端处获取视频数据的时延,有助于提升相关网络服务的服务质量。
应当理解的是,上述视频数据可以是包含音频或不包含音频的,对于视频数据包括音频的情况,可以采用与视频帧类似的方式由传递程序将各音频帧存储至共享内存的缓存区域中,并由接收到存储位置的应用程序进程在共享内存的缓存区域中获取得到,且视频帧和音频帧的处理流程可以是并行的。
图7是本申请实施例提供的一种传递视频数据的装置的结构框图。参见图7,该装置应用于服务器(例如由图1中的服务器设备100的处理器通过与传递程序对应的程序进程来执行),并包括:建立模块71,用于在服务器上运行有待获取由终端拍摄得到的视频数据的应用程序时,建立与应用程序之间的信令通道;发送模块72,用于在服务器接收到来自终端的视频数据时,将视频数据存储至服务器的共享内存的缓存区域中,并通过信令通道向应用程序发送包括视频存储地址的消息,以使应用程序根据视频存储地址从缓存区域中获取视频数据;其中,视频存储地址指示视频数据在共享内存中的存储位置。
图8是本申请实施例提供的一种获取视频数据的装置的结构框图。参见图8,该装置应用于服务器(例如由图1中的服务器设备100的处理器通过与应用程序对应的程序进程来执行),并包括:建立模块81,用于建立与运行在服务器上的传递程序之间的信令通道;获取模块82,用于在通过信令通道接收到来自传递程序的包括视频存储地址的消息时,根据视频存储地址从服务器的共享内存的缓存区域中获取待获取的由终端拍摄得到的视频数据;其中,缓存区域是传递程序在服务器接收到来自终端的视频数据时在共享内存中创建的用于存储视频数据的区域,视频存储地址指示视频数据在共享内存中的存储位置。
可以看出,本申请实施例中,服务器上除了运行有待获取由终端拍摄得到的视频数据的应用程序之外还运行有传递程序,该传递程序能够通过与该应用程序之间建立信令通道,在服务器接收到所述视频数据时利用服务器的共享内存缓存所述视频数据并通知该应用程序视频存储地址,以使该应用程序能够直接从共享内存中获取所需的视频数据,相比于现有技术而言能够省去将视频数据虚拟化为虚拟摄像头拍摄得到的视频数据的过程,不仅能够降低服务器的运算负荷,还能够大大减少服务器对于视频数据的处理时延,因而能够帮助降低云游戏场景中服务器上运行的应用程序从终端处获取视频数据的时延,有助于提升相关网络服务的服务质量。
本申请实施例提供的传递视频数据的装置和获取视频数据的装置,其实现过程与本申请实施例提供的传递视频数据的方法和获取视频数据的方法一致,所能达到的效果也与本申请实施例提供的传递和获取视频数据的方法相同,在此不再赘述。
图9是本申请实施例提供的一种服务器设备的结构框图。参见图9,该服务器设备包括处理器91和用于存储该处理器91的可执行指令的存储器92;其中,该处理器91用于执行所述可执行指令,以实现上述任意一种传递视频数据的方法或获取视频数据的方法。以上文所述的任意一种服务器设备为例,本申请实施例的服务器设备能够帮助降低云游戏场景中服务器上运行的应用程序从终端处获取视频数据的时延,有助于提升相关网络服务的服务质量。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质为非易失性的存储介质,且该存储介质存储有处理器的可执行指令,该可执行指令被配置为在被处理器执行时使处理器实现上述任意一种传递视频数据的方法或获取视频数据的方法。以上述存储器92为例,本申请实施例的计算机可读存储介质能够用来实现上述任意一种的传递和获取视频数据的方法,因而能够帮助降低云游戏场景中服务器上运行的应用程序从终端处获取视频数据的时延,有助于提升相关网络服务的服务质量。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种传递视频数据的方法,其特征在于,所述方法由运行在服务器上的传递程序执行,所述方法包括:
在所述服务器上运行有待获取由终端拍摄得到的视频数据的应用程序时,建立与所述应用程序之间的信令通道;其中,所述应用程序是所述终端的用户通过所述服务器与所述终端之间的网络连接在所述服务器上运行的应用程序,所述服务器用于接收所述终端发送的与所述应用程序对应的用户输入数据,并将包括所述应用程序的用户界面的画面发送给所述终端以进行显示;
在所述服务器接收到来自所述终端的所述视频数据时,将所述视频数据存储至所述服务器的共享内存的缓存区域中,并通过所述信令通道向所述应用程序发送包括视频存储地址的消息,以使所述应用程序根据所述视频存储地址从所述缓存区域中获取所述视频数据;其中,所述视频存储地址指示所述视频数据在所述共享内存中的存储位置。
2.根据权利要求1所述的方法,其特征在于,所述在所述服务器接收到来自终端的所述视频数据时,将所述视频数据存储至所述服务器的共享内存的缓存区域中,并通过所述信令通道向所述应用程序发送包括视频存储地址的消息,以使所述应用程序根据所述视频存储地址从所述缓存区域中获取所述视频数据,包括:
获取与所述应用程序相对应的数据格式标识;
在将来自所述终端的所述视频数据处理为与所述数据格式标识对应的数据格式之后,将所述视频数据存储至所述服务器的共享内存的缓存区域中;
通过所述信令通道向所述应用程序发送包括视频存储地址的消息,以使所述应用程序根据所述视频存储地址从所述缓存区域中获取所述视频数据。
3.根据权利要求1或2所述的方法,其特征在于,所述将所述视频数据存储至所述服务器的共享内存的缓存区域中,包括:
获取所述视频数据的描述信息,并将所述视频数据连同其描述信息一并存储至所述服务器的共享内存的缓存区域中。
4.一种获取视频数据的方法,其特征在于,所述方法由运行在服务器上且待获取由终端拍摄得到的视频数据的应用程序执行,所述方法包括:
建立与运行在所述服务器上的传递程序之间的信令通道;其中,所述应用程序是所述终端的用户通过所述服务器与所述终端之间的网络连接在所述服务器上运行的应用程序,所述服务器用于接收所述终端发送的与所述应用程序对应的用户输入数据,并将包括所述应用程序的用户界面的画面发送给所述终端以进行显示;
在通过所述信令通道接收到来自所述传递程序的包括视频存储地址的消息时,根据所述视频存储地址从所述服务器的共享内存的缓存区域中获取所述视频数据;其中,所述视频数据是所述传递程序在所述服务器接收到来自所述终端的所述视频数据时存储至所述缓存区域中的,所述视频存储地址指示所述视频数据在所述共享内存中的存储位置。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在建立与运行在所述服务器上的传递程序之间的信令通道之后,向所述传递程序发送包括数据格式标识的消息,以使所述传递程序在所述服务器接收到来自所述终端的所述视频数据时将所述视频数据处理为与所述数据格式标识对应的数据格式之后再存储至所述缓存区域中。
6.根据权利要求4或5所述的方法,其特征在于,所述根据所述视频存储地址从所述服务器的共享内存的缓存区域中获取所述视频数据,包括:
根据所述视频存储地址从所述缓存区域中获取所述视频数据的描述信息;
在根据所述描述信息确定所述视频数据为待获取的所述视频数据之后,从所述缓存区域中获取所述视频数据。
7.一种传递视频数据的装置,应用于服务器,其特征在于,所述装置包括:
建立模块,用于在所述服务器上运行有待获取由终端拍摄得到的视频数据的应用程序时,建立与所述应用程序之间的信令通道;其中,所述应用程序是所述终端的用户通过所述服务器与所述终端之间的网络连接在所述服务器上运行的应用程序,所述服务器用于接收所述终端发送的与所述应用程序对应的用户输入数据,并将包括所述应用程序的用户界面的画面发送给所述终端以进行显示;
发送模块,用于在所述服务器接收到来自所述终端的所述视频数据时,将所述视频数据存储至所述服务器的共享内存的缓存区域中,并通过所述信令通道向所述应用程序发送包括视频存储地址的消息,以使所述应用程序根据所述视频存储地址从所述缓存区域中获取所述视频数据;其中,所述视频存储地址指示所述视频数据在所述共享内存中的存储位置。
8.一种获取视频数据的装置,应用于服务器,其特征在于,所述服务器上运行有待获取由终端拍摄得到的视频数据的应用程序,所述应用程序是所述终端的用户通过所述服务器与所述终端之间的网络连接在所述服务器上运行的应用程序,所述服务器用于接收所述终端发送的与所述应用程序对应的用户输入数据,并将包括所述应用程序的用户界面的画面发送给所述终端以进行显示;所述装置包括:
建立模块,用于建立与运行在所述服务器上的传递程序之间的信令通道;
获取模块,用于在通过所述信令通道接收到来自所述传递程序的包括视频存储地址的消息时,根据所述视频存储地址从所述服务器的共享内存的缓存区域中获取待获取的由所述终端拍摄得到的视频数据;其中,所述缓存区域是所述传递程序在所述服务器接收到来自所述终端的所述视频数据时在所述共享内存中创建的用于存储所述视频数据的区域,所述视频存储地址指示所述视频数据在所述共享内存中的存储位置。
9.一种服务器设备,其特征在于,所述服务器设备包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器用于执行所述可执行指令,以实现如权利要求1至6中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有处理器的可执行指令,所述可执行指令被配置为在被处理器执行时使所述处理器实现如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310499229.3A CN116233520B (zh) | 2023-05-06 | 2023-05-06 | 传递和获取视频数据的方法及装置、服务器设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310499229.3A CN116233520B (zh) | 2023-05-06 | 2023-05-06 | 传递和获取视频数据的方法及装置、服务器设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116233520A CN116233520A (zh) | 2023-06-06 |
CN116233520B true CN116233520B (zh) | 2023-07-25 |
Family
ID=86569800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310499229.3A Active CN116233520B (zh) | 2023-05-06 | 2023-05-06 | 传递和获取视频数据的方法及装置、服务器设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116233520B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109889875A (zh) * | 2019-01-23 | 2019-06-14 | 北京奇艺世纪科技有限公司 | 通信方法、装置、终端设备和计算机可读介质 |
CN110855610A (zh) * | 2019-09-30 | 2020-02-28 | 视联动力信息技术股份有限公司 | 一种数据包的处理方法、装置及存储介质 |
CN112023402A (zh) * | 2020-09-02 | 2020-12-04 | 腾讯科技(深圳)有限公司 | 游戏数据处理方法、装置、设备以及介质 |
CN112399130A (zh) * | 2019-08-16 | 2021-02-23 | 北京紫荆视通科技有限公司 | 云视频会议信息的处理方法、装置、存储介质和通信设备 |
CN112423095A (zh) * | 2020-11-02 | 2021-02-26 | 广州博冠信息科技有限公司 | 游戏视频录制方法、装置、电子设备和存储介质 |
CN112468874A (zh) * | 2020-11-26 | 2021-03-09 | 北京天融信网络安全技术有限公司 | 一种视频播放方法、终端设备及系统 |
CN113220445A (zh) * | 2021-03-26 | 2021-08-06 | 西安神鸟软件科技有限公司 | 一种图像或视频数据获取方法及终端设备 |
CN113672293A (zh) * | 2020-04-30 | 2021-11-19 | 华为技术有限公司 | 一种基于云手机的媒体数据处理方法以及终端设备 |
CN114827186A (zh) * | 2022-02-25 | 2022-07-29 | 阿里巴巴(中国)有限公司 | 云应用处理方法和系统 |
CN115328609A (zh) * | 2022-07-15 | 2022-11-11 | 天翼云科技有限公司 | 一种云桌面数据处理的方法及系统 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104679486B (zh) * | 2013-11-28 | 2019-05-28 | 华为技术有限公司 | 一种图形数据的处理方法、装置及系统 |
CN110134532A (zh) * | 2019-05-13 | 2019-08-16 | 浙江商汤科技开发有限公司 | 一种信息交互方法及装置、电子设备和存储介质 |
US11623140B2 (en) * | 2020-07-01 | 2023-04-11 | Sony Interactive Entertainment LLC | High-speed save data storage for cloud gaming |
CN111744189B (zh) * | 2020-07-27 | 2022-02-01 | 腾讯科技(深圳)有限公司 | 画面更新方法、装置、计算机设备和存储介质 |
CN111918082A (zh) * | 2020-07-31 | 2020-11-10 | 北京视博云信息技术有限公司 | 云游戏直播方法、装置、存储介质及设备 |
CN112004147A (zh) * | 2020-08-20 | 2020-11-27 | 北京云中融信网络科技有限公司 | 一种视频渲染方法、装置、电子设备及存储介质 |
CN112044055B (zh) * | 2020-08-31 | 2024-06-14 | 北京爱奇艺科技有限公司 | 图像数据采集方法、系统、装置、电子设备及存储介质 |
US20220130096A1 (en) * | 2020-10-25 | 2022-04-28 | Meta Platforms, Inc. | Reducing latency of an application in a server-side hosted environment |
US20220394072A1 (en) * | 2021-06-07 | 2022-12-08 | Intel Corporation | Video streaming techniques for applications and workloads executed in the cloud |
CN113395351B (zh) * | 2021-06-21 | 2022-10-25 | 北京爱奇艺科技有限公司 | 一种文件传输系统 |
CN113724521A (zh) * | 2021-07-19 | 2021-11-30 | 阿里巴巴新加坡控股有限公司 | 图像数据处理方法、装置、设备及计算机程序产品 |
CN115878343A (zh) * | 2021-09-29 | 2023-03-31 | 华为技术有限公司 | 一种进程间通信方法及相关装置 |
CN116016498A (zh) * | 2021-10-21 | 2023-04-25 | 中兴通讯股份有限公司 | Cdn网元容器配置方法、读写方法、装置、设备及存储介质 |
CN115695857B (zh) * | 2022-12-29 | 2023-03-21 | 北京海誉动想科技股份有限公司 | 云应用的视频编码方法及装置 |
-
2023
- 2023-05-06 CN CN202310499229.3A patent/CN116233520B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109889875A (zh) * | 2019-01-23 | 2019-06-14 | 北京奇艺世纪科技有限公司 | 通信方法、装置、终端设备和计算机可读介质 |
CN112399130A (zh) * | 2019-08-16 | 2021-02-23 | 北京紫荆视通科技有限公司 | 云视频会议信息的处理方法、装置、存储介质和通信设备 |
CN110855610A (zh) * | 2019-09-30 | 2020-02-28 | 视联动力信息技术股份有限公司 | 一种数据包的处理方法、装置及存储介质 |
CN113672293A (zh) * | 2020-04-30 | 2021-11-19 | 华为技术有限公司 | 一种基于云手机的媒体数据处理方法以及终端设备 |
CN112023402A (zh) * | 2020-09-02 | 2020-12-04 | 腾讯科技(深圳)有限公司 | 游戏数据处理方法、装置、设备以及介质 |
CN112423095A (zh) * | 2020-11-02 | 2021-02-26 | 广州博冠信息科技有限公司 | 游戏视频录制方法、装置、电子设备和存储介质 |
CN112468874A (zh) * | 2020-11-26 | 2021-03-09 | 北京天融信网络安全技术有限公司 | 一种视频播放方法、终端设备及系统 |
CN113220445A (zh) * | 2021-03-26 | 2021-08-06 | 西安神鸟软件科技有限公司 | 一种图像或视频数据获取方法及终端设备 |
CN114827186A (zh) * | 2022-02-25 | 2022-07-29 | 阿里巴巴(中国)有限公司 | 云应用处理方法和系统 |
CN115328609A (zh) * | 2022-07-15 | 2022-11-11 | 天翼云科技有限公司 | 一种云桌面数据处理的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116233520A (zh) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019174472A1 (zh) | 画质参数调节方法、装置、终端及存储介质 | |
US10771565B2 (en) | Sending application input commands over a network | |
WO2021143182A1 (zh) | 游戏的处理方法、装置、电子设备及计算机可读存储介质 | |
EP3046331B1 (en) | Media control method and system based on cloud desktop | |
CN111031368B (zh) | 多媒体播放方法、装置、设备及存储介质 | |
CN113542757B (zh) | 云应用的图像传输方法、装置、服务器及存储介质 | |
US8876601B2 (en) | Method and apparatus for providing a multi-screen based multi-dimension game service | |
CN112044055B (zh) | 图像数据采集方法、系统、装置、电子设备及存储介质 | |
US10165058B2 (en) | Dynamic local function binding apparatus and method | |
CN112073754B (zh) | 一种云游戏投屏方法、装置、计算机设备、计算机可读存储介质及云游戏投屏交互系统 | |
WO2022096017A1 (zh) | 内容显示方法及装置 | |
CN107592551B (zh) | 用于云流服务的方法和设备 | |
WO2020125604A1 (zh) | 数据传输方法、装置、设备及存储介质 | |
CN106973318B (zh) | 聚合视频操作方法及装置 | |
CN112354176A (zh) | 云游戏实现方法、云游戏实现装置、存储介质与电子设备 | |
CN116233520B (zh) | 传递和获取视频数据的方法及装置、服务器设备和存储介质 | |
JP2021500764A (ja) | 映像通話の映像品質向上 | |
KR102310070B1 (ko) | 클라우드 스트리밍 서비스 제공을 위한 어플리케이션 캐싱 방법 및 이를 위한 장치 | |
EP4184924A1 (en) | Network live broadcast interaction method and device | |
TWI814134B (zh) | 虛擬行動架構的遠端渲染系統、方法及裝置 | |
US11656834B2 (en) | Information processing device, non-transitory recording medium, and information processing system | |
CN115390779A (zh) | 内容控制方法、装置、存储介质及电子设备 | |
KR101964661B1 (ko) | 트래픽 감소를 위한 vr 영상의 공유 시스템 | |
US9954718B1 (en) | Remote execution of applications over a dispersed network | |
CN113891135A (zh) | 一种多媒体数据播放方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231206 Address after: 230031 Room 672, 6/F, Building A3A4, Zhong'an Chuanggu Science Park, No. 900, Wangjiang West Road, High-tech Zone, Hefei, Anhui Patentee after: Anhui Haima Cloud Technology Co.,Ltd. Address before: 301700 room 2d25, Building 29, No.89 Heyuan Road, Jingjin science and Technology Valley Industrial Park, Wuqing District, Tianjin Patentee before: HAIMAYUN (TIANJIN) INFORMATION TECHNOLOGY CO.,LTD. |