Attribution method and device of playing lagging, computer equipment and storage medium

By including the push stream stuttering information in the media data and combining the current network status of the playback end, the problem of difficulty in accurately positioning the cause of playback stuttering in the prior art is solved, and the accurate attribution of playback stuttering is achieved.

CN119520861APending Publication Date: 2025-02-25BEIJING ZITIAO NETWORK TECH CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202311070543.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-08-23
Publication Date
2025-02-25

AI Technical Summary

Technical Problem

The prior art is difficult to accurately locate the reasons for playback stuttering, especially when the playback end network is normal, it is impossible to distinguish between the stuttering caused by the push streaming end, the CDN end or the playback end.

Method used

By including push stream stuttering information in the media data and attributing it on the playback end in combination with the current network status and push stream stuttering information, the reason for playback stuttering is accurately determined.

Benefits of technology

It realizes that when a stutter occurs on the playback side, accurately determines the cause of the stutter, avoids qualitative attribution of manual investigation, and can achieve quantitative attribution.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119520861A_ABST
    Figure CN119520861A_ABST
Patent Text Reader

Abstract

The invention relates to the field of computer processing, and discloses a playing lagging attribution method and device, computer equipment and a storage medium, and the method comprises the steps: obtaining to-be-played media data; if the playing of the to-be-played media data is blocked, obtaining a current network state, and analyzing the to-be-played media data to obtain plug flow blocking information in the to-be-played media data, the plug flow blocking information being used for representing blocking information during plug flow blocking; and based on the current network state and the plug flow lagging information, determining a reason for playing lagging.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer processing, and in particular to a method, device, computer equipment and storage medium for attributing playback freezes. Background Art

[0002] In the audio and video business, unlike on-demand, live streaming covers the entire end-to-end link, including the first mile link, i.e. the host pushes the stream -> CDN (Content Delivery Network) receiving edge node), the CDN intermediate transmission link, i.e. the source station, L2 and other intermediate nodes, and the last mile link, i.e. the CDN pulling stream edge node -> player. Problems with the service quality of each link will cause viewing interruptions on the audience side. Summary of the invention

[0003] In view of this, the present disclosure provides a method, apparatus, computer device and storage medium for attributing playback jams to solve the problem of locating the cause of playback jams.

[0004] In a first aspect, the present disclosure provides a method for attributing playback freezes, the method comprising:

[0005] Get the media data to be played;

[0006] If playback freezes the media data to be played, the current network status is obtained, and the media data to be played is parsed to obtain streaming freeze information in the media data to be played, where the streaming freeze information is used to characterize freeze information when streaming freezes;

[0007] Based on the current network status and the streaming jamming information, a cause of the playback jamming is determined.

[0008] In a second aspect, the present disclosure provides a method for attributing playback jams, the method comprising:

[0009] Get the media data to be processed;

[0010] If the to-be-processed media data is stuck in streaming, obtaining streaming stuck information;

[0011] Writing the streaming freeze information into the media data to be processed to obtain target media data;

[0012] The target media data is streamed, so that when a jam occurs on a playback end, a cause of the playback jam is determined based on the streaming jam information.

[0013] In a third aspect, the present disclosure provides a device for attributing playback freezes, the device comprising:

[0014] A module for acquiring media data to be played, used for acquiring media data to be played;

[0015] A network status acquisition module, used for acquiring the current network status if the to-be-played media data is stuck in playback, and parsing the to-be-played media data to obtain streaming stuck information in the to-be-played media data, wherein the streaming stuck information is used to characterize stuck information when streaming is stuck;

[0016] The playback jamming attribution module is used to determine the cause of the playback jamming based on the current network status and the streaming jamming information.

[0017] In a fourth aspect, the present disclosure provides a device for attributing playback freezes, the device comprising:

[0018] A module for acquiring media data to be processed, used for acquiring media data to be processed;

[0019] A streaming jamming information acquisition module, used for acquiring streaming jamming information if streaming jamming occurs to the media data to be processed;

[0020] A streaming jamming information writing module, used for writing the streaming jamming information into the media data to be processed to obtain target media data;

[0021] The streaming module is used to stream the target media data so as to determine the cause of the playback jam based on the streaming jam information when jam occurs on the playback end.

[0022] In a fifth aspect, the present disclosure provides a computer device, comprising: a memory and a processor, the memory and the processor are communicatively connected to each other, computer instructions are stored in the memory, and the processor executes the attribution method for playback jamming of the above-mentioned first aspect or any corresponding embodiment thereof by executing the computer instructions.

[0023] In a sixth aspect, the present disclosure provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the method for attributing playback jams of the first aspect or any corresponding embodiment thereof.

[0024] The attribution method for playback jamming provided by the embodiment of the present disclosure is that the streaming end performs streaming based on the timestamp, and the playback end performs playback based on the timestamp, and the two are aligned in timing. Based on this, the media data to be played includes streaming jamming information, and the streaming jamming information is used to characterize the jamming information when the streaming jams. When playback jamming occurs at the playback end, the cause of the playback jamming is determined based on the current network state of the playback end and the streaming jamming information of the streaming end. Among them, since the current network state characterizes the impact of the state of the playback end on the playback, the streaming jamming information characterizes the impact of the state of the streaming end on the playback, using this information, it is possible to accurately determine whether the cause of the playback jamming is at the playback end, the CDN end, or the streaming end. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] In order to more clearly illustrate the specific embodiments of the present disclosure or the technical solutions in the prior art, the drawings required for use in the specific embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0026] Figure 1 It is a flowchart of determining the attribution of playback jamming in the related art;

[0027] Figure 2 is a schematic diagram of an application scenario according to an embodiment of the present disclosure;

[0028] Figure 3 is a flowchart of a method for attributing playback freezes according to an embodiment of the present disclosure;

[0029] Figure 4 is a flowchart of another attribution method for playback freeze according to an embodiment of the present disclosure;

[0030] Figure 5 is a flowchart of another method for attributing playback freezes according to an embodiment of the present disclosure;

[0031] Figure 6 is a flowchart of another method for attributing playback freezes according to an embodiment of the present disclosure;

[0032] Figure 7 is a flowchart of a method for attributing playback freezes according to an embodiment of the present disclosure;

[0033] Figure 8 is a structural block diagram of a device for attributing playback freeze according to an embodiment of the present disclosure;

[0034] Fig. 9 is a structural block diagram of a device for attributing playback freeze according to an embodiment of the present disclosure;

[0035] Fig.10 It is a schematic diagram of the hardware structure of the computer device of the embodiment of the present disclosure. DETAILED DESCRIPTION

[0036] In order to make the purpose, technical solution and advantages of the embodiments of the present disclosure clearer, the technical solution in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, rather than all the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by those skilled in the art without making creative work are within the scope of protection of the present disclosure.

[0037] In related technologies, such as Figure 1 As shown, the attribution of playback jams is achieved by first determining the current network status of the playback end. If the current network is abnormal, it is determined that the jam is caused by the network abnormality of the playback end; if the current network is normal, it is impossible to determine whether the jam is caused by the streaming end or the CDN end. Specifically, the live stream from the anchor end to the playback end mainly needs to go through three links, namely, streaming, CDN transmission, and playback. Due to the link process of these three links, and the quality service logs of the three links cannot be accurately matched one to one, when the playback end network is normal, it is impossible to accurately determine whether the jam is caused by the streaming end or the CDN end. For the three links, they will upload quality service logs, and the quality service logs are determined based on sampling. If any end does not upload the quality service log, the jam cannot be attributed; even if the quality service logs are uploaded, the jam cannot be attributed due to the asynchronous sampling time. For example, at a certain moment, a freeze occurs on the playback end and the current network status of the playback end is normal. However, since there is no corresponding quality service log on the host end corresponding to the sampling point of this bitstream frame, it is also impossible to determine whether the freeze is caused by the streaming end or the CDN end.

[0038] Therefore, in the related art, on the one hand, it is difficult to automatically and accurately attribute playback jams, and on the other hand, attributing playback jams through manual investigation can only be qualitatively attributed, and quantitative attribution cannot be achieved.

[0039] Based on this, the attribution method of playback jamming provided by the embodiment of the present disclosure includes the streaming jamming information when the streaming end is jammed in the media data and sends it to the playback end along with the media data. Therefore, when the playback end is jammed, the playback jamming can be accurately attributed based on its own current network status and the streaming jamming information of the streaming end.

[0040] As an optional application scenario of the attribution method for playback freeze in the embodiment of the present disclosure, for example Figure 2 As shown, in the live broadcast scenario, it includes a streaming end, a first server, a CDN, a second server, and a playback end. The streaming end is the host end, and the playback end is the audience end. The media data generated by the host end is streamed through the first server, and then transmitted to the second server via CDN. The playback end pulls the media data from the second server for playback. In this process, streaming, CDN transmission, and playback are involved. Any of these three links will cause playback jams. Therefore, in order to accurately locate the cause of playback jams, these three links need to be checked when the playback end jams.

[0041] According to an embodiment of the present disclosure, an embodiment of a method for attributing playback jams is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0042] In this embodiment, a method for attributing playback jams is provided, which can be used in computer devices, such as computers, mobile terminals, etc., and is specifically applied to playback terminals. Figure 3 is a flow chart of a method for attributing playback freezes according to an embodiment of the present disclosure. Figure 3 As shown, the process includes the following steps:

[0043] Step S301: Acquire media data to be played.

[0044] The media data to be played can be audio data or audio and video data, etc. The specific type is determined according to actual needs and is not limited here. The media data to be played is the bitstream data pulled by the playback end and is used for playback on the playback end. For example, in a live broadcast scenario, the host end pushes the generated bitstream data, and accordingly, the audience end pulls the stream to obtain the media data to be played and plays it on the audience end, thereby realizing live broadcast.

[0045] Step S302: If playback freezes in the media data to be played, the current network status is obtained, and the media data to be played is parsed to obtain streaming freeze information in the media data to be played.

[0046] Among them, the streaming jamming information is used to characterize the jamming information when the streaming is jammed.

[0047] When no abnormal situation occurs, the media data to be played is played smoothly on the playback end without any lag. If a lag occurs, it means that at least one of the above three links is abnormal. When the media data to be played is played normally, the playback interval between two adjacent frames meets the preset duration. If the playback interval between two adjacent frames exceeds the preset duration when they are played, it is considered that a playback lag has occurred. Among them, the preset duration is set according to actual needs. For example, the preset duration is 200ms, and its specific value is not limited here.

[0048] The method for determining whether the media data to be played has a playback jam is not limited to the above-mentioned playback interval, and can also be by collecting the playback screen in real time and comparing the collected playback screens. If the playback screen does not change within a preset time, it means that the playback jam has occurred. Of course, other methods can also be used to determine whether the playback jam has occurred.

[0049] After determining that playback freezes, obtain the current network status of the playback end. The current network status is used to characterize the current network quality, and the current network status can be determined by information such as download speed and round-trip delay. For example, the network status is graded, and the network status is scored using download speed and round-trip delay, and then compared with the scores corresponding to each grade, so as to determine the current grade corresponding to the network status, that is, determine the current network status. The quality of the current network will affect the playback of the media data to be played. If the current network quality is poor, freezes are likely to occur; if the current network quality is good, the playback end will be removed from the cause of the freeze.

[0050] The media data to be played carries streaming jamming information. It should be noted that streaming jamming information is used to characterize jamming information when streaming jams. That is, streaming jamming information will only exist when streaming jams; when streaming does not jam, there is no streaming jamming information in the media data to be played. There are two situations in which there is no streaming jamming information: one is that there is no field indicating streaming jamming information in the media data to be played; the other is that the media data to be played includes a field for streaming jamming information, but the content of the field is empty.

[0051] In the subsequent description, the streaming jamming information in the to-be-played media data is assumed to be empty, indicating that there is no streaming jamming information in the to-be-played media data, that is, the above two situations are included.

[0052] When the streaming end is streaming, if it is determined that streaming jam occurs, the streaming jam information is pushed together with the corresponding media data. For example, when streaming, if streaming jam occurs in the 10th frame of media data, the streaming jam information of the 10th frame is pushed together with the 10th frame of media data. Accordingly, after the playback end parses the acquired media data to be played, the streaming jam information of the 10th frame can be acquired.

[0053] Step S303, based on the current network status and streaming freeze information, determine the cause of playback freeze.

[0054] The current network status represents the network situation of the playback end, and the streaming jamming information represents the jamming situation of the streaming end. By combining these two aspects for attribution inference, the cause of the playback jam can be accurately determined. Specifically, the streaming end pushes the stream frame by frame according to the timestamp of the streaming data. If it is determined that the streaming jam occurs in a certain frame, the streaming jamming information corresponding to this frame will be pushed together with this frame. Correspondingly, the playback end also plays frame by frame according to the timestamp of the streaming data. If the playback jams when playing a certain frame, the current network status and the streaming jamming information corresponding to this frame are obtained to determine the cause of the playback jam.

[0055] The attribution method for playback jamming provided in this embodiment is that the streaming end performs streaming based on the timestamp, and the playback end performs playback based on the timestamp, and the two are aligned in timing. Based on this, the media data to be played includes streaming jamming information, which is used to characterize jamming information when streaming jams. When playback jams occur at the playback end, the cause of the playback jam is determined based on the current network status of the playback end and the streaming jamming information of the streaming end. Among them, since the current network status characterizes the impact of the status of the playback end on the playback, and the streaming jamming information characterizes the impact of the status of the streaming end on the playback, this information can be used to accurately determine whether the cause of the playback jam is at the playback end, the CDN end, or the streaming end.

[0056] In this embodiment, a method for attributing playback freezes is provided, which can be used in computer devices, such as computers, mobile terminals, etc. Figure 4 is a flow chart of a method for attributing playback freezes according to an embodiment of the present disclosure. Figure 4 As shown, the process includes the following steps:

[0057] Step S401: Obtain the media data to be played. Figure 3 Step S301 of the illustrated embodiment will not be described in detail here.

[0058] Step S402: If playback freezes in the media data to be played, the current network status is obtained, and the media data to be played is parsed to obtain streaming freeze information in the media data to be played.

[0059] Among them, the streaming jamming information is used to characterize the jamming information when the streaming is jammed.

[0060] Specifically, the above step S402 includes:

[0061] Step S4021: If playback of the media data to be played is stuck, obtain the current network status.

[0062] When playing the media data to be played, if it is determined that playback jam occurs, the current network status is obtained. The specific method for determining playback jam is determined according to actual needs. The current network status can be determined in real time during the entire playback process, that is, the network status of the playback end is recorded in real time, or the network status can be determined only when playback jam occurs.

[0063] In some optional implementations, a method for determining whether the to-be-played media data is stuck in sending and playing includes:

[0064] Step a1: play the media data to be played, and determine the play interval between two adjacent frames in the media data to be played.

[0065] Step a2: If the playback interval is greater than a preset duration, it is determined that playback freeze occurs.

[0066] As mentioned above, the media data to be played is played frame by frame, and each frame is played by recording the playback timestamp to determine the playback interval between two adjacent frames. The playback interval is compared with the preset duration. If it is greater than the preset duration, it is determined that playback jamming occurs. For example, the preset duration is 200ms. Of course, the specific value of the preset duration is set according to actual needs, and no limitation is made here.

[0067] Since the most intuitive representation of playback jamming is the playback interval between two adjacent frames, when the playback interval is greater than a preset duration, it is determined that playback jamming is currently occurring.

[0068] Step S4022: parse the media data to be played to obtain a supplementary enhancement information frame in the media data to be played.

[0069] When a freeze occurs at the streaming end, the freeze information is streamed together with the corresponding media data. The freeze information is written into the Supplemental Enhancement Information (SEI) frame, so the SEI frame in the media data to be played is determined by parsing the media data to be played.

[0070] Step S4023, obtaining streaming freeze information from the supplementary enhancement information frame.

[0071] The streaming jamming information can be obtained from the SEI frame. It should be noted that the streaming jamming information corresponds to the corresponding media data frame. If the streaming jamming occurs in the second frame, the SEI frame corresponding to the second frame includes the streaming jamming information; if the streaming jamming occurs in the tenth frame, the SEI frame corresponding to the tenth frame includes the streaming jamming information.

[0072] Step S403, based on the current network status and streaming freeze information, determine the cause of playback freeze.

[0073] Specifically, the above step S403 includes:

[0074] Step S4031: If the current network status is that the network is normal, determine whether the streaming freeze information is empty.

[0075] After obtaining the current network status, determine whether the current network status is abnormal. If the current network status is normal, determine that the playback jam of the current frame is not caused by the network of the playback end. It is necessary to further determine whether the streaming jam information is empty.

[0076] Step S4032: If the streaming freeze information is not empty, it is determined that the cause of the playback freeze is at the streaming end.

[0077] If the streaming jamming information is not empty, it means that a jam occurred on the streaming end when streaming the current frame. Therefore, it can be determined that the cause of the playback jam lies on the streaming end.

[0078] Step S4033: If the current network status is that the network is normal and the streaming freeze information is empty, it is determined that the cause of the playback freeze is due to the content distribution network.

[0079] If the current network status is normal, it is determined that the playback jam of the current frame is not caused by the network of the player end; if the streaming jam information is empty, it means that there is no streaming jam during the current frame, so it is determined that the playback jam of the current frame is not caused by the streaming end. Combined with the above three links that cause playback jam, it can be determined that the cause of playback jam is on the CDN end.

[0080] Step S4034: if the current network status is network abnormality, determine that the cause of playback freeze includes abnormal local network status.

[0081] If the current network status is abnormal, it can be considered that the cause of playback jamming includes abnormal local network status. On this basis, it can be further determined whether the streaming jamming information is empty. If it is not empty, it means that the current frame also has streaming jamming during streaming. Therefore, the cause of playback jamming also includes streaming jamming.

[0082] It should be noted that streaming jams on the streaming end do not necessarily cause playback jams on the playback end. This is because when the playback end plays media data, there is a cache mechanism. Due to the existence of the cache, even if streaming jams occur, it does not necessarily cause playback jams. Therefore, only when playback jams occur will it be further determined whether the streaming jam information is empty, that is, only when playback jams occur will the streaming jam information in the media data to be played play a role.

[0083] In some optional implementations, if playback freezes at the playback end, the cause of the freeze and the duration of the freeze are reported so that these data can be used for performance optimization later. Correspondingly, when freezes occur at the anchor end, the relevant information of the streaming freeze is also reported. Since both the playback end and the anchor end play and stream based on timestamps, the timing is corresponding, so that further analysis can be performed based on the information reported by both.

[0084] If the cause of the playback jam is on the playback side, you can adjust the playback resolution or change the network; if the cause of the playback jam is on the anchor side, you can suggest the anchor to change the network; if the cause of the playback jam is on the CDN side, report it to the CDN for optimization.

[0085] The attribution method for playback jams provided in this embodiment includes streaming jams information in the supplementary enhancement information frame, because the supplementary enhancement information frame is used to write custom content. The streaming jams information can be sent to the playback end without changing the data transmission method. The current network status is that the network is normal, indicating that the network status will not cause playback jams; the streaming jams information is not empty, indicating that the streaming end is jammed. Therefore, it can be accurately determined that the cause of the playback jams lies in the streaming end. If the streaming jams information is empty, it means that no jams have occurred in the streaming end. Therefore, it can be accurately determined that the cause of the playback jams lies in the CDN end. When the current network status is that the network is abnormal, the cause of the playback jams is most likely caused by the abnormal network status, and may also include other reasons. Therefore, it can be determined that the cause of the playback jams includes the abnormal local network status.

[0086] In some optional embodiments, Figure 5 The flowchart of attributing playback jams at the playback end is shown. Specifically, after jams occur at the playback end, the current network status of the playback end is obtained. If the current network status is abnormal, it is determined that the jam is caused by the network abnormality of the playback end; if the current network status is normal, it is further determined whether the streaming jam information is empty. If the streaming jam information is empty, it is determined that the jam is caused by the CDN end; if the streaming jam information is empty, it is determined that the jam is caused by the streaming end.

[0087] In this embodiment, a method for attributing playback jams is provided, which can be used in computer devices, such as computers, mobile terminals, etc., and is specifically applied to streaming terminals. Figure 6 is a flow chart of a method for attributing playback freezes according to an embodiment of the present disclosure. Figure 6 As shown, the process includes the following steps:

[0088] Step S601: Acquire media data to be processed.

[0089] The media data to be processed is the media data generated by the anchor end. After the anchor end generates the media data, it pushes the stream. At the same time, it is determined whether the streaming freeze occurs during the streaming process. The method for determining the streaming freeze is similar to the method for determining the playback freeze, that is, it is determined by using the streaming interval between two adjacent frames. Of course, other methods can also be used to determine.

[0090] Step S602: If streaming freeze occurs in the media data to be processed, streaming freeze information is obtained.

[0091] When a streaming jam occurs on the streaming end, the duration of the jam, the cause of the jam, and the type of media data that is jammed are obtained, which are collectively referred to as streaming jam information. The type of media data that is jammed includes audio or video. The specific information included in the streaming jam information is determined according to the actual scenario and is not limited here.

[0092] In some optional implementations, the method for determining whether the streaming of the to-be-processed media data is stuck includes:

[0093] Step b1, streaming the media data to be processed, and determining a streaming interval between two adjacent frames in the media data to be processed.

[0094] Step b2: If the streaming interval is greater than a preset time, it is determined that streaming freeze occurs.

[0095] As mentioned above, streaming jams can be determined by the streaming interval between two adjacent frames. That is, the streaming time of each frame is recorded, and the streaming time of two adjacent frames is compared to determine the streaming interval between the two adjacent frames. If the streaming interval is greater than the preset time, it is determined that streaming jams have occurred.

[0096] For the media data to be processed, streaming jams are audio jams, which means that the current audio frame cannot be sent out due to some reasons. In this case, the streaming jams are determined by recording the streaming intervals of adjacent audio frames. For example, if the preset duration is 200ms, and adjacent audio frames are sent out at an interval of 300ms, it is considered that audio jams have occurred.

[0097] For video, the reason for streaming freezes may be that the video frames cannot be sent or that frames are lost. Specifically, since the amount of data in video frames is greater than that in audio frames, in some scenarios, the sending rate of video frames needs to be adaptively adjusted, that is, audio frames are pushed normally, while some video frames are selectively discarded. For example, if 4 video frames are discarded and 20 video frames are transmitted in 1 second, the discarded 4 video frames will cause a freeze of 200ms.

[0098] Therefore, no matter which of the above reasons causes the streaming jam, the streaming jam is determined by the streaming interval.

[0099] In some optional implementations, the streaming jam information includes at least one of the jam duration, jam cause, and jam retry information. The jam duration is the streaming interval when the streaming is jammed. The jam causes include but are not limited to audio jams, video frame loss, etc. The jam retry information includes the retry duration and the retry cause. Specifically, due to some network errors, timeouts occur during streaming, such as data collection problems, encoding problems, etc., and the stream pusher needs to be restarted. If the stream is pushed again after the restart, it is equivalent to interrupting the streaming data. If the retry duration is longer than the preset duration, discontinuous playback may occur for the playback end. Therefore, the streaming jam information also includes the duration and cause of the jam retry, so that the jam caused by this reason can be optimized later.

[0100] Step S603, writing the streaming freeze information into the media data to be processed to obtain the target media data.

[0101] The streaming jam information is streamed together with the corresponding media data frame, and the streaming jam information can be written into a preset position of the media data frame, such as a frame header, etc.

[0102] In some optional implementations, the above step S603 includes: writing the streaming jam information into the supplementary enhancement information frame of the media data to be processed to obtain the target media data. When streaming jam occurs in the current media data frame, the corresponding inference jam information is written into the SEI frame of the current media data frame to obtain the target media data.

[0103] Step S604, streaming the target media data, so as to determine the cause of the playback freeze based on the streaming freeze information when freeze occurs on the playback end.

[0104] The streaming jam information is inferred together with the media data to be played, so that when playback jam occurs on the playback end, the cause of the playback jam is determined based on the streaming jam information.

[0105] In the attribution method for playback jamming provided in this embodiment, the streaming end performs streaming based on the timestamp, and the playback end performs playback based on the timestamp, and the two are aligned in timing. Based on this, when streaming jamming occurs, streaming jamming information is written into the to-be-processed media data to obtain the target media data, which is the to-be-played media data of the playback end. By writing streaming jamming information, the playback end can accurately determine the cause of playback jamming based on streaming jamming information.

[0106] As a specific application example of the present disclosure, Figure 7 As shown in the figure, in the live broadcast scenario, the host side and the audience side are both called client terminals, and the streaming, CDN and Laku are all called server sides. When the host side is streaming, it determines whether the streaming jam occurs. If the streaming jam occurs, the streaming jam information is written into SEI and pushed together with the bitstream; if the streaming jam does not occur, the streaming is pushed normally. After the streaming is pushed, the bitstream data is transmitted to CDN, and the audience side pulls the stream through the corresponding server, that is, the audience side downloads the video bitstream data, parses the SEI in the bitstream, and obtains the inferred jam information. It also determines whether the audience has jammed. If jamming occurs, the audience jam information and the streaming jam information are reported; if the playback is normal, there is no streaming jam information.

[0107] In this embodiment, a device for attributing playback jams is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and will not be repeated here. As used below, the term "module" can implement a combination of software and / or hardware for a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0108] This embodiment provides a device for attributing playback freezes, such as Figure 8 As shown, including:

[0109] The to-be-played media data acquisition module 801 is used to acquire the to-be-played media data.

[0110] The network status acquisition module 802 is used to obtain the current network status and parse the media data to be played if playback freezes. The streaming freeze information in the media data to be played is used to characterize the freeze information when streaming freezes.

[0111] The playback jamming attribution module 803 is used to determine the cause of the playback jamming based on the current network status and streaming jamming information.

[0112] In some optional implementations, the playback freeze attribution module 803 includes:

[0113] A streaming jamming information determining unit, configured to determine whether the streaming jamming information is empty if the current network status is that the network is normal;

[0114] The first cause determination unit of playback jamming is used to determine that the cause of playback jamming is at the streaming end if the streaming jamming information is not empty.

[0115] In some optional implementations, the playback freeze attribution module 803 further includes:

[0116] The second cause determination unit for playback jamming is used to determine that the cause of playback jamming is on the CDN side if the current network status is that the network is normal and the streaming jamming information is empty.

[0117] In some optional implementations, the playback freeze attribution module 803 further includes:

[0118] The third cause determination unit for playback freeze is used to determine, if the current network state is a network abnormality, that the cause of the playback freeze includes an abnormal local network state.

[0119] In some optional implementations, the network status acquisition module 802 includes:

[0120] A parsing unit, configured to parse the media data to be played, and obtain a supplementary enhancement information frame in the media data to be played;

[0121] The streaming jamming information obtaining unit is used to obtain the streaming jamming information from the supplementary enhancement information frame.

[0122] In some optional implementations, the module for determining whether playback freeze occurs in the to-be-played media data includes:

[0123] A playback unit, configured to play the media data to be played, and determine a playback interval between two adjacent frames in the media data to be played;

[0124] The playback jam determination unit is used to determine that playback jam occurs if the playback interval is greater than a preset duration.

[0125] This embodiment provides a device for attributing playback freezes, such as Fig. 9 As shown, including:

[0126] The to-be-processed media data acquisition module 901 is used to acquire the to-be-processed media data.

[0127] The streaming jamming information acquisition module 902 is used to acquire streaming jamming information if streaming jamming occurs in the media data to be processed.

[0128] The streaming jamming information writing module 903 is used to write the streaming jamming information into the media data to be processed to obtain the target media data.

[0129] The streaming module 904 is used to stream the target media data so as to determine the cause of the playback jam based on the streaming jam information when jam occurs on the playback end.

[0130] In some optional implementations, the streaming freeze information writing module 903 includes:

[0131] The writing unit is used to write the streaming freeze information into the supplementary enhancement information frame of the media data to be processed to obtain the target media data.

[0132] In some optional implementations, the module for determining whether streaming jam occurs in the to-be-processed media data includes:

[0133] A streaming unit, used for streaming the media data to be processed and determining a streaming interval between two adjacent frames of the media data to be processed;

[0134] The streaming jamming unit is used to determine that streaming jamming occurs if the streaming interval is greater than a preset duration.

[0135] In some optional implementations, the streaming freeze information includes at least one of freeze duration, freeze reason, and freeze retry information.

[0136] The attribution device for playback jams in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.

[0137] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.

[0138] The present disclosure also provides a computer device having the above Figure 8 or Fig. 9 The attribution device for playback freeze is shown.

[0139] See also Fig.10 , Fig.10 is a schematic diagram of a computer device provided by an optional embodiment of the present disclosure, such as Fig.10As shown, the computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process the instructions executed in the computer device, including instructions stored in or on the memory to display the graphical information of the GUI on an external input / output device (such as, a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Fig.10 A processor 10 is taken as an example.

[0140] The processor 10 may be a central processing unit, a network processor or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic or any combination thereof.

[0141] The memory 20 stores instructions executable by at least one processor 10, so that the at least one processor 10 executes the method shown in the above embodiment.

[0142] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely arranged relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0143] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 20 may also include a combination of the above types of memory.

[0144] The computer device also includes an input device 30 and an output device 40. The processor 10, the memory 20, the input device 30 and the output device 40 may be connected via a bus or other means. Fig.10 The example of connecting through bus is taken in the following.

[0145] The input device 30 can receive input digital or character information, and generate key signal input related to the user settings and function control of the computer device, such as a touch screen, a keypad, a mouse, a track pad, a touch pad, an indicator bar, one or more mouse buttons, a trackball, a joystick, etc. The output device 40 may include a display device, an auxiliary lighting device (e.g., an LED) and a tactile feedback device (e.g., a vibration motor), etc. The above-mentioned display device includes but is not limited to a liquid crystal display, a light emitting diode, a display and a plasma display. In some optional embodiments, the display device can be a touch screen.

[0146] The embodiments of the present disclosure also provide a computer-readable storage medium. The above-mentioned method according to the embodiments of the present disclosure can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium and downloaded through a network, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state drive, etc.; further, the storage medium can also include a combination of the above-mentioned types of memory. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.

[0147] It is understandable that before using the technical solutions disclosed in the embodiments of the present disclosure, the types, scope of use, usage scenarios, etc. of the personal information involved in the present disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.

[0148] For example, in response to receiving an active request from a user, a prompt message is sent to the user to clearly prompt the user that the operation requested to be performed will require obtaining and using the user's personal information. Thus, the user can autonomously choose whether to provide personal information to software or hardware such as an electronic device, application, server, or storage medium that performs the operation of the technical solution of the present disclosure according to the prompt message.

[0149] As an optional but non-limiting implementation, in response to receiving an active request from the user, the prompt information may be sent to the user in the form of a pop-up window, in which the prompt information may be presented in text form. In addition, the pop-up window may also carry a selection control for the user to choose "agree" or "disagree" to provide personal information to the electronic device.

[0150] It is understandable that the above notification and the process of obtaining user authorization are merely illustrative and do not constitute a limitation on the implementation of the present disclosure. Other methods that meet the relevant laws and regulations may also be applied to the implementation of the present disclosure.

[0151] Although the embodiments of the present disclosure have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present disclosure, and such modifications and variations are all within the scope defined by the appended claims.

Claims

1. A method for attributing playback freezes, characterized in that: The method comprises: Get the media data to be played; If playback freezes the media data to be played, obtain the current network status, parse the media data to be played, and obtain streaming freeze information in the media data to be played, where the streaming freeze information is used to characterize freeze information when streaming freezes; Based on the current network status and the streaming jamming information, a cause of the playback jamming is determined.

2. The method according to claim 1, characterized in that The determining the cause of the playback freeze based on the current network status and the streaming freeze information includes: If the current network status is that the network is normal, determine whether the streaming freeze information is empty; If the streaming jam information is not empty, it is determined that the cause of the playback jam is at the streaming end.

3. The method according to claim 2, characterized in that The determining the cause of the playback freeze based on the current network status and the streaming freeze information further includes: If the current network status is that the network is normal and the streaming jam information is empty, it is determined that the cause of the playback jam is due to the content distribution network.

4. The method according to claim 2, characterized in that: The determining the cause of the playback freeze based on the current network status and the streaming freeze information further includes: If the current network status is a network abnormality, it is determined that the cause of the playback freeze includes an abnormal local network status.

5. The method according to claim 1, characterized in that The parsing the to-be-played media data to obtain streaming jam information in the to-be-played media data includes: Parsing the to-be-played media data to obtain a supplementary enhancement information frame in the to-be-played media data; The streaming freeze information is obtained from the supplementary enhancement information frame.

6. The method according to any one of claims 1 to 5, characterized in that The method for determining whether playback freeze occurs in the to-be-played media data includes: Playing the media data to be played, and determining a playback interval between two adjacent frames in the media data to be played; If the playback interval is greater than a preset duration, it is determined that playback freeze occurs.

7. A method for attributing playback freezes, characterized in that: The method comprises: Get the media data to be processed; If the to-be-processed media data is stuck in streaming, obtaining streaming stuck information; Writing the streaming freeze information into the media data to be processed to obtain target media data; The target media data is streamed, so that when a jam occurs at a playback end, a cause of the playback jam is determined based on the streaming jam information.

8. The method according to claim 7, characterized in that The step of writing the streaming freeze information into the media data to be processed to obtain target media data includes: The streaming freeze information is written into a supplementary enhancement information frame of the media data to be processed to obtain the target media data.

9. The method according to claim 7, characterized in that: The method for determining whether the streaming of the to-be-processed media data is stuck includes: Pushing the media data to be processed, and determining a push interval between two adjacent frames in the media data to be processed; If the streaming interval is greater than the preset time, it is determined that streaming jam has occurred.

10. The method according to any one of claims 7 to 9, characterized in that The streaming freeze information includes at least one of freeze duration, freeze reason, and freeze retry information.

11. A device for attributing playback freezes, characterized in that: The device comprises: A module for acquiring media data to be played, used for acquiring media data to be played; A network status acquisition module, used for acquiring the current network status if the to-be-played media data is stuck in playback, and parsing the to-be-played media data to obtain streaming stuck information in the to-be-played media data, wherein the streaming stuck information is used to characterize stuck information when streaming is stuck; The playback jamming attribution module is used to determine the cause of the playback jamming based on the current network status and the streaming jamming information.

12. A device for attributing playback freezes, characterized in that: The device comprises: A module for acquiring media data to be processed, used for acquiring media data to be processed; A streaming jamming information acquisition module, used for acquiring streaming jamming information if streaming jamming occurs to the media data to be processed; A streaming jamming information writing module, used for writing the streaming jamming information into the media data to be processed to obtain target media data; The streaming module is used to stream the target media data so as to determine the cause of the playback jam based on the streaming jam information when jam occurs on the playback end.

13. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the playback jamming attribution method described in any one of claims 1 to 10 by executing the computer instructions.

14. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the playback jamming attribution method described in any one of claims 1 to 10.

Citation Information

Cited By

  • Live broadcast lagging identification method and related device

    CN122476233A