Method, server, terminal, medium and device for displaying game element information
Patent Information
- Application Number
- CN202210473117.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-04-29
- Publication Date
- 2025-01-10
- Estimated Expiration
- 2042-04-29
AI Technical Summary
In the game live broadcast, the audience cannot obtain detailed information about the current game process content in the game screen in time, resulting in the user's viewing needs being unable to be met.
By obtaining game live video data and game operation events, it is sent to the audience side client to form a game video screen, and receive the current location information determined by the user's interactive operation, determine the description information of the game element based on the location information and operation events, and push it to the audience Side client display.
It realizes that when the audience interacts in the game video screen, it promptly obtains detailed information of game elements, meets the user's viewing needs, and improves the live broadcast experience.
Smart Images

Figure CN115065830B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a method, server, terminal, medium and device for displaying game element information. Background Art
[0002] The existing live broadcast method generally requires the host to obtain the game screen through the live broadcast platform. Therefore, when the game host broadcasts live, the only live content that the audience can see is the game screen, and it is impossible to obtain more relevant information about the current moment of the game process content being played.
[0003] For example, when a host is broadcasting a game, the live broadcast content will show the host's game character, the game character's skills, equipment and other game elements. When watching the live broadcast, the audience can only see a picture information. If the game player does not perform certain operations on the game to display the detailed information of these game elements at the current moment, the audience users on the audience side of the live broadcast platform will not be able to view detailed information such as the current status of skills and the current attributes of equipment.
[0004] It can be seen that when users are watching live game broadcasts, if the players operating the game do not perform relevant trigger display operations on the game elements, the audience users watching the live game broadcast will not be able to obtain more relevant detailed information about the current game process content in the game screen in a timely manner, which will lead to technical problems in which the user's viewing needs are not met. Summary of the invention
[0005] In response to the problems existing in the prior art, the embodiments of the present invention provide a method, server, terminal, medium and device for displaying game element information, so as to solve or partially solve the technical problem that when a user is watching a live game content, if the player operating the game does not perform relevant trigger display operations on the game elements, the audience users watching the live game content cannot timely obtain more relevant detailed information about the current game process content in the game screen, thereby resulting in the user's viewing needs not being met.
[0006] A first aspect of the present invention provides a method for displaying game element information, which is applied in a live broadcast platform server, and the method comprises:
[0007] Acquire game live video data and game operation events, and send the game live video data and the game operation events to the audience-side client to form a game video screen;
[0008] Receiving current position information in the game video screen sent by the audience-side client, where the current position information is determined by the audience-side client based on a user's interactive operation on the game video screen;
[0009] Determine description information of a game element corresponding to the current position according to the current position information and the game operation event;
[0010] The description information is pushed to the viewer-side client for display.
[0011] In the above solution, obtaining the game operation event includes:
[0012] When the confirmation information sent by the game server that the anchor has started the live broadcast of the game is received, the game operation event sent by the game server is received by using the game data broadcast channel.
[0013] In the above solution, obtaining the game operation event includes:
[0014] Receive game operation events sent by the anchor client;
[0015] The game operation event is obtained by the anchor-side client from the game client using a first software development kit SDK provided by a third-party game company.
[0016] In the above solution, obtaining the game operation event includes:
[0017] Use the application programming interface API to reversely analyze the game data transmission channel of the game client to obtain the program node that sends data and the program node that receives data;
[0018] Hooking the program node for sending data and the program node for receiving data to obtain a sending data hook program module and a receiving data hook program module;
[0019] A second SDK is created based on the sending data hook program module and the receiving data hook program module, and the second SDK is sent to the anchor-side client. The second SDK is injected into the game process when the anchor starts the game and broadcasts live. The second SDK is used to obtain game operation events released by the game client;
[0020] Receive the game operation event sent by the anchor-side client.
[0021] In the above solution, after receiving the game operation event sent by the anchor-side client, the method further includes:
[0022] Use the corresponding API interface to read the game status data from the memory in the game client; or,
[0023] Use the corresponding API interface to reverse analyze the data processing logic of the game client to obtain the data processing program node;
[0024] Hooking the data processing program node to obtain a data processing hook program module;
[0025] The data processing hook program module is used to intercept the game status data in the game process.
[0026] In the above solution, if the game operation event only includes an event identification ID, the method further includes:
[0027] Using the second SDK to obtain the game resource files of the game client;
[0028] The corresponding description information is searched in the game resource file based on the event ID; the game resource file contains the corresponding relationship between the event ID and the description information.
[0029] In the above solution, the step of determining the description information of the game element corresponding to the current position according to the current position information and the game operation event includes:
[0030] Filtering target game operation events containing description information from various game operation events based on the current position information; there is a corresponding relationship between the various game operation events;
[0031] The description information of the game element is determined based on the target game operation event including the description information.
[0032] In the above solution, the description information is pushed to the viewer-side client for display, including:
[0033] Get the current frame image to which the game element belongs;
[0034] Encoding the description information corresponding to the current frame image into the video stream data corresponding to the current frame image;
[0035] The encoded video stream data is transmitted to the viewer-side client, and the corresponding description information is displayed in the viewer-side client.
[0036] A second aspect of the present invention provides a server for displaying game element information, characterized in that the server comprises:
[0037] An acquisition unit, used for acquiring game live video data and game operation events, and sending the game live video data and the game operation events to a viewer-side client to form a game video screen;
[0038] A first receiving unit is used to receive current position information in the game video screen sent by a viewer-side client, where the current position information is determined by the viewer-side client based on a user's interactive operation on the game video screen;
[0039] A determination unit, configured to determine description information of a game element corresponding to a current position according to the current position information and the game operation event;
[0040] A push unit is used to push the description information to the viewer-side client for display.
[0041] A third aspect of the present invention provides a method for displaying game element information, which is applied in a spectator-side client, and the method comprises:
[0042] Receive game live video data and game operation events sent by a live platform server, and form a game video screen based on the game live video data and the game operation events;
[0043] In response to a user's interactive operation on the game video screen, obtaining current position information of the game video screen selected by the user based on the interactive operation;
[0044] Sending the current position information to a live broadcast platform server, so that the live broadcast platform server determines description information of a game element corresponding to the current position according to the current position information and the game operation event, and pushes the description information;
[0045] Receive the description information pushed by the live broadcast platform server and display it.
[0046] A fourth aspect of the present invention provides a terminal, the terminal comprising:
[0047] A second receiving unit is used to receive the game live video data and the game operation events sent by the live platform server, and form a game video screen based on the game live video data and the game operation events;
[0048] A selection unit, configured to respond to a user's interactive operation on the game video screen, and obtain current position information of the game video screen selected by the user based on the interactive operation;
[0049] A sending unit, configured to send the current position information to a live broadcast platform server, so that the live broadcast platform server determines description information of a game element corresponding to the current position according to the current position information and the game operation event, and pushes the description information;
[0050] The third receiving unit is used to receive the description information pushed by the live broadcast platform server and display it.
[0051] According to a fifth aspect of the present invention, a computer-readable storage medium is provided, on which a computer program is stored, and when the program is executed by a processor, the steps of any one of the methods described in the first aspect are implemented; or, when the program is executed by a processor, the steps of the method described in the third aspect are implemented.
[0052] According to a sixth aspect of the present invention, a computer device is provided, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the steps of any one of the methods described in the first aspect are implemented; or, when the program is executed by the processor, the steps of the method described in the third aspect are implemented.
[0053] The present invention provides a method, server, terminal, medium and device for displaying game element information, which obtains game live video data and game operation events, and sends the game live video data and game operation events to an audience-side client to form a game video screen; receives current position information in the game video screen sent by the audience-side client, and the current position information is determined by the audience-side client based on the user's interactive operation on the game video screen; determines the description information of the game element corresponding to the current position according to the current position information and the game operation event; pushes the description information to the audience-side client for display; in this way, when the audience needs to query the specific information of a game element in the game video screen, it only needs to perform interactive operations at the location of the game element, and the server can push the description information of the game element to the audience-side client for display, thereby meeting the user's viewing needs in a timely manner. BRIEF DESCRIPTION OF THE DRAWINGS
[0054] By reading the detailed description of the preferred embodiment below, various other advantages and benefits will become clear to those of ordinary skill in the art. The accompanying drawings are only used for the purpose of illustrating the preferred embodiment and are not considered to be limitations of the present invention. In addition, the same reference symbols are used to represent the same components throughout the accompanying drawings.
[0055] In the attached picture:
[0056] Figure 1 A schematic diagram of the system structure for displaying game element information according to an embodiment of the present invention is shown;
[0057] Figure 2 A schematic flow chart of a method for displaying game element information according to an embodiment of the present invention is shown;
[0058] Figure 3 A schematic diagram showing the structure of a server for displaying game element information according to an embodiment of the present invention is shown;
[0059] Figure 4 A schematic flow chart of a method for displaying game element information according to an embodiment of the present invention is shown;
[0060] Figure 5 A schematic diagram of the terminal structure for displaying game element information according to an embodiment of the present invention is shown;
[0061] Figure 6 A schematic diagram showing the structure of a computer device for displaying game element information according to an embodiment of the present invention is shown;
[0062] Figure 7 A schematic diagram of the structure of a computer-readable storage medium for displaying game element information according to an embodiment of the present invention is shown. DETAILED DESCRIPTION
[0063] The exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments described herein. On the contrary, these embodiments are provided to enable a more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art; among them,
[0064] In order to better understand the technical solution of this application, the system for displaying game element information is first introduced here, such as Figure 1 As shown, the system includes: a server 1 and a viewer-side client 2;
[0065] Server 1 is used to obtain game live video data and game operation events, and send the game live video data to the audience-side client to form a game video screen; receive current position information in the game video screen sent by the audience-side client, and the current position information is determined by the audience-side client based on the user's interactive operation on the game video screen; determine the description information of the game element corresponding to the current position according to the current position information and the game operation event; and push the description information to the audience-side client.
[0066] Among them, the game element is any object in the game video screen, such as a game character, a game prop, etc.
[0067] The audience-side client 2 is used to receive the description information of the game element sent by the server 1 and display the description information.
[0068] Specifically, the viewer-side client 2 may represent an application loaded in a mobile-side hardware device (such as a mobile phone or a tablet computer) for playing video screen content, and the viewer-side client 2 may represent an application loaded in a PC-side hardware device for playing video screen content or a web browser;
[0069] Server 1 may be a live broadcast platform server. When the host starts a live game broadcast, Server 1 may obtain live game video data and game operation events, and send the live game video data and game operation events to the audience-side client, and display the game video screen on the audience-side client 2.
[0070] If the user wants to know the detailed information of a game element in the game video screen while watching the video content, he only needs to perform interactive operations on the screen where the video screen is located: for example, when the audience-side client 2 corresponds to the PC side, the user can click the target object in the video screen being played on the screen with the mouse, or move the mouse to the position of the target object on the screen and hover for a few seconds; for example, when the client 2 corresponds to the mobile side, the user touches the screen and clicks on the game element; at this time, the client 2 can determine the current position information in the video screen according to the clicked position.
[0071] Then the audience-side client 2 sends the current position information to the server 1, and the server 1 determines the description information of the game element corresponding to the current position based on the current position information and the game operation event; and sends the description information to the audience-side client 2 so that the description information of the game element can be displayed in the audience-side client 2.
[0072] Here, the game operation event is the event information of the anchor user manipulating the game elements, including: the game character selected by the anchor, the character's skills, equipment and other content information, and also includes various event information in the game. For example, when the anchor plays the game, it includes the action information of each skill (such as shooting), including the location information of each function, such as the display location information of the skill, the display location information of the equipment, including other location information, etc., timestamp, game window size and other information. All of this information will interact with the game server, and then the game server will push the information to the live broadcast platform server through the channel in a timely manner after perceiving this information; then the game operation event containing the description information includes: the name of the game character selected by the anchor, the currently selected game skills and the name of the selected equipment, etc. Among them, there is a corresponding relationship between each game operation event. For example, when the game element is a game character, a game character is at a current position C of map B at time A, and uses skill E with equipment D. Then there is a corresponding relationship between time A (timestamp), map B, current position C, equipment D and skill E. In this way, as long as any operation event in the corresponding relationship is determined, the specific information of other game operation events can be found out accordingly.
[0073] It is worth noting that the specific implementation process of the server 1 obtaining the game operation event, obtaining the description information, and pushing the description information to the audience-side client 2 for display will be described in detail in the subsequent server-side embodiments, so it will not be repeated here.
[0074] Based on the same inventive concept, an embodiment of the present invention provides a method for displaying game element information, which is applied to a live broadcast platform server, such as Figure 2 As shown, the method mainly includes the following steps:
[0075] S210, obtaining game live video data and game operation events, and sending the game live video data and the game operation events to the audience-side client to form a game video screen;
[0076] When the anchor starts to broadcast a game live, the anchor-side client can obtain the game video data in real time. The anchor-side client sends the game video data to the server, and then the server can obtain the game live video data. The server then sends the game live video data and game operation events to the audience-side client to form a game video screen, and users can watch the game video screen on the audience-side client.
[0077] In this embodiment, the live broadcast server has several different ways to obtain game operation events. Among them, in one implementation of obtaining game operation events, it includes:
[0078] When the confirmation information sent by the game server that the anchor has started the game live broadcast is received, the game operation event sent by the game server is received by using the game data broadcast channel.
[0079] Specifically, the live broadcast platform server can make an agreement with the third-party game server in advance, and the anchor can fill in the name of the live broadcast platform and the game account in the registration entrance provided by the third-party game server. Then, when the anchor starts to broadcast the game live, the third-party game server can determine the live broadcast platform to which the anchor belongs based on the name of the live broadcast platform. At this time, the third-party game server will send a confirmation message of the start of the game live broadcast to the live broadcast platform server. Then the live broadcast platform server will establish a communication connection with the game data broadcast channel provided by the third-party game company, and receive various game data sent by the game server through the game data broadcast channel.
[0080] The game data includes game operation events and other game status data. The game status data may include process data generated during the game, such as data generated during the game character's aiming at the enemy.
[0081] In addition, when the anchor changes equipment or skills, the live broadcast platform server can also receive game data sent by the game server through the game data broadcast channel.
[0082] In another implementation of obtaining a game operation event, the method specifically includes:
[0083] Receive game operation events sent by the anchor client;
[0084] The game operation event is obtained by the anchor-side client from the game client using the first software development kit (SDK) provided by the game company.
[0085] Specifically, if a third-party game company provides the first SDK, when the anchor is broadcasting the game live, the game client will push the game data to the first SDK through inter-process communication, and the first SDK will obtain the game data.
[0086] The anchor-side client can communicate with the first SDK and obtain game data through the first SDK. The anchor-side client then sends the game data to the live broadcast server, which obtains the game data and further obtains the game operation events.
[0087] Furthermore, if the third-party game company does not provide the first SDK, the live broadcast server of this embodiment can reverse analyze the game client, create a second SDK, and then obtain game data through the second SDK. The specific implementation is as follows: that is, the implementation method of obtaining game operation events includes:
[0088] Use the Application Programming Interface (API) to reversely analyze the game data transmission channel of the game client to obtain the program node that sends data and the program node that receives data;
[0089] Hook the program node for sending data and the program node for receiving data to obtain the sending data hook program module and the receiving data hook program module;
[0090] A second SDK is created based on the sending data hook program module and the receiving data hook program module, and the second SDK is sent to the anchor-side client. When the anchor starts the game and broadcasts live, the second SDK will be injected into the game process. The second SDK is used to obtain game operation events released by the game client;
[0091] Receive game operation events sent by the anchor client.
[0092] Here, the game client can be located on the same host as the anchor side client, that is, the anchor broadcasts the game he is currently controlling; the game client can also be located on a different host than the anchor side client, that is, the anchor broadcasts the game screen controlled by other players.
[0093] Specifically, since most game data will be transmitted through the network, this embodiment first reverse analyzes the game data transmission channel of the game client, finds the program node for receiving data and the program node for sending data, and then hooks the program node for receiving data and the program node for sending data. The data sent and received by the game client can be intercepted. After creating a second SDK based on the sending data hook program module and the receiving data hook program module, the second SDK can also intercept the game data sent by the game client.
[0094] For example, when a game character changes a piece of game equipment, the game client needs to send a piece of game data to the game server. The second SDK can intercept the piece of game data to obtain the changed game equipment data.
[0095] However, some game status data may not need to be transmitted through the network, and even after reverse analysis of the game data transmission channel, the game status data cannot be obtained. In this case, in one embodiment, after receiving the game operation event sent by the anchor-side client, the method further includes:
[0096] Use the corresponding API interface to read the game status data from the memory in the game client; or,
[0097] Use the corresponding API interface to reverse analyze the data processing logic of the game client to obtain the data processing program node;
[0098] Hooking the data processing program node to obtain a data processing hook program module;
[0099] The data processing hook program module is used to intercept the game status data in the game process.
[0100] Specifically, for example, game status data such as a game character aiming at an enemy is generally not reported to the game server, and such game status data may be stored in the memory of the game client, or may have other processing logic. Therefore, this embodiment needs to use the corresponding API interface to read the game status data from the memory in the game client, or needs to reversely analyze the data processing logic of the game client, hook the data processing program node, obtain the data processing hook program module, and then use the data processing hook program module to intercept the game status data in the game process.
[0101] For example, for a first-person shooting game (FPS), if you want to get the number of remaining bullets in a certain game character's pistol, you can call the corresponding API interface to get the number of remaining bullets.
[0102] Or you can get the total number of bullets when the game starts. Since opening the pistol is a game operation event, the game client will report the number of bullets fired each time the pistol is opened. Then the second SDK can subtract the number of bullets used each time from the total number of bullets to get the number of remaining bullets.
[0103] In this way, the live broadcast server can obtain game operation events in different ways, and provide a data foundation for the subsequent display of description information.
[0104] S211, receiving current position information in the game video screen sent by the audience-side client, where the current position information is determined by the audience-side client based on a user's interactive operation on the game video screen;
[0105] As mentioned above, if the user wants to know the detailed information of a certain game element (such as a game character or a game prop) in the game video screen while watching the video content, he only needs to perform interactive operations on the screen where the game video screen is located, such as clicking the game element with the mouse, or touching the screen with a finger to click the game element or suspending the cursor on the game element for a period of time (such as 5 seconds); at this time, the audience-side client can determine the current position information in the game video screen based on the clicked position. Then the live broadcast platform server can receive the current position information in the game video screen sent by the audience-side client, that is, the current position information is determined by the audience-side client based on the user's interactive operation on the game video screen.
[0106] Of course, the video picture in this embodiment can be a live game picture, or a live party picture, a live (sports) event picture, or a TV series or movie playing picture.
[0107] For example, when a game is being broadcast live, the host client will push the real-time game video screen to the server, and the server will push the game screen to the user client (viewer client) for display. For example, if the user wants to know the host's game character in the screen and the skills of the game character at a certain moment, when using the skills, the user can do so by clicking on the game character.
[0108] S212, determining description information of a game element corresponding to the current position according to the current position information and the game operation event;
[0109] In this embodiment, in one implementation, determining the description information of the game element corresponding to the current position according to the current position information and the game operation event includes:
[0110] Filtering target game operation events containing description information from various game operation events based on current position information; there is a corresponding relationship between various game operation events;
[0111] Describing information of the game element is determined based on the target game operation event including the describing information.
[0112] As mentioned above, since there is a correspondence between various game operation events, for example, when the game element is a game character, a game character uses skill E with equipment D at a current position C in map B at time A, then there is a correspondence between time A (timestamp), map B, current position C, equipment D and skill E. Then, if the current position information is obtained, the target game operation event can be found based on the correspondence between the current position information and the game operation event. The target game operation event includes: the name of the game character selected by the anchor, the name of the equipment used, the name of the skill used, etc.
[0113] However, considering that the game client may only send and receive specific event (game operation event) IDs but no specific description information in order to save network bandwidth, in one embodiment, if the game operation event only contains the event identification ID, the method further includes:
[0114] Use the second SDK to obtain the game resource files of the game client;
[0115] The corresponding description information is searched in the game resource file based on the event identification ID; the game resource file contains the corresponding relationship between the event ID and the description information.
[0116] Specifically, when the anchor is broadcasting a game, the anchor can view the description information of each game element, each skill, each equipment, etc. in the game. Generally speaking, when a third-party game company releases a game client, these description information and the corresponding event ID will be released together with the game client program in the form of a game resource file. Therefore, the second SDK can obtain all the event IDs and corresponding description information in the game by obtaining the game resource file. Then the event ID and the corresponding description information are sent to the live broadcast platform server, and the live broadcast platform server can then find the corresponding description information based on the event ID.
[0117] This embodiment can determine the description information of the game elements through the game operation events, thereby improving the accuracy of determining the description information.
[0118] S213: Push the description information to the viewer-side client for display.
[0119] After the live broadcast platform server obtains the description information, it pushes the description information to the viewer side client for display. When displaying the description information, it can be displayed in a pop-up box next to the game, and the close mark on the pop-up box closes the description information; it can also be displayed in other ways, which is not limited in this embodiment.
[0120] For example, a viewer user on the viewer side client is watching the host broadcast the football game FIFA on the live broadcast platform. Both players have a player named "Ronaldo" on the field. The attributes and abilities of the player "Ronaldo" corresponding to each of the two players are different. During the football game, the attributes of the player "Ronaldo" of both players cannot be displayed in real time. In this case, when the viewer user points the mouse to the character "Ronaldo" of one of the players in the live football game screen, the player description information (such as name, team, skills, etc.) of the pointed "Ronaldo" can be displayed in a pop-up box on the display screen of the device corresponding to the viewer side client.
[0121] In one implementation, the description information is pushed to the viewer-side client for display, including:
[0122] Get the current frame image to which the target object belongs;
[0123] Encode the description information corresponding to the current frame image into the video stream data of the current frame image;
[0124] The encoded video stream data is transmitted to the client, and the corresponding description information is displayed in the viewer-side client.
[0125] Specifically, when the live broadcast platform server transmits the video stream data corresponding to the live game video content to the audience-side client, it transmits it frame by frame, and the same game element may appear in different frames. For example, in a live game broadcast, the same game character may use multiple skills in a series. This process takes a certain amount of time, so the process of using skills may take up several frames. If there is a delay in the transmission, it is likely to cause the description information to not match the picture.
[0126] This embodiment takes into account the synchronization between the description information and the user's interactive operation. Therefore, when transmitting the video stream data, the description information corresponding to the current frame image to which the same game element belongs is encoded into the video stream data corresponding to the current frame image, and then transmitted to the viewer-side client. After receiving the video stream data, the viewer-side client decodes the video stream data to obtain the current frame image and the corresponding description information. At this time, the data received by the viewer-side client can ensure that the current frame image matches the description information. In this way, the user can clearly know in which frame the host starts to use a certain skill, and in which frame the host ends the use of the skill.
[0127] Similarly, this embodiment takes into account that the data volume of the description information is large. If it is directly encoded in the video stream data for transmission, it may occupy a lot of traffic. As mentioned above, each description information corresponds to an event ID. Therefore, in one embodiment, the description information corresponding to the current frame image is encoded into the video stream data corresponding to the current frame image, including:
[0128] Get the event ID of the description information;
[0129] The event ID is encoded into the video stream data corresponding to the current frame image.
[0130] When the viewer-side client receives the video stream data, it decodes the video stream data, obtains the corresponding event ID, and queries the live broadcast platform server for corresponding description information based on the event ID.
[0131] The live broadcast platform server can store the event ID and the corresponding description information in the local database, and can reduce the transmission pressure by using the cache. At the same time, when the viewer-side client receives the event ID and the corresponding description information, it will store the event ID and the corresponding description information in the local cache of the client device. If the client initiates a query request again, it can first query whether there is a corresponding event ID in its own local cache. If so, it can directly obtain the corresponding description information from the local cache, further improving the query efficiency.
[0132] Of course, the live broadcast platform server can also package the event ID and the corresponding description information and send it directly to the left and right audience clients who have watched the game live broadcast content; if the user is watching this game live broadcast for the first time, the event ID and the corresponding description information package will be automatically downloaded from the live broadcast platform server during the viewing process.
[0133] When the live broadcast platform server updates the description information corresponding to a certain event ID, it will send the latest description information to the client, and the viewer-side client will update the description information in the local cache according to the new description information to improve accuracy.
[0134] The live broadcast platform server will also provide a download portal for all resources. When the user uninstalls the viewer-side client or accidentally deletes the description information package corresponding to the event ID, the description information package corresponding to the event ID can be re-downloaded from the resource download portal.
[0135] In this embodiment, when the audience needs to query the specific information of a game element in the game video screen, they only need to perform interactive operations at the location of the game element. The server can identify the game element and push the description information of the game element to the audience-side client for display, thereby meeting the user's viewing needs in a timely manner.
[0136] Based on the same inventive concept as in the above-mentioned embodiment, this embodiment also provides a server for displaying game element information, such as Figure 3 As shown, the server includes:
[0137] The acquisition unit 31 is used to acquire the game live video data and the game operation events, and send the game live video data and the game operation events to the audience side client to form a game video screen;
[0138] A first receiving unit 32 is used to receive current position information in the game video screen sent by the viewer-side client, where the current position information is determined by the viewer-side client based on the user's interactive operation on the game video screen;
[0139] A determination unit 33, configured to determine description information of a game element corresponding to the current position according to the current position information and the game operation event;
[0140] The push unit 34 is used to push the description information to the viewer-side client for display.
[0141] Since the server introduced in the embodiment of the present invention is a server used to implement the method for displaying game element information in the embodiment of the present invention, based on the method introduced in the embodiment of the present invention, the person skilled in the art can understand the specific structure and deformation of the server, so it is not repeated here. All servers used in the method of the embodiment of the present invention belong to the scope of protection of the present invention.
[0142] Based on the same inventive concept as the above-mentioned embodiment, the embodiment of the present invention further provides a method for displaying game element information, which is applied in the audience side client, such as Figure 4 As shown, the method comprises the following steps:
[0143] S410, receiving game live video data and game operation events sent by a live platform server, and forming a game video screen based on the game live video data and the game operation events;
[0144] As mentioned above, when the anchor starts to broadcast a game live, the anchor-side client can obtain the game video data in real time. The anchor-side client sends the game video data to the server, and then the server can obtain the game live video data. The server then sends the game live video data and game operation events to the audience-side client in the terminal.
[0145] That is, the audience-side client receives the game live video data and game operation events sent by the live platform server, and forms a game video screen based on the game live video data and the game operation events, and the user can watch the game video screen on the audience-side client.
[0146] S411, responding to the user's interactive operation on the game video screen, obtaining current position information of the game video screen selected by the user based on the interactive operation;
[0147] If the user wants to know the detailed information of a game element (such as a game character or a game prop) in the game video screen while watching the video content, he only needs to perform interactive operations on the screen where the game video screen is located, such as clicking the game element with the mouse, or touching the screen with his finger to click the game element, or suspending the cursor on the game element for a period of time (such as 5 seconds); at this time, the audience-side client can obtain the current position information in the game video screen selected by the user based on the interactive operation in response to the user's interactive operation on the game video screen, and then send the current position information to the live broadcast platform server.
[0148] Of course, the video picture in this embodiment can be a live game picture, or a live party picture, a live (sports) event picture, or a TV series or movie playing picture.
[0149] For example, when a game is being broadcast live, the host client will push the real-time game video screen to the server, and the server will push the game screen to the user client (audience client) for display. For example, if the user wants to know the game character selected by the host in the screen and the skills of the game character at a certain moment, when using the skills, the user can click on the game character, and the audience client can respond to the user's interactive operation on the game video screen, and obtain the current position information in the game video screen selected by the user based on the interactive operation.
[0150] S412, sending the current position information to the live broadcast platform server, so that the live broadcast platform server determines the description information of the game element corresponding to the current position according to the current position information and the game operation event, and pushes the description information;
[0151] After obtaining the current position information, the current position information is sent to the live broadcast platform server, so that the live broadcast platform server determines the description information of the game element corresponding to the current position according to the current position information and the game operation event, and sends the description information;
[0152] Among them, the live broadcast platform server determines the description information of the game element corresponding to the current position based on the current position information and the game operation event. Please refer to the relevant description in the above text, so it will not be repeated here.
[0153] S413, receiving the description information pushed by the live broadcast platform server and displaying it.
[0154] After the audience-side client installed in the terminal receives the description information pushed by the live broadcast platform server, it will display the description information in the game video screen.
[0155] Specifically, since the live broadcast platform server transmits the video stream data corresponding to the live game video content to the audience-side client frame by frame, the same game element may appear in different frames of the picture; for example, in a live game broadcast, the same game character may use multiple skills in a series, and this process takes a certain amount of time. Therefore, the process of using skills may take up several frames of the picture. If there is a delay in the transmission, it is likely to cause the description information to not match the picture.
[0156] When the live broadcast platform server transmits video stream data, it encodes the description information corresponding to the current frame image of the same game element into the video stream data corresponding to the current frame image, and then transmits it to the viewer-side client. After receiving the video stream data, the viewer-side client decodes the video stream data to obtain the current frame image and the corresponding description information. At this time, the data received by the viewer-side client can ensure that the current frame image matches the description information. In this way, the user can clearly know in which frame the host starts to use a certain skill, and in which frame the skill ends.
[0157] If the event ID of the descriptive information transmitted by the live broadcast platform server is used, when the viewer-side client receives the video stream data, it decodes the video stream data to obtain the corresponding event ID, and queries the live broadcast platform server for the corresponding descriptive information based on the event ID.
[0158] At the same time, when the audience-side client receives the event ID and the corresponding description information, it will store the event ID and the corresponding description information in the local cache of the client device. If the client initiates a query request again, it can first query whether there is a corresponding event ID in its own local cache. If so, it can directly obtain the corresponding description information from the local cache, further improving query efficiency.
[0159] After obtaining the description information, the description information is displayed at the current position of the game video screen, for example, a pop-up window can be used for display, and a close mark is set on the pop-up window. After the user reads the description information, the pop-up window can be automatically closed.
[0160] Based on the same inventive concept as in the above-mentioned embodiment, this embodiment also provides a terminal for displaying game element information, such as Figure 5 As shown, the terminal includes:
[0161] The second receiving unit 51 is used to receive the game live video data and the game operation events sent by the live platform server, and form a game video screen based on the game live video data and the game operation events;
[0162] A selection unit 52, configured to respond to a user's interactive operation on the game video screen, and obtain current position information of the game video screen selected by the user based on the interactive operation;
[0163] A sending unit 53 is used to send the current position information to a live broadcast platform server, so that the live broadcast platform server determines the description information of the game element corresponding to the current position according to the current position information and the game operation event, and pushes the description information;
[0164] The third receiving unit 54 is used to receive the description information pushed by the live broadcast platform server and display it.
[0165] Since the terminal introduced in the embodiment of the present invention is a terminal used to implement the method for displaying game element information in the embodiment of the present invention, based on the method introduced in the embodiment of the present invention, the person skilled in the art can understand the specific structure and deformation of the terminal, so it is not repeated here. All terminals used in the method of the embodiment of the present invention belong to the scope of protection of the present invention.
[0166] Based on the same inventive concept, this embodiment provides a computer device 600, such as Figure 6 As shown, it includes a memory 610, a processor 620, and a computer program 611 stored in the memory 610 and executable on the processor 620. When the processor 620 executes the computer program 611, any step of the method described above is implemented.
[0167] Based on the same inventive concept, this embodiment provides a computer-readable storage medium 700, such as Figure 7 As shown, a computer program 711 is stored thereon, and when the computer program 711 is executed by a processor, the steps of any of the methods described above are implemented.
[0168] Through one or more embodiments of the present invention, the present invention has the following beneficial effects or advantages:
[0169] The present invention provides a method, server, terminal, medium and device for displaying game element information, which obtains game live video data and game operation events, and sends the game live video data and game operation events to an audience-side client to form a game video screen; receives current position information in the game video screen sent by the audience-side client, and the current position information is determined by the audience-side client based on the user's interactive operation on the game video screen; determines the description information of the game element corresponding to the current position according to the current position information and the game operation event; pushes the description information to the audience-side client for display; in this way, when the audience needs to query the specific information of a game element in the game video screen, it only needs to perform interactive operations at the location of the game element, and the server can push the description information of the game element to the audience-side client for display, thereby meeting the user's viewing needs in a timely manner.
[0170] The algorithm and display provided herein are not inherently related to any particular computer, virtual system or other device. Various general purpose systems can also be used together with the teachings based on this. According to the above description, it is obvious that the structure required for constructing such systems. In addition, the present invention is not directed to any specific programming language either. It should be understood that various programming languages can be utilized to realize the content of the present invention described herein, and the description of the above specific languages is for disclosing the best mode of the present invention.
[0171] In the description provided herein, a large number of specific details are described. However, it is understood that embodiments of the present invention can be practiced without these specific details. In some instances, well-known methods, structures and techniques are not shown in detail so as not to obscure the understanding of this description.
[0172] Similarly, it should be understood that in order to streamline the present disclosure and aid in understanding one or more of the various inventive aspects, in the above description of exemplary embodiments of the present invention, various features of the present invention are sometimes grouped together into a single embodiment, figure, or description thereof. However, this disclosed method should not be interpreted as reflecting the intention that the claimed invention requires more features than those explicitly recited in each claim. More specifically, as reflected in the claims below, inventive aspects lie in less than all the features of the individual embodiments disclosed above. Therefore, the claims that follow the specific embodiment are hereby expressly incorporated into the specific embodiment, with each claim itself serving as a separate embodiment of the present invention.
[0173] Those skilled in the art will appreciate that the modules in the devices in the embodiments may be adaptively changed and arranged in one or more devices different from the embodiments. The modules or units or components in the embodiments may be combined into one module or unit or component, and in addition they may be divided into a plurality of submodules or subunits or subcomponents. Except that at least some of such features and / or processes or units are mutually exclusive, all features disclosed in this specification (including the accompanying claims, abstracts and drawings) and all processes or units of any method or device disclosed in this manner may be combined in any combination. Unless otherwise expressly stated, each feature disclosed in this specification (including the accompanying claims, abstracts and drawings) may be replaced by an alternative feature providing the same, equivalent or similar purpose.
[0174] In addition, those skilled in the art will appreciate that, although some embodiments herein include certain features included in other embodiments but not other features, the combination of features of different embodiments is meant to be within the scope of the present invention and form different embodiments. For example, in the claims below, any one of the claimed embodiments may be used in any combination.
[0175] The various component embodiments of the present invention can be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. It should be understood by those skilled in the art that a microprocessor or digital signal processor (DSP) can be used in practice to implement some or all functions of some or all components in a gateway, proxy server, or system according to an embodiment of the present invention. The present invention can also be implemented as a device or apparatus program (e.g., a computer program and a computer program product) for executing part or all of the methods described herein. Such a program implementing the present invention can be stored on a computer-readable medium, or can have the form of one or more signals. Such a signal can be downloaded from an Internet website, or provided on a carrier signal, or provided in any other form.
[0176] It should be noted that the above embodiments illustrate the present invention rather than limit it, and that those skilled in the art may devise alternative embodiments without departing from the scope of the appended claims. In the claims, any reference symbol between brackets shall not be construed as a limitation on the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "one" or "an" preceding an element does not exclude the presence of a plurality of such elements. The present invention may be implemented by means of hardware comprising a number of different elements and by means of a suitably programmed computer. In a unit claim enumerating a number of devices, several of these devices may be embodied by the same hardware item. The use of the words first, second, and third, etc., does not indicate any order. These words may be interpreted as names.
[0177] Although the preferred embodiments of the present application have been described, those skilled in the art may make other changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of the present application.
[0178] The above description is only a preferred embodiment of the present invention and is not intended to limit the protection scope of the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the protection scope of the present invention.
Claims
1. A method for displaying game element information, characterized in that: Applied in a live broadcast platform server, the method includes: Acquire game live video data and game operation events, and send the game live video data and the game operation events to the audience-side client to form a game video screen; the game operation events are various event information of the anchor user manipulating the game elements; Receiving current position information in the game video screen sent by the audience-side client, where the current position information is determined by the audience-side client based on a user's interactive operation on the game video screen; Determine description information of a game element corresponding to the current position according to the current position information and the game operation event; the game element is any object in the game video screen; Pushing the description information to the viewer-side client for display; Get game operation events, including: If the third-party game developer provides the first SDK, the game operation event sent by the anchor-side client is received; wherein the game operation event is obtained by the anchor-side client from the game client using the first software development kit SDK provided by the third-party game developer; If the third-party game company does not provide the first SDK, use the application programming interface API to perform reverse analysis on the game data transmission channel of the game client to obtain the program node that sends data and the program node that receives data; Hooking the program node for sending data and the program node for receiving data to obtain a sending data hook program module and a receiving data hook program module; A second SDK is created based on the sending data hook program module and the receiving data hook program module, and the second SDK is sent to the anchor-side client; the second SDK is injected into the game process when the anchor starts the game and broadcasts live, and the second SDK is used to obtain game operation events released by the game client; Receive the game operation event sent by the anchor-side client.
2. The method according to claim 1, characterized in that The obtaining of game operation events includes: When the confirmation information sent by the game server that the anchor has started the live broadcast of the game is received, the game operation event sent by the game server is received by using the game data broadcast channel.
3. The method according to claim 1, characterized in that After receiving the game operation event sent by the anchor-side client, the method further includes: Use the corresponding API interface to read the game status data from the memory in the game client; or, Use the corresponding API interface to reverse analyze the data processing logic of the game client to obtain the data processing program node; Hooking the data processing program node to obtain a data processing hook program module; The data processing hook program module is used to intercept the game status data in the game process.
4. The method according to claim 1, characterized in that If the game operation event only includes an event identification ID, the method further includes: Using the second SDK to obtain the game resource files of the game client; The corresponding description information is searched in the game resource file based on the event ID; the game resource file contains the corresponding relationship between the event ID and the description information.
5. The method according to claim 1, characterized in that The determining, according to the current position information and the game operation event, the description information of the game element corresponding to the current position includes: Filtering target game operation events containing description information from various game operation events based on the current position information; there is a corresponding relationship between the various game operation events; The description information of the game element is determined based on the target game operation event including the description information.
6. The method according to claim 1, characterized in that The step of pushing the description information to the viewer-side client for display includes: Get the current frame image to which the game element belongs; Encoding the description information corresponding to the current frame image into the video stream data corresponding to the current frame image; The encoded video stream data is transmitted to the viewer-side client, and the corresponding description information is displayed in the viewer-side client.
7. A server for displaying game element information, characterized in that: The server comprises: An acquisition unit is used to acquire game live video data and game operation events, and send the game live video data and the game operation events to the audience-side client to form a game video screen; the game operation events are various event information of the anchor user manipulating the game elements; A first receiving unit is used to receive current position information in the game video screen sent by a viewer-side client, where the current position information is determined by the viewer-side client based on a user's interactive operation on the game video screen; A determination unit, configured to determine description information of a game element corresponding to the current position according to the current position information and the game operation event; a game element is any object in a game video screen; A push unit, used to push the description information to the viewer-side client for display; The acquisition unit is specifically used for: If the third-party game developer provides the first SDK, the game operation event sent by the anchor-side client is received; wherein the game operation event is obtained by the anchor-side client from the game client using the first software development kit SDK provided by the third-party game developer; If the third-party game company does not provide the first SDK, use the application programming interface API to perform reverse analysis on the game data transmission channel of the game client to obtain the program node that sends data and the program node that receives data; Hooking the program node for sending data and the program node for receiving data to obtain a sending data hook program module and a receiving data hook program module; A second SDK is created based on the sending data hook program module and the receiving data hook program module, and the second SDK is sent to the anchor-side client; the second SDK is injected into the game process when the anchor starts the game and broadcasts live, and the second SDK is used to obtain game operation events released by the game client; Receive the game operation event sent by the anchor-side client.
8. A method for displaying game element information, characterized in that: Applied in a viewer-side client, the method includes: Receive game live video data and game operation events sent by a live platform server, and form a game video screen based on the game live video data and the game operation events; the game operation events are various event information of the anchor user manipulating the game elements; In response to a user's interactive operation on the game video screen, obtaining current position information of the game video screen selected by the user based on the interactive operation; Sending the current position information to a live broadcast platform server, so that the live broadcast platform server determines the description information of the game element corresponding to the current position according to the current position information and the game operation event, and pushes the description information; wherein the game element is any object in the game video screen; Receive the description information pushed by the live broadcast platform server and display it; The method for obtaining the game operation event includes: If the third-party game developer provides the first SDK, the game operation event sent by the anchor-side client is received; wherein the game operation event is obtained by the anchor-side client from the game client using the first software development kit SDK provided by the third-party game developer; If the third-party game company does not provide the first SDK, use the application programming interface API to perform reverse analysis on the game data transmission channel of the game client to obtain the program node that sends data and the program node that receives data; Hooking the program node for sending data and the program node for receiving data to obtain a sending data hook program module and a receiving data hook program module; A second SDK is created based on the sending data hook program module and the receiving data hook program module, and the second SDK is sent to the anchor-side client; the second SDK is injected into the game process when the anchor starts the game and broadcasts live, and the second SDK is used to obtain game operation events released by the game client; Receive the game operation event sent by the anchor-side client.
9. A terminal, characterized in that: The terminal comprises: The second receiving unit is used to receive the game live video data and game operation events sent by the live platform server, and form a game video screen based on the game live video data and the game operation events; the game operation events are various event information of the anchor user manipulating the game elements; A selection unit, configured to respond to a user's interactive operation on the game video screen, and obtain current position information of the game video screen selected by the user based on the interactive operation; A sending unit, configured to send the current position information to a live broadcast platform server, so that the live broadcast platform server determines description information of a game element corresponding to the current position according to the current position information and the game operation event, and pushes the description information; wherein the game element is any object in the game video screen; A third receiving unit is used to receive the description information pushed by the live broadcast platform server and display it; The method for obtaining the game operation event includes: If the third-party game developer provides the first SDK, the game operation event sent by the anchor-side client is received; wherein the game operation event is obtained by the anchor-side client from the game client using the first software development kit SDK provided by the third-party game developer; If the third-party game company does not provide the first SDK, use the application programming interface API to perform reverse analysis on the game data transmission channel of the game client to obtain the program node that sends data and the program node that receives data; Hooking the program node for sending data and the program node for receiving data to obtain a sending data hook program module and a receiving data hook program module; A second SDK is created based on the sending data hook program module and the receiving data hook program module, and the second SDK is sent to the anchor-side client; the second SDK is injected into the game process when the anchor starts the game and broadcasts live, and the second SDK is used to obtain game operation events released by the game client; Receive the game operation event sent by the anchor-side client.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the steps of the method described in any one of claims 1 to 6 are implemented; or, when the program is executed by a processor, the steps of the method described in claim 8 are implemented.
11. A computer device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the program, the steps of the method described in any one of claims 1 to 6 are implemented; or, when the processor executes the program, the steps of the method described in claim 8 are implemented.
Citation Information
Patent Citations
Processing method, apparatus and equipment of game live broadcasting, and computer readable storage medium
CN110870975A
Content display method, device and system in game live broadcast and storage medium
CN113573090A