WO2017107911A1 - 一种视频云平台播放视频的方法及装置 - Google Patents
一种视频云平台播放视频的方法及装置 Download PDFInfo
- Publication number
- WO2017107911A1 WO2017107911A1 PCT/CN2016/111258 CN2016111258W WO2017107911A1 WO 2017107911 A1 WO2017107911 A1 WO 2017107911A1 CN 2016111258 W CN2016111258 W CN 2016111258W WO 2017107911 A1 WO2017107911 A1 WO 2017107911A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- video
- client
- rendering
- cloud platform
- server
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000009877 rendering Methods 0.000 claims abstract description 82
- 230000000694 effects Effects 0.000 claims abstract description 11
- 230000011664 signaling Effects 0.000 claims description 35
- 238000004806 packaging method and process Methods 0.000 abstract 1
- 230000015572 biosynthetic process Effects 0.000 description 8
- 238000003786 synthesis reaction Methods 0.000 description 8
- 230000002194 synthesizing effect Effects 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 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/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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
-
- 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/81—Monomedia components thereof
- H04N21/816—Monomedia components thereof involving special video data, e.g 3D video
Definitions
- the present invention relates to the field of video playback technologies, and in particular, to a method and an apparatus for playing video on a video cloud platform.
- Prior art computing environments depend on the respective hardware capabilities of each terminal. With the development of computer network technology, the computing environment of the prior art develops into a cloud computing environment, wherein the cloud computing environment uses various computing resources on the network to provide corresponding services according to the request of the terminal.
- the object of the present invention is to provide a method and a device for playing video on a video cloud platform, which solves the problem that the high-quality video and audio can not be accurately edited and played in the cloud and cannot be parallelized by using server resources in the prior art.
- a method for playing video by a video cloud platform including the following steps:
- the video cloud platform After the client connects to the video cloud platform, the video cloud platform provides a plurality of rendered video frames to the client according to the rendering request of the client, for the client to select;
- the video cloud platform receives the video frame selection result of the client, and saves a rendering parameter of the video frame selected by the client;
- the video cloud platform uses the saved rendering parameters to render the video requested by the client, and then sends the video to the client.
- the video cloud platform comprises a streaming media server and a rendering server;
- the streaming media server plays the corresponding video to the client according to the video playback request of the client;
- the rendering server After the client connects to the video cloud platform, the rendering server provides a plurality of rendering effects of the video frame, receives the video frame selection result of the client, saves a rendering parameter of the video frame selected by the client, and sends the rendering parameter to the streaming media server.
- the rendered video is rendered with its saved rendering parameters.
- the video cloud platform further includes a video synthesizing server, and the video synthesizing server synthesizes the video belonging to the plurality of streaming media servers according to the plurality of video synthesizing requests of the client, and sends the video to the client.
- a video synthesizing server synthesizes the video belonging to the plurality of streaming media servers according to the plurality of video synthesizing requests of the client, and sends the video to the client.
- the client sends a video play request to the streaming media server in the manner of a signaling protocol data packet; the streaming media server sends the corresponding video that needs to be played to the client in the manner of the media protocol data packet.
- the signaling protocol data packet includes a frame signaling protocol data packet, a file play signaling protocol data packet, and a play stop signaling protocol data packet;
- the media protocol data packet includes a video media data protocol data packet, and an audio media.
- Data Protocol Packet and IBP Single Frame Video Media Data Protocol Packet are exemplary of the signaling protocol data packet.
- an apparatus for playing video on a video cloud platform including:
- the video frame module is selected, and after the client connects to the video cloud platform, the video cloud platform provides a plurality of rendering video frames to the client according to the rendering request of the client, for the client to select;
- Saving a rendering parameter module configured to receive a video frame selection result of the client by the video cloud platform, and save a rendering parameter of the video frame selected by the client;
- the video rendering module is configured to: when the client subsequently sends a video play request to the video cloud platform, the video cloud platform uses the saved rendering parameters to render the video requested by the client, and then sends the video to the client.
- the video cloud platform comprises a streaming media server and a rendering server;
- the streaming media server plays the corresponding video to the client according to the video playback request of the client;
- the rendering server After the client connects to the video cloud platform, the rendering server provides a plurality of rendering effects of the video frame, receives the video frame selection result of the client, saves a rendering parameter of the video frame selected by the client, and sends the rendering parameter to the streaming media server.
- the rendered video is rendered with its saved rendering parameters.
- the video cloud platform further includes a video synthesis server, and the video synthesis server is configured according to A plurality of video composition requests of the client are combined and processed by the video belonging to the plurality of streaming media servers, and then sent to the client.
- the client sends a video play request to the streaming media server in the manner of a signaling protocol data packet; the streaming media server sends the corresponding video that needs to be played to the client in the manner of the media protocol data packet.
- the signaling protocol data packet includes a frame signaling protocol data packet, a file play signaling protocol data packet, and a play stop signaling protocol data packet;
- the media protocol data packet includes a video media data protocol data packet, and an audio media.
- Data Protocol Packet and IBP Single Frame Video Media Data Protocol Packet are exemplary of the signaling protocol data packet.
- FIG. 1 is a flowchart of a method for playing video by a video cloud platform provided by the present invention
- FIG. 2 is a schematic diagram of an apparatus for playing video on a video cloud platform provided by the present invention
- FIG. 3 is a schematic diagram of a working process of a rendering server for playing video on a video cloud platform according to an embodiment of the present invention
- FIG. 4 is a schematic diagram of a video synthesizing server working on a video cloud platform according to an embodiment of the present invention.
- FIG. 1 is a flowchart of a method for playing video by a video cloud platform provided by the present invention. As shown in FIG. 1 , the method includes the following steps:
- Step S101 After the client connects to the video cloud platform, the video cloud platform provides a plurality of rendering video frames to the client according to the rendering request of the client, so that the client selects;
- Step S102 The video cloud platform receives the video frame selection result of the client, and saves a rendering parameter of the video frame selected by the client.
- Step S103 When the client subsequently sends a video play request to the video cloud platform, the video cloud platform The video requested by the client is rendered by using the saved rendering parameters, and then sent to the client.
- the video cloud platform includes a streaming media server and a rendering server.
- the streaming media server plays a corresponding video to the client according to the video playback request of the client.
- the rendering server Providing a plurality of rendering effects of the video frame, receiving a video frame selection result of the client, saving a rendering parameter of the video frame selected by the client, and playing the saved parameter with the saved rendering parameter when the streaming server plays the video to the client The video is rendered.
- the video cloud platform further includes a video synthesizing server, and the video synthesizing server synthesizes the video belonging to the plurality of streaming media servers according to the plurality of video synthesizing requests of the client, and sends the video to the client.
- the client sends a video play request to the streaming media server in the manner of a signaling protocol data packet; the streaming media server sends the corresponding video that needs to be played to the client in the manner of the media protocol data packet.
- the signaling protocol data packet includes a frame signaling protocol data packet, a file play signaling protocol data packet, and a play stop signaling protocol data packet; the media protocol data packet includes a video media data protocol data packet and audio media data. Protocol packets and IBP single-frame video media data protocol packets.
- the method includes: selecting a video frame module 201, saving a rendering parameter module 202, and a video rendering module 203.
- the video frame module 201 is configured to: after the client connects to the video cloud platform, the video cloud platform provides a plurality of video frames of the rendering effect to the client according to the rendering request of the client, for the client to select; the saving
- the rendering parameter module 202 is configured to receive a video frame selection result of the client by the video cloud platform, and save a rendering parameter of the video frame selected by the client;
- the video rendering module 203 is configured to send a video playback to the video cloud platform on the client.
- the video cloud platform uses the saved rendering parameters to render the video requested by the client, and then sends the video to the client.
- the video cloud platform includes a streaming media server and a rendering server.
- the streaming media server plays a corresponding video to the client according to the video playback request of the client.
- the rendering server Providing a plurality of rendering effects of the video frame, receiving a video frame selection result of the client, saving a rendering parameter of the video frame selected by the client, and playing the saved parameter with the saved rendering parameter when the streaming server plays the video to the client The video is rendered.
- the video cloud platform further includes a video synthesis server, and the video synthesis server is based on a guest.
- the plurality of video composition requests of the client are combined and processed by the video belonging to the plurality of streaming media servers, and then sent to the client.
- the client sends a video play request to the streaming media server in the manner of a signaling protocol data packet; the streaming media server sends the corresponding video that needs to be played to the client in the manner of the media protocol data packet.
- the signaling protocol data packet includes a frame signaling protocol data packet, a file play signaling protocol data packet, and a play stop signaling protocol data packet; the media protocol data packet includes a video media data protocol data packet and an audio media data protocol data. Packet and IBP single frame video media data protocol packets.
- the video cloud platform completes the reading of the original video material, fully utilizes the computing resources of the video cloud platform, and decodes in parallel.
- the code rate adjustment of the coding should be performed according to the network bandwidth.
- it is necessary to respond to the command operation of the client such as the client requesting a certain frame image of the video file, how many videos need to be synthesized, and the like.
- how many rendering servers are started, such as the current number of CPUs (Central Processing Units)/GPUs (Graphics Processing Units) to allocate computing units, and the rendering server should be able to
- the rendering server is scheduled according to the hardware resources that are continuously added. For example, in the calculation process, a new workstation is added to the cluster to render the server to distribute the rendering tasks to the new workstation in time.
- the video cloud platform needs to be able to run in different operating systems, so the video cloud platform should be able to support cross-platform operations, and in order to ensure the computational cost of the video cloud platform, open source software capable of supporting multiple video encoding and decoding formats can be selected.
- the video cloud platform software is divided into two types: the rendering server is mainly used to receive client video requests, such as playing, getting frames, etc., and then sending the results to the client; the video synthesizing server is mainly used to receive the client synthesis result request, packaged. In the specified format.
- the video cloud platform needs to support the cluster.
- the cluster needs to run multiple hardware resources in parallel to achieve the goal of making full use of resources.
- the clustering algorithm is to connect the client to a server when the client is connected, so that the client can be physically allocated to different servers evenly. At the same time, it can be adjusted according to the working state of the current server. For example, the current server may work very full load. If a client sends a request to this server, the client should be connected to other idle servers.
- the workflow of the present invention the client obtains the external network address of the streaming media server through PHP configuration, and then connects with the streaming media server, and the client and the streaming media server are to be connected.
- stream media After the service receives each client connection request, it will start a thread. This thread will be assigned to the specified CPU hardware resources to work, and will complete the dialogue and rendering tasks with the client.
- the streaming server will get a certain amount after starting the playback.
- the video and audio data the data will be pushed at a certain rate.
- the pushed data can be H264IBP video data stream and AAC audio stream; the streaming media server needs to support various video and audio formats, so very complex video conversion, such as video, is required. Format conversion, system conversion, resolution conversion, pixel aspect ratio conversion, and more.
- the streaming media server will sequentially send the video and audio compressed data to the client through the TCP private protocol during playback;
- the streaming media server and the client define a signaling protocol packet specification (a request from the client to the streaming server) and the media Data protocol data packet protocol (by the streaming media server to push data to the client);
- the signaling protocol data packet is obtained by a frame signaling protocol data packet, a file playback signaling protocol data packet, a playback stop signaling protocol data packet, etc.
- the protocol data packet includes a video media data protocol data packet, an audio media data protocol data packet, and an IBP single frame video media data protocol data packet.
- the rendering server provides a plurality of rendering effects of the video frame, receives the video frame selection result of the client, and saves the rendering parameters of the video frame selected by the client, and
- the streaming media server plays the video to the client, the rendered video is rendered by using the saved rendering parameters. That is to say, the client is mainly used to respond to the user's operation, and issues a command to the streaming server, displays the rendering result in the interface, and saves the user's result in the server; the client needs to perform interface and streaming playback control.
- a set of data structures is defined to store the user's results and to interact with the server.
- the video composition server combines the videos belonging to the plurality of streaming media servers according to the plurality of video composition requests of the client, and then sends the video to the client. That is to say, the compositing server provides services on the 8888 port, and the client sends multiple tasks to the compositing task server through the http protocol, and assigns the task rotation to different servers. At the same time, multi-threading can be started for each task, and multi-frame parallelism can be performed. synthesis.
- the present invention has the following technical effects:
- the invention can dynamically allocate related rendering resources according to the needs of the front-end business, significantly reduce the input of the client, and truly make the front-end thin client.
- the video cloud computing system has a streaming media service interface, uses frame rendering technology, supports various formats of video and audio files, and can perform multi-layer video and audio encoding and decoding, compression and other operations in real time, and then performs frame transmission and is distributed to the client.
- Implement streaming service publishing for editing classes these operations It must be completed in a short time.
- videos cloud computing technology even with small thin clients such as laptops and IPADs, users can perform fast frame-accurate search operation response, multi-layer video editing and preview operations, realizing real-time video synthesis, and greatly reducing client investment.
- the packaged rendering center shared when necessary can also be dynamically expanded to improve device utilization and protect investment.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种视频云平台播放视频的方法及装置,涉及视频播放技术领域,其方法包括以下步骤:客户端连接到视频云平台后,视频云平台根据客户端的渲染请求,向客户端提供多种渲染效果的视频帧,以供客户端进行选择;视频云平台接收客户端的视频帧选择结果,并保存客户端选择的视频帧的渲染参数;在客户端随后向视频云平台发出视频播放请求时,视频云平台利用其保存的渲染参数对客户端请求播放的视频进行渲染后,发送给所述客户端。本发明大幅降低客户端的投资,必要时共享的打包渲染中心还可以动态扩展,提高了设备利用率,保护了投资。
Description
本发明涉及视频播放技术领域,特别涉及一种视频云平台播放视频的方法及装置。
现有技术的计算环境取决于每个终端各自的硬件性能。随着计算机网络技术的发展,现有技术的计算环境发展为云计算环境,其中,所述云计算环境根据终端的请求,使用网络上的各种计算资源来提供相应的服务。
然而,近年来,云计算成为IT领域最令人关注的话题之一,在使用过程中无法达到用户预想视频合成效果,无法在云端实现高质量的视音频的精确编辑与播放及无法利用服务器资源进行并行计算,因此无法提高设备的利用率。
发明内容
本发明的目的在于提供一种视频云平台播放视频的方法及装置,解决了现有技术中无法在云端实现高质量的视音频的精确编辑与播放及无法利用服务器资源进行并行计算的问题。
根据本发明的一个方面,提供了一种视频云平台播放视频的方法,包括以下步骤:
客户端连接到视频云平台后,视频云平台根据客户端的渲染请求,向客户端提供多种渲染效果的视频帧,以供客户端进行选择;
视频云平台接收客户端的视频帧选择结果,并保存客户端选择的视频帧的渲染参数;
在客户端随后向视频云平台发出视频播放请求时,视频云平台利用其保存的渲染参数对客户端请求播放的视频进行渲染后,发送给所述客户端。
优选地,所述视频云平台包括流媒体服务器和渲染服务器;
其中所述流媒体服务器根据客户端的视频播放请求,向客户端播放相应的视频;
所述渲染服务器在客户端连接到视频云平台后,提供多种渲染效果的视频帧、接收客户端的视频帧选择结果、保存客户端选择的视频帧的渲染参数,并在所述流媒体服务器向客户端播放视频时,利用其保存的渲染参数对播放的视频进行渲染。
优选地,所述视频云平台还包括视频合成服务器,所述视频合成服务器根据客户端的多个视频合成请求,将属于多个流媒体服务器的视频进行合成处理后,发送给所述客户端。
优选地,所述客户端以信令协议数据包的方式向流媒体服务器发出视频播放请求;所述流媒体服务器以媒体协议数据包的方式向客户端发送需要播放的相应视频。
优选地,所述信令协议数据包包括帧信令协议数据包、文件播放信令协议数据包以及播放停止信令协议数据包;所述媒体协议数据包包括视频媒体数据协议数据包、音频媒体数据协议数据包以及IBP单帧视频媒体数据协议数据包。
根据本发明的另一方面,提供了一种视频云平台播放视频的装置,包括:
选择视频帧模块,用于客户端连接到视频云平台后,视频云平台根据客户端的渲染请求,向客户端提供多种渲染效果的视频帧,以供客户端进行选择;
保存渲染参数模块,用于视频云平台接收客户端的视频帧选择结果,并保存客户端选择的视频帧的渲染参数;
视频渲染模块,用于在客户端随后向视频云平台发出视频播放请求时,视频云平台利用其保存的渲染参数对客户端请求播放的视频进行渲染后,发送给所述客户端。
优选地,所述视频云平台包括流媒体服务器和渲染服务器;
其中所述流媒体服务器根据客户端的视频播放请求,向客户端播放相应的视频;
所述渲染服务器在客户端连接到视频云平台后,提供多种渲染效果的视频帧、接收客户端的视频帧选择结果、保存客户端选择的视频帧的渲染参数,并在所述流媒体服务器向客户端播放视频时,利用其保存的渲染参数对播放的视频进行渲染。
优选地,所述视频云平台还包括视频合成服务器,所述视频合成服务器根据
客户端的多个视频合成请求,将属于多个流媒体服务器的视频进行合成处理后,发送给所述客户端。
优选地,所述客户端以信令协议数据包的方式向流媒体服务器发出视频播放请求;所述流媒体服务器以媒体协议数据包的方式向客户端发送需要播放的相应视频。
优选地,所述信令协议数据包包括帧信令协议数据包、文件播放信令协议数据包以及播放停止信令协议数据包;所述媒体协议数据包包括视频媒体数据协议数据包、音频媒体数据协议数据包以及IBP单帧视频媒体数据协议数据包。
与现有技术相比较,本发明的有益效果在于:
本发明
图1是本发明提供的一种视频云平台播放视频的方法流程图;
图2是本发明提供的一种视频云平台播放视频的装置示意图;
图3是本发明实施例提供的视频云平台播放视频的渲染服务器工作的示意图;
图4是本发明实施例提供的视频云平台播放视频的视频合成服务器工作的示意图。
以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1是本发明提供的一种视频云平台播放视频的方法流程图,如图1所示,包括以下步骤:
步骤S101:客户端连接到视频云平台后,视频云平台根据客户端的渲染请求,向客户端提供多种渲染效果的视频帧,以供客户端进行选择;
步骤S102:视频云平台接收客户端的视频帧选择结果,并保存客户端选择的视频帧的渲染参数;
步骤S103:在客户端随后向视频云平台发出视频播放请求时,视频云平台
利用其保存的渲染参数对客户端请求播放的视频进行渲染后,发送给所述客户端。
其中,所述视频云平台包括流媒体服务器和渲染服务器;其中所述流媒体服务器根据客户端的视频播放请求,向客户端播放相应的视频;所述渲染服务器在客户端连接到视频云平台后,提供多种渲染效果的视频帧、接收客户端的视频帧选择结果、保存客户端选择的视频帧的渲染参数,并在所述流媒体服务器向客户端播放视频时,利用其保存的渲染参数对播放的视频进行渲染。
其中,所述视频云平台还包括视频合成服务器,所述视频合成服务器根据客户端的多个视频合成请求,将属于多个流媒体服务器的视频进行合成处理后,发送给所述客户端。
具体地说,所述客户端以信令协议数据包的方式向流媒体服务器发出视频播放请求;所述流媒体服务器以媒体协议数据包的方式向客户端发送需要播放的相应视频。其中,所述信令协议数据包包括帧信令协议数据包、文件播放信令协议数据包以及播放停止信令协议数据包;所述媒体协议数据包包括视频媒体数据协议数据包、音频媒体数据协议数据包以及IBP单帧视频媒体数据协议数据包。
图2是本发明提供的一种视频云平台播放视频的装置示意图,如图2所示,包括:选择视频帧模块201、保存渲染参数模块202以及视频渲染模块203。所述选择视频帧模块201,用于客户端连接到视频云平台后,视频云平台根据客户端的渲染请求,向客户端提供多种渲染效果的视频帧,以供客户端进行选择;所述保存渲染参数模块202,用于视频云平台接收客户端的视频帧选择结果,并保存客户端选择的视频帧的渲染参数;所述视频渲染模块203,用于在客户端随后向视频云平台发出视频播放请求时,视频云平台利用其保存的渲染参数对客户端请求播放的视频进行渲染后,发送给所述客户端。
其中,所述视频云平台包括流媒体服务器和渲染服务器;其中所述流媒体服务器根据客户端的视频播放请求,向客户端播放相应的视频;所述渲染服务器在客户端连接到视频云平台后,提供多种渲染效果的视频帧、接收客户端的视频帧选择结果、保存客户端选择的视频帧的渲染参数,并在所述流媒体服务器向客户端播放视频时,利用其保存的渲染参数对播放的视频进行渲染。
其中,所述视频云平台还包括视频合成服务器,所述视频合成服务器根据客
户端的多个视频合成请求,将属于多个流媒体服务器的视频进行合成处理后,发送给所述客户端。
其中,所述客户端以信令协议数据包的方式向流媒体服务器发出视频播放请求;所述流媒体服务器以媒体协议数据包的方式向客户端发送需要播放的相应视频。所述信令协议数据包包括帧信令协议数据包、文件播放信令协议数据包以及播放停止信令协议数据包;所述媒体协议数据包包括视频媒体数据协议数据包、音频媒体数据协议数据包以及IBP单帧视频媒体数据协议数据包。
视频云平台来完成视频原素材的读取,充分利用视频云平台计算资源,并行解码。同时要根据网络带宽情况进行编码的码率调节。同时要响应客户端的命令操作,比如客户端要求得到视频文件的某一帧图像,以及需要将多少视频进行合成等等。根据当前硬件的状态来决定启动多少个渲染服务器,比如当前渲染服务器CPU(Central Processing Unit,中央处理器)/GPU(Graphics Processing Unit,图形处理器)的数量来分配计算单元,同时渲染服务器要能根据不断加入的硬件资源来调度渲染服务器,比如在计算过程中有新的工作站加入到集群中来渲染服务器要能将渲染任务及时均分到新的工作站中。
视频云平台要求在不同的操作系统中能够运行,所以视频云平台要能支持跨平台操作,同时为了保证视频云平台的计算成本,可以选用能支持多种视频编解码格式的开源软件。视频云平台软件分为两种:渲染服务器主要用来接收客户端视频请求,比如播放,得帧等请求,然后将结果发送给客户端;视频合成服务器主要用来接收客户端合成结果请求,打包成指定的格式。
视频云平台要支持集群,集群就是需要将多种硬件资源并行运转起来,以达到充分利用资源的目的。在实际使用中,可能一个服务器中有多个CPU与GPU,同时也可能是一个服务器群,有多个服务器来保证视频计算的并行性。集群算法是对每个客户端在连接的时候,轮换将客户端与一个服务器连接起来,这样就能在物理上能将客户端均匀的分配给不同的服务器。同时可以根据当前服务器的工作状态来进行调整,比如当前服务器可能工作的非常满负荷,如果有客户端在向这个服务器发出请求,就应该将这个客户端连接到其它空闲的服务器上。
本发明的工作流程:客户端通过PHP配置得到流媒体服务器的外网地址,然后与流媒体服务器进行连接,同时客户端与流媒体服务器是要保连接的。流媒体
服务接到每一个客户端连接请求后,将启动一个线程,这个线程将分配到指定的CPU硬件资源中来工作,将完成与客户端的对话和渲染任务,流媒体服务器在启动播放后得到一定数量的视音频数据后,然后将按照一定速率进行数据推送,推送的数据可以是H264IBP视频数据流以及AAC音频流;流媒体服务器需要支持各种视音频格式因此要进行非常复杂的视频转换,比如视频格式的转换,制式的转换,分辨率的转换,像素宽高比的转换等等。流媒体服务器在播放的时候将顺序将视音频压缩数据通过TCP私有协议发给客户端;流媒体服务器与客户端定义有信令协议数据包规范(由客户端向流媒体服务器发出请求)和媒体数据协议数据包协议(由流媒体服务器向客户端推送数据);信令协议数据包得帧信令协议数据包、文件播放信令协议数据包、播放停止信令协议数据包等,而媒体数据协议数据包有视频媒体数据协议数据包、音频媒体数据协议数据包、IBP单帧视频媒体数据协议数据包。
如图3所示,所述渲染服务器在客户端连接到视频云平台后,提供多种渲染效果的视频帧、接收客户端的视频帧选择结果、保存客户端选择的视频帧的渲染参数,并在所述流媒体服务器向客户端播放视频时,利用其保存的渲染参数对播放的视频进行渲染。也就是说,客户端主要用来响应用户的操作,并向流媒体服务器发出命令,将渲染结果显示在界面中,并将用户的结果保存在服务器中;客户端要进行界面和流媒体播放控制同时要定义一套数据结构用来保存用户的结果和用来与服务器端进行数据交互。
如图4所示,所述视频合成服务器根据客户端的多个视频合成请求,将属于多个流媒体服务器的视频进行合成处理后,发送给所述客户端。也就是说,合成服务器在8888端口提供服务,客户端通过http协议发给合成任务服务器多个任务,并将任务轮换分配到不同的服务器同时对每个任务都启动多线程可以进行多帧的并行合成。
综上所述,本发明具有以下技术效果:
本发明可根据前台业务需求动态分配相关的渲染资源,显著减少客户端的投入,真正令前台瘦客户端化。视频云计算系统具备流媒体服务接口,使用帧渲染技术,支持各种格式的视音频文件外,还可实时进行多层视音频编解码、压缩等运算,然后进行帧传输,发布到客户端,实现面向编辑类的流服务发布,这些运
算都要在很短时间内完成。基于视频云计算技术,用户即使利用笔记本电脑、IPAD等小型瘦客户端,也可进行快速帧精度的搜索操作响应、多层视频编辑、预览操作,实现实时视频合成效果,同时大幅降低客户端的投资,必要时共享的打包渲染中心还可以动态扩展,提高了设备利用率,保护了投资。
尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。
Claims (10)
- 一种视频云平台播放视频的方法,其特征在于,包括以下步骤:客户端连接到视频云平台后,视频云平台根据客户端的渲染请求,向客户端提供多种渲染效果的视频帧,以供客户端进行选择;视频云平台接收客户端的视频帧选择结果,并保存客户端选择的视频帧的渲染参数;在客户端随后向视频云平台发出视频播放请求时,视频云平台利用其保存的渲染参数对客户端请求播放的视频进行渲染后,发送给所述客户端。
- 根据权利要求1所述的方法,其特征在于,所述视频云平台包括流媒体服务器和渲染服务器;其中所述流媒体服务器根据客户端的视频播放请求,向客户端播放相应的视频;所述渲染服务器在客户端连接到视频云平台后,提供多种渲染效果的视频帧、接收客户端的视频帧选择结果、保存客户端选择的视频帧的渲染参数,并在所述流媒体服务器向客户端播放视频时,利用其保存的渲染参数对播放的视频进行渲染。
- 根据权利要求1所述的方法,其特征在于,所述视频云平台还包括视频合成服务器,所述视频合成服务器根据客户端的多个视频合成请求,将属于多个流媒体服务器的视频进行合成处理后,发送给所述客户端。
- 根据权利要求2所述的方法,其特征在于,所述客户端以信令协议数据包的方式向流媒体服务器发出视频播放请求;所述流媒体服务器以媒体协议数据包的方式向客户端发送需要播放的相应视频。
- 根据权利要求4所述的方法,其特征在于,所述信令协议数据包包括帧信令协议数据包、文件播放信令协议数据包以及播放停止信令协议数据包;所述媒体协议数据包包括视频媒体数据协议数据包、音频媒体数据协议数据包以及IBP单帧视频媒体数据协议数据包。
- 一种视频云平台播放视频的装置,其特征在于,包括:选择视频帧模块,用于客户端连接到视频云平台后,视频云平台根据客户端的渲染请求,向客户端提供多种渲染效果的视频帧,以供客户端进行选择;保存渲染参数模块,用于视频云平台接收客户端的视频帧选择结果,并保存客户端选择的视频帧的渲染参数;视频渲染模块,用于在客户端随后向视频云平台发出视频播放请求时,视频云平台利用其保存的渲染参数对客户端请求播放的视频进行渲染后,发送给所述客户端。
- 根据权利要求6所述的装置,其特征在于,所述视频云平台包括流媒体服务器和渲染服务器;其中所述流媒体服务器根据客户端的视频播放请求,向客户端播放相应的视频;所述渲染服务器在客户端连接到视频云平台后,提供多种渲染效果的视频帧、接收客户端的视频帧选择结果、保存客户端选择的视频帧的渲染参数,并在所述流媒体服务器向客户端播放视频时,利用其保存的渲染参数对播放的视频进行渲染。
- 根据权利要求6所述的装置,其特征在于,所述视频云平台还包括视频合成服务器,所述视频合成服务器根据客户端的多个视频合成请求,将属于多个流媒体服务器的视频进行合成处理后,发送给所述客户端。
- 根据权利要求7所述的装置,其特征在于,所述客户端以信令协议数据包的方式向流媒体服务器发出视频播放请求;所述流媒体服务器以媒体协议数据包的方式向客户端发送需要播放的相应视频。
- 根据权利要求9所述的装置,其特征在于,所述信令协议数据包包括帧信令协议数据包、文件播放信令协议数据包以及播放停止信令协议数据包;所述媒体协议数据包包括视频媒体数据协议数据包、音频媒体数据协议数据包以及IBP单帧视频媒体数据协议数据包。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510994084.X | 2015-12-25 | ||
CN201510994084.XA CN105635751B (zh) | 2015-12-25 | 2015-12-25 | 一种视频云平台播放视频的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017107911A1 true WO2017107911A1 (zh) | 2017-06-29 |
Family
ID=56050179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2016/111258 WO2017107911A1 (zh) | 2015-12-25 | 2016-12-21 | 一种视频云平台播放视频的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105635751B (zh) |
WO (1) | WO2017107911A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112040274A (zh) * | 2020-09-10 | 2020-12-04 | 杭州叙简科技股份有限公司 | 一种基于webrtc的网页视频单帧播放方法 |
CN114979766A (zh) * | 2022-05-11 | 2022-08-30 | 深圳市大头兄弟科技有限公司 | 音视频的合成方法、装置、设备及存储介质 |
CN116761018A (zh) * | 2023-08-18 | 2023-09-15 | 湖南马栏山视频先进技术研究院有限公司 | 一种基于云平台的实时渲染系统 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105635751B (zh) * | 2015-12-25 | 2019-01-04 | 北京大学第三医院 | 一种视频云平台播放视频的方法及装置 |
CN107707930B (zh) * | 2016-08-09 | 2021-01-15 | 北京奇虎科技有限公司 | 视频处理方法、装置及系统 |
CN107529711A (zh) * | 2017-08-01 | 2018-01-02 | 杭州安恒信息技术有限公司 | 流媒体的显示方法及装置 |
CN109408666B (zh) * | 2018-10-12 | 2021-01-05 | 北京亿幕信息技术有限公司 | 一种云剪素材库系统及实现方法 |
CN109640120A (zh) * | 2018-12-18 | 2019-04-16 | 浩云科技股份有限公司 | 一种高并发音视频媒体数据网络传输方法及装置 |
CN112040270B (zh) * | 2019-06-03 | 2022-05-31 | 广州虎牙信息科技有限公司 | 一种直播方法、装置、设备和存储介质 |
CN112565921A (zh) * | 2019-09-26 | 2021-03-26 | 陶龙 | Vr视频播放方法及装置 |
CN111127296B (zh) * | 2019-12-24 | 2023-05-26 | 北京恒泰实达科技股份有限公司 | 一种在大屏可视化系统中高效图片渲染方法 |
CN114650434A (zh) * | 2020-12-18 | 2022-06-21 | 华为云计算技术有限公司 | 一种基于云服务的渲染方法及其相关设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012078640A2 (en) * | 2010-12-06 | 2012-06-14 | The Regents Of The University Of California | Rendering and encoding adaptation to address computation and network bandwidth constraints |
CN103888485A (zh) * | 2012-12-19 | 2014-06-25 | 华为技术有限公司 | 云计算资源的分配方法、装置及系统 |
CN104461788A (zh) * | 2014-12-30 | 2015-03-25 | 成都品果科技有限公司 | 一种基于远程特效渲染的移动端照片备份方法及系统 |
CN104796393A (zh) * | 2014-05-30 | 2015-07-22 | 厦门极致互动网络技术有限公司 | 一种基于服务器实时渲染的网络游戏系统及方法 |
US20150229692A1 (en) * | 2014-02-11 | 2015-08-13 | International Business Machines Corporation | Implementing reduced video stream bandwidth requirements when remotely rendering complex computer graphics scene |
CN105635751A (zh) * | 2015-12-25 | 2016-06-01 | 北京大学第三医院 | 一种视频云平台播放视频的方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102025973B (zh) * | 2010-12-17 | 2014-07-02 | 广东威创视讯科技股份有限公司 | 视频合成方法及视频合成系统 |
CN102868923B (zh) * | 2012-09-13 | 2016-04-06 | 北京富年科技有限公司 | 应用于移动终端视频的特效云处理方法、设备及系统 |
CN104427259A (zh) * | 2013-09-03 | 2015-03-18 | 广州市千钧网络科技有限公司 | 视频音频特效实时播放方法及装置 |
CN104954850B (zh) * | 2015-06-03 | 2019-08-06 | 新奥特(北京)视频技术有限公司 | 非线性编辑软件的调度方法和装置 |
-
2015
- 2015-12-25 CN CN201510994084.XA patent/CN105635751B/zh active Active
-
2016
- 2016-12-21 WO PCT/CN2016/111258 patent/WO2017107911A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012078640A2 (en) * | 2010-12-06 | 2012-06-14 | The Regents Of The University Of California | Rendering and encoding adaptation to address computation and network bandwidth constraints |
CN103888485A (zh) * | 2012-12-19 | 2014-06-25 | 华为技术有限公司 | 云计算资源的分配方法、装置及系统 |
US20150229692A1 (en) * | 2014-02-11 | 2015-08-13 | International Business Machines Corporation | Implementing reduced video stream bandwidth requirements when remotely rendering complex computer graphics scene |
CN104796393A (zh) * | 2014-05-30 | 2015-07-22 | 厦门极致互动网络技术有限公司 | 一种基于服务器实时渲染的网络游戏系统及方法 |
CN104461788A (zh) * | 2014-12-30 | 2015-03-25 | 成都品果科技有限公司 | 一种基于远程特效渲染的移动端照片备份方法及系统 |
CN105635751A (zh) * | 2015-12-25 | 2016-06-01 | 北京大学第三医院 | 一种视频云平台播放视频的方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112040274A (zh) * | 2020-09-10 | 2020-12-04 | 杭州叙简科技股份有限公司 | 一种基于webrtc的网页视频单帧播放方法 |
CN114979766A (zh) * | 2022-05-11 | 2022-08-30 | 深圳市大头兄弟科技有限公司 | 音视频的合成方法、装置、设备及存储介质 |
CN114979766B (zh) * | 2022-05-11 | 2023-11-21 | 深圳市闪剪智能科技有限公司 | 音视频的合成方法、装置、设备及存储介质 |
CN116761018A (zh) * | 2023-08-18 | 2023-09-15 | 湖南马栏山视频先进技术研究院有限公司 | 一种基于云平台的实时渲染系统 |
CN116761018B (zh) * | 2023-08-18 | 2023-10-17 | 湖南马栏山视频先进技术研究院有限公司 | 一种基于云平台的实时渲染系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105635751A (zh) | 2016-06-01 |
CN105635751B (zh) | 2019-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017107911A1 (zh) | 一种视频云平台播放视频的方法及装置 | |
US10930318B2 (en) | Gapless video looping | |
US10229651B2 (en) | Variable refresh rate video capture and playback | |
JP5596808B2 (ja) | マルチ・ユーザ遠隔ビデオ編集 | |
JP5897134B2 (ja) | モバイルマルチメディアリアルタイムトランスコーディングシステム、装置、記憶媒体、および方法 | |
US11128903B2 (en) | Systems and methods of orchestrated networked application services | |
US20120127183A1 (en) | Distribution Processing Pipeline and Distributed Layered Application Processing | |
JP7386990B2 (ja) | ビデオ再生方法、装置、機器及びコンピュータプログラム | |
TW200948088A (en) | System and method for virtual 3D graphics acceleration and streaming multiple different video streams | |
WO2014139269A1 (zh) | 基于虚拟桌面的视频播放、处理方法及装置 | |
CN108337560A (zh) | 用于在web浏览器上播放媒体的媒体重放设备和媒体服务设备 | |
WO2015196590A1 (zh) | 桌面云视频的播放处理方法及装置 | |
WO2023040825A1 (zh) | 媒体信息的传输方法、计算设备及存储介质 | |
CN116636224A (zh) | 可替代联网应用程序服务的系统和方法 | |
WO2021036784A1 (zh) | 一种媒体数据处理方法、装置、媒体服务器及计算机可读存储介质 | |
CN111741343B (zh) | 视频处理方法及装置、电子设备 | |
CN105992018B (zh) | 流媒体转码方法和装置 | |
CN112543373B (zh) | 一种转码控制方法、装置及电子设备 | |
CN112584084B (zh) | 一种视频播放方法、装置、计算机设备和存储介质 | |
WO2023108468A1 (zh) | 一种流媒体处理方法、系统及设备 | |
Börner et al. | Performance of Augmented Reality Remote Rendering via Mobile Network | |
Avveduto et al. | A Scalable Cluster-Rendering Architecture for Immersive Virtual Environments | |
JP2017143475A (ja) | 配信管理装置、受信装置、分散処理システム、及びプログラム | |
JP2024515488A (ja) | スタッキング特性を有するプレロール、ミッドロールおよびエンドロールをサポートするためのmpeg dash用の補助mpdに関する方法、装置、媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16877721 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 16877721 Country of ref document: EP Kind code of ref document: A1 |