WO2019096064A1 - 数据传输方法和装置、存储介质及电子装置 - Google Patents

数据传输方法和装置、存储介质及电子装置 Download PDF

Info

Publication number
WO2019096064A1
WO2019096064A1 PCT/CN2018/114762 CN2018114762W WO2019096064A1 WO 2019096064 A1 WO2019096064 A1 WO 2019096064A1 CN 2018114762 W CN2018114762 W CN 2018114762W WO 2019096064 A1 WO2019096064 A1 WO 2019096064A1
Authority
WO
WIPO (PCT)
Prior art keywords
video stream
stream data
view
playback
client
Prior art date
Application number
PCT/CN2018/114762
Other languages
English (en)
French (fr)
Inventor
涂远东
Original Assignee
腾讯科技(深圳)有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Publication of WO2019096064A1 publication Critical patent/WO2019096064A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists

Definitions

  • the present application relates to the field of computers, and in particular to a data transmission method and apparatus, a storage medium, and an electronic device.
  • a 360-degree spherical panoramic image is used to construct each frame of video image frame in the video.
  • the 360-degree spherical panoramic image may be divided into different image images according to a Field of View (FOV), so that when the perspective of the player changes, the image displayed on the display interface of the device is adjusted.
  • FOV Field of View
  • the video stream data corresponding to the new perspective of the player change is requested to be actively requested by the server after the player's perspective is changed. That is to say, when the player's perspective changes, the playback client needs to restart the request procedure every time, acquire the video stream data corresponding to the new perspective from the server, and buffer the video stream data in a certain period of time.
  • the embodiment of the present application provides a data transmission method and apparatus, a storage medium, and an electronic device to solve at least a technical problem of requesting a transmission delay caused by a plurality of video stream data matching a changed viewing angle to a server.
  • a data transmission method including: acquiring, by a server, a current playback perspective of a playback client, where the playback client is configured to play video stream data of the selected live program; the server is cached In the view video stream data, the current play view video stream data that matches the current play view is determined, where the cached view video stream data includes the view video stream data of the plurality of views corresponding to the live program, and the multiple views include The current playback perspective; the server pushes the current playback view video stream data to the playback client.
  • a data transmission method including: playing a client to obtain a current playback perspective of a playback client, where the playback client is configured to play video stream data of the selected live program;
  • the playback client sends a control command carrying the current playback perspective to the server;
  • the playback client obtains the current playback view video stream data that is pushed by the server and matches the current playback perspective, wherein the server caches multiple perspectives corresponding to the live program. Viewing video stream data, multiple perspectives including the current playback perspective.
  • a data transmission apparatus is further provided, which is applied to a server, including: a first acquiring unit, configured to acquire a current playback perspective of a playback client, where the playback client is used for playing The video stream data of the live program; the first determining unit is configured to determine, in the view video stream data that has been cached by the server, the current play view video stream data that matches the current play view, wherein the cached view video stream data is The view video stream data includes a plurality of views corresponding to the live program, and the plurality of views include a current play view.
  • the first push unit is configured to push the current play view video stream data to the play client.
  • a data transmission apparatus is further provided, which is applied to a playback client, and includes: a first acquiring unit, configured to acquire a current playback perspective of a playback client, where the playback client is used for playing The video stream data of the selected live program; the sending unit is configured to send a control instruction carrying the current playback perspective to the server; and the second obtaining unit is configured to acquire the current playback view video stream data that is pushed by the server and matches the current playback perspective.
  • the server has a plurality of views of the video stream data corresponding to the live program, and the plurality of views include the current play view.
  • a storage medium comprising a stored computer program, wherein the program is executed to execute the method described above.
  • an electronic device comprising a memory, a processor, and a computer program stored on the memory and operable on the processor, wherein the processor executes the above by using the computer program Methods.
  • the server determines from the cached video stream data.
  • the current playback view video stream data of the current playback view is matched, wherein the cached view video stream data includes the view video stream data of the plurality of views corresponding to the live program, and the plurality of views include the current play view;
  • the server displays the current view angle.
  • the corresponding video stream data is sent to the playing client, so that the video stream data of the live stream program and the video stream data matching the current playing angle are actively pushed to the playing client to overcome the need to play the client in the related art.
  • the technical problem of the transmission delay caused by the video stream data matching the changed viewing angle is requested to the server multiple times, thereby achieving the purpose of reducing the transmission delay.
  • FIG. 1 is a schematic diagram of an alternative application environment according to an embodiment of the present application.
  • FIG. 2 is a flow chart of an alternative data transmission method according to an embodiment of the present application.
  • FIG. 3 is a schematic diagram of an optional data transmission method according to an embodiment of the present application.
  • FIG. 4 is a schematic diagram of another alternative data transmission method according to an embodiment of the present application.
  • FIG. 5 is a schematic diagram of still another optional data transmission method according to an embodiment of the present application.
  • FIG. 6 is a flow chart of another alternative data transmission method according to an embodiment of the present application.
  • FIG. 7 is a schematic diagram of an optional data transmission apparatus according to an embodiment of the present application.
  • FIG. 8 is a schematic diagram of another optional data transmission apparatus according to an embodiment of the present application.
  • FIG. 9 is a schematic diagram of an alternative electronic device in accordance with an embodiment of the present application.
  • FIG. 10 is a schematic diagram of another alternative electronic device in accordance with an embodiment of the present application.
  • the data transmission method may be, but is not limited to, being applied to an application environment as shown in FIG. 1, and the foregoing server may be, but not limited to, the distribution server 106.
  • the video acquisition device 102 acquires the live program to be played in real time, and converts the obtained live program into N-view view video stream data according to requirements, and sends the converted N-view view video stream data to the best state.
  • the media server 104 after receiving the converted N view video stream data, the media server 104 transmits the N video view video stream data belonging to the same program to the same distribution server 106 according to different programs, and distributes the data.
  • the server 106 transmits the view video stream data that matches the current playback view of the terminal player 108 to the terminal player 108.
  • the data transfer between the video capture device 102 and the media server 104 and the distribution server 106 and the play client 108 may be, but is not limited to, being completed through a network.
  • the distribution server 106 obtains the current playback perspective of the playback client, determines the current playback perspective video stream data that matches the current playback perspective, and pushes the current playback perspective video stream data in the cached perspective video stream data. Give the player a play.
  • the request for retrieving the video stream data corresponding to the new perspective is not required to be re-sent to the distribution server 106, which solves the serious problem in the process of streaming data during the live broadcast of the video.
  • the transmission delay problem improves the efficiency of live video.
  • the foregoing playing client includes, but is not limited to, at least one of the following: a mobile phone, a tablet computer, a notebook computer, etc.; the foregoing network may include, but is not limited to, a wireless network, where the wireless network includes : Bluetooth, WIFI and other networks that enable wireless communication.
  • a wireless network includes : Bluetooth, WIFI and other networks that enable wireless communication.
  • the media server with the best selection state may be, but is not limited to, the following conditions: the current task load of the media server, the distance between the media server and the video acquiring device, and the like, which are not specifically limited herein.
  • a data transmission method As shown in FIG. 2, the method includes:
  • S202 The server acquires a current playback perspective of the playback client, where the playback client is configured to play video stream data of the selected live program.
  • the server determines, in the cached view video stream data, current play view video stream data that matches the current play view, where the cached view video stream data includes a plurality of view angle video streams corresponding to the live program. Data, multiple perspectives including the current playback perspective;
  • the server pushes the current playback view video stream data to the playback client.
  • the foregoing data transmission method may be, but is not limited to, being applied to a virtual reality (VR) video live broadcast process.
  • VR virtual reality
  • the playback client needs to send a request to the server to obtain the video stream data corresponding to the new perspective.
  • the playback client needs to send requests to the server frequently, and thus, it is easy to cause a problem that the streaming data transmission delay is high.
  • the current playback perspective of the playback client is obtained by the server, and the current playback view video stream data matching the current playback perspective is determined in the cached view video stream data, and the current playback view video stream data is pushed.
  • the server can directly determine the current playback view video stream data that matches the current playback perspective, and push the video stream data to the playback client, thereby avoiding Every time the player's perspective changes, the request needs to be resent to the server, which reduces the transmission delay.
  • the above data transmission method may be implemented by, but not limited to, the method shown in FIG. 3.
  • the media server 302 transmits the view video stream data to the distribution server 304, and the distribution server 304 caches the view video stream data after receiving the view video stream data.
  • the distribution server 304 determines the current playback view video stream data that matches the playback perspective and pushes the current playback view video stream data to the playback client 306.
  • step S305 is repeated, and after the distribution server receives the changed current playback perspective, the perspective video stream data is changed to the perspective video stream data that matches the changed current playback perspective.
  • step S309 is repeated to push the changed view video stream data to the play client 306.
  • the current playback perspective may be obtained by a method set in advance, or may be obtained by detecting.
  • the visible range is a sphere, and at this time, the server can acquire the current playback angle by dividing the visible range.
  • the method of obtaining the current playback angle no specific limitation is made here.
  • the left side of FIG. 5 is a panoramic view of the visible range.
  • the server divides the panoramic view into nine viewing angle areas on the right side of FIG. 5, and determines and according to the viewing angle area where the current playing angle is located.
  • the view video stream data matching the view angle is currently played, and the view video stream data is pushed to the play client.
  • the method for locating the visible range by the server is only a feasible embodiment.
  • the method for obtaining the current playback angle is not specifically limited in this embodiment.
  • the current playback view video stream data that matches the current playback view angle may be determined by a method of establishing a view-view video stream data table.
  • Table 1 when the location of the perspective is area 1, the playback client sends the area 1 to the distribution server, and the distribution server views the area according to the perspective.
  • the view video stream data 1 corresponding to the area is pushed to the playback client.
  • the angle of view is in the area 2 or the area 3, the specific method is the same as when the angle of view is in the area 1 and will not be described here.
  • the determining, by the server, the current play view video stream data that matches the current play view includes the server acquiring the view video stream data of the plurality of views corresponding to the program identifier according to the program identifier of the live program.
  • the server may number the live program played by the playing client.
  • the playing client sends the number of the live program to the server, and the server streams the video from the cached view according to the number of the live program.
  • the view obtains the view video stream data of the plurality of views corresponding to the number of the live program.
  • the server determines the current play view video stream data that matches the current play view according to the obtained current play view.
  • the numbering of the live program is only an optional example. There are multiple ways to obtain the number of the live program, which is not specifically limited herein.
  • the server may further receive the video stream data of the plurality of perspectives corresponding to the live program identified by the program identifier and cache the data.
  • the server caches the view video stream data of the plurality of views in the predetermined time period.
  • Each of the video frames in the video stream data carries a view identifier of a view corresponding to the view video stream.
  • the media server sends the nine-view view video stream data corresponding to the program identifier.
  • the server caches the nine-view view video in the predetermined time period. Stream data.
  • the server may cache the first 5 seconds of the view video stream data for four views in minutes.
  • the video stream data duration is 5 minutes, and can be buffered for 0-5 seconds, 60-65 seconds, ..., 240-245 seconds.
  • the view number of the current playback view may be used as the view identifier carried in each video frame.
  • the area where the current playback view is located is area 2
  • the view identifier of each video frame in the corresponding view video stream data may be number 2 or binary number 0010, which is not specific here. limited.
  • the server may switch the current playback view video stream data to the changed view video stream data according to the current playback view switching time.
  • the server acquires the view angle after the current play view switchover, and switches the current play view video stream data to the changed view view video stream data according to the switched view angle, and the changed view The view video stream data is pushed to the playback client.
  • the server is used to obtain the current playback perspective of the playback client, where the playback client is used to play the video stream data of the selected live program; the server determines the current playback perspective in the cached perspective video stream data. Matching the current playback view video stream data, wherein the cached view video stream data includes the view video stream data of the plurality of views corresponding to the live program, the plurality of views including the current play view; and the server will play the view video stream data Pushing the method of playing the client, thereby realizing the technical effect of improving the playback efficiency of the video, that is, by directly determining the video stream data of the live program matching the current playback angle according to the current playback perspective, thereby solving the request to the server multiple times.
  • the server determines that the current playback view video stream data that matches the current playback view includes:
  • the server acquires a program identifier of a live program played by the client.
  • the server obtains, from the cached view video stream data, view video stream data of multiple views corresponding to the program identifier.
  • the server determines the current playback view video stream data that matches the current playback view.
  • the play client address-program identification-program-view video stream data correspondence table can be established.
  • the program being played by the playing client is the program 1
  • the server determines the plurality of viewing angle video stream data corresponding to the program 1 according to the program identifier corresponding to the program 1, and then according to the current playing angle (such as the angle of view 1)
  • the view video stream data of the current playback view (such as view video stream data 1) is sent to the corresponding play client according to the play client address.
  • the server can quickly locate the video stream data of the plurality of views corresponding to the program identifier according to the program identifier of the current program, thereby saving time for acquiring the video stream data of the view.
  • the method before the server obtains the current playback perspective of the playback client, the method further includes:
  • the server receives the video stream data of the plurality of views corresponding to the live program identified by the program identifier sent by the media server.
  • the server caches the view video stream data of the plurality of views in the predetermined time period, where each video frame in the view video stream data carries the view identifier of the view corresponding to the view video stream data.
  • the program 5 in the VR has nine viewing angles, and the nine viewing angles correspond to nine viewing angle video stream data.
  • Each video frame in the view video stream data corresponding to the view 1 carries the identifier of 0001; the view video stream data corresponding to the view 2 carries the identifier of 0002; and each of the view video stream data corresponding to the view 3
  • a video frame carries the identifier of 0003; the view video stream data corresponding to the view 4 carries the identifier of 0004... and so on.
  • the identifier of the view angle is carried in the video stream data corresponding to each view, so that when the video stream data of a certain view needs to be played, the server may be carried according to each video frame.
  • the identification is quickly located to the sequence of video frames to quickly play the video stream data corresponding to the view.
  • the method further includes:
  • the server obtains a playback perspective after the client is changed.
  • the server determines the changed view video stream data that matches the changed play perspective.
  • the server switches the current playback view video stream data to the changed view video stream data from a switching time of the current playback view to the changed play view.
  • S4 The server pushes the changed view video stream data to the play client.
  • the content distribution network (Content Delivery) server may change the pre-stored mapping relationship according to the switching time T1, such as changing the video stream data corresponding to the currently playing client. From the switching time T1, the CDN server will view the video stream corresponding to the current playing angle. Data 5 is switched to play the view video stream data 1 to ensure the continuity and fluency of the video play after the view angle is changed.
  • the server can quickly determine the video stream data corresponding to the changed playback perspective according to the changed playback perspective of the playback client, thereby ensuring the playback of the video stream data of the viewing angle.
  • the current playback viewing angle remains the same, improving the continuity and smoothness of video playback.
  • the server obtains a playback perspective after the client is changed.
  • the server receives a control command sent by the client, where the control command carries the changed playback.
  • the server sends the changed view video stream data to the play client, where the server pushes the changed view video stream data to the play client in the transmission link.
  • the foregoing control command may be, but is not limited to, being transmitted on the same transmission link as the data for transmitting the view video stream, without re-establishing the link connection, and the server acquires the changed view video stream data. .
  • the server acquires the changed view video stream data.
  • the server and the playback client use a single transmission link manner to complete the process of pushing the video stream data from the server to the playback client without setting up multiple connections in the playback client to establish multiple connections.
  • the problem of reducing the transmission delay caused by the playback client delaying the transmission delay caused by the video stream data matching the changed viewing angle to the server is overcome.
  • a data transmission method is further provided. As shown in FIG. 6, the method includes:
  • the playback client obtains a current playback perspective of the playback client, where the playback client is configured to play video stream data of the selected live program.
  • the playback client sends a control instruction that carries a current playback perspective to the server.
  • the playback client obtains the current playback view video stream data that is matched by the current playback view, and the server caches the view video stream data of the plurality of views corresponding to the live program.
  • the multiple views include the current playback view.
  • the foregoing data transmission method may be applied to the environment described in Embodiment 1, and details are not described herein.
  • the foregoing playback client may further include, but is not limited to, display control logic, where the display control logic is configured to control to adjust a display position of the current playback view video stream data in a device where the playback client is located.
  • the playing client can determine, but is not limited to, the display position of the video stream data in the client device according to the angular position according to the current playback perspective.
  • the current playback view video stream data that is pushed by the server and matched with the current playback view angle may be acquired by, but not limited to, a transmission link that sends a control instruction by the playback client.
  • the playback client sends a control command to the server, and the server sends the playback client to the playback client according to the control command.
  • the playback client sends a control command to the server, and the server sends the playback client to the playback client according to the control command.
  • the playback client obtains the playback perspective of the playback client, and obtains the current video stream data that matches the playback perspective from the server according to the playback perspective, so that when the playback perspective changes, there is no need to resend the request to the server. Reduces the switching delay of the playback client and improves the user experience.
  • the method further includes:
  • the playback client displays display control logic according to the current playback perspective.
  • the display control logic is configured to control the display position of the current playback view video stream data in the device where the client is played, so that the display position matches the current playback perspective. .
  • the playback client determines the display position of the current playback view video stream data in the playback client according to the current playback view, thereby realizing that the current playback view video stream data is displayed on the playback client according to the current playback view angle, and the display position is achieved.
  • the video stream of the client belongs to the effect matching the current playback angle.
  • the current playback view video stream data that the playback client obtains by the server and matches the current playback perspective includes:
  • the playback client obtains the current playback view video stream data that is pushed by the server and matches the current playback view angle.
  • the playback client uses a transmission link to transmit the control command and the current playback view video stream data, thereby reducing the occupation of the transmission link and improving the transmission efficiency.
  • the method further includes:
  • the playing client detects the rotation direction of the device by playing a gyro sensor in the device where the client is located;
  • the playing client determines the changed viewing angle according to the rotation direction
  • the playback client transmits, in the transmission link, a control instruction that carries the changed playback perspective to obtain the changed perspective video stream data that matches the changed playback perspective.
  • the rotation direction of the device is detected by using the gyro sensor in the device where the playback client is located.
  • the playback client determines the changed playback angle according to the rotation direction, and plays according to the change.
  • the view angle acquires the changed view video stream data, thereby achieving the effect that the view video stream data corresponds to the playback view angle.
  • a data transmission apparatus for implementing the foregoing data transmission method is further provided, which is applied to a server. As shown in FIG. 7, the apparatus includes:
  • the first obtaining unit 702 is configured to obtain a current playback perspective of the playback client, where the playback client is configured to play the video stream data of the selected live program.
  • the first determining unit 704 is configured to determine, in the view video stream data that is cached by the server, the current play view video stream data that matches the current play view angle, where the cached view view video stream data includes the live program Corresponding multiple-view view video stream data, the plurality of views including the current play view angle;
  • the first pushing unit 706 is configured to push the current playback view video stream data to the playback client.
  • the current playback perspective may be obtained by a method set in advance, or may be obtained by detecting.
  • the visible range is a sphere, and at this time, the current playback angle can be obtained by partitioning the visible range.
  • the method for obtaining the current playback angle is not specifically limited herein.
  • the left side of FIG. 5 is a panoramic view of the visible range.
  • the panoramic view is divided into nine viewing angle areas on the right side of FIG. 5 , and the current viewing angle is determined according to the current viewing angle area.
  • the view video stream data matched by the view angle is played, and the view video stream data is pushed to the play client.
  • the method for obtaining the current playback view by the method of zoning the visible range is only a feasible embodiment.
  • the method for obtaining the current playback view is not specifically limited in this embodiment.
  • the current playback view video stream data that matches the current playback view angle may be determined by a method of establishing a view-view video stream data table.
  • a method of establishing a view-view video stream data table when the location of the perspective is area 1, the playback client sends the area 1 to the distribution server, and the distribution server views the area according to the perspective.
  • the view video stream data 1 corresponding to the area is pushed to the playback client.
  • the specific method is the same as when the angle of view is in the area 1 and will not be described here.
  • the determining, by the foregoing, the currently playing view video stream data that matches the current play view includes acquiring the view video stream data of the plurality of views corresponding to the program identifier according to the program identifier of the live program.
  • the live program played by the playing client is numbered, and when the live program is played, the number of the live program is sent to the server, and the server obtains and broadcasts the data from the cached view video stream according to the number of the live program.
  • the number of the program stream data to the corresponding plurality of views of the video.
  • the current play view video stream data that matches the current play view is determined according to the current play view.
  • the numbering of the live program is only an optional example. There are multiple ways to obtain the number of the live program, which is not specifically limited herein.
  • the video stream data of the plurality of perspectives corresponding to the live program identified by the program identifier may be received and buffered.
  • the media server After receiving the view video stream data of the plurality of views corresponding to the program identifier sent by the media server, buffering the view video stream data of the plurality of views in the predetermined time period.
  • Each of the video frames in the video stream data carries a view identifier of a view corresponding to the view video stream.
  • the media server sends the nine-view view video stream data corresponding to the program identifier.
  • the server caches the nine-view view video in the predetermined time period. Stream data.
  • the first 5 seconds of each view of the four-view view video stream data may be buffered in minutes.
  • the video stream data duration is 5 minutes, and can be buffered for 0-5 seconds, 60-65 seconds, ..., 240-245 seconds.
  • the view number of the current playback view may be used as the view identifier carried in each video frame.
  • the area where the current playback view is located is area 2
  • the view identifier of each video frame in the corresponding view video stream data may be number 2 or binary number 0010, which is not specific here. limited.
  • the current playback view video stream data may be switched to the changed view video stream data according to the current playback view switching time.
  • the view angle after the current play view switch is obtained, and the current play view video stream data is switched to the changed view video stream data according to the switched view angle, and the changed view angle is changed.
  • the video stream data is pushed to the playback client.
  • the playback client is used to detect the current playback perspective, where the playback client is used to play the video stream data of the selected live program; and in the cached video stream data of the server, it is determined to match the current playback perspective.
  • the current playback view video stream data wherein the cached view video stream data includes a plurality of views of the view video stream data corresponding to the live program, the plurality of views including the current play view; and the current play view video stream data is pushed
  • the method of playing the client thereby achieving the technical effect of improving the playback efficiency of the video, that is, directly determining the video stream data of the live program matching the current playback angle according to the current playback perspective, thereby solving the request and change to the server multiple times.
  • the determining unit comprises:
  • the first obtaining module is configured to obtain a program identifier of a live program played by the playing client;
  • the second obtaining module is configured to acquire, from the cached view video stream data, the view video stream data of the plurality of views corresponding to the program identifier;
  • a determination module configured to determine current playback view video stream data that matches the current playback perspective.
  • the program being played by the client is the program 1, and the program corresponding to the program 1 is determined according to the program identifier corresponding to the program 1.
  • the video stream data of the plurality of viewing angles is further sent to the corresponding playing client according to the playing client address according to the current playing angle (such as the angle of view 1), and the video stream data of the current playing angle (such as the video stream data 1).
  • the video stream data of the plurality of views corresponding to the program identifier can be quickly located according to the program identifier of the current program, thereby saving time for acquiring the video stream data of the view.
  • the data transmission device further includes:
  • a receiving unit configured to receive the video stream data of the plurality of views corresponding to the live program identified by the program identifier sent by the media server;
  • a buffer unit configured to buffer the view video stream data of the plurality of views in the predetermined time period, wherein each of the video frames in the view video stream data carries the view identifier of the view corresponding to the view video stream data.
  • the program 5 in the VR has nine viewing angles, and the nine viewing angles correspond to nine viewing angle video stream data.
  • Each video frame in the view video stream data corresponding to the view 1 carries the identifier of 0001; the view video stream data corresponding to the view 2 carries the identifier of 0002; and each of the view video stream data corresponding to the view 3
  • a video frame carries the identifier of 0003; the view video stream data corresponding to the view 4 carries the identifier of 0004... and so on.
  • the identifier of the view is carried in the video stream data corresponding to each view, so that when the video stream data of a certain view needs to be played, the identifier carried in each video frame may be used. Quickly locate the sequence of video frames to quickly play video stream data corresponding to the view.
  • the data transmission device further includes:
  • the second obtaining unit is configured to obtain a playback perspective after the change of the playing client
  • the switching unit is configured to switch the current playback view video stream data to the changed view video stream data from a switching time of switching the current playback view to the changed play view;
  • the second pushing unit is configured to push the changed viewing angle video stream data to the playing client.
  • the delivery network (referred to as the CDN) server may change the pre-stored mapping relationship according to the switching time T1, such as changing the view video stream data corresponding to the currently playing client, and from the switching time T1, the view video stream data corresponding to the current playback view angle. 5. Switch to play the video stream data 1 to ensure the continuity and fluency of the video playback after the viewing angle changes.
  • the viewing video stream data corresponding to the changed playback perspective can be quickly determined according to the changed playback perspective of the playback client, thereby ensuring the played view video stream data and the current Keep the viewing angle consistent, improve the continuity and smoothness of video playback
  • the second obtaining unit includes: a receiving module, configured to receive a control command sent by the playing client in a transmission link that pushes the currently playing view video stream data, wherein the control command carries the changed viewing angle;
  • the second pushing unit comprises: a pushing module configured to push the changed viewing angle video stream data to the playing client in the transmission link.
  • the foregoing control instruction may be, but is not limited to, transmitting on the same transmission link as the data for transmitting the view video stream, without reestablishing the link connection, and acquiring the changed view video stream data.
  • the foregoing control instruction may be, but is not limited to, transmitting on the same transmission link as the data for transmitting the view video stream, without reestablishing the link connection, and acquiring the changed view video stream data.
  • the push process of the view video stream data is completed by using a single transmission link manner between the server and the play client, without resetting and establishing multiple connections in the play client to overcome multiple requests to the server.
  • the problem of the transmission delay caused by the video stream data matching the changed viewing angle achieves the effect of reducing the transmission delay.
  • a data transmission apparatus is further provided, which is applied to a playback client. As shown in FIG. 8, the apparatus includes:
  • the first obtaining unit 802 is configured to acquire a current playback perspective of the playback client, where the playback client is configured to play the video stream data of the selected live program.
  • the sending unit 804 is configured to send, to the server, a control instruction that carries a current playback perspective
  • the second obtaining unit 806 is configured to obtain the current playback view video stream data that is matched by the server and that is matched with the current playback view, where the server caches the video stream data of the plurality of views corresponding to the live program, and multiple The perspective includes the current playback perspective.
  • the foregoing data transmission method may be applied to the environment described in Embodiment 1, and details are not described herein.
  • the foregoing playback client may further include, but is not limited to, display control logic, where the display control logic is configured to control to adjust a display position of the current playback view video stream data in a device where the playback client is located.
  • the display position of the video stream data in the client device may be determined by, but not limited to, an angular position according to the current playback view angle.
  • the current playback view video stream data that is pushed by the server and matched with the current playback view angle may be acquired by, but not limited to, a transmission link that sends a control instruction.
  • a transmission link is established between the playback client and the server.
  • the playback client After the playback perspective of the playback client is changed, the playback client sends a control command to the server, and the server pushes the playback client to the playback client according to the control command.
  • the current playback view video stream data of the current playback angle match.
  • the current video stream data matching the playback perspective is obtained from the server according to the playback perspective, so that when the playback perspective changes, there is no need to resend the request to the server, thereby reducing playback.
  • the client's switching delay increases the user experience.
  • the data transmission device further includes: a display unit configured to change display control logic according to a current playback perspective, wherein the display control logic is configured to control to adjust a current playback view video stream data to play the client device The position in the display so that the display position matches the current playback angle.
  • the display position of the current playback view video stream data in the playback client is determined according to the current playback view, so that the display position of the current playback view video stream data in the playback client is adjusted according to the current playback view, and the video of the client is reached.
  • the stream belongs to an effect that matches the current playback angle.
  • the second obtaining unit includes: an obtaining module, configured to acquire, in the transmission link for sending the control instruction, the current playback view video stream data that is pushed by the server and matches the current playback view angle.
  • control command and the current playback view video stream data are transmitted by using one transmission link, thereby reducing the occupation amount of the transmission link and improving the transmission efficiency.
  • the second obtaining unit further includes:
  • a detecting module configured to detect a rotation direction of the device by playing a gyro sensor in a device where the client is located;
  • the transmission module is configured to transmit, in the transmission link, a control instruction carrying the changed playback perspective to acquire the changed viewing angle video stream data that matches the changed playback perspective.
  • the rotation direction of the device is detected by the gyro sensor in the device, and the changed viewing angle is determined according to the rotation direction, and the changed viewing angle video stream data is acquired according to the changed playing angle to achieve the viewing angle.
  • a storage medium is further provided.
  • the foregoing storage medium may be located in at least one of a plurality of network devices in a network.
  • the storage medium is arranged to store a computer program for performing the following steps:
  • the storage medium is further arranged to store a computer program for performing the following steps:
  • the storage medium is further arranged to store a computer program for performing the following steps:
  • S2 Storing view video stream data of a plurality of views in a predetermined time period, where each video frame in the view video stream data carries a view identifier of a view corresponding to the view video stream data.
  • the storage medium is further arranged to store a computer program for performing the following steps:
  • the current playback view video stream data is switched to the changed view video stream data from the switching time of the current playback view to the changed play view.
  • the storage medium is further arranged to store a computer program for performing the following steps:
  • Obtaining a playback perspective after the change of the playback client includes: receiving, in a transmission link for pushing data of the current playback view video stream, a control instruction sent by the playback client, where the control instruction carries the changed playback perspective;
  • Pushing the changed view video stream data to the play client includes: pushing the changed view video stream data to the play client in the transmission link.
  • the storage medium is further arranged to store a computer program for performing the following steps:
  • the current playback view video stream data that is matched by the current play view is matched by the server, where the server caches the view video stream data of the plurality of views corresponding to the live program, and the plurality of views include the current play view.
  • the storage medium is further arranged to store a computer program for performing the following steps:
  • S1 Display control logic according to a current playback viewing angle change, wherein the display control logic is configured to control to adjust a display position of the current playback view video stream data in a device where the playback client is located, so that the display position matches the current playback view angle.
  • the storage medium is further arranged to store a computer program for performing the following steps:
  • the storage medium is further arranged to store a computer program for performing the following steps:
  • the control command carrying the changed play angle is transmitted in the transmission link to obtain the changed view video stream data that matches the changed play angle.
  • the foregoing storage medium may include, but not limited to, a USB flash drive, a Read-Only Memory (ROM), a Random Access Memory (RAM), a mobile hard disk, and a magnetic memory.
  • ROM Read-Only Memory
  • RAM Random Access Memory
  • mobile hard disk a magnetic memory.
  • magnetic memory a variety of media that can store computer programs, such as a disc or an optical disc.
  • an electronic device for implementing the foregoing data transmission method is provided, which may be, but is not limited to, being applied to a server. As shown in FIG. 9, the electronic device includes:
  • a display 902 configured to display an operation panel matching the smart hardware in the application client of the terminal;
  • a sensor 904 connected to the processor 906, configured to detect a position of the contact where the control contact is located, wherein the control contact is used to control the intelligent hardware to complete the target action through the operation panel;
  • the processor 906 is connected to the display 902 and the sensor 904 and the communication interface 908, and is configured to generate a control instruction for instructing the intelligent hardware to complete the target action according to the contact position, wherein the control instruction includes An operation instruction that at least two components perform an operation;
  • the communication interface 908 is connected to the processor 906 and configured to send a control instruction to the intelligent hardware to control the intelligent hardware to perform an operation according to the operation instruction to complete the target action;
  • a memory 910 coupled to the processor 906, configured to store the generated control instructions.
  • processor 906 may further execute the following computer program:
  • processor 906 may further execute the following computer program:
  • processor 906 may further execute the following computer program:
  • S2 Storing view video stream data of a plurality of views in a predetermined time period, where each video frame in the view video stream data carries a view identifier of a view corresponding to the view video stream data.
  • processor 906 may further execute the following computer program:
  • the current playback view video stream data is switched to the changed view video stream data from the switching time of the current playback view to the changed play view.
  • processor 906 may further execute the following computer program:
  • Obtaining a playback perspective after the change of the playback client includes: receiving, in a transmission link for pushing data of the current playback view video stream, a control instruction sent by the playback client, where the control instruction carries the changed playback perspective;
  • Pushing the changed view video stream data to the play client includes: pushing the changed view video stream data to the play client in the transmission link.
  • an electronic device for implementing the foregoing data transmission method is provided, which may be, but is not limited to, being applied to a client of a terminal. As shown in FIG. 10, the electronic device includes:
  • the transmission device 1002 is connected to the processor 1004, and is configured to transmit a control instruction and transmit current view video stream data corresponding to the control instruction, where the control instruction includes a function for indicating that at least two components in the intelligent hardware perform an operation. Operation instruction
  • the processor 1004 is connected to the transmission device 1002 and configured to generate a control instruction for instructing the intelligent hardware to complete the target action according to the contact position;
  • processor 1004 may further execute the following computer program:
  • the current playback view video stream data that is matched by the current play view is obtained by the server, where the server caches the view video stream data of the plurality of views corresponding to the live program, and the multiple views include the current play view.
  • processor 1004 may further execute the following computer program:
  • S1 Display control logic according to a current playback viewing angle change, wherein the display control logic is configured to control to adjust a display position of the current playback view video stream data in a device where the playback client is located, so that the display position matches the current playback view angle.
  • processor 1004 may further execute the following computer program:
  • processor 1004 may further execute the following computer program:
  • the control command carrying the changed play angle is transmitted in the transmission link to obtain the changed view video stream data that matches the changed play angle.
  • the current playback view video stream data that matches the current playback perspective is determined from the cached perspective video stream data, and the current playback perspective is corresponding.
  • the view video stream data is pushed to the method of playing the client, so that the video stream data of the live broadcast program and the view video stream data matching the current play view are actively pushed to the play client, thereby overcoming the playback client multiple times.
  • the problem of the transmission delay caused by the video stream data matched by the server requesting the changed viewing angle achieves the purpose of reducing the transmission delay.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请公开了一种数据传输方法和装置、存储介质及电子装置。其中,该方法包括:服务器获取播放客户端的当前播放视角,其中,播放客户端用于播放被选中的直播节目的视频流数据;服务器在已缓存的视角视频流数据中,确定与当前播放视角匹配的当前播放视角视频流数据,其中,已缓存的视角视频流数据中包括与直播节目对应的多个视角的视角视频流数据,多个视角包括当前播放视角;服务器将当前播放视角视频流数据推送给播放客户端。本申请解决了多次向服务器请求与变化后的视角相匹配的视频流数据所导致的传输延时的技术问题。

Description

数据传输方法和装置、存储介质及电子装置
本申请要求于2017年11月16日提交中国专利局、优先权号为2017111414413、申请名称为“数据传输方法和装置、存储介质及电子装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机领域,具体而言,涉及一种数据传输方法和装置、存储介质及电子装置。
背景技术
目前,在虚拟实境(Virtual Reality,简称VR)视频直播过程中,采用了360度球形全景图像来构成视频中的每一帧视频图像帧。其中,上述360度球形全景图像可以根据视角(Field of View,简称FOV)划分为不同的图像画面,从而实现当播放者的视角发生改变时,调整在设备的显示界面中所显示的图像画面,来达到使播放者深刻体验到身临其境的感觉的目的。
在播放客户端播放上述正在直播的视频流数据的过程中,通常是在获取到播放者视角发生变化后,主动向服务器请求获取播放者变化后的新视角所对应的视频流数据。也就是说,当播放者视角发生变化时,播放客户端每次都需重新启动请求程序,向服务器获取新视角对应的视频流数据,并缓冲一定时间段内的视频流数据。
通过上述多次向服务器请求并缓冲与变化后的视角相匹配的视频流数据的方式,来实现视频直播过程中的流数据传输,存在严重的传输延时问题,将大大影响视频直播的实时性。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供一种数据传输方法和装置、存储介质及电子装置,以至少解决多次向服务器请求与变化后的视角相匹配的视频流数据所导致的传输延时的技术问题。
根据本申请实施例的一个方面,提供了一种数据传输方法,包括:服务器获取播放客户端的当前播放视角,其中,播放客户端用于播放被选中的直播节目的视频流数据;服务器在已缓存的视角视频流数据中,确定与当前播放视角匹配的当前播放视角视频流数据,其中,已缓存的视角视频流数据中包括与直播节目对应的多个视角的视角视频流数据,多个视角包括当前播放视角;服务器将当前播放视角视频流数据推送给播放客户端。
根据本申请实施例的另一个方面,还提供了一种数据传输方法,包括:播放客户端获取播放客户端的当前播放视角,其中,播放客户端用于播放被选中的直播节目的视频流数据;播放客户端向服务器发送携带有当前播放视角的控制指令;播放客户端获取服务器推送的与当前播放视角匹配的当前播放视角视频流数据,其中,服务器中缓存有与直播节目对应的多个视角的视角视频流数据,多个视角包括当前播放视角。
根据本申请实施例的又一方面,还提供了一种数据传输装置,应用于服务器,包括:第一获取单元,设置为获取播放客户端的当前播放视角,其中,播放客户端用于播放被选中的直播节目的视频流数据;第一确定单元,设置为在服务器已缓存的视角视频流数据中,确定与当前播放视角匹配的当前播放视角视频流数据,其中,已缓存的视角视频流数据中包括与直播节目对应的多个视角的视角视频流数据,多个视角包括当前播放视角;第一推送单元,设置为将当前播放视角视频流数据推送给播放客户端。
根据本申请实施例的又一方面,还提供了一种数据传输装置,应用于播放客户端,包括:第一获取单元,设置为获取播放客户端的当前播放视角,其中,播放客户端用于播放被选中的直播节目的视频流数据;发送单元,设置为向服务器发送携带有当前播放视角的控制指令;第二获取单元, 设置为获取服务器推送的与当前播放视角匹配的当前播放视角视频流数据,其中,服务器中缓存有与直播节目对应的多个视角的视角视频流数据,多个视角包括当前播放视角。
根据本申请实施例的又一方面,还提供了一种存储介质,上述存储介质包括存储的计算机程序,其中,上述程序运行时执行上述的方法。
根据本申请实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在上述存储器上并可在上述处理器上运行的计算机程序,上述处理器通过上述计算机程序执行上述的方法。
在本申请实施例中,在服务器获取到播放客户端的当前播放视角之后,其中,播放客户端用于播放被选中的直播节目的视频流数据;服务器从已缓存的视角视频流数据中,确定与当前播放视角匹配的当前播放视角视频流数据,其中,已缓存的视角视频流数据中包括与直播节目对应的多个视角的视角视频流数据,多个视角包括当前播放视角;服务器将当前播放视角对应的视角视频流数据推送给播放客户端,从而实现将直播节目的视频流数据中,与当前播放视角匹配的视角视频流数据,主动推送给播放客户端,以克服相关技术中需要播放客户端多次向服务器请求与变化后的视角相匹配的视频流数据所导致的传输延时的技术问题,进而达到减少传输延时的目的。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种可选的应用环境的示意图;
图2是根据本申请实施例的一种可选的数据传输方法的流程图;
图3是根据本申请实施例的一种可选的数据传输方法的示意图;
图4是根据本申请实施例的另一种可选的数据传输方法的示意图;
图5是根据本申请实施例的又一种可选的数据传输方法的示意图;
图6是根据本申请实施例的另一种可选的数据传输方法的流程图;
图7是根据本申请实施例的一种可选的数据传输装置的示意图;
图8是根据本申请实施例的另一种可选的数据传输装置的示意图;
图9是根据本申请实施例的一种可选的电子装置的示意图;
图10是根据本申请实施例的另一种可选的电子装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一方面,提供了一种上述数据传输方法的实施例。作为一种可选的实施方式,该数据传输方法可以但不限于应用于如图1所示的应用环境中,上述服务器可以但不限于为分发服务器106。视频获取设备102实时获取需要播放的直播节目,并将获取到的直播节目根据要求 转换成N个视角的视角视频流数据,并将转换后的N个视角的视角视频流数据发送到状态最佳的媒体服务器104,媒体服务器104接收到转换的N个视角视频流数据后,根据不同的节目,将属于同一个节目的N个视角的视角视频流数据发送到同一个分发服务器106上,通过分发服务器106将与终端播放器108的当前播放视角匹配的视角视频流数据发送到终端播放器108上。其中,上述视频获取设备102与媒体服务器104与分发服务器106与播放客户端108之间的数据传递可以但不限于通过网络来完成。
在本实施例中,分发服务器106获取播放客户端的当前播放视角,在已缓存的视角视频流数据中,确定与当前播放视角匹配的当前播放视角视频流数据,并将当前播放视角视频流数据推送给播放客户端。由于本申请实施里中当播放客户端的播放视角改变后,不需要重新向分发服务器106发送获取新视角对应的视频流数据的请求,解决了视频直播过程中的流数据传输过程中存在的严重的传输延时问题,提高了视频直播的效率。
可选地,在本实施例中,上述播放客户端以包括但不限于以下至少之一:手机、平板电脑、笔记本电脑等设备;上述网络可以包括但不限于无线网络,其中,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述只是一种示例,本实施例对此不做任何限定。
可选地,在本实施例中,选择状态最佳的媒体服务器可以但不限于通过以下条件:媒体服务器的当前任务负载、媒体服务器与视频获取设备的距离远近等,在此不做具体限定。
根据本申请实施例,提供了一种数据传输方法,如图2所示,该方法包括:
S202,服务器获取播放客户端的当前播放视角,其中,播放客户端用于播放被选中的直播节目的视频流数据;
S204,服务器在已缓存的视角视频流数据中,确定与当前播放视角匹配的当前播放视角视频流数据,其中,已缓存的视角视频流数据中包括与 直播节目对应的多个视角的视角视频流数据,多个视角包括当前播放视角;
S206,服务器将当前播放视角视频流数据推送给播放客户端。
可选地,在本实施例中,上述数据传输方法可以但不限于应用于虚拟实境(Virtual Reality,简称VR)视频直播过程中。例如,以VR视频直播为例,当播放者视角发生变化时,需要播放客户端主动向服务器发送请求,以获取新视角对应的视频流数据。然而,由于播放者视角的频繁变化,播放客户端需要频繁的向服务器发送请求,因此,容易造成流数据传输延时高的问题。而在本实施例中,通过服务器获取播放客户端的当前播放视角,并在已缓存的视角视频流数据中确定与当前播放视角匹配的当前播放视角视频流数据,并将当前播放视角视频流数据推送给播放客户端,从而实现了播放客户端的播放者视角发生变化后,服务器可以直接确定与当前播放视角匹配的当前播放视角视频流数据,并将该视频流数据推送给播放客户端,从而避免了每次播放者视角发生变化后都需要向服务器重新发送请求,达到了降低传输延时的效果。
可选地,上述数据传输方法可以但不限于通过图3所示的方法实现。如图3所示,媒体服务器302将视角视频流数据发送给分发服务器304,分发服务器304在收到视角视频流数据后,缓存视角视频流数据。当接收到播放客户端306发送的当前播放视角时,分发服务器304确定与播放视角匹配的当前播放视角视频流数据,并向播放客户端306推送当前播放视角视频流数据。当播放客户端306的当前播放视角发生变化时,重复步骤S305,分发服务器收到改变后的当前播放视角后,将视角视频流数据变化为与改变后的当前播放视角匹配的视角视频流数据,并重复步骤S309,将变化后的视角视频流数据推送给播放客户端306。
可选地,可以但不限于通过提前设置的方法获得当前播放视角;或者是通过检测的方式获得当前播放视角。例如如图4所示,当人佩戴VR设备之后,可视范围为一个球形,此时,服务器可以通过将可视范围分区的方法获取当前播放视角。对于获取当前播放视角的方法,在此不做具体限 定。
具体如图5所示,图5左侧为一个可视范围的全景图,此时,服务器将该全景图分成图5右侧的九个视角区域,根据当前播放视角所在的视角区域,确定与当前播放视角匹配的视角视频流数据,并将视角视频流数据推送给播放客户端。
可选地,上述通过服务器对可视范围进行分区的方法获取当前播放视角仅仅为一种可行的实施例,对于获取当前播放视角的手段本实施例并不做具体限定。
可选地,可以通过建立视角-视角视频流数据表的方法确定与当前播放视角匹配的当前播放视角视频流数据。继续以图5中对视角的分区进行说明,具体如表1所示,视角所在的位置为区域1时,播放客户端将区域1发送给分发服务器,分发服务器根据视角所在的区域,将与视角所在区域对应的视角视频流数据1推送给播放客户端。当视角处于区域2或者区域3时,具体方法与视角处于区域1时相同,在此不做赘述。
表1
视角区域 视角视频流数据
区域1 视角视频流数据1
区域2 视角视频流数据2
区域3 视角视频流数据2
可选地,上述服务器确定与当前播放视角匹配的当前播放视角视频流数据包括服务器根据直播节目的节目标识获取与节目标识对应的多个视角的视角视频流数据。
可选地,服务器可以对播放客户端所播放的直播节目进行编号,当播放直播节目时,播放客户端将直播节目的编号发送给服务器,服务器根据直播节目的编号,从已缓存的视角视频流数据中获取与直播节目的编号向 对应的多个视角的视角视频流数据。当获取到与当前直播节目向对应的多个视角的视角视频流数据后,服务器再根据获取到的当前播放视角确定与当前播放视角匹配的当前播放视角视频流数据。
需要说明的是,上述对直播节目进行编号仅仅为一种可选示例,对于获取直播节目的编号有多种方式,在此不做具体限定。
可选地,在服务器获取播放客户端检测的当前播放视角之前,服务器还可以接受节目标识所标识直播节目对应的多个视角的视角视频流数据并缓存。
可选地,服务器接收到媒体服务器发送的节目标识对应的多个视角的视角视频流数据后,缓存在预定时间段内的多个视角的视角视频流数据。其中,视角视频流数据中的每一个视频帧中都携带有视角视频流对应的视角的视角标识。继续以图5进行说明,媒体服务器发送与节目标识对应的九个视角的视角视频流数据,当服务器接收到九个视角的视角视频流数据后,缓存预定时间段内的九个视角的视角视频流数据。
可选地,服务器可以以分钟为单位,缓存四个视角的视角视频流数据的每分钟的前5秒钟。以一个视角的视角视频流数据为例,视频流数据时长为5分钟,可以缓冲0-5秒,60-65秒,...,240-245秒。
可选地,可以以当前播放视角的视角号作为每一个视频帧中携带的视角标识。例如,继续以图进行说明,当前播放视角所在的区域为区域2,对应的视角视频流数据中的每一个视频帧做携带的视角标识可以为数字2,或者为二进制数字0010,在此不作具体限定。
可选地,服务器可以根据当前播放视角切换的时间,将当前播放视角视频流数据切换为变化后的视角视频流数据。
可选地,当当前播放视角切换之后,服务器获取当前播放视角切换后的视角,根据当切换后的视角,将当前播放视角视频流数据切换为变化后的视角视频流数据,并将变化后的视角视频流数据推送给播放客户端。
通过本申请实施例,采用服务器获取播放客户端当前播放视角,其中,播放客户端用于播放被选中的直播节目的视频流数据;服务器在已缓存的视角视频流数据中,确定与当前播放视角匹配的当前播放视角视频流数据,其中,已缓存的视角视频流数据中包括与直播节目对应的多个视角的视角视频流数据,多个视角包括当前播放视角;服务器将当前播放视角视频流数据推送给播放客户端的方式,从而实现了提高视频的播放效率的技术效果,即,通过根据当前播放视角直接确定与当前播放视角匹配的直播节目的视频流数据,进而解决了多次向服务器请求与变化后的视角相匹配的视频流数据所导致的传输延时的技术问题。
作为一种可选的方案,服务器确定与当前播放视角匹配的当前播放视角视频流数据包括:
S1,服务器获取播放客户端所播放的直播节目的节目标识;
S2,服务器从已缓存的视角视频流数据中获取与节目标识对应的多个视角的视角视频流数据;
S3,服务器确定与当前播放视角匹配的当前播放视角视频流数据。
例如,可以通过建立播放客户端地址-节目标识-节目-视角视频流数据对应表。如表2所示,播放客户端正在播放的节目为节目1,服务器根据节目1对应的节目标识,确定与节目1对应的多个视角视频流数据,再根据当前播放视角(如视角1)将当前播放视角的视角视频流数据(如视角视频流数据1)按照播放客户端地址发送给对应的播放客户端。
表2
播放客户端地址 节目标识 视角 当前播放视角视频流数据
192.168.1.5 节目1 视角1 视角视频流数据1
192.168.1.3 节目2 视角2 视角视频流数据2
通过本申请实施例,服务器可以根据当前节目的节目标识快速定位到 与该节目标识对应的多个视角的视角视频流数据,从而节省了获取视角视频流数据的时间。
作为一种可选的方案,服务器获取播放客户端的当前播放视角之前,还包括:
S1,服务器接收媒体服务器发送的节目标识所标识的直播节目对应的多个视角的视角视频流数据;
S2,服务器缓存在预定时间段内多个视角的视角视频流数据,其中,视角视频流数据中的每一个视频帧中携带有视角视频流数据所对应的视角的视角标识。
例如,继续以上述示例进行说明,VR中的节目5有九个视角,九个视角对应九个视角视频流数据。其中,视角1对应的视角视频流数据中的每一个视频帧都携带有0001的标识;视角2对应的视角视频流数据中都携带有0002的标识;视角3对应的视角视频流数据中的每一个视频帧都携带有0003的标识;视角4对应的视角视频流数据中都携带有0004的标识…以此类推。
通过本申请实施例,通过在每一个视角对应的视角视频流数据中携带有该视角的标识,从而使当需要播放某一视角的视频流数据时,服务器可以根据每一个视频帧中所携带的标识快速定位到该视频帧序列,从而快速播放与该视角对应的视频流数据。
作为一种可选的方案,在服务器将当前播放视角视频流数据推送给播放客户端之后,还包括:
S1,服务器获取播放客户端变化后的播放视角;
S2,服务器确定与变化后的播放视角匹配的变化后的视角视频流数据;
S3,从将当前播放视角切换为变化后的播放视角的切换时间起,服务器将当前播放视角视频流数据切换为变化后的视角视频流数据;
S4,服务器将变化后的视角视频流数据推送给播放客户端。
具体结合图5所示进行说明,如图5右侧所示,假设当前播放视角落入第5区域,在获取到变化后的播放视角调整至第1区域时,则在内容分发网络(Content Delivery Network,简称CDN)服务器中可根据切换时间T1变化上述预存的映射关系,如变化当前播放客户端所对应的视角视频流数据,从切换时间T1起,CDN服务器将当前播放视角对应的视角视频流数据5,切换为播放视角视频流数据1,从而保证视角变化后,视频播放的连续性及流畅性。
通过本申请实施例,当播放客户端变化播放视角后,服务器可以快速根据播放客户端变化后的播放视角确定与变化后的播放视角对应的视角视频流数据,从而保证播放的视角视频流数据与当前播放视角保持一致,提升视频播放的连续性及流畅性。
作为一种可选的方案,还包括:
S1,服务器获取播放客户端变化后的播放视角包括:在用于推送当前播放视角视频流数据的传输链路中,服务器接收播放客户端发送的控制指令,其中,控制指令携带有变化后的播放视角;
S2,服务器将变化后的视角视频流数据推送给播放客户端包括:服务器在传输链路中将变化后的视角视频流数据推送给播放客户端。
可选地,在本实施例中,上述控制指令可以但不限于与用于传输视角视频流数据在同一传输链路上传输,而无需重新建立链路连接,服务器获取变化后的视角视频流数据。从而减少视角切换后,多重连接建立所导致的连接网络延时问题。
通过本申请实施例,通过在服务器与播放客户端使用单一的传输链路方式,来完成服务器向播放客户端的视角视频流数据的推送过程,而无需在播放客户端重置,建立多重连接,以克服播放客户端多次向服务器请求与变化后的视角相匹配的视频流数据所导致的传输延时的问题,实现减少 传输延时的效果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
根据本申请实施例的另一方面,还提供了一种数据传输方法,如图6所示,该方法包括:
S602,播放客户端获取播放客户端的当前播放视角,其中,播放客户端用于播放被选中的直播节目的视频流数据;
S604,播放客户端向服务器发送携带有当前播放视角的控制指令;
S606,播放客户端获取服务器推送的与当前播放视角匹配的当前播放视角视频流数据,其中,服务器中缓存有与直播节目对应的多个视角的视角视频流数据,多个视角包括当前播放视角。
可选地,上述数据传输方法可以应用于实施例1中所描述的环境中,具体内容在此不做赘述。
可选地,上述播放客户端中还可以包括但不限于显示控制逻辑,其中,上述显示控制逻辑用于控制调整当前播放视角视频流数据在播放客户端所在设备中的显示位置。其中,播放客户端可以但不限与根据当前播放视角的角度位置决定视频流数据在客户端设备中的显示位置。
可选地,可以但不限于通过播放客户端发送控制指令的传输链路,来获取服务器推送的与当前播放视角匹配的当前播放视角视频流数据。
可选地,在播放客户端与服务器之间建立传输链路后,当播放客户端的播放视角发生改变后,播放客户端向服务器发送控制指令,服务器根据 控制指令通过该传输链路向播放客户端推送与当前播放视角匹配的当前播放视角视频流数据。
通过本申请实施例,通过播放客户端获取播放客户端的播放视角,根据播放视角从服务器获取与播放视角匹配的当前视频流数据,从而实现当播放视角变化后,不需要重新向服务器发送请求,从而降低了播放客户端的切换延迟,提高了用户体验。
作为一种可选的方案,在播放客户端获取服务器推送的与当前播放视角匹配的当前播放视角视频流数据之后,还包括:
S1,播放客户端根据当前播放视角变化显示控制逻辑,其中,显示控制逻辑用于控制调整当前播放视角视频流数据在播放客户端所在设备中的显示位置,以使显示位置与当前播放视角相匹配。
通过本申请实施例,通过播放客户端根据当前播放视角确定当前播放视角视频流数据在播放客户端的显示位置,从而实现根据当前播放视角调整当前播放视角视频流数据在播放客户端的显示位置,达到了客户端的视频流属于与当前播放视角相匹配的效果。
作为一种可选的方案,播放客户端获取服务器推送的与当前播放视角匹配的当前播放视角视频流数据包括:
S1,在用于发送控制指令的传输链路中,播放客户端获取服务器推送的与当前播放视角匹配的当前播放视角视频流数据。
通过本申请实施例,通过播放客户端使用一条传输链路对控制指令与当前播放视角视频流数据进行传输,从而减少了传输链路的占用量,提高了传输效率。
作为一种可选的方案,在播放客户端获取服务器推送的与当前播放视角匹配的当前播放视角视频流数据之后,还包括:
S1,播放客户端通过播放客户端所在设备内的陀螺仪传感器检测设备 的转动方向;
S2,播放客户端根据转动方向确定变化后的播放视角;
S3,播放客户端在传输链路中传输携带有变化后的播放视角的控制指令,以获取与变化后的播放视角匹配的变化后的视角视频流数据。
通过本申请实施例,通过使用播放客户端所在设备内的陀螺仪传感器检测设备的转动方向,在检测到转动方向后,播放客户端根据转动方向确定变化后的播放视角,并根据变化后的播放视角获取变化后的视角视频流数据,从而达到视角视频流数据与播放视角相对应的效果。
根据本申请实施例的又一方面,还提供了一种用于实施上述数据传输方法的数据传输装置,应用于服务器中,如图7所示,该装置包括:
(1)第一获取单元702,设置为获取播放客户端的当前播放视角,其中,播放客户端用于播放被选中的直播节目的视频流数据;
(2)第一确定单元704,设置为在服务器已缓存的视角视频流数据中,确定与当前播放视角匹配的当前播放视角视频流数据,其中,已缓存的视角视频流数据中包括与直播节目对应的多个视角的视角视频流数据,多个视角包括当前播放视角;
(3)第一推送单元706,设置为将当前播放视角视频流数据推送给播放客户端。
可选地,可以但不限于通过提前设置的方法获得当前播放视角;或者是通过检测的方式获得当前播放视角。例如如图4所示,当人带上VR设备之后,可视范围为一个球形,此时,可以通过将可视范围分区的方法获取当前播放视角。对于获取当前播放视角的方法,在此不做具体限定。
具体如图5所示,图5左侧为一个可视范围的全景图,此时,将该全景图分成图5右侧的九个视角区域,根据当前播放视角所在的视角区域, 确定与当前播放视角匹配的视角视频流数据,并将视角视频流数据推送给播放客户端。
可选地,上述通过对可视范围进行分区的方法获取当前播放视角仅仅为一种可行的实施例,对于获取当前播放视角的手段本实施例并不做具体限定。
可选地,可以通过建立视角-视角视频流数据表的方法确定与当前播放视角匹配的当前播放视角视频流数据。继续以图5中对视角的分区进行说明,具体如表3所示,视角所在的位置为区域1时,播放客户端将区域1发送给分发服务器,分发服务器根据视角所在的区域,将与视角所在区域对应的视角视频流数据1推送给播放客户端。当视角处于区域2或者区域3时,具体方法与视角处于区域1时相同,在此不做赘述。
表3
视角区域 视角视频流数据
区域1 视角视频流数据1
区域2 视角视频流数据2
区域3 视角视频流数据2
可选地,上述确定与当前播放视角匹配的当前播放视角视频流数据包括根据直播节目的节目标识获取与节目标识对应的多个视角的视角视频流数据。
可选地,对播放客户端所播放的直播节目进行编号,当播放直播节目时,将直播节目的编号发送给服务器,服务器根据直播节目的编号,从已缓存的视角视频流数据中获取与直播节目的编号向对应的多个视角的视角视频流数据。当获取到与当前直播节目向对应的多个视角的视角视频流数据后,再根据当前播放视角确定与当前播放视角匹配的当前播放视角视频流数据。
需要说明的是,上述对直播节目进行编号仅仅为一种可选示例,对于获取直播节目的编号有多种方式,在此不做具体限定。
可选地,在获取播放客户端检测的当前播放视角之前,还可以接受节目标识所标识直播节目对应的多个视角的视角视频流数据并缓存。
可选地,接收到媒体服务器发送的节目标识对应的多个视角的视角视频流数据后,缓存在预定时间段内的多个视角的视角视频流数据。其中,视角视频流数据中的每一个视频帧中都携带有视角视频流对应的视角的视角标识。继续以图5进行说明,媒体服务器发送与节目标识对应的九个视角的视角视频流数据,当服务器接收到九个视角的视角视频流数据后,缓存预定时间段内的九个视角的视角视频流数据。
可选地,可以以分钟为单位,缓存四个视角的视角视频流数据的每分钟的前5秒钟。以一个视角的视角视频流数据为例,视频流数据时长为5分钟,可以缓冲0-5秒,60-65秒,...,240-245秒。
可选地,可以以当前播放视角的视角号作为每一个视频帧中携带的视角标识。例如,继续以图进行说明,当前播放视角所在的区域为区域2,对应的视角视频流数据中的每一个视频帧做携带的视角标识可以为数字2,或者为二进制数字0010,在此不作具体限定。
可选地,可以根据当前播放视角切换的时间,将当前播放视角视频流数据切换为变化后的视角视频流数据。
可选地,当当前播放视角切换之后,获取当前播放视角切换后的视角,根据当切换后的视角,将当前播放视角视频流数据切换为变化后的视角视频流数据,并将变化后的视角视频流数据推送给播放客户端。
通过本申请实施例,采用播放客户端检测当前播放视角,其中,播放客户端用于播放被选中的直播节目的视频流数据;在服务器已缓存的视角视频流数据中,确定与当前播放视角匹配的当前播放视角视频流数据,其中,已缓存的视角视频流数据中包括与直播节目对应的多个视角的视角视 频流数据,多个视角包括当前播放视角;并将当前播放视角视频流数据推送给播放客户端的方式,从而实现了提高视频的播放效率的技术效果,即,通过根据当前播放视角直接确定与当前播放视角匹配的直播节目的视频流数据,进而解决了多次向服务器请求与变化后的视角相匹配的视频流数据所导致的传输延时的技术问题。
作为一种可选的方案,确定单元包括:
(1)第一获取模块,设置为获取播放客户端所播放的直播节目的节目标识;
(2)第二获取模块,设置为从已缓存的视角视频流数据中获取与节目标识对应的多个视角的视角视频流数据;
(3)确定模块,设置为确定与当前播放视角匹配的当前播放视角视频流数据。
例如,可以通过建立播放客户端地址-节目标识-节目-视角视频流数据如表4所示,播放客户端正在播放的节目为节目1,根据节目1对应的节目标识,确定与节目1对应的多个视角视频流数据,再根据当前播放视角(如视角1)将当前播放视角的视角视频流数据(如视角视频流数据1)按照播放客户端地址发送给对应的播放客户端。
表4
播放客户端地址 节目标识 视角 当前播放视角视频流数据
192.168.1.5 节目1 视角1 视角视频流数据1
192.168.1.3 节目2 视角2 视角视频流数据2
通过本申请实施例,可以根据当前节目的节目标识快速定位到与该节目标识对应的多个视角的视角视频流数据,从而节省了获取视角视频流数据的时间。
作为一种可选的方案,上述数据传输装置还包括:
(1)接收单元,设置为接收媒体服务器发送的节目标识所标识的直播节目对应的多个视角的视角视频流数据;
(2)缓存单元,设置为缓存在预定时间段内多个视角的视角视频流数据,其中,视角视频流数据中的每一个视频帧中携带有视角视频流数据所对应的视角的视角标识。
例如,继续以上述示例进行说明,VR中的节目5有九个视角,九个视角对应九个视角视频流数据。其中,视角1对应的视角视频流数据中的每一个视频帧都携带有0001的标识;视角2对应的视角视频流数据中都携带有0002的标识;视角3对应的视角视频流数据中的每一个视频帧都携带有0003的标识;视角4对应的视角视频流数据中都携带有0004的标识…以此类推。
通过本申请实施例,通过在每一个视角对应的视角视频流数据中携带有该视角的标识,从而使当需要播放某一视角的视频流数据时,可以根据每一个视频帧中所携带的标识快速定位到该视频帧序列,从而快速播放与该视角对应的视频流数据。
作为一种可选的方案,上述数据传输装置还包括:
(1)第二获取单元,设置为获取播放客户端变化后的播放视角;
(2)第二确定单元,设置为确定与变化后的播放视角匹配的变化后的视角视频流数据;
(3)切换单元,设置为从将当前播放视角切换为变化后的播放视角的切换时间起,将当前播放视角视频流数据切换为变化后的视角视频流数据;
(4)第二推送单元,设置为将变化后的视角视频流数据推送给播放客户端。
具体结合图5所示进行说明,如图5右侧所示,假设当前播放视角第 5区域,在获取到变化后的播放视角调整至第1区域对应的视角时,则在内容分发网络(Content Delivery Network,简称CDN)服务器中可根据切换时间T1变化上述预存的映射关系,如变化当前播放客户端所对应的视角视频流数据,从切换时间T1起,将当前播放视角对应的视角视频流数据5,切换为播放视角视频流数据1,从而保证视角变化后,视频播放的连续性及流畅性。
通过本申请实施例,当播放客户端变化播放视角后,可以快速根据播放客户端变化后的播放视角确定与变化后的播放视角对应的视角视频流数据,从而保证播放的视角视频流数据与当前播放视角保持一致,提升视频播放的连续性及流畅性
作为一种可选的方案,还包括:
(1)第二获取单元包括:接收模块,设置为在推送当前播放视角视频流数据的传输链路中,接收播放客户端发送的控制指令,其中,控制指令携带有变化后的播放视角;
(2)第二推送单元包括:推送模块,设置为在传输链路中将变化后的视角视频流数据推送给播放客户端。
可选地,在本实施例中,上述控制指令可以但不限于与用于传输视角视频流数据在同一传输链路上传输,而无需重新建立链路连接,获取变化后的视角视频流数据。从而减少视角切换后,多重连接建立所导致的连接网络延时问题。
通过本申请实施例,通过在服务器与播放客户端使用单一的传输链路方式来完成视角视频流数据的推送过程,而无需在播放客户端重置、建立多重连接,以克服多次向服务器请求与变化后的视角相匹配的视频流数据所导致的传输延时的问题,实现减少传输延时的效果。
根据本申请实施例的又一方面,还提供了一种数据传输装置,应用于 播放客户端中,如图8所示,该装置包括:
(1)第一获取单元802,设置为获取播放客户端的当前播放视角,其中,播放客户端用于播放被选中的直播节目的视频流数据;
(2)发送单元804,设置为向服务器发送携带有当前播放视角的控制指令;
(3)第二获取单元806,设置为获取服务器推送的与当前播放视角匹配的当前播放视角视频流数据,其中,服务器中缓存有与直播节目对应的多个视角的视角视频流数据,多个视角包括当前播放视角。
可选地,上述数据传输方法可以应用于实施例1中所描述的环境中,具体内容在此不做赘述。
可选地,上述播放客户端中还可以包括但不限于显示控制逻辑,其中,上述显示控制逻辑用于控制调整当前播放视角视频流数据在播放客户端所在设备中的显示位置。其中,可以但不限与根据当前播放视角的角度位置决定视频流数据在客户端设备中的显示位置。
可选地,可以但不限于通过发送控制指令的传输链路,来获取服务器推送的与当前播放视角匹配的当前播放视角视频流数据。
可选地,在播放客户端与服务器之间建立传输链路,当播放客户端的播放视角改变后,播放客户端向服务器发送控制指令,服务器根据控制指令通过该传输链路向播放客户端推送与当前播放视角匹配的当前播放视角视频流数据。
通过本申请实施例,通过获取播放客户端的播放视角,根据播放视角从服务器获取与播放视角匹配的当前视频流数据,从而实现当播放视角变化后,不需要重新向服务器发送请求,从而降低了播放客户端的切换延迟,提高了用户体验。
作为一种可选的方案,上述数据传输装置还包括:显示单元,设置为 根据当前播放视角变化显示控制逻辑,其中,显示控制逻辑用于控制调整当前播放视角视频流数据在播放客户端所在设备中的显示位置,以使显示位置与当前播放视角相匹配。
通过本申请实施例,通过根据当前播放视角确定当前播放视角视频流数据在播放客户端的显示位置,从而实现根据当前播放视角调整当前播放视角视频流数据在播放客户端的显示位置,达到了客户端的视频流属于与当前播放视角相匹配的效果。
作为一种可选的方案,第二获取单元包括:获取模块,设置为在用于发送控制指令的传输链路中,获取服务器推送的与当前播放视角匹配的当前播放视角视频流数据。
通过本申请实施例,通过使用一条传输链路对控制指令与当前播放视角视频流数据进行传输,从而减少了传输链路的占用量,提高了传输效率。
作为一种可选的方案,第二获取单元还包括:
(1)检测模块,设置为通过播放客户端所在设备内的陀螺仪传感器检测设备的转动方向;
(2)确定模块,设置为根据转动方向确定变化后的播放视角;
(3)传输模块,设置为在传输链路中传输携带有变化后的播放视角的控制指令,以获取与变化后的播放视角匹配的变化后的视角视频流数据。
通过本申请实施例,通过在设备内的陀螺仪传感器检测设备的转动方向,并且根据转动方向确定变化后的播放视角,并根据变化后的播放视角获取变化后的视角视频流数据,从而达到视角视频流数据与播放视角相对应的效果。
根据本申请实施例的又一方面,还提供了一种存储介质,在本实施例中,上述存储介质可以位于网络中的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的计算机程序:
S1,获取播放客户端的当前播放视角,其中,播放客户端用于播放被选中的直播节目的视频流数据;
S2,在服务器已缓存的视角视频流数据中,确定与当前播放视角匹配的当前播放视角视频流数据,其中,已缓存的视角视频流数据中包括与直播节目对应的多个视角的视角视频流数据,多个视角包括当前播放视角;
S3,将当前播放视角视频流数据推送给播放客户端。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:
S1,获取播放客户端所播放的直播节目的节目标识;
S2,从已缓存的视角视频流数据中获取与节目标识对应的多个视角的视角视频流数据;
S3,确定与当前播放视角匹配的当前播放视角视频流数据。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:
S1,接收媒体服务器发送的节目标识所标识的直播节目对应的多个视角的视角视频流数据;
S2,缓存在预定时间段内多个视角的视角视频流数据,其中,视角视频流数据中的每一个视频帧中携带有视角视频流数据所对应的视角的视角标识。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:
S1,获取播放客户端变化后的播放视角;
S2,确定与变化后的播放视角匹配的变化后的视角视频流数据;
S3,从将当前播放视角切换为变化后的播放视角的切换时间起,将当前播放视角视频流数据切换为变化后的视角视频流数据;
S4,将变化后的视角视频流数据推送给播放客户端。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:
S1,获取播放客户端变化后的播放视角包括:在用于推送当前播放视角视频流数据的传输链路中,接收播放客户端发送的控制指令,其中,控制指令携带有变化后的播放视角;
S2,将变化后的视角视频流数据推送给播放客户端包括:在传输链路中将变化后的视角视频流数据推送给播放客户端。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:
S1,获取播放客户端的当前播放视角,其中,播放客户端用于播放被选中的直播节目的视频流数据;
S2,向服务器发送携带有当前播放视角的控制指令;
S3,获取服务器推送的与当前播放视角匹配的当前播放视角视频流数据,其中,服务器中缓存有与直播节目对应的多个视角的视角视频流数据,多个视角包括当前播放视角。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:
S1,根据当前播放视角变化显示控制逻辑,其中,显示控制逻辑用于控制调整当前播放视角视频流数据在播放客户端所在设备中的显示位置,以使显示位置与当前播放视角相匹配。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:
S1,在用于发送控制指令的传输链路中,获取服务器推送的与当前播放视角匹配的当前播放视角视频流数据。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:
S1,通过播放客户端所在设备内的陀螺仪传感器检测设备的转动方向;
S2,根据转动方向确定变化后的播放视角;
S3,在传输链路中传输携带有变化后的播放视角的控制指令,以获取与变化后的播放视角匹配的变化后的视角视频流数据。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
根据本申请实施例的又一方面,还提供了一种用于实施上述数据传输方法的电子装置,可以但不限于应用于服务器中,如图9所示,该电子装置包括:
1)显示器902,设置为在终端的应用客户端内显示与智能硬件相匹配的操作面板;
2)传感器904,与处理器906连接,设置为检测控制触点所在的触点位置,其中,控制触点用于通过操作面板控制智能硬件完成目标动作;
3)处理器906,与显示器902及传感器904及通讯接口908连接,设置为根据触点位置生成用于指示智能硬件完成目标动作的控制指令,其中,控制指令中包括用于指示智能硬件中的至少两个部件执行操作的操作指令;
4)通讯接口908,与处理器906连接,设置为向智能硬件发送控制指令,以控制智能硬件按照操作指令执行操作完成目标动作;
5)存储器910,与处理器906连接,设置为存储所生成的控制指令。
可选的,上述处理器906还可以执行如下步骤的计算机程序:
S1,获取播放客户端的当前播放视角,其中,播放客户端用于播放被选中的直播节目的视频流数据;
S2,在服务器已缓存的视角视频流数据中,确定与当前播放视角匹配的当前播放视角视频流数据,其中,已缓存的视角视频流数据中包括与直播节目对应的多个视角的视角视频流数据,多个视角包括当前播放视角;
S3,将当前播放视角视频流数据推送给播放客户端。
可选的,上述处理器906还可以执行如下步骤的计算机程序:
S1,获取播放客户端所播放的直播节目的节目标识;
S2,从已缓存的视角视频流数据中获取与节目标识对应的多个视角的视角视频流数据;
S3,确定与当前播放视角匹配的当前播放视角视频流数据。
可选的,上述处理器906还可以执行如下步骤的计算机程序:
S1,接收媒体服务器发送的节目标识所标识的直播节目对应的多个视角的视角视频流数据;
S2,缓存在预定时间段内多个视角的视角视频流数据,其中,视角视频流数据中的每一个视频帧中携带有视角视频流数据所对应的视角的视角标识。
可选的,上述处理器906还可以执行如下步骤的计算机程序:
S1,获取播放客户端变化后的播放视角;
S2,确定与变化后的播放视角匹配的变化后的视角视频流数据;
S3,从将当前播放视角切换为变化后的播放视角的切换时间起,将当前播放视角视频流数据切换为变化后的视角视频流数据;
S4,将变化后的视角视频流数据推送给播放客户端。
可选的,上述处理器906还可以执行如下步骤的计算机程序:
S1,获取播放客户端变化后的播放视角包括:在用于推送当前播放视角视频流数据的传输链路中,接收播放客户端发送的控制指令,其中,控制指令携带有变化后的播放视角;
S2,将变化后的视角视频流数据推送给播放客户端包括:在传输链路中将变化后的视角视频流数据推送给播放客户端。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
根据本申请实施例的又一方面,还提供了一种用于实施上述数据传输方法的电子装置,可以但不限于应用于终端的客户端中,如图10所示,该电子装置包括:
1)传输装置1002,与处理器1004连接,设置为传输控制指令以及传输与控制指令对应的当前视角视频流数据,其中,控制指令中包括用于指示智能硬件中的至少两个部件执行操作的操作指令;
2)处理器1004,与传输装置1002连接,设置为根据触点位置生成用于指示智能硬件完成目标动作的控制指令;
3)存储器1006,与处理器1004相连,设置为存储所生成的控制指令。
可选的,上述处理器1004还可以执行如下步骤的计算机程序:
S1,获取播放客户端的当前播放视角,其中,播放客户端用于播放被选中的直播节目的视频流数据;
S2,向服务器发送携带有当前播放视角的控制指令;
S3,获取服务器推送的与当前播放视角匹配的当前播放视角视频流数据,其中,服务器中缓存有与直播节目对应的多个视角的视角视频流数据, 多个视角包括当前播放视角。
可选的,上述处理器1004还可以执行如下步骤的计算机程序:
S1,根据当前播放视角变化显示控制逻辑,其中,显示控制逻辑用于控制调整当前播放视角视频流数据在播放客户端所在设备中的显示位置,以使显示位置与当前播放视角相匹配。
可选的,上述处理器1004还可以执行如下步骤的计算机程序:
S1,在用于发送控制指令的传输链路中,获取服务器推送的与当前播放视角匹配的当前播放视角视频流数据。
可选的,上述处理器1004还可以执行如下步骤的计算机程序:
S1,通过播放客户端所在设备内的陀螺仪传感器检测设备的转动方向;
S2,根据转动方向确定变化后的播放视角;
S3,在传输链路中传输携带有变化后的播放视角的控制指令,以获取与变化后的播放视角匹配的变化后的视角视频流数据。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
以上仅是本申请的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
工业实用性
在本申请实施例中,通过在服务器获取到播放客户端的当前播放视角之后,从已缓存的视角视频流数据中,确定与当前播放视角匹配的当前播放视角视频流数据,并将当前播放视角对应的视角视频流数据推送给播放客户端的方法,从而实现服务器将直播节目的视频流数据中,与当前播放视角匹配的视角视频流数据,主动推送给播放客户端,克服了播放客户端 多次向服务器请求与变化后的视角相匹配的视频流数据所导致的传输延时的问题,达到了减少传输延时的目的。

Claims (20)

  1. 一种数据传输方法,包括:
    服务器获取播放客户端的当前播放视角,其中,所述播放客户端用于播放被选中的直播节目的视频流数据;
    所述服务器在已缓存的视角视频流数据中,确定与所述当前播放视角匹配的当前播放视角视频流数据,其中,已缓存的所述视角视频流数据中包括与所述直播节目对应的多个视角的视角视频流数据,所述多个视角包括所述当前播放视角;
    所述服务器将所述当前播放视角视频流数据推送给所述播放客户端。
  2. 根据权利要求1所述的方法,其中,所述服务器确定与所述当前播放视角匹配的当前播放视角视频流数据包括:
    所述服务器获取所述播放客户端所播放的所述直播节目的节目标识;
    所述服务器从已缓存的所述视角视频流数据中获取与所述节目标识对应的所述多个视角的视角视频流数据;
    所述服务器确定与所述当前播放视角匹配的所述当前播放视角视频流数据。
  3. 根据权利要求1所述的方法,其中,在所述服务器获取播放客户端的当前播放视角之前,还包括:
    所述服务器接收媒体服务器发送的节目标识所标识的所述直播节目对应的所述多个视角的视角视频流数据;
    所述服务器缓存在预定时间段内所述多个视角的视角视频流数据,其中,所述视角视频流数据中的每一个视频帧中携带有所述视角视频流数据所对应的视角的视角标识。
  4. 根据权利要求1所述的方法,其中,在所述服务器将所述当前播放视 角视频流数据推送给所述播放客户端之后,还包括:
    所述服务器获取所述播放客户端变化后的播放视角;
    所述服务器确定与所述变化后的播放视角匹配的变化后的视角视频流数据;
    从将所述当前播放视角切换为所述变化后的播放视角的切换时间起,所述服务器将所述当前播放视角视频流数据切换为所述变化后的视角视频流数据;
    所述服务器将所述变化后的视角视频流数据推送给所述播放客户端。
  5. 根据权利要求4所述的方法,其中,
    所述服务器获取所述播放客户端变化后的播放视角包括:在用于推送所述当前播放视角视频流数据的传输链路中,所述服务器接收所述播放客户端发送的控制指令,其中,所述控制指令携带有所述变化后的播放视角;
    所述服务器将所述变化后的视角视频流数据推送给所述播放客户端包括:所述服务器在所述传输链路中将所述变化后的视角视频流数据推送给所述播放客户端。
  6. 一种数据传输方法,包括:
    播放客户端获取所述播放客户端的当前播放视角,其中,所述播放客户端用于播放被选中的直播节目的视频流数据;
    所述播放客户端向服务器发送携带有所述当前播放视角的控制指令;
    所述播放客户端获取所述服务器推送的与所述当前播放视角匹配的当前播放视角视频流数据,其中,所述服务器中缓存有与所述直播节目对应的多个视角的视角视频流数据,所述多个视角包括所述当前播放视角。
  7. 根据权利要求6所述的方法,其中,在所述播放客户端获取所述服务 器推送的与所述当前播放视角匹配的当前播放视角视频流数据之后,还包括:
    所述播放客户端根据所述当前播放视角变化显示控制逻辑,其中,所述显示控制逻辑用于控制调整所述当前播放视角视频流数据在所述播放客户端所在设备中的显示位置,以使所述显示位置与所述当前播放视角相匹配。
  8. 根据权利要求6所述的方法,其中,所述播放客户端获取所述服务器推送的与所述当前播放视角匹配的当前播放视角视频流数据包括:
    在用于发送所述控制指令的传输链路中,所述播放客户端获取所述服务器推送的与所述当前播放视角匹配的所述当前播放视角视频流数据。
  9. 根据权利要求8所述的方法,其中,在所述播放客户端获取所述服务器推送的与所述当前播放视角匹配的当前播放视角视频流数据之后,还包括:
    所述播放客户端通过所述播放客户端所在设备内的陀螺仪传感器检测所述设备的转动方向;
    所述播放客户端根据所述转动方向确定变化后的播放视角;
    所述播放客户端在所述传输链路中传输携带有所述变化后的播放视角的所述控制指令,以获取与所述变化后的播放视角匹配的变化后的视角视频流数据。
  10. 一种数据传输装置,应用于服务器,包括:
    第一获取单元,设置为获取播放客户端的当前播放视角,其中,所述播放客户端用于播放被选中的直播节目的视频流数据;
    第一确定单元,设置为在服务器已缓存的视角视频流数据中,确定与所述当前播放视角匹配的当前播放视角视频流数据,其中,已缓存的所述视角视频流数据中包括与所述直播节目对应的多个视角的视角视频流数据,所述多个视角包括所述当前播放视角;
    第一推送单元,设置为将所述当前播放视角视频流数据推送给所述播放客户端。
  11. 根据权利要求10所述的装置,其中,所述确定单元包括:
    第一获取模块,设置为获取所述播放客户端所播放的所述直播节目的节目标识;
    第二获取模块,设置为从已缓存的所述视角视频流数据中获取与所述节目标识对应的所述多个视角的视角视频流数据;
    确定模块,设置为确定与所述当前播放视角匹配的所述当前播放视角视频流数据。
  12. 根据权利要求10所述的装置,其中,还包括:
    接收单元,设置为接收媒体服务器发送的节目标识所标识的所述直播节目对应的所述多个视角的视角视频流数据;
    缓存单元,设置为缓存在预定时间段内所述多个视角的视角视频流数据,其中,所述视角视频流数据中的每一个视频帧中携带有所述视角视频流数据所对应的视角的视角标识。
  13. 根据权利要求10所述的装置,其中,还包括:
    第二获取单元,设置为获取所述播放客户端变化后的播放视角;
    第二确定单元,设置为确定与所述变化后的播放视角匹配的变化后的视角视频流数据;
    切换单元,设置为从将所述当前播放视角切换为所述变化后的播放视角的切换时间起,将所述当前播放视角视频流数据切换为所述变化后的视角视频流数据;
    第二推送单元,设置为将所述变化后的视角视频流数据推送给所述播放客户端。
  14. 根据权利要求13所述的装置,其中,
    所述第二获取单元包括:接收模块,设置为在推送所述当前播放 视角视频流数据的传输链路中,接收所述播放客户端发送的控制指令,其中,所述控制指令携带有所述变化后的播放视角;
    所述第二推送单元包括:推送模块,设置为在所述传输链路中将所述变化后的视角视频流数据推送给所述播放客户端。
  15. 一种数据传输装置,应用于播放客户端,包括:
    第一获取单元,设置为获取播放客户端的当前播放视角,其中,所述播放客户端用于播放被选中的直播节目的视频流数据;
    发送单元,设置为向服务器发送携带有所述当前播放视角的控制指令;
    第二获取单元,设置为获取所述服务器推送的与所述当前播放视角匹配的当前播放视角视频流数据,其中,所述服务器中缓存有与所述直播节目对应的多个视角的视角视频流数据,所述多个视角包括所述当前播放视角。
  16. 根据权利要求15所述的装置,其中,还包括:
    显示单元,设置为根据所述当前播放视角变化显示控制逻辑,其中,所述显示控制逻辑用于控制调整所述当前播放视角视频流数据在所述播放客户端所在设备中的显示位置,以使所述显示位置与所述当前播放视角相匹配。
  17. 根据权利要求15所述的装置,其中,第二获取单元包括:
    获取模块,设置为在用于发送所述控制指令的传输链路中,获取所述服务器推送的与所述当前播放视角匹配的所述当前播放视角视频流数据。
  18. 根据权利要求17所述的装置,其中,所述第二获取单元还包括:
    检测模块,设置为通过所述播放客户端所在设备内的陀螺仪传感器检测所述设备的转动方向;
    确定模块,设置为根据所述转动方向确定变化后的播放视角;
    传输模块,设置为在所述传输链路中传输携带有所述变化后的播放视角的所述控制指令,以获取与所述变化后的播放视角匹配的变化后的视角视频流数据。
  19. 一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至5或权利要求6至9任一项中所述的方法。
  20. 一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器通过所述计算机程序执行所述权利要求1至5或权利要求6至9任一项中所述的方法。
PCT/CN2018/114762 2017-11-16 2018-11-09 数据传输方法和装置、存储介质及电子装置 WO2019096064A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711141441.3 2017-11-16
CN201711141441.3A CN108156467B (zh) 2017-11-16 2017-11-16 数据传输方法和装置、存储介质及电子装置

Publications (1)

Publication Number Publication Date
WO2019096064A1 true WO2019096064A1 (zh) 2019-05-23

Family

ID=62468733

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/114762 WO2019096064A1 (zh) 2017-11-16 2018-11-09 数据传输方法和装置、存储介质及电子装置

Country Status (2)

Country Link
CN (1) CN108156467B (zh)
WO (1) WO2019096064A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108156467B (zh) * 2017-11-16 2021-05-11 腾讯科技(成都)有限公司 数据传输方法和装置、存储介质及电子装置
CN110446056A (zh) * 2019-07-30 2019-11-12 咪咕文化科技有限公司 一种视频处理方法、设备、系统及计算机可读存储介质
CN110602515B (zh) * 2019-09-16 2021-08-10 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、服务器及存储介质
CN112995752A (zh) * 2019-12-12 2021-06-18 中兴通讯股份有限公司 全视角互动直播方法、系统、终端及计算机可读存储介质
CN111147883A (zh) * 2019-12-31 2020-05-12 歌尔科技有限公司 直播方法、装置、头戴显示设备和可读存储介质
CN114007087B (zh) * 2020-07-28 2023-04-11 华为技术有限公司 一种媒体流切换方法及装置
WO2022041156A1 (zh) * 2020-08-28 2022-03-03 华为技术有限公司 多播群组通信方法、装置和系统
CN115529473A (zh) * 2021-06-24 2022-12-27 北京金山云网络技术有限公司 一种视频流处理方法、装置及电子设备
CN115733993A (zh) * 2021-08-27 2023-03-03 北京字节跳动网络技术有限公司 网络直播方法、装置、存储介质和电子设备
CN114189696B (zh) * 2021-11-24 2024-03-08 阿里巴巴(中国)有限公司 一种视频播放方法及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105872601A (zh) * 2015-12-14 2016-08-17 乐视云计算有限公司 视频播放方法、装置及系统
CN106534892A (zh) * 2016-11-23 2017-03-22 上海沙塔信息科技有限公司 基于可视角度再编码的虚拟现实直播系统和方法
CN106878764A (zh) * 2015-12-01 2017-06-20 幸福在线(北京)网络技术有限公司 一种虚拟现实的直播方法、系统及其用途
US20170178601A1 (en) * 2015-12-22 2017-06-22 Jbf Interlude 2009 Ltd. Intelligent buffering of large-scale video
CN108156467A (zh) * 2017-11-16 2018-06-12 腾讯科技(成都)有限公司 数据传输方法和装置、存储介质及电子装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8780999B2 (en) * 2009-06-12 2014-07-15 Qualcomm Incorporated Assembling multiview video coding sub-BITSTREAMS in MPEG-2 systems
CN102984560B (zh) * 2011-09-07 2017-06-20 华为技术有限公司 从断点处播放视频的方法和设备
TW201447375A (zh) * 2013-06-13 2014-12-16 Hsiu-Chi Yeh 擴增實境之頭戴式電子裝置及方法
CN105872575A (zh) * 2016-04-12 2016-08-17 乐视控股(北京)有限公司 基于虚拟现实的直播方法及装置
CN105915937B (zh) * 2016-05-10 2019-12-13 上海乐相科技有限公司 一种全景视频播放方法及设备
CN107147824A (zh) * 2016-06-22 2017-09-08 深圳市量子视觉科技有限公司 多视角视频的输出方法和装置
CN106249918B (zh) * 2016-08-18 2021-02-02 上海连尚网络科技有限公司 虚拟现实图像显示方法、装置及应用其的终端设备
CN107037873A (zh) * 2016-10-09 2017-08-11 深圳市金立通信设备有限公司 一种虚拟现实主界面的显示方法及终端
CN106502427B (zh) * 2016-12-15 2023-12-01 北京国承万通信息科技有限公司 虚拟现实系统及其场景呈现方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106878764A (zh) * 2015-12-01 2017-06-20 幸福在线(北京)网络技术有限公司 一种虚拟现实的直播方法、系统及其用途
CN105872601A (zh) * 2015-12-14 2016-08-17 乐视云计算有限公司 视频播放方法、装置及系统
US20170178601A1 (en) * 2015-12-22 2017-06-22 Jbf Interlude 2009 Ltd. Intelligent buffering of large-scale video
CN106534892A (zh) * 2016-11-23 2017-03-22 上海沙塔信息科技有限公司 基于可视角度再编码的虚拟现实直播系统和方法
CN108156467A (zh) * 2017-11-16 2018-06-12 腾讯科技(成都)有限公司 数据传输方法和装置、存储介质及电子装置

Also Published As

Publication number Publication date
CN108156467A (zh) 2018-06-12
CN108156467B (zh) 2021-05-11

Similar Documents

Publication Publication Date Title
WO2019096064A1 (zh) 数据传输方法和装置、存储介质及电子装置
US11717749B2 (en) Cloud gaming device handover
US11282283B2 (en) System and method of predicting field of view for immersive video streaming
WO2018108104A1 (zh) 一种全景视频传输方法、装置、终端、服务器及系统
US9912421B2 (en) Broadcast seeding for peer-to-peer networks
CN110519652B (zh) Vr视频播放方法、终端及服务器
US10659815B2 (en) Method of dynamic adaptive streaming for 360-degree videos
KR20170008725A (ko) 콘텐트를 스트리밍하기 위한 방법들 및 장치
JP2023507817A (ja) ストリーミングビデオコンテンツの送信中にスムーズなフレームレートを維持するための方法及びシステム
WO2020024373A1 (zh) 传输媒体数据的方法、客户端和服务器
WO2019100631A1 (zh) 视频播放方法、装置、系统及存储介质
WO2019048733A1 (en) TRANSMISSION OF VIDEO CONTENT BASED ON FEEDBACK
US20230239347A1 (en) Assisted delivery service for networks
EP3635958B1 (en) Image processing device and system
EP3386203B1 (en) Signalling of auxiliary content for a broadcast signal

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: 18877596

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: 18877596

Country of ref document: EP

Kind code of ref document: A1