Code rate calculation method, apparatus, device, and medium

By extracting SEI from the data packets of the live streaming service data stream and calculating its traffic and playback duration, the problem of inaccurate calculation based on FLV file header in the existing technology is solved, and the accuracy of bitrate calculation of the live streaming service data stream is improved.

CN118842972BActive Publication Date: 2025-11-18CHINA MOBILE GRP FUJIAN CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411010267.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-07-26
Publication Date
2025-11-18
Estimated Expiration
2044-07-26

AI Technical Summary

Technical Problem

In existing technologies, bitrate calculation based on the file header of the streaming media format FLV is not accurate enough, resulting in inaccurate bitrate calculation.

Method used

By extracting Supplemental Enhancement Information (SEI) from each data packet of the live streaming data stream, determining its traffic and playback duration, and calculating the bitrate based on the traffic and playback duration, the process includes extracting tags from the file body of the data packets and obtaining the SEI from them, calculating the traffic and bitrate for each SEI, and summing up the total traffic and total playback duration to determine the average bitrate of the live stream.

Benefits of technology

It improves the accuracy of bitrate calculation for live streaming data streams, enabling more precise bitrate assessment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118842972B_ABST
    Figure CN118842972B_ABST
Patent Text Reader

Abstract

The present disclosure provides a code rate calculation method, device, equipment and medium, wherein the code rate calculation method comprises: extracting each supplemental enhancement information SEI from each data packet of a first service data stream; determining the traffic and playing time length of each SEI; and determining the code rate of the first service data stream according to the traffic and playing time length of each SEI. Through the present disclosure, the code rate calculation accuracy can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of video playback technology, and in particular to a bitrate calculation method, apparatus, device, and medium. Background Technology

[0002] The data stream format for a service (such as live streaming) can be a streaming media format (Flash Video, FLV). FLV typically consists of two parts: a file header and a file body. The file body is composed of a series of tags, which can be of various types, such as video or audio.

[0003] In related technologies, the bitrate of business data streams is calculated based on the file header. However, this method is not accurate in bitrate calculation. Summary of the Invention

[0004] This disclosure aims to at least partially address one of the technical problems in the related art.

[0005] Therefore, this disclosure provides a bitrate calculation method, apparatus, communication device, non-transient computer-readable storage medium storing computer instructions, and computer program product to improve the accuracy of bitrate calculation.

[0006] The first aspect of this disclosure provides a bitrate calculation method, comprising: extracting each Supplemental Enhancement Information (SEI) from each data packet of a first service data stream; determining the traffic and playback duration of each SEI; and determining the bitrate of the first service data stream based on the traffic and playback duration of each SEI.

[0007] In some embodiments of this disclosure, extracting each Supplemental Enhancement Information (SEI) from each data packet of the first service data stream includes:

[0008] Extract multiple tags from the file body of each data packet in the first business data stream;

[0009] Extract the SEI from each label to obtain each SEI.

[0010] In some embodiments of this disclosure, determining the playback duration of each SEI includes:

[0011] Obtain the bitrate for each SEI;

[0012] The playback duration of each SEI is determined based on its bandwidth and bitrate.

[0013] In some embodiments of this disclosure, the playback duration of each SEI is determined based on the traffic and bitrate of each SEI, including:

[0014] Calculate the first ratio of bandwidth to bitrate for each SEI, and use this first ratio as the playback duration for each SEI.

[0015] In some embodiments of this disclosure, the bitrate of the first service data stream is determined based on the traffic and playback duration of each SEI, including:

[0016] Based on the traffic and playback duration of each SEI, determine the total traffic and total playback duration of all SEIs;

[0017] The bitrate of the first service data stream is determined based on the total traffic and total playback duration of all SEIs.

[0018] In some embodiments of this disclosure, the bitrate of the first service data stream is determined based on the total traffic and total playback duration of all SEIs, including:

[0019] Calculate the second ratio between the total traffic of all SEIs and the total playback duration, and use the second ratio as the bitrate of the first service data stream.

[0020] In some embodiments of this disclosure, the first service data stream includes a live streaming service data stream.

[0021] A second aspect of this disclosure provides a bitrate calculation apparatus, comprising: an extraction module for extracting each Supplemental Enhancement Information (SEI) from each data packet of a first service data stream; a first determination module for determining the traffic and playback duration of each SEI; and a second determination module for determining the bitrate of the first service data stream based on the traffic and playback duration of each SEI.

[0022] In some embodiments of this disclosure, the extraction module is specifically used for:

[0023] Extract multiple tags from the file body of each data packet in the first business data stream;

[0024] Extract the SEI from each label to obtain each SEI.

[0025] In some embodiments of this disclosure, the first determining module is specifically used for:

[0026] Obtain the bitrate for each SEI;

[0027] The playback duration of each SEI is determined based on its bandwidth and bitrate.

[0028] In some embodiments of this disclosure, the first determining module is specifically used for:

[0029] Calculate the first ratio of bandwidth to bitrate for each SEI, and use this first ratio as the playback duration for each SEI.

[0030] In some embodiments of this disclosure, the second determining module is specifically used for:

[0031] Based on the traffic and playback duration of each SEI, determine the total traffic and total playback duration of all SEIs;

[0032] The bitrate of the first service data stream is determined based on the total traffic and total playback duration of all SEIs.

[0033] In some embodiments of this disclosure, the second determining module is specifically used for:

[0034] Calculate the second ratio between the total traffic of all SEIs and the total playback duration, and use the second ratio as the bitrate of the first service data stream.

[0035] In some embodiments of this disclosure, the first service data stream includes a live streaming service data stream.

[0036] A third aspect of this disclosure provides a communication device, including: a processor and a memory communicatively connected to the processor; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory to implement the method described above.

[0037] A fourth aspect of this disclosure provides a computer-readable storage medium storing computer-executable instructions that, when executed by a processor, are used to implement the method described above.

[0038] A fifth aspect of this disclosure provides a computer program product including a computer program that, when executed by a processor, implements the method described above.

[0039] The bitrate calculation method, apparatus, communication device, non-transitory computer-readable storage medium storing computer instructions, and computer program product provided in this disclosure improve the accuracy of bitrate calculation by extracting each Supplemental Enhancement Information (SEI) from each data packet of a first service data stream, determining the traffic and playback duration of each SEI, and determining the bitrate of the first service data stream based on the traffic and playback duration of each SEI.

[0040] Additional aspects and advantages of this disclosure will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this disclosure. Attached Figure Description

[0041] The above and / or additional aspects and advantages of this disclosure will become apparent and readily understood from the following description of the embodiments taken in conjunction with the accompanying drawings, in which:

[0042] Figure 1This is a schematic flowchart of a bitrate calculation method proposed in an embodiment of this disclosure;

[0043] Figure 2 This is a flowchart illustrating a bitrate calculation method proposed in another embodiment of this disclosure;

[0044] Figure 3 This is a schematic diagram of FLV format in an embodiment of this disclosure;

[0045] Figure 4 This is a schematic diagram of the structure of a bit rate calculation device according to an embodiment of the present disclosure;

[0046] Figure 5 A block diagram of an exemplary communication device suitable for implementing embodiments of the present disclosure is shown. Detailed Implementation

[0047] Embodiments of this disclosure are described in detail below, examples of which are illustrated in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this disclosure, and should not be construed as limiting this disclosure.

[0048] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, data stored, data displayed, etc.) and signals involved in this disclosure are all authorized by the user or fully authorized by all parties, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.

[0049] Figure 1 This is a flowchart illustrating a bitrate calculation method proposed in one embodiment of this disclosure.

[0050] This embodiment illustrates the example of a bitrate calculation method configured in a bitrate calculation device. In this embodiment, the bitrate calculation method can be configured in a bitrate calculation device, which can be located in a server or in a communication device, without limitation.

[0051] This embodiment uses a bit rate calculation method configured in a communication device as an example. The communication device is, for example, a terminal.

[0052] In some embodiments, "terminal" or "terminal device" may be referred to as "user equipment (UE)," "user terminal," "mobile station (MS)," "mobile terminal (MT)," "subscriber station," "mobile unit," "subscriber unit," "wireless unit," "remote unit," "mobile device," "wireless device," "wireless communication device," "remote device," "mobile subscriber station," "access terminal," "mobile terminal," "wireless terminal," "remote terminal," "handset," "user agent," "mobile client," "client," etc.

[0053] It should be noted that the execution entity of the embodiments of this disclosure may be, in hardware, a central processing unit (CPU) in a server or communication device, and in software, a related background service in a server or communication device, and there are no limitations on this.

[0054] In this embodiment of the disclosure, the first service is a live streaming service, and the terminal is a viewing terminal. The viewing terminal refers to the user side that watches the live streaming service, and the live streaming side refers to the user side that provides the live streaming service. The first service data stream can be specifically played by the viewing terminal, for example, without limitation.

[0055] Therefore, when the first service is live streaming and the first service data stream is live streaming data stream, the accuracy of bitrate calculation for live streaming data stream can be effectively improved.

[0056] like Figure 1 As shown, the bitrate calculation method includes:

[0057] S101: Extract each supplementary enhancement information (SEI) from each data packet of the first business data stream.

[0058] Supplemental Enhancement Information (SEI) falls under the category of bitstream. It provides a method for adding extra information to the video bitstream and is one of the features of some communication standards.

[0059] In some embodiments, the full data packets of the first service data stream can be captured, and each SEI can be extracted from each data packet in the full data stream to support improved accuracy of bitstream calculation.

[0060] For example, the full data packets of the first business data stream can be obtained by configuring the Deep Packet Inspection (DPI) acquisition server to capture all data packets for the live streaming business.

[0061] After acquiring all data packets of the first service data stream, each SEI can be extracted from each data packet. The extracted SEIs can be used to analyze the bitrate of the first service data stream.

[0062] S102: Determine the traffic and playback duration for each SEI.

[0063] After extracting each SEI, the traffic and playback duration of each SEI can be analyzed, for example, based on data parsing methods, traffic analysis methods, etc., without any restrictions.

[0064] S103: Determine the bitrate of the first service data stream based on the traffic and playback duration of each SEI.

[0065] The above-mentioned traffic and playback duration for each SEI can be combined to calculate the bitrate of the first business data stream, for example, by using artificial intelligence, statistical analysis, etc.

[0066] Compared to related technologies, where the bitrate of the first service data stream played by the terminal on the viewing side is usually calculated based on the file header of the streaming media format FLV, this embodiment of the disclosure calculates the bitrate of the first service data stream by extracting the traffic and playback duration of each SEI in each data packet of the first service data stream, which can effectively improve the accuracy of bitrate calculation.

[0067] In this embodiment, each Supplemental Enhancement Information (SEI) is extracted from each data packet of the first service data stream, and the traffic and playback duration of each SEI are determined. Based on the traffic and playback duration of each SEI, the bitrate of the first service data stream is determined. This improves the accuracy of bitrate calculation.

[0068] Figure 2 This is a flowchart illustrating a bitrate calculation method proposed in another embodiment of this disclosure.

[0069] like Figure 2 As shown, the bitrate calculation method includes:

[0070] S201: Extract multiple tags from the file body of each data packet in the first business data stream.

[0071] like Figure 3 As shown, the format of the first business data stream can be, for example, FLV format. Figure 3 This is a schematic diagram of the FLV format in this embodiment, including two parts: a file header and a file body. The file body consists of a series of tags, which can be of the type of video, audio, etc. Each tag has a preTagSize field, indicating the size of the preceding tag. The SEI is stored in the tags, therefore, bitrate extraction requires obtaining the real-time bitrate from each tag.

[0072] S202: Extract the SEI from each label to obtain each SEI.

[0073] S203: Determine the traffic and bitrate for each SEI.

[0074] After extracting multiple tags, each SEI can be extracted from each tag, and the traffic and bitrate of each extracted SEI can be calculated.

[0075] S204: Determine the playback duration of each SEI based on its bandwidth and bitrate.

[0076] Optionally, in some embodiments, a first ratio of traffic to bitrate for each SEI can be calculated, and this first ratio can be used as the playback duration for each SEI. This allows for accurate calculation of the playback duration for each SEI.

[0077] S205: Determine the total traffic and total playback duration of all SEIs based on the traffic and playback duration of each SEI.

[0078] After obtaining the traffic of each SEI, the traffic of all SEIs can be summed to obtain the total traffic of all SEIs. Similarly, after obtaining the playback duration of each SEI, the playback duration of all SEIs can be summed to obtain the total playback duration of all SEIs.

[0079] S206: Determine the bitrate of the first service data stream based on the total traffic and total playback duration of all SEIs.

[0080] After obtaining the total traffic and total playback duration of all SEIs, the bitrate of the first service data stream can be calculated based on the total traffic and total playback duration.

[0081] The bitrate can be, for example, the average bitrate.

[0082] Optionally, in some embodiments, in determining the bitrate of the first service data stream based on the total traffic and total playback duration of all SEIs, a second ratio between the total traffic and total playback duration of all SEIs can be calculated, and this second ratio can be used as the bitrate of the first service data stream. This improves the efficiency and accuracy of bitrate calculation for the first service data stream.

[0083] In this embodiment, by extracting each Supplemental Enhancement Information (SEI) from each data packet of the first service data stream, determining the traffic and playback duration of each SEI, and determining the bitrate of the first service data stream based on the traffic and playback duration of each SEI, the accuracy of bitrate calculation is improved. By extracting multiple tags from the file body of each data packet of the first service data stream and extracting the SEI from each tag, each SEI is obtained, enabling the acquisition of the complete SEI of the first service data stream, further supporting improved bitrate calculation accuracy. By determining the total traffic and total playback duration of all SEIs based on the traffic and playback duration of each SEI, and determining the bitrate of the first service data stream based on the total traffic and total playback duration of all SEIs, the bitrate of the first service data stream can be determined conveniently and accurately.

[0084] Examples of the above embodiments are illustrated below:

[0085] The following example uses live streaming as the first business.

[0086] This disclosure provides a method for calculating live stream bitrate, including: configuring a DPI acquisition server to capture all data packets for live streaming services; real-time parsing of the acquired live stream data packets to extract SEIs from all tags; calculating the bandwidth and bitrate for each extracted SEI; calculating the playback duration of each SEI in real-time based on the accumulated bandwidth and bitrate, i.e., playback duration seiN = bandwidth seiN / bitrate seiN; and calculating the average bitrate of the live stream using the accumulated bandwidth and accumulated playback duration of all SEIs, with the formula: average bitrate = (bandwidth sei1 + bandwidth sei2 + ... + bandwidth seiN) / (playback duration sei1 + playback duration sei2 + ... + playback duration seiN). Where sei1 represents the first SEI, sei2 represents the second SEI, seiN represents the Nth SEI, and N is a positive integer. Therefore, by utilizing the cumulative traffic and cumulative playback duration of all SEIs, the average bitrate of the live stream (i.e., the live streaming service data stream) can be calculated, thereby improving the accuracy of bitrate assessment on the viewing side in the live streaming service.

[0087] This disclosure provides a live streaming bitrate calculation system, including a DPI acquisition server. The DPI acquisition server is equipped with a service identification module, which is capable of enabling a full data packet transmission mode for live streaming services. Specifically, the parameter settings of the service identification module can be configured or modified to ensure that all live streaming data packets passing through the server are captured and sent to subsequent processing modules.

[0088] The business identification module includes:

[0089] The SEI extraction and calculation submodule can identify the SEI in FLV packets, separate it from the packets, and calculate the bitrate and traffic data in the SEI, providing the necessary data for subsequent bitrate calculation.

[0090] The playback duration calculation submodule calculates the playback duration of each SEI in real time based on the traffic and bitrate, i.e., playback duration seiN = traffic seiN / bitrate seiN.

[0091] The average bitrate calculation submodule calculates the average bitrate of the live stream using the accumulated traffic and accumulated playback duration of all SEIs. The formula for calculating the average bitrate is: Average bitrate = (Traffic sei1 + Traffic sei2 + ... + Traffic seiN) / (Playback duration sei1 + Playback duration sei2 + ... + Playback duration seiN).

[0092] The anomaly handling submodule detects packet loss and timeouts, and adjusts the bitrate calculation based on these conditions to ensure accurate bitrate information even under poor network conditions. By detecting packet loss and timeouts and adjusting the bitrate accordingly, the anomaly handling module enables rapid processing of anomalies in the data stream.

[0093] Figure 4 This is a schematic diagram of the structure of a bit rate calculation device proposed in an embodiment of the present disclosure.

[0094] like Figure 4 As shown, the bitrate calculation device 40 includes:

[0095] Extraction module 401 is used to extract each supplementary enhancement information (SEI) from each data packet of the first business data stream.

[0096] The first determining module 402 is used to determine the traffic and playback duration of each SEI.

[0097] The second determining module 403 is used to determine the bitrate of the first service data stream based on the traffic and playback duration of each SEI.

[0098] In some embodiments of this disclosure, the extraction module is specifically used for:

[0099] Extract multiple tags from the file body of each data packet in the first business data stream;

[0100] Extract the SEI from each label to obtain each SEI.

[0101] In some embodiments of this disclosure, the first determining module is specifically used for:

[0102] Obtain the bitrate for each SEI;

[0103] The playback duration of each SEI is determined based on its bandwidth and bitrate.

[0104] In some embodiments of this disclosure, the first determining module is specifically used for:

[0105] Calculate the first ratio of bandwidth to bitrate for each SEI, and use this first ratio as the playback duration for each SEI.

[0106] In some embodiments of this disclosure, the second determining module is specifically used for:

[0107] Based on the traffic and playback duration of each SEI, determine the total traffic and total playback duration of all SEIs;

[0108] The bitrate of the first service data stream is determined based on the total traffic and total playback duration of all SEIs.

[0109] In some embodiments of this disclosure, the second determining module is specifically used for:

[0110] Calculate the second ratio between the total traffic of all SEIs and the total playback duration, and use the second ratio as the bitrate of the first service data stream.

[0111] In some embodiments of this disclosure, the first service data stream includes a live streaming service data stream.

[0112] It should be noted that the foregoing explanation of the bitrate calculation method also applies to the bitrate calculation device of this embodiment, and will not be repeated here.

[0113] In this embodiment, each Supplemental Enhancement Information (SEI) is extracted from each data packet of the first service data stream, and the traffic and playback duration of each SEI are determined. Based on the traffic and playback duration of each SEI, the bitrate of the first service data stream is determined. This improves the accuracy of bitrate calculation.

[0114] Figure 5 A block diagram of an exemplary communication device suitable for implementing embodiments of the present disclosure is shown. Figure 5 The communication device 12 shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments disclosed herein.

[0115] like Figure 5 As shown, the communication device 12 is presented in the form of a general-purpose computing device. The components of the communication device 12 may include, but are not limited to: one or more processors or processing units 16, memory 28, and bus 18 connecting different system components (including memory 28 and processing unit 16).

[0116] Bus 18 represents one or more of several bus architectures, including a memory bus or memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local bus using any of the various bus architectures. Examples of these architectures include, but are not limited to, the Industry Standard Architecture (ISA) bus, the Micro Channel Architecture (MAC) bus, the Enhanced ISA bus, the Video Electronics Standards Association (VESA) local bus, and the Peripheral Component Interconnect (PCI) bus.

[0117] The communication device 12 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by the communication device 12, including volatile and non-volatile media, and removable and non-removable media.

[0118] Memory 28 may include computer system readable media in the form of volatile memory, such as Random Access Memory (RAM) 30 and / or cache 32. Communication device 12 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, storage system 34 may be used to read and write non-removable, non-volatile magnetic media (…). Figure 5 Not shown; usually referred to as a "hard drive".

[0119] although Figure 5 Not shown, a disk drive for reading and writing to a removable non-volatile disk (e.g., a "floppy disk") and an optical disc drive for reading and writing to a removable non-volatile optical disc (e.g., a compact disc read-only memory (CD-ROM), a digital video disc read-only memory (DVD-ROM), or other optical media) may be provided. In these cases, each drive may be connected to bus 18 via one or more data media interfaces. Memory 28 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of the embodiments of this disclosure.

[0120] A program / utility 40 having a set (at least one) of program modules 42 may be stored, for example, in memory 28. Such program modules 42 include, but are not limited to, an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include an implementation of a network environment. Program modules 42 typically perform the functions and / or methods described in the embodiments of this disclosure.

[0121] The communication device 12 can also communicate with one or more external devices 14 (e.g., keyboard, pointing device, display 24, etc.), and with one or more devices that enable human interaction with the communication device 12, and / or with any device that enables the communication device 12 to communicate with one or more other computing devices (e.g., network card, modem, etc.). This communication can be performed via input / output (I / O) interface 22. Furthermore, the communication device 12 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 20. As shown, network adapter 20 communicates with other modules of the communication device 12 via bus 18. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with the communication device 12, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0122] The processing unit 16 executes various functional applications and data processing by running programs stored in the memory 28, such as implementing the bit rate calculation method mentioned in the foregoing embodiments.

[0123] To implement the above embodiments, this disclosure also proposes a communication device, including: a processor and a memory communicatively connected to the processor; the memory stores computer execution instructions; the processor executes the computer execution instructions stored in the memory to implement the method provided in the foregoing embodiments.

[0124] To implement the above embodiments, this disclosure also proposes a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the methods provided in the foregoing embodiments.

[0125] To implement the above embodiments, this disclosure also proposes a computer program product, including a computer program that, when executed by a processor, implements the methods provided in the foregoing embodiments.

[0126] The collection, storage, use, processing, transmission, provision, and disclosure of user personal information involved in this disclosure all comply with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0127] It should be noted that personal information collected from users should be used for legitimate and reasonable purposes and should not be shared or sold outside of these legitimate uses. Furthermore, such collection / sharing should only be conducted after receiving the user's informed consent, including but not limited to notifying the user to read the user agreement / user notice and sign an agreement / authorization that includes authorization of relevant user information before the user uses the function. In addition, any necessary steps must be taken to protect and safeguard access to such personal information data and ensure that others with access to personal information data comply with their privacy policies and procedures.

[0128] This disclosure is intended to provide implementation schemes for users to selectively prevent the use or access to their personal information data. Specifically, this disclosure is intended to provide hardware and / or software to prevent or block access to such personal information data. Once personal information data is no longer needed, risks can be minimized by restricting data collection and deleting data. Furthermore, where applicable, such personal information is de-identified to protect user privacy.

[0129] In the foregoing descriptions of the embodiments, the terms "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., refer to specific features, structures, materials, or characteristics described in connection with that embodiment or example, which are included in at least one embodiment or example of this disclosure. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.

[0130] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this disclosure, "a plurality of" means at least two, such as two, three, etc., unless otherwise explicitly specified.

[0131] Any process or method description in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing custom logic functions or processes, and the scope of preferred embodiments of this disclosure includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as will be understood by those skilled in the art to which embodiments of this disclosure pertain.

[0132] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a processor-included system, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include: an electrical connection having one or more wires (electronic device), a portable computer disk drive (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). Alternatively, the computer-readable medium may be paper or other suitable media on which the program can be printed, since the program can be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, interpreting, or otherwise processing as necessary, and then stored in a computer memory.

[0133] It should be understood that various parts of this disclosure can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.

[0134] Those skilled in the art will understand that all or part of the steps of the methods in the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, the program includes one or a combination of the steps of the method embodiments.

[0135] Furthermore, the functional units in the various embodiments of this disclosure can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium.

[0136] The storage medium mentioned above can be a read-only memory, a disk, or an optical disk, etc. Although embodiments of the present disclosure have been shown and described above, it is to be understood that the above embodiments are exemplary and should not be construed as limiting the present disclosure. Those skilled in the art can make changes, modifications, substitutions, and variations to the above embodiments within the scope of the present disclosure.

Claims

1. A bitrate calculation method, characterized in that, The method includes the following steps: Extract multiple tags from the file body of each data packet in the first business data stream; Extract supplementary enhancement information SEI from each of the tags to obtain each SEI; Determine the traffic of each SEI and obtain the bitrate of each SEI. Calculate a first ratio between the traffic and the bitrate of each SEI and use the first ratio as the playback duration of each SEI. Based on the traffic and playback duration of each SEI, determine the total traffic and total playback duration of all SEIs; Calculate a second ratio between the total traffic of all SEIs and the total playback duration, and use the second ratio as the bitrate of the first service data stream.

2. The method according to claim 1, characterized in that, The first business data stream includes the live streaming business data stream.

3. A bitrate calculation device, characterized in that, The device includes: An extraction module is used to extract multiple tags from the file body of each data packet in the first business data stream; and to extract supplementary enhancement information (SEI) from each tag to obtain each SEI. The first determining module is used to determine the traffic of each SEI, obtain the bitrate of each SEI, calculate a first ratio of the traffic of each SEI to the bitrate, and use the first ratio as the playback duration of each SEI; The second determining module is used to determine the total traffic and total playback duration of all SEIs based on the traffic and playback duration of each SEI; calculate a second ratio between the total traffic and total playback duration of all SEIs, and use the second ratio as the bitrate of the first service data stream.

4. A communication device, characterized in that, include: A processor, and a memory communicatively connected to the processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory to implement the method as described in any one of claims 1-2.

5. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1-2.

6. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the method of any one of claims 1-2.

Citation Information

Patent Citations

  • Live broadcast tracing method based on block chain

    CN111601113A

  • Data traffic prediction method and device

    CN111769985A