Methods, related apparatuses, and computer program products for providing live content
Patent Information
- Application Number
- CN202610621305.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-05-07
- Publication Date
- 2026-08-18
AI Technical Summary
[0011] In the solution provided in this application embodiment, firstly, in response to receiving a playback request for live content from a target device, the attribute information of the target device is obtained; then, based on the attribute information, the target live stream is determined from the candidate live streams of the live content; next, an access address for the target live stream is generated; finally, a list of live content obtained from the access address is returned to the target device. Therefore, live content can be provided in a differentiated and adaptive manner according to the actual situation of different devices, avoiding the impact on user experience due to the terminal's inability to support or match the live content, and improving the quality of live content provision.
Smart Images

Figure CN122601874A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a method, apparatus, electronic device, computer-readable medium, and computer program product for providing live content. Background Technology
[0002] With the rapid development of internet technology, live streaming has become a widely used content transmission method. It has not only become popular in traditional fields such as entertainment, education, sports and business promotion, but also shows a rapid growth trend in emerging fields such as remote conferencing, online healthcare, virtual events, social interaction and online games.
[0003] With its advantages of real-time, interactivity, and wide coverage, live streaming enables content producers to provide video, audio, and multimedia information to a large number of users in an instant, greatly enriching users' ways of obtaining information and their entertainment experience.
[0004] Against this backdrop, improving users' experience in accessing live streaming content is a matter of concern and an urgent need. Summary of the Invention
[0005] This application provides a method, apparatus, electronic device, computer-readable storage medium, and computer program product for providing live streaming content, which can provide live streaming content in a differentiated and adaptive manner according to the actual situation of different devices, avoiding the impact on user experience due to the terminal's inability to support or match the live streaming content, and improving the quality of live streaming content provision.
[0006] One aspect of this application provides a method for providing live streaming content, comprising: in response to receiving a playback request for live streaming content from a target device, obtaining attribute information of the target device; determining a target live streaming stream from candidate live streaming streams based on the attribute information; generating an access address for the target live streaming stream; and returning a list of live streaming content obtained from the access address to the target device.
[0007] Another aspect of this application provides an apparatus for providing live streaming content, comprising: an attribute information acquisition module configured to acquire attribute information of a target device in response to receiving a playback request for live streaming content from a target device; a live stream filtering module configured to determine a target live stream from candidate live streams of the live streaming content based on the attribute information; an access address generation module configured to generate an access address for the target live stream; and an access list providing module configured to return a live streaming content access list formed by the access address to the target device.
[0008] In another aspect of this application, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the method of providing live content as provided above.
[0009] Another aspect of this application provides a computer-readable storage medium having computer program instructions stored thereon, which can be executed by a processor to implement the method of providing live content as provided above.
[0010] Another aspect of this application is a computer program product that includes a computer program having computer program instructions stored thereon, which, when executed by a processor, can implement the method of providing live content as provided above.
[0011] In the solution provided in this application embodiment, firstly, in response to receiving a playback request for live content from a target device, the attribute information of the target device is obtained; then, based on the attribute information, the target live stream is determined from the candidate live streams of the live content; next, an access address for the target live stream is generated; finally, a list of live content obtained from the access address is returned to the target device. Therefore, live content can be provided in a differentiated and adaptive manner according to the actual situation of different devices, avoiding the impact on user experience due to the terminal's inability to support or match the live content, and improving the quality of live content provision. Attached Figure Description
[0012] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0013] Other features, objects, and advantages of this application will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings:
[0014] Figure 1 A flowchart illustrating a process for providing live streaming content is provided as an embodiment of this application;
[0015] Figure 2 A flowchart illustrating another process for providing live content, as provided in one embodiment of this application;
[0016] Figure 3 A flowchart illustrating a process for providing live content in a specific application scenario, provided as another embodiment of this application;
[0017] Figure 4 A schematic diagram of the structure of an apparatus for providing live streaming content according to an embodiment of this application;
[0018] Figure 5 This is a schematic diagram of the structure of an electronic device suitable for implementing the solutions in the embodiments of this application.
[0019] The same or similar reference numerals in the accompanying drawings represent the same or similar parts. Detailed Implementation
[0020] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0021] In a typical configuration of this application, the terminal and the service network devices each include one or more processors (CPUs), input / output interfaces, network interfaces, and memory.
[0022] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0023] Computer-readable media include permanent and non-permanent, removable and non-removable media, which can store information by any method or technology. Information can be computer program instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, read-only optical disc (CD-ROM), digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transfer medium that can be used to store information accessible by a computing device.
[0024] As discussed above, improving users' experience in accessing live streaming content is a matter of concern and an urgent need.
[0025] In some solutions, the live stream with the highest resolution and bitrate among the currently available live stream content can be selected as the target live stream to provide to users, in the hope that users can obtain the best viewing experience.
[0026] However, this approach may encounter issues such as playback failure or inability to load the required live content when the user's terminal device lacks sufficient capabilities, thus degrading the user's live content acquisition experience. While providing multiple streams can temporarily alleviate this problem, this approach often suffers from difficulties in providing effective live streams due to the pre-configured strategy, resulting in a poor user experience.
[0027] To address this issue, this application provides a method for providing live streaming content. The method first responds to a playback request for live streaming content received from a target device by obtaining the target device's attribute information. Then, based on the attribute information, it determines the target live streaming stream from candidate live streaming streams. Next, it generates an access address for the target live streaming stream. Finally, it returns a list of live streaming content retrieved from the access addresses to the target device. This allows for differentiated and adaptive provision of live streaming content based on the actual conditions of different devices, avoiding user experience issues caused by terminal capabilities failing to support or match the live streaming content, and improving the quality of live streaming content provision.
[0028] In practical scenarios, the execution entity of this method can be a user device, a device composed of a user device and a network device integrated through a network, or an application running on the aforementioned devices. User devices include, but are not limited to, various terminal devices such as computers, mobile phones, tablets, smartwatches, and wristbands. Network devices include, but are not limited to, network hosts, single network servers, multiple network server sets, or cloud computing-based computer sets. Here, the cloud consists of a large number of hosts or network servers based on cloud computing. Cloud computing is a type of distributed computing, consisting of a virtual computer composed of a group of loosely coupled computer sets.
[0029] When the executing entity is software, it can be installed in the electronic devices listed above. It can be implemented as multiple software programs or software modules, or as a single software program or software module, without specific limitations.
[0030] Figure 1 The present application illustrates a process 100 for providing live content, which includes at least the following processing steps:
[0031] (Step) S101, in response to receiving a playback request for live content from the target device, obtain the attribute information of the target device;
[0032] In the embodiments of this application, if the executing entity receives a playback request for live content (e.g., a live room) sent by a target device (e.g., a terminal device or user device used by a user) (e.g., a user requests to enter the live room and obtain the live content in the live room by clicking on the live room cover), the executing entity may respond by first obtaining the attribute information of the target device.
[0033] The target device's attribute information can be associated with its processing capabilities and performance for live streaming content, such as the communication protocols it supports. Accordingly, the executing entity can obtain this attribute information to select and allocate target live streaming streams that it can support and allow, enabling the target device to provide high-quality live streaming content using these streams.
[0034] In some embodiments, the attribute information may include at least one of the following: the container format supported by the target device, the codec type, and the grouping constraints. The grouping constraints include constraints in at least one of the following dimensions: High Dynamic Range (HDR) type, media type, and Digital Rights Management (DRM) status. This allows the executing entity to understand the performance of the target device in a granular and accurate manner through these dimensions, and thus accurately filter and allocate target live streams that it can satisfy and support.
[0035] S102, Based on attribute information, determine the target live stream from the candidate live streams of the live content;
[0036] In the embodiments of this application, after obtaining the attribute information based on the above S101, the executing entity can select the target live stream that the target device can support from the candidate live streams of the live content (i.e., those live streams configured by the live content provider that can all be used to obtain live content) based on the attribute information.
[0037] For example, for live content A, if the provider offers three codec types—AV1, High Efficiency Video Coding (HEVC), and Advanced Video Coding (AVC)—and provides HDR10 and Standard Dynamic Range (SDR) streams, the executing entity can select the corresponding target live stream based on the attribute information after obtaining it.
[0038] For example, if the attribute information allows HEVC encoding and decoding and supports HDR10 streaming, the execution entity can identify a candidate live stream encoded in HEVC format and supporting HDR10 as the target live stream.
[0039] In some embodiments, during the process of filtering and determining the target live stream, the executing entity may also refer to the user preference information of the target user using the target device, so as to provide and select the target live stream in a way that better meets the user's personalized needs.
[0040] In some embodiments, the user preference information may specifically be an explicit selection result for at least one of the aforementioned attribute information, so that the executing entity can locate the specific attribute information based on the selection result and use it to filter out the target live stream (e.g., the user's explicit selection of codec type and resolution parameters).
[0041] Alternatively, in some embodiments, user preference information may be information other than attribute information but associated with the live content, such as the perspective (e.g., main perspective, side perspective, perspective captured by a selected type of device, etc.) and type (e.g., main live stream, backup live stream) corresponding to the "live stream", thereby enabling users to have preference selection capabilities in more dimensions.
[0042] It should be understood that the acquisition, storage, use, processing, transportation, provision, and disclosure of any type of information involved in the technical solutions of this application, such as user personal information (e.g., user preference information involved in this application), comply with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0043] In some embodiments, constraints set by the live content provider and the execution entity maintainer may also be considered during the process of determining the target live stream, and a suitable target live stream may be selected based on these constraints, so that the process of selecting the target live stream also meets the expectations of the live content provider and the execution entity maintainer, thereby improving the implementation quality of the process of providing live content.
[0044] In some embodiments, such as the live content provider described above, the provider can configure mandatory attribute information for the live content to constrain, for example, decoding method, resolution, etc., in order to ensure and manage the quality of the live content provided (e.g., to ensure that the live content is provided to a "high quality" standard).
[0045] Accordingly, in this step, if the live content is pre-configured with mandatory attribute information, such as Per-Flow Configuration (PFC), the executing entity can respond by first identifying the target attribute information that is not matched by the mandatory parameter information from the attribute information. That is, if the live content is pre-configured with mandatory attribute information, the executing entity can first select the target attribute information that is not constrained and matched by the mandatory parameter information from the attribute information.
[0046] Then, the executing entity can compose updated attribute information based on the mandatory attribute information and the target attribute information. For example, if the mandatory attribute information is HEVC type decoding, the executing entity can choose to add, for example, "grouping constraints" in the attribute information that are not matched by the mandatory attribute information, to form and compose updated attribute information (e.g., HEVC type decoding and HDR10). In this way, the executing entity can incorporate non-conflicting personalized information of the target device while ensuring that the mandatory attribute information is complied with.
[0047] Then, based on this updated attribute information, the executing entity can determine the target live stream from the candidate live streams using the aforementioned "hit" method. This ensures that while considering the "personalization" of the user's target device, the delivery process of the live stream content meets the requirements of, for example, the provider and the executing entity's maintenance party, thus guaranteeing the quality of the live stream content delivery.
[0048] In some embodiments, attribute information, preference information, etc., can be constructed and understood as a "filtering context," and their specific contents can be used as parameter options, which are obtained by the executing entity in an initialization manner. Accordingly, for user preferences other than attribute information, when these parameters are missing, the executing entity can choose to set them to "0" or fill in default values to ensure that when the user does not provide or these parameters are missing, the executing entity can complete the process of filtering the target live stream solely based on the aforementioned "attribute information."
[0049] In some embodiments, during the process of filtering target live streams, the executing entity may further consider the specific type of the target device (e.g., operating system, whether it is a mobile device) as a reference dimension to achieve a more effective determination of the target live stream. Accordingly, in such cases, the executing entity can process the identifier of the target device (e.g., normalize, quantify) and use the result as a parameter of the aforementioned context.
[0050] S103, Generate the access address of the target live stream;
[0051] In the embodiments of this application, after determining the target live stream based on the above-described S102, the executing entity can encapsulate and generate an access address for accessing and obtaining the target live stream based on the specific parameters and information involved in the target live stream. In practice, for example, the provider of the live content or the maintainer of the executing entity can configure the specific content that needs to be involved in the access address, so that the executing entity can subsequently generate an access address that includes and satisfies these specific contents.
[0052] In some embodiments, during the generation of access addresses, in addition to the non-signature parameters such as attribute information (e.g., the HDR type of the target live stream, codec identifier, content distribution key, request source, media type, streaming protocol, raw bitrate, popularity rating, etc.), the executing entity may also add signature parameters such as the identity of the live content provider, tracking path, media version, etc., to identify the target live stream. This allows the signature parameters to be used to more specifically identify and locate the target live stream when using or accessing these access addresses, thereby ensuring the security of the access addresses.
[0053] In practice, based on the differences in the dimensions involved, the access address may also include relevant content and parts that represent the live room number, live room identifier, platform type, client version, time shift delay, etc., which can be adjusted according to the actual scenario and will not be discussed here.
[0054] In some embodiments, before generating the access address, the executing entity may choose to verify the playback status of the target live stream and generate a corresponding verification result. Then, if the verification result indicates that the playback status of the target live stream is verified as normal, the executing entity responds by generating the access address for the target live stream. This avoids pushing inaccessible or unplayable target live streams to users, thereby improving the reliability of live content service while avoiding wasting computational and address generation resources.
[0055] S104, Return the list of live content retrieved by the access address to the target device.
[0056] In the embodiments of this application, after the access address is generated based on the above S103, the executing entity can generate a live content acquisition list based on these access addresses and provide or return it to the target device to complete the process of providing live content (for example, the user can actually obtain the target live stream or live content by clicking or triggering the access address in the live content acquisition list).
[0057] In some embodiments, when providing a list of live content to be acquired, the executing entity may choose to directly play one of the target live streams, so that users can acquire the live content at the same time as acquiring the list of live content to be acquired, thereby improving the efficiency of users acquiring live content.
[0058] It should be understood that, for all target live streams, not all will generate corresponding access addresses and form a live content retrieval list. For example, in the embodiments discussed below, the executing entity may select a portion of the target live streams to generate corresponding access addresses and accordingly form a live content retrieval list for provision to the target device.
[0059] Accordingly, by doing so (i.e., after the executing entity generates a list of live content to be acquired from the access address, it directly provides the list to the target device, rather than generating the list on the target device), the presentation logic and results in the list of live content to be acquired can be made to correspond to the filtering and selection logic of the target live stream mentioned above, thus avoiding the loss of the filtering logic of this application due to differences in the list generation logic on the target device.
[0060] Subsequently, the method for providing live streaming content provided in this application first responds to receiving a playback request for live streaming content from a target device by obtaining the target device's attribute information; then, based on the attribute information, it determines the target live streaming stream from the candidate live streaming streams; next, it generates an access address for the target live streaming stream; and finally, it returns a list of live streaming content obtained from the access addresses to the target device. This allows for differentiated and adaptive provision of live streaming content according to the actual situation of different devices, avoiding impacts on user experience due to terminal capabilities failing to support or match the live streaming content, and improving the quality of live streaming content provision.
[0061] In some embodiments, because the target device's support capability for a specific attribute information may be diverse, or in other words, for a specific type of attribute information, the target device may simultaneously support multiple specific contents (e.g., simultaneously supporting AV1, HEVC, AVC, etc.), this allows for the acquisition of multiple target live stream contents for different combinations of specific attribute information. For example, based on the combination results of different specific encapsulation formats, codec types, and grouping constraints, the executing entity may determine multiple target live streams corresponding to multiple different combination results (e.g., multiple target live streams corresponding to the same combination result but with different resolution parameters).
[0062] In this scenario, since these "combined results" all meet the usage requirements of the target device, in order to reduce the user's selection burden and save computational costs, the executing entity can choose to construct the corresponding live stream set based on the "combined results," or in other words, the specific attribute information. Then, the executing entity only processes a portion of the live streams (for example, only generating the "access address" of the target live stream in this portion of the live stream set) and provides the processing results to the target device.
[0063] To better understand the process of providing live content in such situations, you can refer to the following: Figure 2 . Figure 2 This application illustrates another process 200 for providing live content, which includes at least the following processing steps:
[0064] S201, in response to receiving a playback request for live content from the target device, obtain the attribute information of the target device;
[0065] S202, Based on attribute information, determine the target live stream from the candidate live streams of the live content;
[0066] The above steps S201-S202 are the same as those in the example. Figure 1 The steps S101-S102 shown are the same. For the same parts, please refer to the corresponding parts of the previous embodiment. They will not be repeated here.
[0067] S203, based on attribute information, encapsulate target live streams with the same target attribute information into a set of live streams corresponding to that target attribute information;
[0068] Specifically, as discussed above, in this embodiment, the executing entity can use target attribute information as a reference (for example, as the "combination result" mentioned above) to encapsulate target live streams that are identical in target attribute information (as discussed above, the target attribute information can be one or at least two of the "attribute information" mentioned above) into a set of live streams corresponding to the target attribute information.
[0069] In some embodiments, if the executing entity chooses to encapsulate a set of live streams, it can also construct a signature mapping based on the target attribute information corresponding to the set of live streams to locate the corresponding set of live streams using the target attribute information. This allows the target live streams (i.e., the set of live streams) with the same "target attribute information" to be directly obtained subsequently using this signature mapping. This avoids frequently and repeatedly identifying target live streams that meet the attribute requirements when providing live content to different target devices, thereby improving computational efficiency, saving computational resources, and enabling the executing entity to have stronger service capabilities.
[0070] Accordingly, the executing entity can subsequently form a list of live stream content to be acquired in the form and dimensions of a collection of live streams, and provide these target live streams to the target devices.
[0071] In some embodiments, if multiple live stream sets exist, and since these sets can all actually meet the user's live content acquisition needs, the executing entity can, in response, select a target live stream set from the multiple live stream sets. For example, one or at least two target live stream sets may be determined.
[0072] In practice, the executing entity can usually select the target live stream set based on factors such as the frequency and popularity of each live stream set being provided and selected (e.g., selecting the live stream set that is currently provided less frequently to balance the load).
[0073] Then, as discussed above, the executing entity can choose to generate only the access addresses of the target live streams in the target live stream set, and form a subsequent live content retrieval list based on these access addresses. This avoids wasting computing resources and reducing efficiency by repeatedly and redundantly providing access addresses.
[0074] In some embodiments, after forming a set of live streams, considering that users are more sensitive to the perception of "clarity," or that users are more likely to select target live streams based on indicators such as clarity, the executing entity may also choose to sort the target live streams based on the clarity parameter, so that users can more conveniently and efficiently select the target live stream they actually use from the provided target live streams.
[0075] Therefore, in this case, in the above process 200, after the executing entity completes S203, it can further choose to execute S204 first to sort each target live stream in the live stream set based on the resolution parameters corresponding to each target live stream, instead of directly forming a scattered list of live content acquisition.
[0076] S204, In the live stream set, sort each target live stream based on the resolution parameter corresponding to each target live stream;
[0077] Specifically, as mentioned above, in this step, the executing entity can choose to sort the target live streams based on the resolution parameters corresponding to each target live stream. For example, sorting them from high to low resolution according to the resolution parameters.
[0078] In some embodiments, if the live content recommends a resolution ranking, the implementing entity may also choose to rank the resolution according to the recommendation, so as to provide live content services to users in accordance with the expectations of the live content provider.
[0079] In some embodiments, if the user or target device specifies a target resolution parameter when providing a playback request, the executing entity may choose to place the first target live stream whose resolution parameter corresponds to the target resolution parameter at the top of the target live stream set during sorting.
[0080] Then, after the first target live stream, the executing entity can arrange the second target live streams with corresponding resolution parameters lower than the first target live stream in descending order based on the corresponding resolution parameters.
[0081] Finally, after the last second-target live stream, the executing entity can, based on the corresponding resolution parameters, rank the third-target live streams whose resolution parameters are greater than the first-target live stream in ascending order. This creates a priority sequence of "user-desired resolution level to below to above," ensuring that user needs are prioritized while providing target live streams to users in an adaptive, fallback format. This improves the stability of the live content delivery process and the usability of the delivered results while maintaining user personalization.
[0082] For example, if the selectable resolution parameters include 4K, 1080p, 720p, and 480p, and the user specifies 720p, the execution entity can choose to place the 720p live stream as the first target live stream, ranking it first. Then, the 480p live stream, which is lower than 720p, is placed as the second target live stream after 720p (for example, if there are even lower resolutions, the execution entity can continue arranging them). Then, after 720p, the execution entity can continue arranging them as the third target live stream, following the original order of 4K and 1080p.
[0083] In some scenarios, if there are limitations on resolution, such as when the user has not enabled 4K mode, the executing entity can also adaptively choose not to arrange or list the third target live stream corresponding to 4K, in order to match the user's actual usage configuration and needs.
[0084] S205, A live content retrieval list is formed based on the access addresses of the target live streams in the sorted live stream set;
[0085] Specifically, as discussed above, the executing entity can, after completing the sorting, form a list of live content to be retrieved based on the access addresses of the target live streams in the sorted set of live streams.
[0086] In some embodiments, the executing entity may also choose to assign a corresponding sequence number to each target live stream, so that after the live content acquisition list is formed, users can understand the order of access addresses in the live content acquisition list through the sequence number, ensuring that users can obtain consistent sorting results in different scenarios.
[0087] It should be understood that in some embodiments, the executing entity may also choose to generate the access address first and then sort it (i.e., in different embodiments, the action of "generating the access address" in S205 may be performed before S204), and this application is not intended to limit such an execution order.
[0088] Then, the executing entity can continue to execute S206 as discussed above to return the live content acquisition list to the target device for the user to use and acquire the live content, which will not be repeated here.
[0089] S206, Return the list of live content to the target device.
[0090] In some embodiments, if it is not desired to provide all "resolution levels", the executing entity may similarly choose to refer to the resolution levels pre-configured by the executing entity's maintainer or the user, to adaptively provide only the target live stream with the required resolution in the live stream set.
[0091] For example, the executing entity can first determine whether the user has selected the target resolution level. If so, the executing entity can choose to retain only the target live stream at that resolution level from the live stream collection. If the maintainer has not preset it and the user has not indicated it, the executing entity can choose to determine at least two allowed resolution levels based on the user's login status (logged in / not logged in), for example, resolution levels determined by the allowed encapsulation format (encapsulation protocol). Subsequently, the executing entity can select a target resolution level for use based on the target device's platform type (e.g., mobile, web, etc.), network status (e.g., based on mobile data connection, wireless network connection, etc.).
[0092] In some embodiments, if the executing entity can provide at least two sets of live streams, then in the process of forming a list of live content to be acquired based on the access addresses of the target live streams in the sorted sets of live streams, the executing entity may, in response to this, first determine the order of the live stream sets based on a priority strategy for the live stream content (e.g., arranging the sets of live streams in descending order based on the highest resolution included; arranging the sets of live streams in ascending order based on the latency corresponding to each set of live streams; arranging the sets of live streams in descending order based on the number of resolution levels included in each set of live streams; arranging the sets of live streams in descending order based on the codec type corresponding to each set of live streams, etc.).
[0093] Typically, this priority strategy can be preset by the executing entity or the provider of the live content, or provided by the target device, so that the executing entity can provide such sorting services in combination with different scenarios and needs.
[0094] Then, the executing entity can arrange the access addresses of the target live streams in each sorted set of live streams according to their order, forming a live content retrieval list. This allows for differentiated and personalized arrangement services tailored to users' individual needs, based on their different areas of interest, enabling them to access the target live streams they are interested in and desire more efficiently and at a lower cost.
[0095] In some embodiments, the executing entity may also choose to periodically refresh these live stream sets and adaptively rearrange the live stream sets based on the refreshed results and parameters to maintain the timeliness of the sorting results. For example, after refreshing and rearranging, the executing entity may regenerate a new list of live stream content to provide to the user, thereby maintaining the timeliness of the sorting order.
[0096] In some embodiments, such a refresh cycle, or refresh mode, can also be configured by the live content provider so that the refresh mode and cycle can match the live content delivery strategy, in order to avoid frequent invalid refreshes that would annoy users and reduce user experience.
[0097] To enhance understanding, this application also provides a specific implementation scheme based on a particular application scenario. Please refer to it. Figure 3 , Figure 3 This is a flowchart of a process 300 for providing live content in a specific application scenario, provided as an embodiment of this application.
[0098] In process 300, server 310 may be exemplary as the entity performing the process of providing live content (e.g., server 310 is the "distributor" of live content 314). Accordingly, server 310 may provide the live content 314 provided by device 311 to other devices, such as device 313.
[0099] Specifically, in process 300, device 311 can provide multiple live streams for live content 314, such as live stream 321, live stream 322...live stream 32N (where N is a positive integer). For example, these live streams may differ in encapsulation format, encoding / decoding type, etc. Accordingly, device 311 can provide these live streams 321, live stream 322...live stream 32N to server 312 for distribution by executing S301.
[0100] Subsequently, if device 313 sends a playback request for live content 314 to server 312 by executing S302, server 312 can respond by executing S303 to obtain attribute information 330 of device 313.
[0101] After obtaining attribute information 330, server 312 can continue to execute S304 to determine the target live stream that can meet the requirements of attribute information 330 from live streams 321, 322... 32N based on attribute information 330.
[0102] For example, in process 300, server 312 may use live stream 321 and live stream 322 as "target live streams" based on attribute information 330. It should be understood that the term "quantity" here is merely an illustrative example for discussing the content of this application and is not intended to impose a limit on the number of live streams that can be used as target live streams.
[0103] Then server 312 can continue to execute S305 to generate access addresses 341 for live stream 321 and 342 for live stream 322, which are the "target live stream".
[0104] Finally, server 312 can return a live content retrieval list 350 formed by access address 341 and access address 342 to device 313 by executing S306. Exemplarily, as discussed above, the live content retrieval list 350 can be a part of a live content presentation interface 360 (e.g., the live content presentation interface 360 can be presented using a display component of device 313, such as a screen). Accordingly, the user can play the "access link" or "live stream" selected based on the live content retrieval list 350 through the content presentation sub-interface 361 in the live content presentation interface 360, thereby obtaining the live content 314 provided by server 312 to the user (not shown in the figure) using device 313.
[0105] This application also provides an apparatus for providing live streaming content, the structure of which is as follows: Figure 4 The apparatus 400 shown includes: an attribute information acquisition module 410, configured to acquire attribute information of a target device in response to receiving a playback request for live content from a target device; a live stream filtering module 420, configured to determine a target live stream from candidate live streams of the live content based on the attribute information; an access address generation module 430, configured to generate an access address for the target live stream; and an access list providing module 440, configured to return a live content access list formed by the access addresses to the target device.
[0106] This embodiment exists as a device embodiment corresponding to the above method embodiment. The device for providing live content provided in this embodiment can provide live content in a differentiated and adaptive manner according to the actual situation of different devices, so as to avoid affecting the user experience due to the terminal's inability to support or match the live content, and improve the quality of live content provision.
[0107] In some embodiments, the live stream filtering module 420 is further configured to determine the target live stream from the candidate live streams of the live content based on attribute information and user preference information of the target user using the target device.
[0108] In some embodiments, the live stream filtering module 420 includes: an attribute information extraction submodule, configured to determine target attribute information that is not matched by the forced parameter information from the attribute information in response to the live content being pre-configured with forced attribute information; an attribute information combination submodule, configured to compose updated attribute information based on the forced attribute information and the target attribute information; and a live stream filtering submodule, configured to determine the target live stream from the candidate live streams of the live content based on the updated attribute information.
[0109] In some embodiments, the access address generation module 430 is further configured to generate an access address for the target live stream in response to the playback status of the target live stream being verified as a normal playback status.
[0110] In some embodiments, the apparatus 400 further includes: a live stream encapsulation module configured to encapsulate target live streams with the same target attribute information into a live stream set corresponding to the target attribute information based on attribute information; a live stream sorting module configured to sort each target live stream in the live stream set based on the resolution parameters corresponding to each target live stream; and a list providing module 440 including: a list forming submodule configured to form a live content acquisition list based on the access addresses of the target live streams in the sorted live stream set; and a list providing submodule configured to return the live content acquisition list to the target device.
[0111] In some embodiments, the apparatus 400 further includes a signature mapping construction module, configured to construct a signature mapping for using the target attribute information to hit the corresponding live stream set based on the target attribute information corresponding to the live stream set.
[0112] In some embodiments, the live stream sorting module includes: a first sorting unit configured to, in response to a playback request specifying a target resolution parameter, arrange a first target live stream whose resolution parameter corresponds to the target resolution parameter at the top of the target live stream set; a second sorting unit configured to, after the first target live stream, arrange second target live streams whose resolution parameters are less than the first target live stream in descending order based on their corresponding resolution parameters; and a third sorting unit configured to, after the last second target live stream, arrange third target live streams whose resolution parameters are greater than the first target live stream in ascending order based on their corresponding resolution parameters.
[0113] In some embodiments, the access address generation module 430 includes: a live stream set selection submodule, configured to select a target live stream set from multiple live stream sets in response to the existence of multiple live stream sets; and an access address generation submodule, configured to generate an access address for the target live stream in the target live stream set.
[0114] In some embodiments, the list forming submodule includes: a sequence determination unit, configured to determine the sequence order of each live stream set based on a priority strategy of the live stream content in response to the existence of at least two live stream sets; and a list forming unit, configured to arrange the access addresses of the target live streams in each sorted live stream set based on the sequence order to form a live content acquisition list.
[0115] In some embodiments, the access address generation module 430 is further configured to generate an access address for the target live stream based on the unsigned parameters and signed parameters of the target live stream.
[0116] In some embodiments, the attribute information includes at least one of the following: the container format supported by the target device, the codec type, and the grouping constraints, wherein the grouping constraints include constraints of at least one of the following dimensions: high dynamic range type, media type, and digital rights management status.
[0117] Based on the same concept, this application also provides an electronic device, a readable storage medium, and a computer program product. The method corresponding to the electronic device can be the method for providing live content in the foregoing embodiments, and its problem-solving principle is similar to that method. The electronic device provided in this application includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the methods and / or technical solutions of the foregoing embodiments of this application.
[0118] Electronic devices can be user devices, or devices composed of user devices and network devices integrated through a network, or applications running on the aforementioned devices. User devices include, but are not limited to, various terminal devices such as computers, mobile phones, tablets, smartwatches, and wristbands. Network devices include, but are not limited to, network hosts, single network servers, multiple network server sets, or cloud computing-based computer sets, and can be used to implement some processing functions when setting an alarm clock. Here, the cloud consists of a large number of hosts or network servers based on cloud computing. Cloud computing is a type of distributed computing, consisting of a virtual computer composed of a group of loosely coupled computer sets.
[0119] Figure 5The diagram illustrates the structure of an electronic device suitable for implementing the methods and / or technical solutions in the embodiments of this application. The electronic device 500 includes a Central Processing Unit (CPU) 501, which can perform various appropriate actions and processes based on a program stored in a Read Only Memory (ROM) 502 or a program loaded from a storage portion 508 into a Random Access Memory (RAM) 503. The RAM 503 also stores various programs and data required for system operation. The CPU 501, ROM 502, and RAM 503 are interconnected via a bus 504. An Input / Output (I / O) interface 505 is also connected to the bus 504.
[0120] The following components are connected to I / O interface 505: an input section 506 including a keyboard, mouse, touchscreen, microphone, infrared sensor, etc.; an output section 507 including a cathode ray tube (CRT), liquid crystal display (LCD), LED display, OLED display, etc., and speakers, etc.; a storage section 508 including one or more computer-readable media such as hard disk, optical disk, magnetic disk, semiconductor memory, etc.; and a communication section 509 including a network interface card such as a LAN (Local Area Network) card, modem, etc. The communication section 509 performs communication processing via a network such as the Internet.
[0121] In particular, the methods and / or embodiments in this application can be implemented as computer software programs. For example, the embodiments disclosed in this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowchart. When the computer program is executed by the central processing unit (CPU) 501, it performs the functions defined in the methods of this application.
[0122] Another embodiment of this application provides a computer-readable storage medium and a computer program product having computer program instructions stored thereon, which can be executed by a processor to implement the methods and / or technical solutions of any one or more embodiments of this application described above.
[0123] Specifically, this embodiment may employ any combination of one or more computer-readable media. A computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. A computer-readable storage medium may be, for example, a system, apparatus, or device that is, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor, or any combination thereof. More specific examples of computer-readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this document, a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0124] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, capable of sending, propagating, or transmitting programs for use by or in connection with an instruction execution system, apparatus, or device.
[0125] Program code contained on a computer-readable medium may be transmitted using any suitable medium, including but not limited to wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.
[0126] Computer program code for performing the operations of this application can be written in one or more programming languages or a combination thereof. Programming languages include object-oriented programming languages—such as Java, Smalltalk, and C++—as well as conventional procedural programming languages—such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0127] The flowcharts or block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of devices, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-specific system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0128] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0129] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules and units is only a logical functional division, and in actual implementation, there may be other division methods. Taking units as examples, multiple units or page components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection between apparatuses or units through some interfaces, and may be electrical, mechanical, or other forms.
[0130] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0131] Furthermore, the functional modules and units in the various embodiments of this application can be integrated into one processing module or unit, or each module or unit can exist physically separately, or two or more units can be integrated into one module or unit. The integrated unit can be implemented in hardware or in the form of hardware plus software functional modules and units.
[0132] The integrated modules and units implemented as software functional modules and units described above can be stored in a computer-readable storage medium. These software functional modules and units, stored in a storage medium, include several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute some steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0133] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.
[0134] Furthermore, it is clear that the word "comprising" does not exclude other units or steps, and the singular does not exclude the plural. Multiple units or devices recited in a device claim may also be implemented by a single unit or device through software or hardware. The terms "first," "second," etc., are used to indicate names and do not indicate any specific order.
Claims
1. A method for providing live streaming content, characterized in that, include: In response to receiving a playback request for live content from a target device, the attribute information of the target device is obtained; Based on the attribute information, the target live stream is determined from the candidate live streams of the live content; Generate the access address of the target live stream; Return the list of live content retrieved from the access address to the target device.
2. The method according to claim 1, characterized in that, The step of determining the target live stream from the candidate live streams of the live content based on the attribute information includes: Based on the attribute information and the user preference information of the target user using the target device, the target live stream is determined from the candidate live streams of the live content.
3. The method according to claim 1, characterized in that, The step of determining the target live stream from the candidate live streams of the live content based on the attribute information includes: In response to the live content being pre-configured with mandatory attribute information, target attribute information that was not matched by the mandatory parameter information is determined from the attribute information; Updated attribute information is composed based on the forced attribute information and the target attribute information; The target live stream is determined from the candidate live streams of the live content based on the updated attribute information.
4. The method according to claim 1, characterized in that, The access address for generating the target live stream includes: In response to the target live stream's playback status being verified as normal playback, an access address for the target live stream is generated.
5. The method according to claim 1, characterized in that, The method further includes: Based on the attribute information, the target live streams with the same target attribute information are encapsulated into a set of live streams corresponding to the target attribute information; In the set of live streams, the target live streams are sorted based on their corresponding resolution parameters; and The step of returning the live content retrieval list formed by the access address to the target device includes: A live content retrieval list is formed based on the access addresses of the target live streams in the sorted live stream set. Return the list of live content to the target device.
6. The method according to claim 5, characterized in that, The method further includes: Based on the target attribute information corresponding to the live stream set, a signature mapping is constructed for using the target attribute information to hit the corresponding live stream set.
7. The method according to claim 5, characterized in that, The step of sorting the target live streams in the live stream set based on the resolution parameters corresponding to each target live stream includes: In response to the playback request specifying a target resolution parameter, the first target live stream whose resolution parameter corresponds to the target resolution parameter is arranged at the top of the target live stream set; Following the first target live stream, second target live streams whose resolution parameters are less than those of the first target live stream are arranged in descending order based on the corresponding resolution parameters. After the last second target live stream, third target live streams with resolution parameters greater than the first target live stream are arranged in ascending order based on the corresponding resolution parameters.
8. The method according to claim 5, characterized in that, The access address for generating the target live stream includes: In response to the existence of multiple sets of said live streams, a target live stream set is selected from the multiple sets of said live streams; Generate the access address of the target live stream in the target live stream set.
9. The method according to claim 5, characterized in that, The live content retrieval list is formed based on the access addresses of the target live streams in the sorted live stream set, including: In response to the existence of at least two sets of said live streams, the order of each set of said live streams is determined based on the priority strategy of said live stream content; Based on the aforementioned order, the access addresses of the target live streams in each of the sorted live stream sets are arranged to form a live content acquisition list.
10. The method according to claim 1, characterized in that, The access address for generating the target live stream includes: Based on the unsigned and signed parameters of the target live stream, an access address for the target live stream is generated.
11. The method according to any one of claims 1-10, characterized in that, The attribute information includes at least one of the following: the encapsulation format, encoding / decoding type, and grouping constraints supported by the target device, wherein the grouping constraints include constraints of at least one of the following dimensions: high dynamic range type, media type, and digital access control status.
12. An apparatus for providing live streaming content, characterized in that, include: The attribute information acquisition module is configured to acquire the attribute information of the target device in response to receiving a playback request for live content from the target device; The live stream filtering module is configured to determine the target live stream from the candidate live streams of the live content based on the attribute information. The access address generation module is configured to generate the access address of the target live stream; The list retrieval module is configured to return a list of live content retrieved from the access address to the target device.
13. An electronic device, the electronic device comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1 to 11.
14. A computer-readable medium having stored thereon computer program instructions that can be executed by a processor to implement the method as described in any one of claims 1 to 11.
15. A computer program product comprising a computer program that, when executed by a processor, implements the method as described in any one of claims 1 to 11.