Decoder selection method, apparatus and device, and computer medium

By comparing the performance of the decoder in the device, the automatic selection of the decoder solves the problems of low efficiency and poor performance in the prior art decoder selection, and realizes efficient and accurate decoder selection.

CN120128722APending Publication Date: 2025-06-10TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311681763.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-12-07
Publication Date
2025-06-10

AI Technical Summary

Technical Problem

Existing decoder selection schemes cannot accurately and effectively select the best performing decoder, especially when multiple decoders exist in the device, the ordering is inaccurate, resulting in the codec2 decoder being ignored and the degree of compatibility and optimization is low.

Method used

By obtaining the decoder information present in the current device, comparing the decoding rendering performance of the decoder to be analyzed (such as codec2) and the preset decoder, and automatically selecting the best performing decoder to participate in the decoding task.

Benefits of technology

Automatic detection and selection of the best-performing decoder is realized, improving the efficiency and accuracy of decoder selection, ensuring the selection of codec2 decoder with excellent performance in a variety of decoder situations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120128722A_ABST
    Figure CN120128722A_ABST
Patent Text Reader

Abstract

The invention discloses a decoder selection method, a decoder selection device, decoder selection equipment and a computer medium, which can be applied to various scenes such as cloud technology, cloud games, video conferences, video calls and the like. The method comprises the following steps: acquiring decoder information of at least one first alternative decoder existing in current equipment; determining whether the at least one first alternative decoder comprises a to-be-analyzed decoder corresponding to preset decoder information or not based on the decoder information of the at least one first alternative decoder and the preset decoder information; when the at least one first alternative decoder comprises the to-be-analyzed decoder, comparing the decoding rendering performance of the to-be-analyzed decoder with the decoding rendering performance of a preset decoder to obtain a comparison result, and the preset decoder is included in the at least one first alternative decoder; and determining a target decoder used for participating in the decoding task in the current equipment from the to-be-analyzed decoder and the preset decoder according to the comparison result. The decoder selection efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of codec technologies, and particularly to a method, apparatus, device, and computer medium for decoder selection. Background Art

[0002] In related technologies, in existing decoder selection schemes, generally, a device directly selects a decoder with a relatively earlier serial number in the list of available hardware decoders. Generally speaking, the performance of a decoder with a relatively earlier serial number in the hardware decoder list is better. However, this method does not consider the situation of many different decoders existing in the device. When there are many different decoders in the device, the sorting in the hardware decoder list may not be accurate. Especially after the codec2 decoder was introduced, in most cases, the related schemes would not select the codec2 decoder. Moreover, because the codec2 decoder is a new framework introduced in recent years, its compatibility is relatively poor and the optimization level is relatively low.

[0003] The decoder selection schemes in related technologies cannot accurately and effectively select the decoder with the best performance, and the selection efficiency of the decoder is relatively low. Summary of the Invention

[0004] Embodiments of this application provide a method, apparatus, device, and computer medium for decoder selection, which can improve the selection efficiency of the decoder.

[0005] On the one hand, a method for decoder selection is provided. The method includes:

[0006] Obtain decoder information of at least one first alternative decoder existing in the current device;

[0007] Based on the decoder information of at least one first alternative decoder and preset decoder information, determine whether a decoder to be analyzed corresponding to the preset decoder information is included in at least one first alternative decoder;

[0008] When a decoder to be analyzed is included in at least one first alternative decoder, compare the decoding and rendering performance of the decoder to be analyzed with that of the preset decoder to obtain a comparison result, and the preset decoder is included in at least one first alternative decoder;

[0009] Determine a target decoder for participating in the decoding task in the current device from the decoder to be analyzed and the preset decoder according to the comparison result.

[0010] On the other hand, a decoder selection apparatus is provided. The apparatus includes:

[0011] An obtaining unit, configured to obtain decoder information of at least one first alternative decoder existing in the current device;

[0012] A determination unit, configured to determine whether a decoder to be analyzed corresponding to the preset decoder information is included in at least one first alternative decoder based on the decoder information of at least one first alternative decoder and the preset decoder information;

[0013] A comparison unit, configured to compare the decoding and rendering performance of the decoder to be analyzed and the preset decoder when the decoder to be analyzed is included in at least one first alternative decoder, so as to obtain a comparison result, and the preset decoder is included in at least one first alternative decoder;

[0014] The determination unit is further configured to determine a target decoder for participating in the decoding task in the current device from the decoder to be analyzed and the preset decoder according to the comparison result.

[0015] On the other hand, a computer-readable storage medium is provided. The computer-readable storage medium stores a computer program, and the computer program is suitable for being loaded by a processor to execute the steps in the methods of any of the above embodiments.

[0016] On the other hand, a computer device is provided. The computer device includes a processor and a memory. The memory stores a computer program, and the processor is configured to execute the steps in the methods of any of the above embodiments by calling the computer program stored in the memory.

[0017] In the embodiments of the present application, by obtaining the decoder information of at least one first alternative decoder existing in the current device; determining whether a decoder to be analyzed corresponding to the preset decoder information is included in at least one first alternative decoder based on the decoder information of at least one first alternative decoder and the preset decoder information; when the decoder to be analyzed is included in at least one first alternative decoder, comparing the decoding and rendering performance of the decoder to be analyzed and the preset decoder to obtain a comparison result, and the preset decoder is included in at least one first alternative decoder; according to the comparison result, determining a target decoder for participating in the decoding task in the current device from the decoder to be analyzed and the preset decoder, it can be automatically detected whether there is a decoder to be analyzed in the current device, and when there is a decoder to be analyzed, comparing the decoder to be analyzed with the preset decoder in terms of performance, automatically selecting the one with the best decoding performance, and the target decoder participating in the decoding task in the current device, the decoder with the best performance can be accurately and effectively selected, and the selection efficiency of the decoder is relatively high. Description of the Drawings

[0018] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the following drawings are only some embodiments of the present application. For those skilled in the art, without creative efforts, other drawings can be obtained according to these drawings.

[0019] Figure 1 It is a schematic structural diagram of the system provided by the embodiment of the present application.

[0020] Figure 2 It is a schematic flow diagram of the decoder selection method provided by the embodiment of the present application.

[0021] Figure 3 It is a schematic structural diagram of the decoder selection device provided by the embodiment of the present application.

[0022] Figure 4 It is a schematic structural diagram of the computer device provided by the embodiment of the present application. Detailed implementation manners

[0023] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative efforts belong to the scope of protection of the present application.

[0024] The embodiments of the present application can be applied to various scenarios such as cloud technology, cloud gaming, video conferencing, video calls, etc.

[0025] The embodiments of the present application provide a decoder selection method, device, equipment and computer medium. Specifically, the decoder selection method of the embodiments of the present application can be executed by a computer device, where the computer device can be a terminal or a server, etc. The terminal can be a smart phone, a tablet computer, a notebook computer, a smart voice interaction device, a smart home appliance, a wearable smart device, an aircraft, a smart vehicle terminal, etc. The terminal can also include a client, and the client can be a video client, a browser client or an instant messaging client, etc. The server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server providing 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, Content Delivery Network (CDN), and big data and artificial intelligence platforms.

[0026] First, some nouns or terms that appear in the process of describing the embodiments of the present application are explained as follows:

[0027] SurfaceView: SurfaceView is a View with a Surface. SurfaceView controls the format, size, and drawing position of the Surface. The update of traditional Views and their derived classes can only occur on the UI thread. However, the UI thread also handles other interaction logics simultaneously and cannot guarantee the speed and frame rate of view updates. In contrast, SurfaceView can be drawn using an independent thread. Therefore, it can provide a higher frame rate. For example, scenarios such as games and camera viewfinders are suitable for implementation using SurfaceView. The core of SurfaceView lies in providing two threads: the UI thread and the rendering thread. The two threads achieve an efficient interface refresh effect through the "double-buffering" mechanism.

[0028] TextureView: Since SurfaceView is not in the main window and cannot perform animations or use some characteristic methods of Views, TextureView is introduced. It is a View object that combines a View and a SurfaceTexture. TextureView is a View on which the content stream can be output as an external texture. Different from SurfaceView, it is an ordinary view in the Viewhierachy. Therefore, it can perform animations such as translation, rotation, and scaling like other ordinary Views. However, TextureView must be in a hardware-accelerated window, and the content stream data it displays can come from the App process or a remote process. TextureView inherits from View and is managed and drawn in the Viewhierachy like other Views.

[0029] H264 is a highly compressed digital video codec standard. This standard is usually referred to as H.264 / AVC (or AVC / H.264 or H.264 / MPEG-4 AVC or MPEG-4 / H.264 AVC). The biggest advantage of H264 is its high data compression ratio. Under the condition of the same image quality, the compression ratio of H.264 is more than twice that of MPEG-2 and 1.5 - 2 times that of MPEG-4.

[0030] H.265 is the new video coding standard formulated after H.264. The H.265 standard is centered around the existing video coding standard H.264, retaining some original technologies while improving some related technologies.

[0031] Both VP8 and VP9 are open image compression formats.

[0032] In the related art, in the existing decoder selection scheme, generally, the device directly selects the decoder with a relatively early serial number in the list of available hardware decoders. This method does not take into account the situation of many different decoders in the device. When there are many different decoders in the device, the sorting in the hardware decoder list may not be accurate. After the codec2 decoder was introduced, in most cases, the related scheme would not select the codec2 decoder. Moreover, because the codec2 decoder is a new framework, its compatibility is relatively poor and the optimization degree is relatively low. The decoder selection scheme in the related art cannot accurately and effectively select the decoder with the best performance, and the selection efficiency of the decoder is relatively low.

[0033] The present application provides a scheme. The capabilities of the new-generation decoder codec2 on the Android platform can be obtained through static detection, and the actual performance of the codec2 decoder and the ordinary decoder in the current device can be obtained by cooperating with the dynamic detection capability. The encoding and rendering performances are compared, and the codec2 decoder is adaptively turned on or off according to the comparison result. Based on the capability detection and adaptive selection process, the Android device can select a decoder with better decoding and rendering performance.

[0034] Please refer to Figure 1 , Figure 1 FIG. 1 is a schematic structural diagram of a system provided by an embodiment of the present application. The system includes a terminal 10, a server 20, etc.; the terminal 10 and the server 20 are connected through a network, for example, through a wired or wireless network connection, etc.

[0035] Among them, the terminal 10 can be used to display a graphical user interface. Among them, the terminal 10 is used to interact with the user through the graphical user interface. For example, the corresponding client is downloaded and installed on the terminal and run, for example, by calling the corresponding applet and running, for example, by logging in to a website to present the corresponding graphical user interface, etc. In the embodiment of the present application, the terminal 10 can execute the foregoing decoder selection method. Specifically, the method includes the following contents: obtaining decoder information of at least one first alternative decoder existing in the current device; determining whether a to-be-analyzed decoder corresponding to the preset decoder information is included in the at least one first alternative decoder based on the decoder information of the at least one first alternative decoder and the preset decoder information; when the to-be-analyzed decoder is included in the at least one first alternative decoder, comparing the decoding and rendering performances of the to-be-analyzed decoder and the preset decoder to obtain a comparison result, and the preset decoder is included in the at least one first alternative decoder; determining a target decoder for participating in the decoding task in the current device from the to-be-analyzed decoder and the preset decoder according to the comparison result.

[0036] Among them, the current device is the foregoing terminal 10. One or more first alternative decoders can be configured in the terminal 10.

[0037] After determining the target decoder in the terminal 10, any one or more second decoding configuration information in the first decoding configuration information with the best decoding and rendering performance of the target decoder can be further sent to the server 20, so that the server 20 can send the target video stream to the current device based on any one or more second decoding configuration information.

[0038] In some alternative embodiments of the present application, the first decoding configuration information may include two types of second decoding configuration information: configuration information related to the video stream and decoding parameter configuration information; wherein, the configuration information related to the video stream includes: the codec type of the video stream, the resolution of the video stream's picture, and the frame rate of the video stream; the decoding parameter configuration information may include: the display mode of the decoded video stream, and a tag used to indicate whether frames are dropped when the decoded video stream is rendered on the screen.

[0039] In the present application, when the tag used to indicate whether frames are dropped when the decoded video stream is rendered on the screen is "yes", the strategy of dropping frames when the decoded video stream is rendered on the screen is used to render the screen; when the tag used to indicate whether frames are dropped when the decoded video stream is rendered on the screen is "no", the strategy of not dropping frames when the decoded video stream is rendered on the screen is used to render the screen.

[0040] In some alternative embodiments of the present application, the foregoing video stream may be a video stream in any one of the following scenarios: cloud gaming, video conferencing, video call.

[0041] The specific implementation manners of the foregoing decoder selection method will be described in detail below. It should be noted that the description order of the following embodiments does not limit the priority order of the embodiments.

[0042] An embodiment of the present application provides a decoder selection method, which can be executed by the foregoing terminal 10. Figure 2 As shown in the flowchart of the decoder selection method provided by the embodiment of the present application, the decoder selection method may include the following steps S201 - S204:

[0043] S201. Obtain the decoder information of at least one first alternative decoder existing in the current device;

[0044] Optionally, at least some of the foregoing at least one first alternative decoders may be decoders that participated in the decoding tasks in the current device in the past.

[0045] In some alternative embodiments of the present application, the decoder information of at least one first alternative decoder includes the decoder information of each first alternative decoder.

[0046] Regarding the method for obtaining decoder information about the foregoing at least one first alternative decoder, when the operating system in the current device is the Android system, the decoder information list composed of the decoder information of each first alternative decoder existing in the current device can be obtained through the member function getCodecInfos of the mediacodeclist class in the Android mediacodec interface. The decoder information list includes the decoder information of at least one first alternative decoder.

[0047] In some alternative embodiments of the present application, the decoder information of each first alternative decoder may include at least one of the following information: the serial number indicating the sorting of the first alternative decoder in the decoder information list, the codec type information of the first alternative decoder, the specific string mime corresponding to the codec type information of the first alternative decoder, and the name of the first alternative decoder.

[0048] The codec type information of the first alternative decoder may include any one of the following: H265, H264, VP8, VP9, etc.

[0049] S202. Determine whether the at least one first alternative decoder includes a decoder to be analyzed corresponding to the preset decoder information based on the decoder information of the at least one first alternative decoder and the preset decoder information;

[0050] Optionally, when the at least one first alternative decoder does not include the decoder to be analyzed corresponding to the preset decoder information, the first first alternative decoder in the at least one first alternative decoder can be directly used as the target decoder participating in the decoding task in the current device.

[0051] In some alternative embodiments of the present application, the foregoing decoder to be analyzed is the codec2 decoder.

[0052] The preset decoder information may include any one or more of the following: preset codec type information, the specific string mime corresponding to the preset codec type information, and the name of the preset decoder.

[0053] In some embodiments, the preset codec type information may include one codec type information or multiple codec type information. Optionally, the preset codec type information may include any one or more of the following codec type information: H265, H264, VP8, VP9, etc.

[0054] Optionally, when the decoder information of the at least one first alternative decoder includes the preset decoder information, it is regarded that the at least one first alternative decoder includes the decoder to be analyzed corresponding to the preset decoder information.

[0055] Optionally, when the decoder information of at least one first alternative decoder includes the name of the preset decoder in the preset decoder information, it is regarded that the at least one first alternative decoder includes the decoder to be analyzed corresponding to the preset decoder information. At this time, the preset decoder is the decoder to be analyzed.

[0056] Among them, the name of the preset decoder includes the decoding method information of the preset decoder, such as codec2.

[0057] Optionally, the name of each of the foregoing first alternative decoders may further include the decoding method information of the first alternative decoder. Among them, the decoding method information of the first alternative decoder may include any one of the following; ffmpeg, software decoding method, hardware decoding method, and codec2 method.

[0058] In some alternative embodiments of the present application, among the decoder information of the at least one first alternative decoder, decoder information with different codec type information may be included.

[0059] When it is determined that the at least one first alternative decoder includes the decoder to be analyzed corresponding to the preset decoder information, the codec type information corresponding to the decoder to be analyzed may also be stored to facilitate obtaining multiple configuration information groups below. Specifically, when there are multiple codec type information corresponding to the decoder to be analyzed, the multiple codec type information corresponding to the decoder to be analyzed is stored.

[0060] That a codec type information corresponds to the decoder to be analyzed means that the decoder to be analyzed can decode a video stream with a codec type of this codec type information. When the preset codec type information includes multiple codec type information, the determined decoder to be analyzed corresponds to multiple codec type information.

[0061] Optionally, when the name of the at least one first alternative decoder in the decoder information of the at least one first alternative decoder is the same as the name of the preset decoder, the codec type information of the first alternative decoder is the codec type information corresponding to the preset decoder.

[0062] In some alternative embodiments of the present application, the specific string mime of the preset codec type information in the preset decoder information may be matched with the mime corresponding to the decoder information of each first alternative decoder in the decoding information list to determine whether the current device includes a decoder to be analyzed with a codec type information of the preset codec type information.

[0063] S203. When the at least one first alternative decoder includes the decoder to be analyzed, compare the decoding and rendering performance of the decoder to be analyzed with that of the preset decoder to obtain a comparison result, and the preset decoder is included in the at least one first alternative decoder;

[0064] In some alternative embodiments of the present application, in the aforementioned S203, the decoding and rendering performances of the decoder to be analyzed and the preset decoder are compared to obtain a comparison result, including S2031 - S2034:

[0065] S2031. Determine the first decoding configuration information of the decoder to be analyzed for at least one configuration type, where the at least one configuration type includes at least one of the following types: the codec type of the video stream to be decoded, the resolution of the picture of the video stream to be decoded, the frame rate of the video stream to be decoded, the display mode of the decoded video stream to be decoded, and a tag for indicating whether frames are dropped when the decoded video stream to be decoded is rendered on the screen;

[0066] Optionally, the codec type of the video stream to be decoded may include any one of the following: H265, H264, VP8, VP9, etc. Optionally, the resolution of the picture of the video stream to be decoded may be 1080P or 720P.

[0067] Optionally, the frame rate of the video stream to be decoded may be 60fps or 30fps.

[0068] Optionally, the display mode of the decoded video stream to be decoded may be SurfaceView or TextureView.

[0069] Optionally, the tag for indicating whether frames are dropped when the decoded video stream to be decoded is rendered on the screen may be frame dropped during rendering or no frame dropped during rendering.

[0070] In the present application, when the tag for indicating whether frames are dropped when the decoded video stream is rendered on the screen is yes, the screen is rendered using the strategy of frame dropped during rendering of the decoded video stream, and when the tag for indicating whether frames are dropped when the decoded video stream is rendered on the screen is no, the screen is rendered using the strategy of no frame dropped during rendering of the decoded video stream.

[0071] In some alternative embodiments of the present application, in S2031, determining the first decoding configuration information of the decoder to be analyzed for at least one configuration type includes obtaining the first decoding configuration information of the decoder to be analyzed for at least one configuration type according to a preset correspondence.

[0072] In some alternative embodiments of the present application, in S2031, determining the first decoding configuration information of the decoder to be analyzed for at least one configuration type includes the following S031 - S033:

[0073] S031. Obtain a plurality of configuration information groups, and each configuration information group includes the second decoding configuration information of at least one configuration type;

[0074] Optionally, the above method further includes: obtaining codec type information corresponding to the decoder to be analyzed; obtaining multiple configuration information groups based on the codec type information.

[0075] Optionally, the codec type information corresponding to the decoder to be analyzed may be one or more. When the codec type information corresponding to the decoder to be analyzed is multiple, obtaining multiple configuration information groups based on multiple codec type information includes: for each codec type information among the multiple codec type information, obtaining a configuration information group whose codec type of the video stream to be decoded is the codec type information, thereby obtaining multiple configuration information groups.

[0076] In some alternative embodiments of the present application, when the codec type information corresponding to the decoder to be analyzed includes H264 and H265, the multiple configuration information groups can be seen in Table 1. Starting from the second row in Table 1, the configuration information in each row can be understood as a configuration information group, and each configuration information group includes second decoding configuration information of at least one configuration type. The first row in Table 1 refers to each configuration type.

[0077] Table 1 Multiple configuration information groups

[0078]

[0079]

[0080] 032. Select a target configuration information group from multiple configuration information groups according to a preset video stream;

[0081] In some alternative embodiments of the present application, the second decoding configuration information corresponds to the configuration type one by one. In the foregoing S032, selecting a target configuration information group from multiple configuration information groups according to a preset video stream includes S0321 - S0326:

[0082] S0321. Select one configuration type from at least one configuration type as a reference configuration type;

[0083] Optionally, any configuration type in at least one configuration type can be selected as the reference configuration type. For example, the codec type of the video stream to be decoded can be selected as the reference configuration type.

[0084] Optionally, according to the sorting of the configuration types in at least one configuration type, the first configuration type can be used as the reference configuration type. Among them, the sorting of the configuration types in at least one configuration type can be seen in Table 1, that is, the sorting of the configuration types in at least one configuration type is: the codec type of the video stream to be decoded, the resolution of the picture of the video stream to be decoded, the frame rate of the video stream to be decoded, the display mode of the decoded video stream to be decoded, and a label for indicating whether frames are dropped when the decoded video stream to be decoded is rendered on the screen.

[0085] S0322. Obtain at least two first configuration information groups with different second decoding configuration information corresponding to the reference configuration type from multiple configuration information groups;

[0086] Optionally, among the at least two first configuration information groups, the second decoding configuration information corresponding to each remaining configuration type except the selected reference configuration type in at least one configuration type is all the same.

[0087] In some embodiments of the present application, at least two first configuration information groups with different second decoding configuration information corresponding to the reference configuration type can be arbitrarily obtained from multiple configuration information groups.

[0088] Optionally, different second decoding configuration information corresponding to the reference configuration type means that among the at least two first configuration information groups, the second decoding configuration information corresponding to the reference configuration type in any two first configuration information groups is different from each other.

[0089] Optionally, as shown in Table 1, when the reference configuration type is the codec type of the video stream to be decoded, the two first configuration information groups with different second decoding configuration information corresponding to the reference configuration type can be:

[0090] The first configuration information group: H265, 1080P, 60, SurfaceView, and "yes";

[0091] The second configuration information group: H264, 1080P, 60, SurfaceView, and "yes".

[0092] S0323. Through the decoder to be analyzed, based on each first configuration information group of at least two first configuration information groups, decode the preset video stream to obtain at least two third decoding and rendering performance information of the decoder to be analyzed for the preset video stream, where the third decoding and rendering performance information corresponds to the first configuration information group one by one;

[0093] Optionally, through the decoder to be analyzed, based on a first configuration information group, decode the preset video stream to obtain the third decoding and rendering performance information of the decoder to be analyzed for the preset video stream, which is to decode the preset video stream based on the configuration information related to the video stream and the decoding parameter configuration information in the first configuration information group to obtain the third decoding and rendering performance information of the decoder to be analyzed for the preset video stream.

[0094] S0324. Select the to-be-matched configuration information group with the fastest decoding and rendering speed from at least two first configuration information groups based on at least two third decoding and rendering performance information, where the decoding and rendering speed is the total speed of decoding and rendering;

[0095] Optionally, when the first configuration information group with the fastest decoding and rendering speed among the two first configuration information groups is the first configuration information group, the first configuration information group is the configuration information group to be matched.

[0096] S0325. Select, from multiple configuration information groups, at least one second configuration information group whose second decoding configuration information corresponding to the included reference configuration type is the same as the second decoding configuration information corresponding to the reference configuration type included in the configuration information group to be matched;

[0097] Optionally, as shown in Table 1, when the reference configuration type is the codec type of the video stream to be decoded, and the aforementioned first configuration information group: H265, 1080P, 60, SurfaceView, and "Yes", is the configuration information group to be matched, the at least one second configuration information group selected can be seen in Table 2.

[0098] Table 2 Second Configuration Information Group

[0099]

[0100] S0326. Determine the target configuration information group according to at least one second configuration information group.

[0101] In some alternative embodiments of the present application, when the number of second configuration information groups in at least one second configuration information group is 1, the at least one second configuration information group is directly used as the target configuration information group.

[0102] In some alternative embodiments of the present application, when the number of second configuration information groups in at least one second configuration information group is multiple, in S0326, determining the target configuration information group according to at least one second configuration information group includes:

[0103] S261. Select a configuration type as a new reference configuration type from at least one configuration type that has not been selected from at least one configuration type;

[0104] Optionally, when the configuration type selected as the reference configuration type from at least one configuration type for the first time is the codec type of the video stream to be decoded, the at least one configuration type that has not been selected includes: the resolution of the picture of the video stream to be decoded, the frame rate of the video stream to be decoded, the display method of the decoded video stream to be decoded, and a label used to indicate whether frames are dropped when the decoded video stream to be decoded is rendered on the screen.

[0105] In some embodiments, selecting a configuration type from at least one configuration type that has not been selected as a new reference configuration type may include: arbitrarily selecting a configuration type from at least one configuration type that has not been selected as a new reference configuration type. For example, the resolution of the picture of the video stream to be decoded can be selected as the new reference configuration type.

[0106] In other embodiments, selecting a configuration type from at least one configuration type that has not been selected as a new reference configuration type may include: according to the sorting of the configuration types in at least one configuration type, taking the next configuration type of the most recently selected configuration type as the new reference configuration type. For example, if the sorting of the configuration types in at least one configuration type is: the codec type of the video stream to be decoded, the resolution of the picture of the video stream to be decoded, the frame rate of the video stream to be decoded, the display mode of the decoded video stream to be decoded, the label for indicating whether frames are dropped when the decoded video stream to be decoded is rendered on the screen. When the most recently selected configuration type is the codec type, the next configuration type of the most recently selected configuration type is the resolution of the picture of the video stream to be decoded.

[0107] S262. Use at least one second configuration information group as the new multiple configuration information groups;

[0108] S263. Return to execute obtaining at least two first configuration information groups whose second decoding configuration information corresponding to the reference configuration type is different from each other from the multiple configuration information groups until the number of second alternative configuration information groups in at least one second alternative configuration information group is 1, and determine at least one second alternative configuration information group as the target configuration information group.

[0109] 033. Use at least one second decoding configuration information of at least one configuration type included in the target configuration information group as the first decoding configuration information of the decoder to be analyzed for at least one configuration type.

[0110] Optionally, the first decoding configuration information of the decoder to be analyzed for at least one configuration type finally selected can be multiple second decoding configuration information in one of the configuration information groups in Table 1.

[0111] S2032. Through the decoder to be analyzed, decode the preset video stream according to the first decoding configuration information, and obtain the first decoding rendering performance information of the decoder to be analyzed for the preset video stream;

[0112] In some embodiments, when decoding the preset video stream according to the first decoding configuration information, the preset video stream is the aforementioned video stream to be decoded.

[0113] In some alternative embodiments of the present application, decoding a preset video stream by a decoder to be analyzed according to first decoding configuration information means decoding the preset video stream by the decoder to be analyzed according to the configuration information related to the video stream and the decoding parameter configuration information in the first decoding configuration information. Among them, the configuration information related to the video stream includes: the codec type of the video stream to be decoded, the resolution of the picture of the video stream to be decoded, and the frame rate of the video stream to be decoded; the decoding parameter configuration information includes: the display method of the decoded video stream to be decoded and a label for indicating whether frames are dropped when the decoded video stream is rendered on the rendering screen.

[0114] S2033. Decode the preset video stream by a preset decoder according to the first decoding configuration information to obtain second decoding and rendering performance information of the preset decoder for the preset video stream.

[0115] In some embodiments, the aforementioned preset decoder may include a first alternative decoder among the aforementioned at least one first alternative decoders whose decoding method information is a hard decoding method.

[0116] In some embodiments, the aforementioned preset decoder may include the first alternative decoder with the highest ranking among the aforementioned at least one first alternative decoders.

[0117] S2034. Compare the first decoding and rendering performance information with the second decoding and rendering performance information to obtain a comparison result.

[0118] Optionally, the comparison result is used to indicate the magnitude relationship between the value of the first decoding and rendering performance information and the value of the second decoding and rendering performance information.

[0119] When the first decoding and rendering performance information is information about the number of video frames decoded and rendered per unit time, in some alternative embodiments of the present application, the value of the aforementioned first decoding and rendering performance information may include: the sum of the number of video frames decoded per unit time and the number of video frames rendered per unit time. The value of the aforementioned second decoding and rendering performance information may also include the sum of the number of video frames decoded per unit time and the number of video frames rendered per unit time.

[0120] Specifically, the larger the number of video frames decoded per unit time, the larger the value of the corresponding decoding and rendering performance information; the larger the number of video frames rendered per unit time, the larger the value of the corresponding decoding and rendering performance information.

[0121] S204. Determine a target decoder for participating in the decoding task in the current device from the decoder to be analyzed and the preset decoder according to the comparison result.

[0122] Optionally, when the first decoding and rendering performance information is information about the number of video frames decoded and rendered per unit time, when the comparison result indicates that the value of the first decoding and rendering performance information is greater than the value of the second decoding and rendering performance information, the target decoder used to participate in the decoding task in the current device is determined to be the decoder to be analyzed, and when the comparison result indicates that the value of the first decoding and rendering performance information is not greater than the value of the second decoding and rendering performance information, the target decoder used to participate in the decoding task in the current device is determined to be the preset decoder.

[0123] When the first decoding and rendering performance information is information about the duration consumed for decoding and rendering a video frame, in some optional embodiments of the present application, the value of the first decoding and rendering performance information may include: the sum of the duration consumed for decoding a video frame and the duration consumed for rendering a video frame. The value of the second decoding and rendering performance information may include: the sum of the duration consumed for decoding a video frame and the duration consumed for rendering a video frame.

[0124] When the first decoding and rendering performance information is information about the time length consumed for decoding and rendering a video frame, when the comparison result indicates that the value of the first decoding and rendering performance information is less than the value of the second decoding and rendering performance information, it is determined that the target decoder used to participate in the decoding task in the current device is the decoder to be analyzed; when the comparison result indicates that the value of the first decoding and rendering performance information is not less than the value of the second decoding and rendering performance information, it is determined that the target decoder used to participate in the decoding task in the current device is the preset decoder.

[0125] In this scheme, through the aforementioned S0321-S0326, a scheme for pruning multiple configuration information groups using reference configuration types is introduced. Only 5 prunings at most are needed to determine the target configuration information group with the best decoding and rendering performance. Compared with traversing the aforementioned multiple configuration information groups one by one, the speed of determining the target configuration information group is faster.

[0126] In some optional embodiments of the present application, for the frame loss of the decoded video stream to be decoded when rendering the picture, since the display of the current device refreshes the picture according to the screen refresh signal, for a 60Hz display device, the screen refresh signal is once every 16ms. For the frame loss of the decoded video stream to be decoded when rendering the picture, it means that multiple video images are continuously sent between two screen refresh signals, but only the last video image sent is displayed. Enabling the frame loss function of the decoded video stream to be decoded when rendering the picture will reduce the smoothness of the picture.

[0127] However, currently, the rendering frequency of most displays is 60Hz. When there is no frame loss during the rendering of the decoded video stream to be decoded, the highest decoding frame rate can only support up to 60fps. However, if there is decoding jitter or network jitter, the decoding and rendering delay will gradually increase due to the accumulation of latency. In this case, it is necessary to enable the frame loss function during the rendering of the decoded video stream to be decoded to reduce the overall low latency.

[0128] It should be noted that for the display method of the decoded video stream to be decoded and whether there is frame loss during the rendering of the decoded video stream to be decoded, it needs to be judged according to the Android system version. The display method of the decoded video stream to be decoded can only be set to textureVeiw for Android 14 and above, and frame loss during the rendering of the decoded video stream to be decoded can only be set for Android API 21 and above. The rendering frame loss strategy is only effective when the display method of the above decoded video stream to be decoded is SurfaceView.

[0129] In some alternative embodiments of the present application, the method includes: sending any one or more second decoding configuration information in the first decoding configuration information to the server, so that the server sends a target video stream to the current device based on any one or more second decoding configuration information.

[0130] The server side may store the association relationship between the device identifier of the current device and any one or more second decoding configuration information in the first decoding configuration information. When sending a video stream to the current device, based on this association relationship, the video stream to be sent can be adjusted to a target video stream that meets the requirements of any one or more second decoding configuration information and sent to the current device.

[0131] In the embodiments of the present application, by obtaining the decoder information of at least one first alternative decoder existing in the current device; determining whether the at least one first alternative decoder includes the decoder to be analyzed corresponding to the preset decoder information based on the decoder information of the at least one first alternative decoder and the preset decoder information; when the at least one first alternative decoder includes the decoder to be analyzed, comparing the decoding and rendering performance of the decoder to be analyzed and the preset decoder to obtain a comparison result, the preset decoder is included in the at least one first alternative decoder; according to the comparison result, a target decoder for participating in the decoding task in the current device is determined from the decoder to be analyzed and the preset decoder. This solution can automatically detect whether there is a decoder to be analyzed in the current device, and when there is a decoder to be analyzed, compare the performance of the decoder to be analyzed and the preset decoder, and automatically select the target decoder that will participate in the decoding task in the current device, which can accurately and effectively select the decoder with the best performance, and the selection efficiency of the decoder is relatively high.

[0132] Further, the present application also provides a video stream sending method, which is applicable to a server and may specifically include:

[0133] When detecting a video stream to be sent to a terminal, determining any one of a plurality of second decoding configuration information associated with the terminal based on a preset association relationship; processing the video stream to be sent to the terminal based on any one of the plurality of second decoding configuration information to obtain a target video stream that meets the requirements of any one of the plurality of second decoding configuration information;

[0134] Sending the target video stream to the terminal.

[0135] In some alternative embodiments of the present application, any one of the plurality of second decoding configuration information is configuration information related to the video stream.

[0136] Optionally, the decoding parameter configuration information in the first decoding configuration information may be stored locally in the terminal.

[0137] Optionally, in some alternative embodiments of the present application, any one of the plurality of second decoding configuration information is configuration information related to the video stream and decoding parameter configuration information.

[0138] Optionally, when the server detects a video stream of a cloud game to be sent to the terminal, determining any one of a plurality of second decoding configuration information associated with the terminal based on a preset association relationship as: the codec type of the video stream to be decoded is H264, and the resolution of the video stream to be decoded is 1080, then the server processes the video stream to be sent to the terminal into a target video stream with a codec type of H264 and a resolution of 1080 and sends it to the terminal.

[0139] Optionally, when the server detects a video stream of a cloud game to be sent to the terminal, determining any one of a plurality of second decoding configuration information associated with the terminal based on a preset association relationship as: the codec type of the video stream to be decoded is H264, the resolution of the video stream to be decoded is 1080, and the frame rate of the video stream to be decoded is 60fps, then the server processes the video stream to be sent to the terminal into a target video stream with a codec type of H264 and a resolution of 1080 and sends the target video stream to the terminal at 60fps.

[0140] Among them, any one of the plurality of second decoding configuration information is the decoding configuration information when the decoding rendering performance of the target decoder is optimal after the terminal device determines the target decoder.

[0141] Among them, the terminal can determine the target decoder in the following manner:

[0142] Obtaining decoder information of at least one first alternative decoder existing in the current device;

[0143] Determine whether a decoder to be analyzed corresponding to the preset decoder information is included in at least one first alternative decoder based on the decoder information of at least one first alternative decoder and the preset decoder information;

[0144] When the decoder to be analyzed is included in at least one first alternative decoder, compare the decoding and rendering performance of the decoder to be analyzed and the preset decoder to obtain a comparison result, and the preset decoder is included in at least one first alternative decoder;

[0145] Determine a target decoder for participating in the decoding task in the current device from the decoder to be analyzed and the preset decoder according to the comparison result.

[0146] Optionally, the above method further includes:

[0147] Receive any one or more second decoding configuration information and the device identifier of the terminal from the terminal;

[0148] Create an association relationship between the device identifier and any one or more second decoding configuration information, so as to determine any one or more second decoding configuration information associated with the terminal based on the preset association relationship when a video stream to be sent to the terminal is detected.

[0149] Optionally, the foregoing device identifier is used to uniquely identify the foregoing terminal.

[0150] Wherein, the determination method of the foregoing any one or more second decoding configuration information can be referred to the foregoing content, and will not be elaborated here.

[0151] All the above technical solutions can be combined arbitrarily to form alternative embodiments of the present application, which will not be elaborated one by one here.

[0152] The terminal in the present application can automatically detect whether there is a decoder to be analyzed in the current device, and when there is a decoder to be analyzed, compare the decoder to be analyzed with the preset decoder, and automatically select a target decoder that will participate in the decoding task in the current device, which can accurately and effectively select the decoder with the best performance, and the selection efficiency of the decoder is relatively high.

[0153] To facilitate better implementation of the decoder selection method in the embodiments of the present application, the embodiments of the present application further provide a decoder selection device. Please refer to Figure 3 , Figure 3 As shown in the structural schematic diagram of a decoder selection device provided in the embodiments of the present application, the device includes:

[0154] An obtaining unit 31, configured to obtain the decoder information of at least one first alternative decoder existing in the current device;

[0155] A determination unit 32, configured to determine whether a decoder to be analyzed corresponding to preset decoder information is included in at least one first alternative decoder based on decoder information of at least one first alternative decoder and the preset decoder information;

[0156] A comparison unit 33, configured to, when the decoder to be analyzed is included in at least one first alternative decoder, compare the decoding and rendering performance of the decoder to be analyzed with that of the preset decoder to obtain a comparison result, where the preset decoder is included in at least one first alternative decoder;

[0157] The determination unit 32 is further configured to determine a target decoder for participating in the decoding task in the current device from the decoder to be analyzed and the preset decoder according to the comparison result.

[0158] In some alternative embodiments of the present application, when the foregoing device is used to compare the decoding and rendering performance of the decoder to be analyzed with that of the preset decoder to obtain a comparison result, it is specifically configured to:

[0159] Determine first decoding configuration information of the decoder to be analyzed for at least one configuration type, where the at least one configuration type includes at least one of the following types: the codec type of the video stream to be decoded, the resolution of the picture of the video stream to be decoded, the frame rate of the video stream to be decoded, the display mode of the decoded video stream to be decoded, and a tag for indicating whether frames are dropped when the decoded video stream to be decoded is rendered on the screen;

[0160] Decode a preset video stream through the decoder to be analyzed according to the first decoding configuration information, and obtain first decoding and rendering performance information of the decoder to be analyzed for the preset video stream;

[0161] Decode the preset video stream through the preset decoder according to the first decoding configuration information to obtain second decoding and rendering performance information of the preset decoder for the preset video stream;

[0162] Compare the first decoding and rendering performance information with the second decoding and rendering performance information to obtain a comparison result.

[0163] Optionally, when the foregoing device is used to determine the first decoding configuration information of the decoder to be analyzed for at least one configuration type, it is specifically configured to:

[0164] Obtain a plurality of configuration information groups, where each configuration information group includes at least one second decoding configuration information of at least one configuration type;

[0165] Select a target configuration information group from the plurality of configuration information groups according to the preset video stream;

[0166] Use at least one second decoding configuration information of at least one configuration type included in the target configuration information group as the first decoding configuration information of the decoder to be analyzed for at least one configuration type.

[0167] Optionally, when the foregoing device is used to select a target configuration information group from multiple configuration information groups according to a preset video stream, it is specifically used for:

[0168] Select a configuration type from at least one configuration type as a reference configuration type;

[0169] Obtain at least two first configuration information groups with different second decoding configuration information corresponding to the reference configuration type from multiple configuration information groups;

[0170] Through the decoder to be analyzed, based on each first configuration information group of at least two first configuration information groups, decode the preset video stream to obtain at least two third decoding rendering performance information of the decoder to be analyzed for the preset video stream, where the third decoding rendering performance information corresponds one-to-one with the first configuration information group;

[0171] Select a to-be-matched configuration information group with the fastest decoding and rendering speed from at least two first configuration information groups based on at least two third decoding rendering performance information, where the decoding and rendering speed is the total speed of decoding and rendering;

[0172] Select at least one second configuration information group from multiple configuration information groups, the second decoding configuration information corresponding to the included reference configuration type of which is the same as the second decoding configuration information corresponding to the reference configuration type included in the to-be-matched configuration information group;

[0173] Determine the target configuration information group according to at least one second configuration information group.

[0174] Optionally, when the number of second configuration information groups in at least one second configuration information group is multiple, when the foregoing device is used to determine the target configuration information group according to at least one second configuration information group, it is specifically used for:

[0175] Select a configuration type from at least one configuration type that has not been selected before as a new reference configuration type;

[0176] Use at least one second configuration information group as a new multiple configuration information groups;

[0177] Return to execute obtaining at least two first configuration information groups with different second decoding configuration information corresponding to the reference configuration type from multiple configuration information groups until the number of second alternative configuration information groups in at least one second alternative configuration information group is 1, and determine at least one second alternative configuration information group as the target configuration information group.

[0178] Optionally, the foregoing device is further configured to: send any one or more of the second decoding configuration information in the first decoding configuration information to a server, so that the server sends a video stream to the current device based on any one or more of the second decoding configuration information.

[0179] Optionally, the foregoing device is further configured to: obtain codec type information corresponding to a decoder to be analyzed; obtain a plurality of configuration information groups based on the codec type information.

[0180] Each unit in the foregoing decoder selection device may be implemented in whole or in part by software, hardware, and a combination thereof. Each of the foregoing units may be embedded in a processor in a computer device in a hardware form or independent of the processor, or may be stored in a memory in the computer device in a software form, so that the processor can call and execute operations corresponding to each of the foregoing units.

[0181] The foregoing decoder selection device may be integrated in a terminal or a server having a memory and a processor with computing capabilities, or the foregoing decoder selection device is the terminal or the server.

[0182] In the embodiments of the present application, the term "module" or "unit" refers to a computer program or a part of a computer program with a predetermined function, which works together with other related parts to achieve a predetermined goal, and can be implemented in whole or in part by using software, hardware (such as a processing circuit or a memory), or a combination thereof. Similarly, one processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit may be a part of an overall module or unit including the function of the module or unit.

[0183] Optionally, the present application further provides a computer device, including a memory and a processor. A computer program is stored in the memory, and when the processor executes the computer program, the steps in the foregoing method embodiments are implemented.

[0184] Figure 4 FIG. is a schematic structural diagram of the computer device provided in the embodiments of the present application. The computer device may be Figure 1 the terminal 10 or the server 20 shown in the figure. As Figure 4 shown, the computer device 400 may include: a communication interface 401, a memory 402, a processor 403, and a communication bus 404. The communication interface 401, the memory 402, and the processor 403 communicate with each other through the communication bus 404. The communication interface 401 is used for the computer device 400 to perform data communication with an external device. The memory 402 may be used to store software programs and modules, and the processor 403 runs the software programs and modules stored in the memory 402, such as the software programs for performing the corresponding operations in the foregoing method embodiments.

[0185] Optionally, the processor 403 may call a software program and a module stored in the memory 402 to execute the following steps:

[0186] Obtain decoder information of at least one first alternative decoder existing in the current device;

[0187] Based on the decoder information of at least one first alternative decoder and the preset decoder information, determine whether the to-be-analyzed decoder corresponding to the preset decoder information is included in at least one first alternative decoder;

[0188] When the to-be-analyzed decoder is included in at least one first alternative decoder, compare the decoding and rendering performance of the to-be-analyzed decoder and the preset decoder to obtain a comparison result, and the preset decoder is included in at least one first alternative decoder;

[0189] Determine a target decoder for participating in the decoding task in the current device from the to-be-analyzed decoder and the preset decoder according to the comparison result.

[0190] Optionally, the processor 403 may also call a software program and a module stored in the memory 402 to execute the foregoing methods.

[0191] The present application also provides a computer-readable storage medium for storing a computer program. The computer-readable storage medium can be applied to a computer device, and the computer program enables the computer device to execute the corresponding processes in the methods in the embodiments of the present application. For the sake of brevity, it will not be elaborated here.

[0192] The present application also provides a computer program product. The computer program product includes computer instructions, and the computer instructions are stored in a computer-readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the corresponding processes in the methods in the embodiments of the present application. For the sake of brevity, it will not be elaborated here.

[0193] The present application also provides a computer program. The computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the corresponding processes in the methods in the embodiments of the present application. For the sake of brevity, it will not be elaborated here.

[0194] The above is only the specific implementation manner of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed by the present application, and all should be covered by the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A decoder selection method, characterized in that, the method includes: obtaining decoder information of at least one first alternative decoder existing in the current device; determining whether a to-be-analyzed decoder corresponding to the preset decoder information is included in the at least one first alternative decoder based on the decoder information of the at least one first alternative decoder and the preset decoder information; when the to-be-analyzed decoder is included in the at least one first alternative decoder, comparing the decoding and rendering performance of the to-be-analyzed decoder and the preset decoder to obtain a comparison result, and the preset decoder is included in the at least one first alternative decoder; determining a target decoder for participating in the decoding task in the current device from the to-be-analyzed decoder and the preset decoder according to the comparison result.

2. The method according to claim 1, characterized in that, comparing the decoding and rendering performance of the to-be-analyzed decoder and the preset decoder to obtain a comparison result, including: determining first decoding configuration information of the to-be-analyzed decoder for at least one configuration type, where the at least one configuration type includes at least one of the following types: the codec type of the to-be-decoded video stream, the resolution of the picture of the to-be-decoded video stream, the frame rate of the to-be-decoded video stream, the display mode of the to-be-decoded video stream after decoding, and a label for indicating whether frames are dropped when the to-be-decoded video stream after decoding is rendered on the picture; decoding a preset video stream by the to-be-analyzed decoder according to the first decoding configuration information, and obtaining first decoding and rendering performance information of the to-be-analyzed decoder for the preset video stream; decoding the preset video stream by the preset decoder according to the first decoding configuration information to obtain second decoding and rendering performance information of the preset decoder for the preset video stream; comparing the first decoding and rendering performance information and the second decoding and rendering performance information to obtain a comparison result.

3. The method according to claim 2, characterized in that, determining first decoding configuration information of the to-be-analyzed decoder for at least one configuration type, including: obtaining a plurality of configuration information groups, and each configuration information group includes at least one second decoding configuration information of the at least one configuration type; selecting a target configuration information group from the plurality of configuration information groups according to the preset video stream; using the at least one second decoding configuration information of the at least one configuration type included in the target configuration information group as the first decoding configuration information of the to-be-analyzed decoder for at least one configuration type.

4. The method according to claim 3, characterized in that, selecting a target configuration information group from the plurality of configuration information groups according to the preset video stream, including: selecting one configuration type from the at least one configuration type as a reference configuration type; obtaining at least two first configuration information groups with different second decoding configuration information corresponding to the reference configuration type from the plurality of configuration information groups; Through the decoder to be analyzed, based on each first configuration information group of the at least two first configuration information groups, decode the preset video stream to obtain at least two third decoding and rendering performance information of the decoder to be analyzed for the preset video stream, where the third decoding and rendering performance information corresponds to the first configuration information group one by one; Based on the at least two third decoding and rendering performance information, select a configuration information group to be matched with the fastest decoding and rendering speed from the at least two first configuration information groups, where the decoding and rendering speed is the total speed of decoding and rendering; From the multiple configuration information groups, select at least one second configuration information group whose second decoding configuration information corresponding to the reference configuration type included is the same as the second decoding configuration information corresponding to the reference configuration type included in the configuration information group to be matched; Determine a target configuration information group according to the at least one second configuration information group.

5. The method according to claim 4, wherein, when the number of second configuration information groups in the at least one second configuration information group is multiple, determining a target configuration information group according to the at least one second configuration information group includes: select a configuration type as a new reference configuration type from at least one configuration type that has not been selected from the at least one configuration type; regard the at least one second configuration information group as a new multiple configuration information groups; return to execute obtaining at least two first configuration information groups whose second decoding configuration information corresponding to the reference configuration type is different from each other from the multiple configuration information groups until the number of second alternative configuration information groups in the at least one second alternative configuration information group is 1, and determine the at least one second alternative configuration information group as the target configuration information group.

6. The method according to claim 2, wherein, the method includes: send any one of the multiple second decoding configuration information in the first decoding configuration information to the server, so that the server sends a target video stream to the current device based on the any one of the multiple second decoding configuration information.

7. The method according to claim 3, wherein, the method further includes: obtain the codec type information corresponding to the decoder to be analyzed; obtain the multiple configuration information groups based on the codec type information.

8. A decoder selection device, wherein, the device includes: an acquisition unit, configured to acquire decoder information of at least one first alternative decoder existing in the current device; a determination unit, configured to determine whether the at least one first alternative decoder includes a decoder to be analyzed corresponding to the preset decoder information based on the decoder information of the at least one first alternative decoder and the preset decoder information; a comparison unit, configured to compare the decoding and rendering performance of the decoder to be analyzed with that of a preset decoder when the at least one first alternative decoder includes the decoder to be analyzed, and obtain a comparison result, where the preset decoder is included in the at least one first alternative decoder; The determining unit is further configured to determine, according to the comparison result, a target decoder from the decoder to be analyzed and the preset decoder, where the target decoder is used to participate in the decoding task in the current device.

9. A computer-readable storage medium, characterized in that, the computer-readable storage medium stores a computer program, and the computer program is adapted to be loaded by a processor to execute the steps in the method according to any one of claims 1-7.

10. A computer device, characterized in that, the computer device includes a processor and a memory, the memory stores a computer program, and the processor is configured to execute the steps in the method according to any one of claims 1-7 by calling the computer program stored in the memory.