Video decoding method and device, electronic equipment and storage medium

By performing graphics card performance analysis and configuration optimization on multi-graphics user terminals, the problem of inability to effectively utilize multi-graphics card hard decoding capabilities in the existing technology is solved, and more efficient video hardware decoding performance is achieved, improving user experience.

CN119729075APending Publication Date: 2025-03-28TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311260811.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-27
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

The prior art cannot effectively utilize the hard decoding capabilities of other graphics cards other than the first graphics card in multi-graphics card user terminals, resulting in a low decoding detection coverage.

Method used

By responding to the video decoding instruction of the target video, the graphics card performance analysis of multiple graphics cards is carried out, the graphics card indication information is generated, the graphics card configuration information is modified to give priority to the use of graphics cards with better performance, and decoding and detection are performed to generate a hardware decoder.

Benefits of technology

It improves the graphics card performance application of multi-graphics user terminals, improves the overall hardware decoding performance of the terminal, and thus improves the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119729075A_ABST
    Figure CN119729075A_ABST
Patent Text Reader

Abstract

The invention relates to a video decoding method and device, electronic equipment and a storage medium, and relates to the technical field of computers, and the method comprises the steps: responding to a video decoding instruction for a target video, carrying out the display card performance analysis of a plurality of target display cards, and obtaining the indication information of the target display card; the target graphics card indication information is used for indicating the type of the graphics card operating preferentially; modifying the target graphics card configuration information based on the target graphics card indication information, so as to set the first graphics card in the target graphics card list as a graphics card of a graphics card type corresponding to the target graphics card indication information, and obtaining an updated graphics card list; performing decoding detection on the plurality of target graphics cards in the updated graphics card list to obtain a decoding detection result; generating a hardware decoder based on the target display card corresponding to the decoding detection result; and decoding the target video based on a hardware decoder to realize video hardware decoding of the target video type. According to the embodiment of the invention, the decoding performance detection coverage rate can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, and in particular to a video decoding method, device, electronic device and storage medium. Background Art

[0002] With the development of science and technology and the rapid development of communication infrastructure, people have higher and higher requirements for video quality. At present, video applications are roughly divided into three categories: video call, video player, and screen sharing. Video call applications are oriented to low-latency scenarios, and have no special requirements for high resolution and high frame rate. The video resolution is generally 480p-720p, and the video frame rate is 30fps. Video player applications are oriented to high-resolution scenarios, and the video frame rate is only required to reach 30fps, as long as the decoding output frame rate is stable. Screen sharing-related applications are oriented to high-resolution and low-latency scenarios, and the decoding frame rate is generally required to be 15-30fps. For some high-resolution and high-frame rate application scenarios (such as cloud games), the requirements for decoders are relatively high. The video resolution is generally above 720p, and the decoding frame rate is generally required to be 60fps. In general, for some low-resolution and low-frame rate scenarios, the software decoder can meet the requirements; however, for high-resolution and high-frame rate usage scenarios, it is usually necessary to enable the hardware decoder to meet the low-latency and high-smoothness user experience.

[0003] Currently, almost all graphics cards on the market have certain video hardware acceleration capabilities. The video hardware acceleration capabilities of different graphics cards vary. Some graphics cards support more acceleration projects, while others support fewer. For user terminals with multiple graphics cards, the current decoding detection scheme usually only considers the capabilities of the first graphics card in the graphics card list, resulting in some user terminals with multiple graphics cards being unable to utilize the hardware decoding capabilities of graphics cards other than the first one. Therefore, the detection coverage of the above detection method is low. Summary of the invention

[0004] In view of the above-mentioned technical problems, the present disclosure proposes a video decoding method, device, electronic device and storage medium.

[0005] According to one aspect of an embodiment of the present disclosure, a video decoding method is provided, including:

[0006] In response to a video decoding instruction for a target video, a graphics card performance analysis is performed on multiple target graphics cards corresponding to the target object to obtain target graphics card indication information; the target graphics card indication information is used to indicate a graphics card type to be run preferentially; the target video is a video belonging to the target video type;

[0007] Based on the target graphics card indication information, modify the target graphics card configuration information to set the first graphics card in the target graphics card list corresponding to the target object as a graphics card of the graphics card type corresponding to the target graphics card indication information, to obtain an updated graphics card list;

[0008] Performing decoding detection on multiple target graphics cards in the updated graphics card list to obtain decoding detection results;

[0009] Generate a hardware decoder based on the target graphics card corresponding to the decoding detection result;

[0010] Based on the hardware decoder, the target video is decoded to implement video hardware decoding of the target video type.

[0011] According to another aspect of an embodiment of the present disclosure, a video decoding apparatus is provided, including:

[0012] a graphics card performance analysis module, for responding to a video decoding instruction for a target video, performing graphics card performance analysis on a plurality of target graphics cards corresponding to a target object, and obtaining target graphics card indication information; the target graphics card indication information is used to indicate a graphics card type to be run preferentially; the target video is a video belonging to the target video type;

[0013] a configuration modification module, configured to modify the target graphics card configuration information based on the target graphics card indication information, so as to set the first graphics card in the target graphics card list corresponding to the target object to a graphics card of the graphics card type corresponding to the target graphics card indication information, and obtain an updated graphics card list;

[0014] A decoding detection module, used to perform decoding detection on multiple target graphics cards in the updated graphics card list to obtain decoding detection results;

[0015] A decoder generation module, used to generate a hardware decoder based on a target graphics card corresponding to the decoding detection result;

[0016] The first video decoding module is used to decode the target video based on the hardware decoder to implement video hardware decoding of the target video type.

[0017] Optionally, the device further comprises:

[0018] An information acquisition module, used to acquire graphics card identification information corresponding to each of the plurality of target graphics cards;

[0019] Correspondingly, the graphics card performance analysis module includes:

[0020] A matching processing module, used for matching the graphics card identification information of the plurality of target graphics cards with at least one first preset identification information to obtain a first matching result;

[0021] A graphics card indication generating module is used to generate the target graphics card indication information based on the graphics card type corresponding to the first target graphics card when the first matching result indicates that the first target graphics card matches any first preset identification information; the first target graphics card is any one of the multiple target graphics cards.

[0022] Optionally, the decoding detection module includes:

[0023] The first detection module is used to perform decoding detection on the first graphics card based on the decoding performance query interface in the first version application interface to obtain the first decoding detection result.

[0024] Optionally, the decoder generation module includes:

[0025] The first execution module is configured to generate the hardware decoder based on the first graphics card when the first decoding detection result indicates that the first graphics card supports hardware decoding.

[0026] Optionally, the device further comprises:

[0027] A second detection module is used to perform decoding detection on the first graphics card based on a decoding performance query interface in a second version application interface to obtain the second decoding detection result when the first decoding detection result indicates that the first graphics card does not support hardware decoding; the version corresponding to the second version application interface is greater than the version corresponding to the first version application interface.

[0028] Optionally, the decoder generation module includes:

[0029] The second execution module is configured to generate the hardware decoder based on the first graphics card when the second decoding detection result indicates that the first graphics card supports hardware decoding.

[0030] Optionally, the device further comprises:

[0031] A third detection module is used to perform decoding detection on at least one non-first graphics card in the updated graphics card list based on the decoding performance query interface in the second version application interface to obtain the third decoding detection result when the second decoding detection result indicates that the first graphics card does not support hardware decoding.

[0032] Optionally, the decoder generation module includes:

[0033] The third execution module is used to generate the hardware decoder based on any non-first graphics card when the third decoding detection result indicates that any non-first graphics card supports hardware decoding.

[0034] Optionally, the device further comprises:

[0035] a fourth execution module, configured to generate a software decoder when the second decoding detection result indicates that the first graphics card does not support hardware decoding, and the third decoding detection result indicates that the at least one non-first graphics card does not support hardware decoding;

[0036] The second video decoding module is used to decode the target video based on the software decoder to implement video software decoding of the target video type.

[0037] Optionally, the device further comprises:

[0038] A hard decoding stream test module, used to perform a hard decoding stream test on the hardware decoder to obtain a target test result;

[0039] Accordingly, the first video decoding module includes:

[0040] The third video decoding module is used to decode the target video based on the hardware decoder when the target test result is a test pass, so as to implement video hardware decoding of the target video type.

[0041] According to another aspect of an embodiment of the present disclosure, an electronic device is provided, comprising: a processor; and a memory for storing instructions executable by the processor; wherein the processor is configured to execute the instructions to implement the above-mentioned video decoding method.

[0042] According to another aspect of an embodiment of the present disclosure, a computer-readable storage medium is provided. When instructions in the storage medium are executed by a processor of an electronic device, the electronic device is enabled to perform the above-mentioned video decoding method.

[0043] According to another aspect of the embodiments of the present disclosure, a computer program product including instructions is provided, and when the computer program product is run on a computer, the computer is enabled to execute the above-mentioned video decoding method.

[0044] The technical solution provided by the embodiments of the present disclosure brings at least the following beneficial effects:

[0045] In response to a video decoding instruction for a target video belonging to a target video type, a graphics card performance analysis is performed on multiple target graphics cards corresponding to the target object to obtain target graphics card indication information, wherein the target graphics card indication information is used to indicate the graphics card type to be run preferentially, so as to implement graphics card performance analysis of multiple target graphics cards contained in the target object, and then in combination with the target graphics card indication information, the target graphics card configuration information is modified to set the first graphics card in the target graphics card list corresponding to the target object to be a graphics card of the graphics card type corresponding to the target graphics card indication information, so as to obtain an updated graphics card list, and the graphics card switching in the target graphics card list can be implemented by modifying the target graphics card configuration information, and then, decoding detection is performed on multiple target graphics cards in the updated graphics card list to obtain decoding detection results, so as to improve the coverage rate of the decoding performance of the detection terminal, and then, based on the target graphics card corresponding to the decoding detection results, a hardware decoder is generated, and based on the hardware decoder, the target video is decoded and processed to implement video hardware decoding of the target video type, so as to ensure that the graphics card performance of a multi-graphics card user terminal is maximized, improve the overall hardware decoding performance of the terminal, and thus improve the user experience.

[0046] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] The drawings herein are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the description are used to explain the principles of the present disclosure, and do not constitute improper limitations on the present disclosure.

[0048] Figure 1 is a schematic diagram of an application system according to an exemplary embodiment;

[0049] Figure 2 is a flowchart of a video decoding method according to an exemplary embodiment;

[0050] Figure 3 is a block diagram of a video decoding device according to an exemplary embodiment;

[0051] Figure 4 is a block diagram of an electronic device for decoding a target video according to an exemplary embodiment;

[0052] Figure 5 It is a block diagram of another electronic device for decoding a target video according to an exemplary embodiment. DETAILED DESCRIPTION

[0053] Various exemplary embodiments, features and aspects of the present application will be described in detail below with reference to the accompanying drawings. The same reference numerals in the accompanying drawings represent elements with the same or similar functions. Although various aspects of the embodiments are shown in the accompanying drawings, the drawings are not necessarily drawn to scale unless otherwise specified.

[0054] The word “exemplary” is used exclusively herein to mean “serving as an example, example, or illustration.” Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments.

[0055] In addition, in order to better illustrate the present application, numerous specific details are given in the following specific embodiments. It should be understood by those skilled in the art that the present application can also be implemented without certain specific details. In some examples, methods, means, components and circuits well known to those skilled in the art are not described in detail in order to highlight the subject matter of the present application.

[0056] See also Figure 1 , Figure 1 01 is a schematic diagram of an application system according to an exemplary embodiment. The application system can be used in the video decoding method of the present application. The application system can at least include a server 01 and a terminal 02.

[0057] In the embodiment of the present application, the server 01 can be used to generate a video decoding instruction for a target video. Specifically, the server 01 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms.

[0058] In the embodiment of the present application, the terminal 02 can be used to decode the target video. The terminal 02 may include physical devices such as smart phones, desktop computers, tablet computers, laptop computers, smart speakers, vehicle terminals, digital assistants, augmented reality (AR) / virtual reality (VR) devices, smart wearable devices, etc., and may also include software running in physical devices, such as applications. The operating system running on the terminal 02 in the embodiment of the present application may include but is not limited to Android system, GNU / Linux system, Windows system, etc.

[0059] In addition, it should be noted that Figure 1What is shown is only one application environment provided by the present disclosure. In actual application, other application environments may also be included. For example, the process of generating a video decoding instruction for a target video may also be implemented on the terminal 02.

[0060] In the embodiments of this specification, the terminal 02 and the server 01 may be directly or indirectly connected via wired or wireless communication, which is not limited in this application.

[0061] It should be noted that the following figure shows a possible sequence of steps, which is not actually limited to strictly follow this sequence. Some steps can be executed in parallel without relying on each other.

[0062] Specifically, Figure 2 FIG. 1 is a flowchart of a video decoding method according to an exemplary embodiment. Figure 2 As shown, the video decoding method can be used in electronic devices such as terminals, and can specifically include the following steps:

[0063] S201: In response to a video decoding instruction for a target video, performing graphics card performance analysis on multiple target graphics cards corresponding to a target object to obtain target graphics card indication information.

[0064] In a specific embodiment, the target video may refer to a video that needs to be decoded. The target video may include a video belonging to a target video type. A video under the target video type may refer to a video that needs to be decoded in a target application scenario. Among them, the target application scenario may refer to an application scenario in which the decoder is required to have a video resolution above a preset resolution and a decoding frame rate of a preset frame rate. Optionally, the preset resolution may be 720p; the preset frame rate may be 60fps. Exemplarily, the target application scenario may include an application scenario for cloud gaming.

[0065] In a specific embodiment, the video decoding instruction may be used to instruct the target object to perform decoding processing on the target video. The video decoding instruction may include identification information of the target video.

[0066] In a specific embodiment, the target object may refer to an object that needs to decode the target video. The target object may include a user terminal. Multiple target graphics cards may refer to multiple graphics cards provided in the target object. Exemplarily, the target object may be provided with a graphics card 1 belonging to an independent graphics card type and a graphics card 2 belonging to an integrated graphics card type.

[0067] In a specific embodiment, the target graphics card indication information may be used to indicate the graphics card type to be run preferentially. The graphics card type may include an integrated graphics card type and an independent graphics card type. The target graphics card indication information may include first indication information and second indication information. The first indication information may be used to indicate that the graphics card type to be run preferentially is an integrated graphics card type. The second indication information may be used to indicate that the graphics card type to be run preferentially is an independent graphics card type.

[0068] In a specific embodiment, the server may send a target video to the terminal, and send a video decoding instruction for the target video to the terminal. Accordingly, the terminal may receive the target video and the video decoding instruction sent by the server. When the video type corresponding to the target video is the target video type, the terminal may perform graphics card performance analysis on multiple target graphics cards corresponding to the target object to obtain target graphics card indication information.

[0069] In a specific embodiment, the above method may further include:

[0070] Obtain graphics card identification information corresponding to each of multiple target graphics cards;

[0071] Accordingly, the above-mentioned performing graphics card performance analysis on multiple target graphics cards corresponding to the target object to obtain target graphics card indication information may include:

[0072] Performing matching processing on the graphics card identification information of the plurality of target graphics cards and at least one first preset identification information to obtain a first matching result;

[0073] When the first matching result indicates that the first target graphics card matches any first preset identification information, target graphics card indication information is generated based on the graphics card type corresponding to the first target graphics card.

[0074] In a specific embodiment, the graphics card identification information corresponding to any target graphics card can be used to identify any of the above target graphics cards. The graphics card identification information corresponding to any of the above target graphics cards can include the graphics card name of any of the above target graphics cards.

[0075] In a specific embodiment, the terminal device model information corresponding to the target object may be obtained first; then, based on the terminal device model information, the graphics card identification information of multiple target graphics cards corresponding to the target object may be obtained. Exemplarily, taking the device type of the target object as a portable computer type as an example, the terminal device model information corresponding to the target object may be queried first; then, the graphics card identification information of multiple graphics cards corresponding to the terminal device model information may be obtained.

[0076] In a specific embodiment, graphics card identification information corresponding to each of a plurality of target graphics cards may be obtained by performing graphics card query processing on the target object.

[0077] In a specific embodiment, at least one first preset identification information may refer to preset identification information of a graphics card belonging to a whitelist. Specifically, at least one first preset identification information may be set according to actual application needs, and the present disclosure does not limit this. Optionally, identification information of at least one graphics card with better decoding performance may be used in advance as the at least one first preset identification information; for example, identification information corresponding to a graphics card that supports more acceleration projects may be used as the first preset identification information.

[0078] In a specific embodiment, the server may send at least one first preset identification information to the target object in advance. After receiving the at least one first preset identification information, the target object may store the at least one first preset identification information.

[0079] In a specific embodiment, the first matching result may be used to indicate whether the graphics card identification information of multiple target graphics cards matches any first preset identification information. The first matching result may include second matching results corresponding to each of the multiple target graphics cards. The second matching result corresponding to any target graphics card may be used to indicate whether the graphics card identification information corresponding to any of the above target graphics cards matches any first preset identification information.

[0080] In a specific embodiment, the graphics card identification information of any target graphics card may be matched with each first preset identification information to obtain a second matching result corresponding to any target graphics card.

[0081] In a specific embodiment, the first target graphics card may be any one of multiple target graphics cards.

[0082] In a specific embodiment, when the graphics card identification information of the target graphics card corresponding to any second matching result indication matches any first preset identification information, the target graphics card corresponding to any second matching result may be used as the first target graphics card.

[0083] In a specific embodiment, the graphics card type corresponding to the first target graphics card may be obtained; then, based on the graphics card type corresponding to the first target graphics card, target graphics card indication information may be generated. Specifically, when the graphics card type corresponding to the first target graphics card is an integrated graphics card type, the first indication information may be used as the target graphics card indication information; correspondingly, when the graphics card type corresponding to the first target graphics card is an independent graphics card type, the second indication information may be used as the target graphics card indication information.

[0084] In the above embodiment, the identification information corresponding to a graphics card with better performance can be used as the first preset identification information, and then the graphics card identification information of multiple target graphics cards and at least one first preset identification information can be matched to obtain a first matching result. When the first matching result indicates that the first target graphics card matches any of the first preset identification information, target graphics card indication information is generated based on the graphics card type corresponding to the first target graphics card, so that the target graphics card configuration information can be modified in combination with the target graphics card indication information to achieve switching of a graphics card with better performance.

[0085] In a specific embodiment, the graphics card identification information of multiple target graphics cards and at least one second preset identification information can be matched to obtain a third matching result; based on the third matching result, the second target graphics card can be determined; based on the graphics card type corresponding to the second target graphics card, the target graphics card indication information can be generated. Among them, the second target graphics card can be any one of the multiple target graphics cards. The second preset identification information can refer to the preset graphics card identification information belonging to the blacklist. Specifically, at least one second preset identification information can be set according to actual application needs, which is not limited in this disclosure. Optionally, the identification information of some graphics cards with poor performance can be pre-set as the second preset identification information.

[0086] In a specific embodiment, the server may send at least one second preset identification information to the target object in advance. After receiving the at least one second preset identification information, the target object may store the at least one second preset identification information.

[0087] In a specific embodiment, the third matching result may be used to indicate whether the graphics card identification information of multiple target graphics cards matches any second preset identification information. The third matching result may include fourth matching results corresponding to each of the multiple target graphics cards. The fourth matching result corresponding to any target graphics card may be used to indicate whether the graphics card identification information corresponding to any of the above target graphics cards matches any second preset identification information.

[0088] In a specific embodiment, the graphics card identification information of any target graphics card may be matched with each second preset identification information to obtain a fourth matching result corresponding to any target graphics card.

[0089] In a specific embodiment, when there is at least one fourth matching result indicating that the graphics card identification information of the corresponding target graphics card matches any second preset identification information, a target graphics card among multiple target graphics cards except the target graphics card corresponding to the at least one fourth matching result can be used as the second target graphics card.

[0090] In a specific embodiment, the graphics card type corresponding to the second target graphics card may be obtained; then, based on the graphics card type corresponding to the second target graphics card, target graphics card indication information may be generated. Specifically, when the graphics card type corresponding to the second target graphics card is an integrated graphics card type, the first indication information may be used as the target graphics card indication information; correspondingly, when the graphics card type corresponding to the second target graphics card is an independent graphics card type, the second indication information may be used as the target graphics card indication information.

[0091] S203: Based on the target graphics card indication information, modify the target graphics card configuration information to set the first graphics card in the target graphics card list corresponding to the target object as a graphics card of the graphics card type corresponding to the target graphics card indication information, and obtain an updated graphics card list.

[0092] In a specific embodiment, the target graphics card configuration information can be used to change the order of different graphics card types in the target graphics card list. The target graphics card configuration information may include first graphics card configuration information and second graphics card configuration information. The target graphics card list may refer to a list formed by sorting multiple target graphics cards corresponding to the target object in ascending order according to the corresponding sequence numbers. The first graphics card configuration information may be used to indicate a graphics card of an integrated graphics card type in the priority target graphics card list. The second graphics card configuration information may be used to indicate a graphics card of an independent graphics card type in the priority target graphics card list.

[0093] In a specific embodiment, the first graphics card in the target graphics card list may refer to the target graphics card that is ranked first in the target graphics card list.

[0094] In a specific embodiment, the updated graphics card list may refer to an updated target graphics card list.

[0095] In a specific embodiment, when the target graphics card indication information is the first indication information, the target graphics card configuration information can be set to the first graphics card configuration information, so that the integrated graphics card type graphics card is ranked at the front position in the target graphics card list, and then the first graphics card in the target graphics card list corresponding to the target object can be set to the integrated graphics card type graphics card, and accordingly, an updated graphics card list can be obtained; when the target graphics card indication information is the second indication information, the target graphics card configuration information can be set to the second graphics card configuration information, so that the independent graphics card type graphics card is ranked at the front position in the target graphics card list, and then the first graphics card in the target graphics card list corresponding to the target object can be set to the independent graphics card type graphics card, and accordingly, an updated graphics card list can be obtained. Exemplarily, taking the arrangement order of multiple target graphics cards in the target graphics card list as "integrated graphics card 1, integrated graphics card 2, and independent graphics card 3" as an example, when the target graphics card indication information is the second indication information, the target graphics card configuration information is set to the second graphics card configuration information, so that the arrangement order of multiple target graphics cards in the updated graphics card list can be "independent graphics card 3, integrated graphics card 1, and integrated graphics card 2", that is, "independent graphics card 3" can be changed from belonging to a non-first graphics card to belonging to the first graphics card; taking the arrangement order of multiple target graphics cards in the target graphics card list as "independent graphics card 1, integrated graphics card 2, and integrated graphics card 3" as an example, when the target graphics card indication information is the first indication information, the target graphics card configuration information is set to the first graphics card configuration information, so that the arrangement order of multiple target graphics cards in the updated graphics card list can be "integrated graphics card 2, integrated graphics card 3, and independent graphics card 1", so that the integrated graphics card 2 of the integrated graphics card 2 and the integrated graphics card 3 can be changed from belonging to a non-first graphics card to belonging to the first graphics card.

[0096] In a specific embodiment, when the target graphics card indication information is the first indication information, the target graphics card configuration information (such as the environment variable SHIM_MCCOMPAT) can be set to 0x800000000, so that the first graphics card in the target graphics card list corresponding to the target object is set to an integrated graphics card type graphics card; when the target graphics card indication information is the second indication information, the target graphics card configuration information (such as the environment variable SHIM_MCCOMPAT) can be set to 0x800000001, so that the first graphics card in the target graphics card list corresponding to the target object is set to an independent graphics card type graphics card.

[0097] In the above embodiment, based on the target graphics card indication information, the target graphics card configuration information is modified to set the first graphics card in the target graphics card list corresponding to the target object to a graphics card of the graphics card type corresponding to the target graphics card indication information. This can achieve graphics card switching in the target graphics card list, and further improve the coverage of the decoding performance of the detection terminal.

[0098] S205: Perform decoding detection on multiple target graphics cards in the updated graphics card list to obtain decoding detection results.

[0099] In a specific embodiment, the decoding detection result can be used to indicate whether at least one target graphics card supports hardware decoding.

[0100] In a specific embodiment, the decoding detection result may include a first decoding detection result. The first decoding detection result may be used to indicate whether the first graphics card supports hardware decoding. The first decoding detection result may include a hard decoding support result or a non-hard decoding support result. The hard decoding support result may be used to indicate that the corresponding target graphics card supports hardware decoding. The non-hard decoding support result may be used to indicate that the corresponding target graphics card does not support hardware decoding.

[0101] In a specific embodiment, the above step S205 may include:

[0102] Based on the decoding performance query interface in the first version application interface, a decoding detection is performed on the first graphics card to obtain a first decoding detection result.

[0103] In a specific embodiment, the first version application interface may refer to a multimedia programming interface under the first version. The first version application interface may include a decoding performance query interface. The decoding performance query interface may be used to query the hardware decoding performance of the target graphics card to implement decoding detection of the graphics card. Specifically, the first version application interface may include DirectX9, etc.

[0104] In a specific embodiment, the decoding performance query interface in the first version application interface may be called to perform decoding detection on the first graphics card in the updated graphics card list to obtain a first decoding detection result.

[0105] In a specific embodiment, the decoding detection result may further include a second decoding detection result. The second decoding detection result may be used to indicate whether the first graphics card supports hardware decoding. The second decoding detection result may include a hard decoding support result or a non-hard decoding support result.

[0106] In a specific embodiment, the above step S205 may further include:

[0107] When the first decoding detection result indicates that the first graphics card does not support hardware decoding, decoding detection is performed on the first graphics card based on the decoding performance query interface in the second version application interface to obtain a second decoding detection result.

[0108] In a specific embodiment, the second version application interface may refer to a multimedia programming interface under the second version. The second version application interface may include a decoding performance query interface. The version corresponding to the second version application interface is greater than the version corresponding to the first version application interface. Specifically, the second version application interface may include DirectX11, etc.

[0109] In a specific embodiment, when the first decoding detection result is a non-hard decoding support result, it can be determined that the first graphics card in the updated graphics card list cannot achieve hardware decoding through the first version application interface. Accordingly, the decoding performance query interface in the second version application interface can be used to perform decoding detection on the first graphics card to obtain a second decoding detection result.

[0110] It should be noted that, taking DirectX9 as an example, the first version of the application interface is relatively low in version and has strong compatibility, but can only perform decoding detection on the first graphics card in the target graphics card list. By modifying the target graphics card configuration information and switching the first graphics card in the target graphics card list, the detection of the first version of the application interface can detect graphics cards other than the first graphics card in the target graphics card list, thereby improving the coverage of hardware decoding detection on the basis of ensuring compatibility through the first version of the application interface; and taking DirectX11 as an example, the second version of the application interface is relatively new, and the second version of the application interface can independently choose to switch graphics cards. The compatibility of the second version of the application interface is not higher than that of the first version of the application interface. There may be more graphics cards that can support the first version of the application interface, but there may also be some graphics cards that do not support the first version of the application interface due to their newer versions, but can support the second version of the application interface. Therefore, when the first decoding detection result obtained for the detection of the graphics card is a non-hard decoding support result, the second decoding detection result corresponding to the graphics card may be a hard decoding support result.

[0111] In a specific embodiment, the decoding detection result may further include a third decoding detection result. The third decoding detection result may be used to indicate whether at least one non-first graphics card in the updated graphics card list supports hardware decoding. The third decoding detection result may include a fourth decoding detection result corresponding to each of the at least one non-first graphics card. The fourth decoding detection result corresponding to any non-first graphics card may include a hard decoding support result or a non-hard decoding support result.

[0112] In a specific embodiment, the above step S205 may further include:

[0113] When the second decoding detection result indicates that the first graphics card does not support hardware decoding, based on the decoding performance query interface in the second version application interface, decoding detection is performed on at least one non-first graphics card in the updated graphics card list to obtain a third decoding detection result.

[0114] In a specific embodiment, when the second decoding detection result is a non-supported hard decoding result, it can be determined that the above-mentioned first graphics card cannot implement hardware decoding through the second version application interface. Accordingly, the decoding performance query interface in the second version application interface can be used to perform decoding detection on at least one non-first graphics card in the updated graphics card list to obtain a third decoding detection result.

[0115] In the above embodiment, when the second decoding detection result indicates that the first graphics card does not support hardware decoding, based on the decoding performance query interface in the second version application interface, decoding detection is performed on at least one non-first graphics card in the updated graphics card list to obtain a third decoding detection result, which can further improve the coverage of decoding performance detection.

[0116] In a specific embodiment, when the second decoding detection result indicates that the first graphics card does not support hardware decoding, a decoding detection can be performed on multiple target graphics cards in the updated graphics card list based on the decoding performance query interface in the second version application interface to obtain a fifth decoding detection result. The fifth decoding detection result can be used to characterize whether the above multiple target graphics cards support hardware decoding. The fifth decoding detection result may include the sixth decoding detection result corresponding to each of the above multiple target graphics cards. The sixth decoding detection result corresponding to any target graphics card can be used to characterize whether any of the above target graphics cards supports hardware decoding.

[0117] In the above embodiment, after modifying the target graphics card configuration information based on the target graphics card indication information, decoding detection is performed on multiple target graphics cards in the updated graphics card list to obtain decoding detection results, thereby achieving an improvement in the coverage of the decoding performance of the detection terminal, thereby reducing the probability of video freezes to a certain extent and improving the user experience.

[0118] S207: Generate a hardware decoder based on the target graphics card corresponding to the decoding detection result.

[0119] In a specific embodiment, a hardware decoder may be used to perform hardware decoding on the target video.

[0120] In a specific embodiment, the above step S207 may include:

[0121] When the first decoding detection result indicates that the first graphics card supports hardware decoding, a hardware decoder is generated based on the first graphics card.

[0122] In a specific embodiment, when the first decoding detection result is a hardware decoding support result, a hardware decoder may be generated based on the first graphics card in the updated graphics card list in combination with the first version application interface.

[0123] In the above embodiment, based on the target graphics card indication information, the target graphics card configuration information is modified, and based on the decoding performance query interface in the first version application interface, decoding detection is performed on the first graphics card to obtain a first decoding detection result. When the first decoding detection result indicates that the first graphics card supports hardware decoding, a hardware decoder is generated based on the first graphics card. Since the first version application interface has good compatibility and can support hardware decoding of more graphics cards, the coverage rate of decoding detection can be improved by switching graphics cards by modifying the target graphics card configuration information, and at the same time, the hardware decoding performance of the terminal for the target video is improved.

[0124] In a specific embodiment, the above step S207 may further include:

[0125] When the second decoding detection result indicates that the first graphics card supports hardware decoding, a hardware decoder is generated based on the first graphics card.

[0126] In a specific embodiment, when the second decoding detection result is a hardware decoding support result, a hardware decoder may be generated based on the first graphics card in the updated graphics card list in combination with the second version application interface.

[0127] In a specific embodiment, the above step S207 may further include:

[0128] When the third decoding detection result indicates that any non-first graphics card supports hardware decoding, a hardware decoder is generated based on any non-first graphics card.

[0129] In a specific embodiment, when there is a fourth decoding detection result in the third decoding detection result that is a hard solution support result, a hardware decoder can be generated based on the target graphics card corresponding to the fourth decoding detection result that is a hard solution support result. Specifically, when there is a fourth decoding detection result in the third decoding detection result that is a hard solution support result, a hardware decoder can be generated based on the target graphics card corresponding to the fourth decoding detection result that is a hard solution support result in combination with the second version application interface.

[0130] In a specific embodiment, when there are multiple fourth decoding detection results that are hard-solution support results in the third decoding detection result, a hardware decoder can be generated based on the target graphics card corresponding to the seventh decoding detection result. The seventh decoding detection result may refer to any fourth decoding detection result among the multiple fourth decoding detection results that are hard-solution support results. Specifically, when there are multiple fourth decoding detection results that are hard-solution support results in the third decoding detection result, a hardware decoder can be generated based on the target graphics card corresponding to the seventh decoding detection result in combination with the second version application interface.

[0131] In a specific embodiment, when the sixth decoding detection result corresponding to the first graphics card in the fifth decoding detection result is a hard decoding support result, a hardware decoder can be generated based on the first graphics card in the updated graphics card list. Specifically, when the sixth decoding detection result corresponding to the first graphics card in the fifth decoding detection result is a hard decoding support result, a hardware decoder can be generated based on the first graphics card in the updated graphics card list in combination with the second version application interface.

[0132] In a specific embodiment, when the sixth decoding detection result corresponding to the first graphics card in the fifth decoding detection result is a non-hard solution support result, and there is at least one sixth decoding detection result corresponding to a non-first graphics card that is a hard solution support result, a hardware decoder can be generated based on the third target graphics card. The third target graphics card may refer to any one of the non-first graphics cards whose at least one corresponding sixth decoding detection result is a hard solution support result. Specifically, when the sixth decoding detection result corresponding to the first graphics card in the fifth decoding detection result is a non-hard solution support result, and there is at least one sixth decoding detection result corresponding to a non-first graphics card that is a hard solution support result, a hardware decoder can be generated based on the third target graphics card in combination with the second version application interface.

[0133] S209: Based on the hardware decoder, the target video is decoded to implement hardware decoding of the target video type.

[0134] In a specific embodiment, when the target graphics card is detected to support hardware decoding through the first version application interface, the target video can be decoded and rendered through the first version application interface and the target graphics card.

[0135] In a specific embodiment, when the target graphics card is detected to support hardware decoding through the second version application interface, the target video can be decoded and rendered through the second version application interface and the target graphics card.

[0136] In a specific embodiment, the above method may further include:

[0137] Perform hard decoding stream test on the hardware decoder to obtain the target test result;

[0138] Accordingly, the above step S209 may include:

[0139] When the target test result is that the test passes, the target video is decoded based on the hardware decoder to implement video hardware decoding of the target video type.

[0140] In a specific embodiment, the target test result can be used to indicate whether the hardware decoder passes the hard decoding stream test. The target test result may include a first test result and a second test result. Among them, the first test result can be used to indicate that the hardware decoder passes the hard decoding stream test. The second test result can be used to indicate that the hardware decoder does not pass the hard decoding stream test.

[0141] In a specific embodiment, the preset bitstream data may be first obtained; based on the above hardware decoder, the preset bitstream data may be decoded and rendered to obtain a video display result; when the above video display result meets the preset display condition corresponding to the target video type, the target test result may be determined to be the first test result; when the above video display result does not meet the preset display condition corresponding to the target video type, the target test result may be determined to be the second test result. The preset bitstream data may be preset bitstream data with a preset time length. The preset display condition may be a condition for determining whether the video display result meets the conditions of low latency and high fluency.

[0142] In a specific embodiment, when the target test result is the first test result, the target video may be decoded based on a hardware decoder to implement hardware decoding of the target video type.

[0143] In the above embodiment, by performing a hard decoding stream test on the hardware decoder to obtain the target test result, the validity verification of the above hardware decoder can be achieved. When the target test result is a test pass, the target video is decoded based on the hardware decoder, which can avoid system crashes, errors or poor performance and improve the user experience.

[0144] In a specific embodiment, the above method may further include:

[0145] If the second decoding detection result indicates that the first graphics card does not support hardware decoding, and the third decoding detection result indicates that at least one non-first graphics card does not support hardware decoding, generating a software decoder;

[0146] Based on the software decoder, the target video is decoded to achieve video software decoding of the target video type.

[0147] In a specific embodiment, when the sixth decoding detection results corresponding to multiple target graphics cards in the fifth decoding detection results are all non-hard decoding supported results, a software decoder can be generated; and the target video can be decoded based on the software decoder.

[0148] In a specific embodiment, in response to a video decoding instruction for a target video, a graphics card performance analysis may be performed on a plurality of target graphics cards corresponding to a target object to obtain target graphics card indication information. Based on the target graphics card indication information, the target graphics card configuration information is modified to set the first graphics card in the target graphics card list corresponding to the target object to a graphics card of the graphics card type corresponding to the target graphics card indication information, to obtain an updated graphics card list. Based on the decoding performance query interface in the first version application interface, a decoding detection may be performed on the first graphics card to obtain a first decoding detection result. When the first decoding detection result indicates that the first graphics card supports hardware decoding, a hardware decoder may be generated based on the first graphics card. Based on the hardware decoder, the target video may be decoded to achieve hardware decoding of the target video type.

[0149] In a specific embodiment, in response to a video decoding instruction for a target video, a graphics card performance analysis may be performed on multiple target graphics cards corresponding to the target object to obtain target graphics card indication information. Based on the target graphics card indication information, the target graphics card configuration information is modified to set the first graphics card in the target graphics card list corresponding to the target object as a graphics card of the graphics card type corresponding to the target graphics card indication information to obtain an updated graphics card list. Based on the decoding performance query interface in the first version application interface, a decoding detection may be performed on the first graphics card to obtain a first decoding detection result. In the case where the first decoding detection result indicates that the first graphics card does not support hardware decoding, the decoding detection may be performed on the first graphics card based on the decoding performance query interface in the second version application interface to obtain a second decoding detection result. In the case where the second decoding detection result indicates that the first graphics card supports hardware decoding, a hardware decoder may be generated based on the first graphics card. Correspondingly, in the case where the second decoding detection result indicates that the first graphics card does not support hardware decoding, a decoding detection may be performed on at least one non-first graphics card in the updated graphics card list based on the decoding performance query interface in the second version application interface to obtain a third decoding detection result; in the case where the third decoding detection result indicates that any non-first graphics card supports hardware decoding, a hardware decoder may be generated based on any non-first graphics card. Next, based on the hardware decoder, the target video may be decoded to implement hardware decoding of the target video type.

[0150] In a specific embodiment, in response to a video decoding instruction for a target video, a graphics card performance analysis may be performed on multiple target graphics cards corresponding to the target object to obtain target graphics card indication information. Based on the target graphics card indication information, the target graphics card configuration information is modified to set the first graphics card in the target graphics card list corresponding to the target object as a graphics card of the graphics card type corresponding to the target graphics card indication information, and an updated graphics card list is obtained. Based on the decoding performance query interface in the first version application interface, a decoding detection may be performed on the first graphics card to obtain a first decoding detection result. In the case where the second decoding detection result indicates that the first graphics card does not support hardware decoding, a decoding detection may be performed on multiple target graphics cards in the updated graphics card list based on the decoding performance query interface in the second version application interface to obtain a fifth decoding detection result. In the case where the fifth decoding detection result indicates that the first graphics card supports hardware decoding, a hardware decoder may be generated based on the first graphics card. Accordingly, in the case where the fifth decoding detection result indicates that the first graphics card does not support hardware decoding and there is at least one non-first graphics card that supports hardware decoding, a hardware decoder may be generated based on the third target graphics card. Then, based on the above hardware decoder, the target video may be decoded to achieve video hardware decoding of the target video type.

[0151] In the above embodiment, in response to a video decoding instruction for a target video belonging to a target video type, a graphics card performance analysis is performed on multiple target graphics cards corresponding to the target object to obtain target graphics card indication information, wherein the target graphics card indication information is used to indicate the graphics card type to be run preferentially, so that the graphics card performance analysis of multiple target graphics cards contained in the target object can be realized, and then in combination with the target graphics card indication information, the target graphics card configuration information is modified to set the first graphics card in the target graphics card list corresponding to the target object to be a graphics card of the graphics card type corresponding to the target graphics card indication information, so as to obtain an updated graphics card list, and the graphics card switching in the target graphics card list can be realized by modifying the target graphics card configuration information, and then, decoding detection is performed on multiple target graphics cards in the updated graphics card list to obtain a decoding detection result, so as to improve the coverage rate of the decoding performance of the detection terminal, and then, based on the target graphics card corresponding to the decoding detection result, a hardware decoder is generated, and based on the hardware decoder, the target video is decoded and processed to realize video hardware decoding of the target video type, so as to ensure that the graphics card performance of the multi-graphics card user terminal is maximized, improve the overall hardware decoding performance of the terminal, and thus improve the user experience.

[0152] Figure 3 FIG. 1 is a block diagram of a video decoding device according to an exemplary embodiment. Figure 3 As shown, the device may include:

[0153] The graphics card performance analysis module 310 may be used to respond to a video decoding instruction for a target video, analyze the graphics card performance of multiple target graphics cards corresponding to the target object, and obtain target graphics card indication information; the target graphics card indication information is used to indicate the graphics card type to be run preferentially; the target video is a video belonging to the target video type;

[0154] The configuration modification module 320 may be used to modify the target graphics card configuration information based on the target graphics card indication information, so as to set the first graphics card in the target graphics card list corresponding to the target object as a graphics card of the graphics card type corresponding to the target graphics card indication information, and obtain an updated graphics card list;

[0155] The decoding detection module 330 may be used to perform decoding detection on multiple target graphics cards in the updated graphics card list to obtain decoding detection results;

[0156] The decoder generation module 340 may be used to generate a hardware decoder based on a target graphics card corresponding to the decoding detection result;

[0157] The first video decoding module 350 may be used to decode the target video based on a hardware decoder to implement hardware decoding of the target video type.

[0158] In a specific embodiment, the above device may further include:

[0159] The information acquisition module can be used to obtain the graphics card identification information corresponding to each of the multiple target graphics cards;

[0160] Accordingly, the graphics card performance analysis module 310 may include:

[0161] A matching processing module, which can be used to perform matching processing on the graphics card identification information of multiple target graphics cards and at least one first preset identification information to obtain a first matching result;

[0162] The graphics card indication generating module can be used to generate target graphics card indication information based on the graphics card type corresponding to the first target graphics card when the first matching result indicates that the first target graphics card matches any first preset identification information; the first target graphics card is any one of multiple target graphics cards.

[0163] In a specific embodiment, the decoding detection module 330 may include:

[0164] The first detection module can be used to perform decoding detection on the first graphics card based on the decoding performance query interface in the first version application interface to obtain a first decoding detection result.

[0165] In a specific embodiment, the decoder generation module 340 may include:

[0166] The first execution module may be configured to generate a hardware decoder based on the first graphics card when the first decoding detection result indicates that the first graphics card supports hardware decoding.

[0167] In a specific embodiment, the above device may further include:

[0168] The second detection module can be used to perform decoding detection on the first graphics card based on the decoding performance query interface in the second version application interface to obtain a second decoding detection result when the first decoding detection result indicates that the first graphics card does not support hardware decoding; the version corresponding to the second version application interface is greater than the version corresponding to the first version application interface.

[0169] In a specific embodiment, the decoder generation module 340 may include:

[0170] The second execution module may be configured to generate a hardware decoder based on the first graphics card when the second decoding detection result indicates that the first graphics card supports hardware decoding.

[0171] In a specific embodiment, the above device may further include:

[0172] The third detection module can be used to perform decoding detection on at least one non-first graphics card in the updated graphics card list based on the decoding performance query interface in the second version application interface to obtain a third decoding detection result when the second decoding detection result indicates that the first graphics card does not support hardware decoding.

[0173] In a specific embodiment, the decoder generation module 340 may include:

[0174] The third execution module may be configured to generate a hardware decoder based on any non-first graphics card when the third decoding detection result indicates that any non-first graphics card supports hardware decoding.

[0175] In a specific embodiment, the above device may further include:

[0176] A fourth execution module may be used to generate a software decoder when the second decoding detection result indicates that the first graphics card does not support hardware decoding, and the third decoding detection result indicates that at least one non-first graphics card does not support hardware decoding;

[0177] The second video decoding module can be used to decode the target video based on a software decoder to implement video software decoding of the target video type.

[0178] In a specific embodiment, the above device may further include:

[0179] The hard decoding stream test module can be used to perform hard decoding stream test on the hardware decoder to obtain the target test result;

[0180] Accordingly, the first video decoding module 350 may include:

[0181] The third video decoding module can be used to decode the target video based on the hardware decoder when the target test result is that the test is passed, so as to implement video hardware decoding of the target video type.

[0182] Regarding the device in the above embodiment, the specific manner in which each module and unit performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.

[0183] Figure 4 is a block diagram of an electronic device for decoding a target video according to an exemplary embodiment. The electronic device may be a server, and its internal structure diagram may be as shown in FIG. Figure 4 As shown. The electronic device includes a processor, a memory and a network interface connected through a system bus. Among them, the processor of the electronic device is used to provide computing and control capabilities. The memory of the electronic device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The network interface of the electronic device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a video decoding method is implemented.

[0184] Figure 5 is a block diagram of another electronic device for decoding a target video according to an exemplary embodiment. The electronic device may be a terminal, and its internal structure diagram may be as shown in FIG. Figure 5 As shown. The electronic device includes a processor, a memory, a network interface, a display screen and an input device connected through a system bus. Among them, the processor of the electronic device is used to provide computing and control capabilities. The memory of the electronic device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The network interface of the electronic device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a video decoding method is implemented. The display screen of the electronic device can be a liquid crystal display screen or an electronic ink display screen, and the input device of the electronic device can be a touch layer covering the display screen, or a key, trackball or touchpad set on the housing of the electronic device, or an external keyboard, touchpad or mouse, etc.

[0185] Those skilled in the art will understand that Figure 4 or Figure 5 The structure shown in the figure is merely a block diagram of a partial structure related to the scheme of the present disclosure, and does not constitute a limitation on the electronic device to which the scheme of the present disclosure is applied. The specific electronic device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0186] In an exemplary embodiment, an electronic device is also provided, including: a processor; and a memory for storing instructions executable by the processor; wherein the processor is configured to execute the instructions to implement the video decoding method in the embodiment of the present disclosure.

[0187] In an exemplary embodiment, a computer-readable storage medium is also provided. When instructions in the storage medium are executed by a processor of an electronic device, the electronic device can perform the video decoding method in the embodiment of the present disclosure.

[0188] In an exemplary embodiment, a computer program product including instructions is also provided. When the computer program product is run on a computer, the computer is enabled to perform the video decoding method in the embodiment of the present disclosure.

[0189] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).

[0190] It is understandable that in the specific implementation of this application, related data such as user information is involved. When the above embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of relevant data need to comply with relevant laws, regulations and standards of relevant countries and regions.

[0191] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art that are not disclosed in the present disclosure. The specification and examples are intended to be exemplary only, and the true scope and spirit of the present disclosure are indicated by the following claims.

[0192] It should be understood that the present disclosure is not limited to the exact structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims

1. A video decoding method, characterized in that: The method comprises: In response to a video decoding instruction for a target video, a graphics card performance analysis is performed on multiple target graphics cards corresponding to the target object to obtain target graphics card indication information; the target graphics card indication information is used to indicate a graphics card type to be run preferentially; the target video is a video belonging to the target video type; Based on the target graphics card indication information, modify the target graphics card configuration information to set the first graphics card in the target graphics card list corresponding to the target object as a graphics card of the graphics card type corresponding to the target graphics card indication information, to obtain an updated graphics card list; Performing decoding detection on multiple target graphics cards in the updated graphics card list to obtain decoding detection results; Generate a hardware decoder based on the target graphics card corresponding to the decoding detection result; Based on the hardware decoder, the target video is decoded to implement video hardware decoding of the target video type.

2. The method according to claim 1, characterized in that The method further comprises: Obtaining graphics card identification information corresponding to each of the plurality of target graphics cards; The performing of graphics card performance analysis on multiple target graphics cards corresponding to the target object to obtain target graphics card indication information includes: Performing matching processing on the graphics card identification information of the multiple target graphics cards and at least one first preset identification information to obtain a first matching result; When the first matching result indicates that the first target graphics card matches any first preset identification information, the target graphics card indication information is generated based on the graphics card type corresponding to the first target graphics card; the first target graphics card is any one of the multiple target graphics cards.

3. The method according to claim 1, characterized in that The decoding detection result includes a first decoding detection result, and the decoding detection is performed on the multiple target graphics cards in the updated graphics card list to obtain the decoding detection result, including: Based on the decoding performance query interface in the first version application interface, decoding detection is performed on the first graphics card to obtain the first decoding detection result.

4. The method according to claim 3, characterized in that The generating a hardware decoder based on the target graphics card corresponding to the decoding detection result includes: When the first decoding detection result indicates that the first graphics card supports hardware decoding, the hardware decoder is generated based on the first graphics card.

5. The method according to claim 3, characterized in that: The decoding detection result also includes a second decoding detection result, and the method further includes: When the first decoding detection result indicates that the first graphics card does not support hardware decoding, decoding detection is performed on the first graphics card based on a decoding performance query interface in a second version application interface to obtain the second decoding detection result; the version corresponding to the second version application interface is greater than the version corresponding to the first version application interface.

6. The method according to claim 5, characterized in that The generating a hardware decoder based on the target graphics card corresponding to the decoding detection result includes: When the second decoding detection result indicates that the first graphics card supports hardware decoding, the hardware decoder is generated based on the first graphics card.

7. The method according to claim 5, characterized in that The decoding detection result further includes a third decoding detection result, and the method further includes: When the second decoding detection result indicates that the first graphics card does not support hardware decoding, based on the decoding performance query interface in the second version application interface, decoding detection is performed on at least one non-first graphics card in the updated graphics card list to obtain the third decoding detection result.

8. The method according to claim 7, characterized in that The generating a hardware decoder based on the target graphics card corresponding to the decoding detection result includes: When the third decoding detection result indicates that any non-first graphics card supports hardware decoding, the hardware decoder is generated based on the any non-first graphics card.

9. The method according to claim 7, characterized in that: The method further comprises: If the second decoding detection result indicates that the first graphics card does not support hardware decoding, and the third decoding detection result indicates that the at least one non-first graphics card does not support hardware decoding, generate a software decoder; Based on the software decoder, the target video is decoded to achieve video software decoding of the target video type.

10. The method according to any one of claims 1 to 9, characterized in that: The method further comprises: Performing a hard decoding stream test on the hardware decoder to obtain a target test result; The decoding process of the target video based on the hardware decoder to implement the video hardware decoding of the target video type includes: When the target test result is that the test is passed, the target video is decoded based on the hardware decoder to implement video hardware decoding of the target video type.

11. A video decoding device, characterized in that: The device comprises: a graphics card performance analysis module, for responding to a video decoding instruction for a target video, performing graphics card performance analysis on a plurality of target graphics cards corresponding to a target object, and obtaining target graphics card indication information; the target graphics card indication information is used to indicate a graphics card type to be run preferentially; the target video is a video belonging to the target video type; a configuration modification module, configured to modify the target graphics card configuration information based on the target graphics card indication information, so as to set the first graphics card in the target graphics card list corresponding to the target object to a graphics card of the graphics card type corresponding to the target graphics card indication information, and obtain an updated graphics card list; A decoding detection module, used to perform decoding detection on multiple target graphics cards in the updated graphics card list to obtain decoding detection results; A decoder generation module, used to generate a hardware decoder based on a target graphics card corresponding to the decoding detection result; The first video decoding module is used to decode the target video based on the hardware decoder to implement video hardware decoding of the target video type.

12. An electronic device, characterized in that: include: processor; a memory for storing processor-executable instructions; The processor is configured to execute the executable instructions to implement the video decoding method described in any one of claims 1 to 10.

13. A non-volatile computer-readable storage medium having computer program instructions stored thereon, characterized in that: When the computer program instructions are executed by a processor, the video decoding method according to any one of claims 1 to 10 is implemented.