Method for identifying freezes in sliced video, network device, and storage medium
By collecting signaling data to obtain slice index files and download information, and combining it with identifying freezes during slice video playback, the problem of the difference between evaluation results and user perception in the existing technology is solved, and accurate evaluation of slice video services is achieved.
Patent Information
- Application Number
- CN202010450832.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-05-25
- Publication Date
- 2025-09-12
- Estimated Expiration
- 2040-05-25
AI Technical Summary
In the existing technology, the evaluation method of sliced video services only uses the download quality of a single slice as an indicator, which cannot accurately reflect the actual playback smoothness on the client side and the difference between user perception, resulting in inaccurate evaluation results.
By collecting signaling data on the core network link, the slice index file and slice download information are obtained, and the slice index file and slice download information are combined to identify the freeze during the slice video playback process.
It achieves accurate evaluation of sliced video services, can identify the smoothness of downloading and playing multiple slices and the lag problems between slices, improves the accuracy of evaluation results, and conforms to the real user experience.
Smart Images

Figure CN113727198B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present invention relate to, but are not limited to, the field of Internet technology, and in particular to a method for identifying freezes in sliced video, a network device, and a storage medium. Background Art
[0002] In order to understand the user experience of video services, it is necessary to evaluate and analyze video services. Related video analysis methods only analyze video services as download services and use the KPIs (Key Performance Indicators) of download services, such as speed and latency, to evaluate video services. However, most current video services use a slice protocol: the client first downloads the slice index file of the video, and then pulls the slices in sequence according to the slice download address in the slice index file for playback. In a slice video service, playing a complete video may require downloading from hundreds of different download addresses. Therefore, the KPI system in related technologies can only evaluate the quality of a single slice download, but the single slice download indicator cannot reflect the smoothness of the client's download and playback of hundreds of slices, resulting in a large difference between the evaluation results and the user's actual perception. Summary of the Invention
[0003] The sliced video freeze identification method, network device and storage medium provided by the embodiments of the present invention mainly solve the technical problem of providing an evaluation solution for sliced video services, solving the problem that the related technology evaluates and analyzes sliced video services simply as download services, resulting in the evaluation results not accurately reflecting the actual playback smoothness on the client side and the actual user perception.
[0004] To solve the above technical problems, an embodiment of the present invention provides a method for identifying freezes in sliced videos, comprising:
[0005] Collect signaling data on core network links;
[0006] Obtaining a slice index file and slice download information associated with the slice index file according to the signaling data;
[0007] The freeze during the playback of the slice video is identified according to the slice index file and the slice download information.
[0008] An embodiment of the present invention further provides a network device, comprising a processor, a memory, and a communication bus;
[0009] The communication bus is used to realize the connection and communication between the processor and the memory;
[0010] The processor is used to execute one or more programs stored in the memory to implement the steps of the above-mentioned slice video freeze identification method.
[0011] An embodiment of the present invention also provides a storage medium, which stores one or more programs. The one or more programs can be executed by one or more processors to implement the steps of the above-mentioned slice video freeze identification method.
[0012] The beneficial effects of the present invention are:
[0013] The embodiments of the present invention provide a method, network device, and storage medium for identifying video jams in slices. The network device collects signaling data on a core network link and then obtains a slice index file and slice download information associated with the slice index file based on the signaling data. Subsequently, the network device can identify jams during the playback of the sliced video based on the slice index file and the slice download information. The slice video jam identification solution provided by the embodiments of the present invention not only can determine the download status of a single slice based on the slice download information when evaluating a sliced video service, but also because the network device also obtains the slice index file through the collected signaling data, and the slice index file corresponds to multiple or even all slices in a video. Therefore, the use of the slice index file, combined with the slice download information corresponding to the slice index file, can reflect the smoothness of the download and playback of multiple slices in the sliced video service. At the same time, because the playback of each slice in the slice index file is normally played sequentially, the combination of the slice index file and the slice download information can also determine the relationship between the download and playback process of one slice in the slice index file and the download and playback process of another slice in the slice index file, thereby identifying jams between slices. Therefore, the embodiment of the present invention provides a new evaluation scheme for slicing video services, which can accurately identify the freezes in the slicing video service process, so that the evaluation results are more in line with the user's real experience, and provide a basis for subsequent improvements to the slicing video service.
[0014] Other features and corresponding beneficial effects of the present invention are described in the latter part of the specification, and it should be understood that at least some of the beneficial effects become obvious from the description in the specification of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Figure 1 This is a flow chart of the method for identifying freezes in sliced videos provided in the first embodiment of the present invention;
[0016] Figure 2 A flowchart of a network device obtaining a slice index file according to signaling data provided in the first embodiment of the present invention;
[0017] Figure 3 A flow chart showing a network device obtaining slice download information according to signaling data in accordance with the first embodiment of the present invention;
[0018] Figure 4 A flowchart for identifying freezes during playback of a sliced video provided in the second embodiment of the present invention;
[0019] Figure 5 This is a flow chart of detecting a pause condition at the current slice provided in the second embodiment of the present invention;
[0020] Figure 6 This is a flow chart of identifying a pause as a freeze, as shown in the second embodiment of the present invention;
[0021] Figure 7 A flowchart of identifying and recording pauses provided in Embodiment 3 of the present invention;
[0022] Figure 8 This is a flowchart of detecting a pause condition at the current slice provided in the third embodiment of the present invention;
[0023] Figure 9 This is a flow chart of identifying a pause as a pause shown in the third embodiment of the present invention;
[0024] Figure 10 This is a flow chart of drag recognition shown in the third embodiment of the present invention;
[0025] Figure 11 This is a hardware structure diagram of the network device provided in Example 5 of the present invention. DETAILED DESCRIPTION
[0026] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the following is a further detailed description of the embodiments of the present invention through specific implementation methods in conjunction with the accompanying drawings. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.
[0027] Example 1:
[0028] With the rapid development of mobile networks and the continuous decline in data costs, the proportion of users watching videos over mobile networks is gradually increasing. As user usage habits change, mobile operators' focus on network quality has gradually shifted from voice call quality to data service quality. Unlike typical web browsing data services, video services not only require higher bandwidth but also higher network stability. Poor network quality can lead to reduced video clarity and smoothness, and video freezes can easily occur. Excessive freezes inevitably reduce user satisfaction and increase network complaints. Therefore, for mobile operators, understanding the true perception of video services on the client side and implementing appropriate improvement measures to address any issues can reduce complaints and improve user satisfaction and retention.
[0029] It can be seen that it is very important to accurately evaluate the user's video service experience and understand the user's perception. However, there is currently a lack of suitable evaluation and analysis solutions for sliced video services. To solve this problem, this embodiment provides a sliced video freeze identification method, which is applied to network devices to help understand the smoothness of user video services from the network side. Figure 1 The flowchart of the slice video freeze identification method is shown as follows:
[0030] S102: The network device collects signaling data on the core network link.
[0031] In this embodiment, the network device can collect signaling data on the core network link. For example, the network device can collect data from the interface connecting the core network and the wireless access network. The interface connecting the core network and the wireless access network includes but is not limited to the S1-U interface. The S1 interface is the communication interface between the LTE eNodeB and the EPC (packet core network), which can divide the LTE system into the wireless access network and the core network. The S1-U interface refers to the S1 user plane interface, which is connected between the eNodeB and the S-GW (Serving GateWay) and provides non-guaranteed transmission of user plane PDUs (Protocol Data Units) between the eNodeB and the S-GW.
[0032] It should be understood that the S1-U interface is only the data collection target of the network device in the LTE communication scenario in this embodiment. However, those skilled in the art will understand that in 3G, 5G, and other future communication scenarios, interfaces with the same function may have different names. Therefore, this embodiment does not limit the network device to collecting signaling data through the S1-U interface.
[0033] S104: The network device obtains the slice index file and the slice download information associated with the slice index file according to the signaling data.
[0034] When the network device collects signaling data, it usually collects all signaling data passing through the corresponding link interface in the entire network, and does not distinguish the specific content of the signaling data and the specific user to which the signaling data belongs before distinguishing. However, because the purpose of the network device in this embodiment to collect data is to obtain the slice index file and slice download information, in this embodiment, the network device will process the collected data after collecting the signaling data. Figure 2 This section describes the process of network devices obtaining slice index files based on signaling data:
[0035] S202: The network device identifies the slice index file download request in the HTTP-GET request.
[0036] The HTTP request signaling data transmitted between the core network and the wireless access network is divided into HTTP-GET (Hypertext Transfer Protocol request to request data from a specified resource) and HTTP-POST (Hypertext Transfer Protocol request to submit data to be processed to a specified resource). Since the sliced video service obtains slice index files and slice files from the server, the network device in this embodiment needs to process HTTP-GET requests.
[0037] In an example of this embodiment, the network device identifies a slice index file download request from an HTTP-GET request. Optionally, the network device can determine whether an HTTP-GET request is a slice index file download request based on the URI (Uniform Resource Identifier) in the HTTP header parameter of the HTTP-GET request: there are parameters indicating the file format in the URI, for example, the HTTP-GET request URI corresponding to the M3U8 file contains the characters ".M3U8?" indicating the file format. Therefore, by parsing the URI in the HTTP header parameter of an HTTP-GET request, it can be determined whether the HTTP-GET request is a download request for requesting to obtain the slice index file.
[0038] S204: The network device parses the payload data of the slice index file download request.
[0039] If the network device identifies and determines that a certain HTTP-GET request is a download request for a slice index file, the network device can further parse the payload (payload data) of the HTTP-GET request, that is, parse the payload content of the slice index file download request.
[0040] S206: The network device restores the slice index file according to the parsing result.
[0041] Since the server transmits the slice index file to the client by placing it in the signaling, the network device can directly restore the slice index file transmitted by the server to the client based on the parsing results by parsing the payload of the slice index file download request. It is understandable that when the server transmits an HTTP-GET request to the client, it will divide an HTTP-GET request message into multiple data packets for transmission. Therefore, after parsing these data packets, the network device will merge the parsing results to restore the slice index file.
[0042] The slice index file may generally include some or all of the following information: slice number indication information, slice download link (ext_uri), slice duration (ext_inf), slice file size (ext_size), etc. A slice index file generally corresponds to multiple slices, so the download links, slice durations, and slice file sizes of multiple slices may be indicated in a slice index file. For example, in some examples of this embodiment, a slice index file indicates information of 10 slices, the first slice is numbered "0", and the slice numbers of each slice are generally an arithmetic progression with a tolerance of 1, so the slice index file is used to indicate information of 10 slices with slice numbers from "0" to "9" to the client.
[0043] In some examples of this embodiment, after the network device obtains the slice index file, it can also obtain the index identifier (ext_id) of the slice index file. The index identifier is information used to uniquely distinguish a slice index file. In some cases, each slice index file has its own name, so the network device can use the name of the slice index file as its index identifier. In another example, the network device can use the timestamp of the slice index file it obtained as the index identifier of the slice index file.
[0044] The following combination Figure 3 The process of network devices obtaining slice download information from signaling data is described as follows:
[0045] S302: The network device identifies the slice download request in the HTTP-GET request.
[0046] Similar to the process of identifying a slice index file download request from an HTTP-GET request, a network device can also determine whether an HTTP-GET request is a slice file download request based on the URI in the HTTP header parameter of the HTTP-GET request. For example, in the HTTP-GET request corresponding to a TS slice file, the URI contains ".TS?" or ".264TS?", ".265TS?", and other characters indicating the format. Therefore, by identifying whether the URI of the HTTP-GET request header parameter contains characters such as ".TS?", ".264TS?", ".265TS?", etc., it can be determined whether the HTTP-GET request is a request for downloading a TS slice file.
[0047] S304: The network device parses the header parameters of the slice download request to obtain slice download information.
[0048] After the network device identifies the slice download request in the HTTP-GET request, it can obtain the slice download information based on the header parameters of the slice download request.
[0049] It should be noted that the relationship between slice download information and slices is one-to-one. A slice download information can only reflect the download status of a slice, and cannot reflect the download status of other slices. A slice download information may include some or all of the following information: the request time of the corresponding slice request download (that is, the time when the slice GET process starts), the time when the HTTP response code is returned, the time when the last HTTP subpacket download of the slice GET process is completed, the slice download address, the sum of the IP layer byte lengths of all messages in the slice GET process (ip_length), etc. In some examples of this embodiment, the slice download information may also include the host name (host) that provides the slice resource.
[0050] The time when the slice request is downloaded: recorded as "btime" here, indicating the time when the slice request is started from the server; the time when the HTTP response code is returned: recorded as "tbegin", indicating the time when the server returns the first data packet of the slice to the client; the time when the download of the last HTTP subpacket of the slice GET process is completed: recorded as "tend", indicating the time when the server returns the last data packet of the slice to the client; the sum of the IP layer byte lengths of all messages in the slice GET process: recorded as "ip_length" here, indicating the actual traffic during the slice download process.
[0051] In this embodiment, the timing of the two processes of the network device obtaining the slice index file from the signaling data and obtaining the slice download information is not strictly limited. The network device can first obtain the slice index file from the signaling data, or first obtain the slice download information, or even perform the two processes alternately / simultaneously.
[0052] After the network device obtains the slice index file and slice download information, it can store them separately. In some examples of this embodiment, the network device can store the slice index file in a dimension table. When storing, the information in the slice index file is saved at the slice granularity, and each slice download link is saved as a row, while the index identifier is used as the unique primary key of the dimension table. On the other hand, the network device stores the slice download information in the fact table, also at the slice granularity, with the download information of each slice saved as a row.
[0053] It should be understood that there is no correlation between the slice index file obtained directly by the network device from the signaling data and the slice download information, because when the network device collects data, it usually collects data from all users in the entire network. Therefore, the correlation between the slice index file and the slice download information requires further analysis and processing by the network device to determine.
[0054] It is understandable that the slice index file includes a slice download link for the corresponding slice, and each slice download information also indicates the download address of the corresponding slice. Therefore, the slice URI can be used to achieve the association and correspondence between the slice index file and the slice download information. In this embodiment, after the network device achieves the association and correspondence between the information in the slice index file and the slice download through the slice URI, the information of the slice index file can be filled into the fact table according to the association and correspondence relationship at the slice granularity.
[0055] For example, assuming that one slice URI in a slice index file is "a111a" and the other slice URI is "bbbb", and there is a slice download information in the 11th row of the fact table, indicating that the download address of the corresponding slice is "a111a"; there is a slice download information in the 222nd row of the fact table, indicating that the download address of the corresponding slice is "bbbb", then the network device can fill the information corresponding to "a111a" in the slice index file into the 11th row of the fact table, and fill the information corresponding to "bbbb" in the slice index file into the 222nd row of the fact table.
[0056] S106: The network device identifies freezes during the playback of the slice video according to the slice index file and the slice download information.
[0057] It is understandable that once the network device determines the association between the slice index file and the slice download information, it means that the network device has obtained the slice index file and the slice download information associated with the slice index file. Subsequently, the network device can combine the slice index file and the slice download information to identify freezes during the playback of the slice video. The network device can understand the actual download status of the video file corresponding to a slice index file based on the slice duration and slice size in the slice index file and the ip_length, tbegin, tend, and btime in the slice download information. For example, the network device first calculates the single slice download speed of each slice, the expected download speed of each slice in the entire index file, the theoretical cumulative playback time at a certain playback position in the video, and the actual cumulative playback time at that playback position. The network device then identifies whether freezes occur during video playback based on the calculated parameter values.
[0058] This embodiment provides a solution that combines slice index files with slice download information to identify freezes during the playback of sliced videos. Through this evaluation method, sliced videos can be treated as videos and their freeze times can be monitored, rather than just focusing on the download speed and download latency of a single slice of the sliced video. This slice video freeze identification method combines slice index files to evaluate the user experience from the perspective of the sliced video as a whole, and can focus on freezes that cannot be discovered when a single slice is used as the evaluation object, such as freezes that occur between slices. At the same time, this slice video freeze identification method completes the evaluation and analysis by collecting data through network-side equipment, and does not require improvements to the user side. The freeze identification process will not have a negative impact on the user, and can further maintain the user experience.
[0059] Example 2:
[0060] This embodiment will further explain the process of the network device identifying the freeze during the playback of the slice video according to the slice index file and the slice download information based on the embodiment 1. First, see Figure 4 A flow chart is shown:
[0061] S402: The network device detects whether there is a pause at the current slice based on the slice index file and slice download information.
[0062] If the detection result is yes, the network device executes S404, otherwise the identification of the current slice freeze ends.
[0063] In this embodiment, the network device will gradually identify the freezes during the playback of the sliced video from front to back according to the download and playback order of each slice in the sliced video. The so-called "current slice" is the current detection object of the network device. There is no doubt that as the network device's identification process progresses, the current slice will continue to change.
[0064] It should be understood that, in this embodiment, the process of the network device performing freeze identification can be performed in real time during the playback of the sliced video, or it can be performed after the playback of the sliced video is completed.
[0065] In some examples of this embodiment, the network device can detect whether there is a pause at the current slice based solely on information about adjacent slices. However, in some examples of this embodiment, information about multiple slices can be combined to detect whether there is a pause at the current slice. For example, in this embodiment, whether there is a pause at the current slice can be detected based on a service continuity process. Figure 5 :
[0066] S502: The network device determines the theoretical cumulative playback duration of the current service continuity process according to the slice duration of each slice in the slice index file.
[0067] In this embodiment, the so-called service continuity process refers to the process in which the slice sequence number and playback time are continuous during slice playback. In other words, during the playback process, the slice sequence number is always consistent, without jumps, and there are no time pauses. In other words, the service continuity process in this embodiment refers to a playback process without progress delays, lags, or pauses.
[0068] The theoretical cumulative playback time refers to the sum of the slice durations of all slices that have been played during the business continuity process. For example, in one example, during a business continuity process, the client has currently played 14 slices continuously and uninterruptedly, then the sum of the slice durations of these 14 slices is the current theoretical cumulative playback time. According to the above introduction, the slice duration of each slice is recorded in the slice index file. Therefore, the network device can determine the theoretical cumulative playback time based on the slice duration of each slice in the slice index file. The theoretical cumulative playback time reflects the time required to complete the playback of a video without lag, pause or dragging.
[0069] S504: The network device determines the actual accumulated playback duration of the current service continuity process according to the download request time of each slice in the slice download information.
[0070] The so-called actual playback time is the total time spent by the client from the start of the service continuity process to the current time. Since the request time for downloading each slice can be determined based on the slice download information, in this embodiment, the request time for downloading the initial slice in the service continuity process is used to represent the starting point of the service continuity process. The so-called initial slice is the first slice played in the service continuity process. At the same time, the request time for downloading the current slice is used to represent the current time. Therefore, the actual cumulative playback time is actually the time difference between the request time for downloading the current slice and the request time for downloading the initial slice.
[0071] The business continuity process will end with the occurrence of freeze, pause or drag, so the initial slice will naturally change with the occurrence of freeze, pause or drag.
[0072] In addition, it should be noted that in this embodiment, the execution sequence of S504 and S502 by the network device can be reversed, that is, the network device first determines the actual cumulative playback time, and then determines the theoretical cumulative playback time, or in some examples of this embodiment, the network device synchronously determines the actual cumulative playback time and the theoretical cumulative playback time.
[0073] S506: If the actual cumulative playback time is greater than the theoretical cumulative playback time, the network device determines that a pause occurs at the current slice.
[0074] After determining the actual cumulative playback time and the theoretical cumulative playback time, the network device can determine whether a pause has occurred based on the size of the two. There is no doubt that if a pause occurs at the current slice, the actual cumulative playback time will be greater than the theoretical playback time. Therefore, if the actual cumulative playback time is greater than the theoretical cumulative playback time, the network device can determine that there is a pause at the current slice.
[0075] S404: The network device identifies whether the pause is a freeze based on the slice index file and the slice download information.
[0076] If the judgment result is yes, the network device executes S406, otherwise the process ends.
[0077] This embodiment provides a solution for a network device to identify whether a pause is a jam. Figure 6 The flowchart shown is:
[0078] S602: The network device determines the expected download speed of each slice according to the size of each slice and the slice duration of each slice in the slice index file.
[0079] In this embodiment, the expected download speed can be represented by the ratio of the sum of the file sizes of all slices corresponding to the slice index file to the sum of the slice durations. This ratio reflects the download speed that needs to be guaranteed if the user is to watch the slice video without lag, pause, or dragging. As described in the first embodiment, the file size and duration of each slice can be determined based on the slice index file. Therefore, the network device can calculate the total file size of each slice corresponding to the slice index file, that is:
[0080]
[0081] Among them, S represents the total file size of each slice corresponding to the slice index file, ext_size i Indicates the file size of the i-th slice, and M indicates that the total number of slices corresponding to the slice index file is M.
[0082] At the same time, the network device can also determine the total duration of each slice corresponding to the slice index file:
[0083]
[0084] Among them, T represents the total duration of each slice corresponding to the slice index file, ext_inf i Indicates the duration of the i-th slice.
[0085] Therefore, the expected download speed is the ratio of S to T.
[0086] S604: The network device determines the actual single-slice download speed of each slice in the current service continuity process based on the slice download information.
[0087] The single-slice download speed refers to the actual download speed of a single slice. This embodiment provides a method for determining the single-slice download speed of each slice during service continuity:
[0088] For each slice in the service continuity process, the network device determines the sum of the IP layer byte lengths of all messages in the slice download process, i.e., ip_length, based on the slice download information corresponding to the slice, and determines the process time spent on the slice download process. Combined with the introduction of the above embodiment, it can be seen that the slice download information includes tbegin (the time when the server returns the first data packet of the slice to the client) and tend (the time when the server returns the last data packet of the slice to the client). Therefore, based on tend and tbegin in a slice download information, the network device can determine the process time spent downloading the corresponding slice, i.e., the process time t:
[0089] t = t end - t beginning;
[0090] The network device can then determine the ratio of the ip_length of the slice to the flow time t as the single-slice download speed of the slice.
[0091] It should be understood that in this embodiment, the network device can reverse the execution sequence of S604 and S602, that is, the network device first determines the single-slice download speed and then determines the expected download speed, or in some examples of this embodiment, the network device synchronously determines the single-slice download speed and the expected download speed.
[0092] S606: If the single-slice download speed of at least one slice in the service continuity process is lower than the expected download speed, the pause existing in the current slice of the network device is determined to be a freeze.
[0093] In this embodiment, when the network device identifies a pause, it only requires that the single-slice download speed of at least one slice in the service continuity process is less than the expected download speed, so that the current slice can be determined to have a pause. However, it can be understood that in some other examples of this embodiment, the network device may also require that the single-slice download speed of a first preset proportion or a first preset number (the preset number is greater than 1) of slices in the service continuity process is less than the expected download speed before determining that the pause occurring in the current slice is a freeze.
[0094] S406: The network device records that there is a freeze in the playback of the current slice.
[0095] After the network device identifies the jamming in the current slice, it can record the jamming. In an example of this embodiment, the network device can record the jamming in a fact table.
[0096] In the jam detection solution provided in this embodiment, the network device first detects whether a slice has a pause, and if so, further identifies whether the pause is a jam. Furthermore, during the jam detection process, the network device can perform detection based solely on adjacent slices, reducing detection complexity. Alternatively, the network device can perform detection on all slices during service continuity, improving the accuracy and comprehensiveness of jam detection.
[0097] Example 3:
[0098] It should be understood that in the process of detecting jams based on the business continuity process, the determination of the starting point of the business continuity process, that is, the initial slice, will affect the result of jam identification. However, the business continuity process and the initial slice will not only be affected by jams, but also by pauses and drags. Therefore, identifying pauses and drags is also very important. This embodiment will introduce the process of identifying pauses and drags. Please refer to the following examples. Figure 7 The pause recognition flow chart is shown:
[0099] S702: The network device detects whether there is a pause at the current slice based on the slice index file and slice download information.
[0100] If the detection result is yes, the network device executes S704, otherwise the identification of the pause of the current slice is ended.
[0101] In some examples of this embodiment, the network device may use Figure 5 The process shown in FIG2 is used to detect whether there is a pause at the current slice, that is, the network device can combine the information of multiple slices to detect whether there is a pause at the current slice. However, in other examples, the network device can only detect whether there is a pause at the current slice based on the information of adjacent slices. Figure 8 The flowchart shown is:
[0102] S802: The network device determines the request time of the current slice and the request time of the next slice according to the request time of each slice download request in the slice download information.
[0103] The next slice is the slice after the current slice. For example, if the slice number of the current slice is "14", then the slice numbered "15" is the next slice after the current slice. For the slice numbered "14" (hereinafter referred to as slice "14") and the slice numbered "15" (hereinafter referred to as slice "15"), the network device can determine the request times for downloading the two slices as btime14 and btime15 respectively based on the slice duration of each slice in the slice index file.
[0104] S804: The network device determines the slice duration of the current slice according to the slice duration of each slice in the slice index file.
[0105] The slice duration of each slice is recorded in the slice index file, so the network device can determine the slice duration of the current slice based on the slice duration of each slice in the slice index file. It can be understood that under ideal conditions without dragging, lag, or pauses, the time required to play the current slice is actually the slice duration of the current slice. Therefore, for the slice number "14", the time required under ideal conditions should be equal to its slice duration.
[0106] S806: The network device determines the time difference between the request time of the next slice and the request time of the current slice.
[0107] Continuing with the example of slices "14" and "15", the time difference between btime15 and btime14 is the actual time it takes for slice "14" to be downloaded from the start to be played.
[0108] It is understandable that in the above process, S806 needs to be executed before S802, but the timing of S804 is not fixed. In some examples, the network device can also execute the process of S804 before executing S802, or execute the process of S804 after executing the process of S806.
[0109] S808: If the time difference is greater than the slice duration of the current slice, the network device determines that a pause occurs at the current slice.
[0110] If the time difference between btime15 and btime14 is greater than the slice duration of slice "14", it proves that there is a pause during the playback of slice "14" or between slice "14" and slice "15". In this embodiment, the pause that occurs before slice "15" is counted into slice 14, that is, it is counted as a pause that occurs in the current slice.
[0111] S704: The network device identifies the pause as a pause based on the slice index file and the slice download information.
[0112] After the network device recognizes the presence of a pause on the current slice, it also needs to determine whether the pause is a pause. Figure 9 The process shown:
[0113] S902: The network device determines the expected download speed of each slice according to the size of each slice and the slice duration of each slice in the slice index file;
[0114] S904: The network device determines the actual single-slice download speed of each slice in the current service continuity process according to the slice download information;
[0115] The timing and specific process of the network device determining the expected download speed and the single-slice download speed can be found in the introduction of Example 2 and will not be repeated here.
[0116] S906: If the single-slice download speeds of all slices during the service continuity process are greater than the expected download speed, it is determined that a pause occurs at the current slice.
[0117] It can be understood that in some other examples of this embodiment, the network device may also require that during the service continuity process, the single-slice download speed of slices of no less than a second preset proportion or a second preset number (the preset number is greater than 1) is lower than the expected download speed before the pause occurring in the current slice is determined to be a pause.
[0118] S706: The network device records the pause at the current slice.
[0119] The following combination Figure 10 The flowchart shown introduces the process of dragging during the network device detection slice video playback:
[0120] S1002: The network device detects the dragging status of the current slice according to the slice index file;
[0121] S1004: When the network device determines that dragging occurs at the current slice, the network device records the dragging.
[0122] Optionally, when the network device detects the dragging condition at the current slice, it can determine the slice sequence number of the current slice and the slice sequence number of the next slice based on the slice index file, that is, determine the slice sequence number of the current slice and the slice sequence number of the slice after the current slice. Usually, the slice sequence numbers of continuous slices are an arithmetic progression with a tolerance of 1, so if the network device determines that the difference in slice sequence numbers between the next slice and the current slice is greater than 1, it can determine that there is dragging at the current slice. Of course, this embodiment does not exclude the case where the slice sequence numbers of each slice in the slice video are an arithmetic progression with a tolerance greater than 1. In these cases, if the network device determines that the difference in slice sequence numbers between the next slice and the current slice is greater than the corresponding tolerance, it can also be determined that there is dragging at the current slice.
[0123] In this embodiment, when the network device identifies a pause, a freeze or a drag, it will record the pause, freeze and drag. Optionally, the network device can record it directly in the fact table. In one example, the network device can add a column for each of the three situations of freeze, pause and drag in the fact table. For example, the column added for freeze is column x, then in column x, the network device can record whether there is freeze on the slice corresponding to each row. For example, the network device uses "0" to indicate the presence of freeze and "1" to indicate the absence of freeze. The records for freeze and drag are similar. In another example of this embodiment, the network device can also only add one column to the fact table to record the three situations of freeze, pause and drag. For example, the network device uses "1" to represent freeze, "2" to represent pause, and "3" to represent drag. For normal situations, it can be recorded as "0" or empty.
[0124] In the slice video freeze identification method provided in this embodiment, the network device can not only identify freezes during slice video playback, but also distinguish between pauses and dragging. The recognition of pauses and dragging can help determine the initial slice and service continuity process during the freeze identification process, increasing the accuracy of freeze identification. At the same time, it can also more comprehensively understand the user's operations during slice video playback, helping slice video resource providers understand user preferences for video resources.
[0125] Example 4:
[0126] This embodiment will further illustrate the method for identifying freezes in sliced video in the above embodiment with reference to specific examples:
[0127] Currently, most video services use slicing protocols, such as the common HLS (HTTP Live Streaming) protocol and MPEG-DASH (Dynamic Adaptive Streaming over HTTP, also abbreviated as DASH) protocol. The playback process of sliced videos is roughly as follows: the client first downloads the video slice index file (for example, the HLS protocol slice index file is a file in M3U8 format), and then pulls TS (Transport Stream) slices, M4S (Myst IV) slices or MP4 (Moving Picture Experts Group 4) slices in sequence according to the slice download address in the slice index file for playback.
[0128] The following uses the HLS protocol to identify video freezes in slices as an example to illustrate the specific analysis process of video freezes in slices.
[0129] (1) The network equipment collects signaling data from the S1-U interface on the core network link.
[0130] (2) The network device parses the HTTP-GET request to obtain the slice index file and slice download information.
[0131] When using the HLS protocol for sliced video playback, the slice index file is an M3U8 index file. M3U8 is a file format. In the HLS protocol, the M3U8 index file can be understood as a playlist for the playback of sliced videos. In addition to some basic parameter information of the slices (such as the slice number, slice file size, slice duration, etc.), the file also contains the download links of all slice files. The following shows part of the content of an M3U8 index file:
[0132] #EXTM3U
[0133] #EXT-X-VERSION:3
[0134] #EXT-X-TARGETDURATION:11
[0135] #EXT-X-MEDIA-SEQUENCE:0
[0136] #EXT-MGTV-VIDEO-WIDTH:1280
[0137] #EXT-MGTV-VIDEO-HEIGHT:720
[0138] #EXT-MGTV-File-SIZE:993204
[0139] #EXTINF:5.080000,
[0140] 2C0CA6524020671105BE4B27F631066E_0_5080_1564_v02_mp4.ts? pm=8oQlzbMQgdBTiO1NJFz~d8Xg~Grcdv~6Iy9kmnppyCYbGactIHELL34EbK1zWv530BaO_TDQQNeYLRLOKsOmmxy6XsXBxvgpad6ZUp_nbDhhpGdoaUpaME3BJhESI2GKHLnpqQ yC6sv36a3_eejzdvZldC_o8Tgh8~wVwA7ks3q65OoN3ITeR9F6TiSH0ISW_B1nF0O7Ex9MJQamPXCanhUniiNwtDE9PNujMpfcoFguGFUITiXLmN7oEmmMaxhBU3Gf1ACM~ODA0RyB
[0141] Among them, "EXT-X-VERSION" indicates the index version;
[0142] "EXT-X-TARGETDURATION" indicates the maximum media segment duration;
[0143] "EXT-X-MEDIA-SEQUENCE" indicates the slice sequence number of the first slice in the slice index file;
[0144] “EXT-MGTV-VIDEO-WIDTH” indicates the width of the sliced video screen;
[0145] "EXT-MGTV-VIDEO-HEIGHT" indicates the height of the sliced video;
[0146] "EXT-MGTV-File-SIZE" indicates the size of the slice;
[0147] "EXTINF" indicates the slice duration;
[0148] "2C0CA6524020671105BE4B27F631066E_0_5080_1564_v02_mp4.ts?pm=8oQlzbMQgdBTiO1NJFz~d8Xg~ Grcdv~6Iy9kmnppyCYbGactIHELL34EbK1zWv530BaO_TDQQNeYLRLOKsOmmxy6XsXBxvgpad6ZUp_nbDhhpG doaUpaME3BJhESI2GKHLnpqQyC6sv36a3_eejzdvZldC_o8Tgh8~wVwA7ks3q65OoN3ITeR9F6TiSH0ISW_B1nF0O7Ex9MJQamPXCanhUniiNwtDE9PNujMpfcoFguGFUITiXLmN7oEmmMaxhBU3Gf1ACM~ODA0RyB” is the URI of the slice.
[0149] In order to obtain the slice duration, file size and other information of each slice, it is necessary to use the payload message in the corresponding GET process to restore the M3U8 index file and extract the required information. In some examples of this embodiment, the information that needs to be extracted is as follows:
[0150] ext_id: index ID;
[0151] ext_uri: slice download link;
[0152] ext_inf: slice duration;
[0153] ext_file_size: slice file size;
[0154] ext_no: Slice sequence number. Slice files are sorted from top to bottom, with the starting sequence number being 0.
[0155] After extracting the information from the M3U8 index file, the information extracted from the M3U8 index file is saved at the slice granularity, that is, each slice link corresponds to a row, and the generated dimension table uses ext_id as the unique primary key.
[0156] The following describes the process of obtaining slice download information:
[0157] In the HLS protocol, the most common video slice file is TS slice. However, other formats, such as MP4, can also be used. In this embodiment, there is no restriction on the format of the slice.
[0158] For slice download information, you need to obtain key information of its GET process, such as:
[0159] btime: GET process start time;
[0160] tbegin: the time when the HTTP response code is returned;
[0161] tEnd: The time of the last HTTP download sub-packet in the GET process;
[0162] uri: uniform resource identifier;
[0163] host: host name;
[0164] ip_length: The sum of the IP layer byte lengths of all messages in the GET process.
[0165] After the network device obtains the slice index file and slice download information, it can store the slice index file in the form of a dimension table and the slice download information in the form of a fact table (also known as a list table) in the Hadoop cluster.
[0166] (3) The network device associates the slice index file in the dimension table with the slice download information in the fact table.
[0167] (4) The network equipment calculates the following basic parameters:
[0168] ext_avg_rate: Expected download speed. The network device accumulates the slice duration and slice file size of all slices in the M3U8 index file to know the total file size and total duration of the video. In this way, using total file size / total duration, an average rate can be obtained, which is the expected download speed.
[0169] ext_rate: Single slice download speed, calculated based on ip_length, tstart, and tend in the slice download information.
[0170] ext_time: The theoretical cumulative playback duration, the sum of the durations of each slice during the business continuity process, that is, the sum of the slice durations from the initial slice to the slice before the current slice (including the previous slice itself). The so-called initial slice defaults to the first slice in the slice index file. However, if there is a freeze, pause, or drag, it becomes the first slice after the freeze / pause / drag. In other words, after a freeze, pause, or drag, the business continuity process is re-determined.
[0171] ext_time_rel: actual playback duration, the difference between the btime of the current slice and the initial slice.
[0172] (5) The network device identifies freezes, pauses, and drags based on the calculated basic parameters.
[0173] For pause identification: If the time difference between the request time of the next slice and the request time of the current slice is greater than the ext_inf of the current slice, and the ext_rate of each slice during the business continuity process is greater than the ext_avg_rate, a pause occurs at the current slice.
[0174] For the recognition of dragging: if the difference between the slice number of the next slice and the current slice is greater than 1, then it is recorded that dragging occurs once at the current slice.
[0175] For the identification of jamming: if ext_time_rel>ext_time, and during the business continuity process, the ext_rate of at least one slice in each slice is less than ext_avg_rate, then a jam occurs in the current slice.
[0176] Compared with related technologies, the slice video freeze identification method provided in this embodiment does not rely on complex factors such as client cache, video resolution, and bit rate. It combines protocol analysis, data cleaning and other technologies to solve the difficulties of video analysis and improve the accuracy of video freeze identification.
[0177] Embodiment 5:
[0178] This embodiment provides a storage medium, which can store one or more computer programs that can be read, compiled and executed by one or more processors. In this embodiment, the storage medium can store a slice video jam recognition program, which can be executed by one or more processors to implement the process of any slice video jam recognition method introduced in the aforementioned embodiment.
[0179] This embodiment also provides a network device, such as Figure 11 As shown: the network device 11 includes a processor 111, a memory 112, and a communication bus 113 for connecting the processor 111 and the memory 112, wherein the memory 112 can be the storage medium storing the slice video jam recognition program. The processor 111 can read the slice video jam recognition program, compile and execute the process of implementing the slice video jam recognition method described in the above embodiment:
[0180] The processor 111 of the network device 11 collects signaling data on the core network link, and then obtains the slice index file and the slice download information associated with the slice index file according to the signaling data. Subsequently, the processor 111 identifies the freeze during the slice video playback process according to the slice index file and the slice download information.
[0181] When the processor 111 obtains the slice index file and the slice download information associated with the slice index file according to the signaling data, it can obtain the slice index file according to the signaling data and obtain the slice download information according to the signaling data. Then, the processor 111 determines the association and correspondence between the obtained slice index file and the slice download information according to the URI in the slice index file and the download address corresponding to the slice download information.
[0182] After the processor 111 obtains the slice index file according to the signaling data and obtains the slice download information according to the signaling data, it can also save the obtained slice index file in the dimension table and save the obtained slice download information in the fact table. After the processor 111 determines the associated correspondence between the obtained slice index file and the slice download information based on the URI in the slice index file and the download address corresponding to the slice download information, the processor 111 can also fill the information of the slice index file in the dimension table into the fact table according to the associated correspondence with the slice as the granularity.
[0183] In some examples of this embodiment, the signaling data includes an HTTP-GET request. When the processor 111 obtains the slice index file based on the signaling data, it can first identify the slice index file download request in the HTTP-GET request, then parse the payload data of the slice index file download request, and then restore the slice index file based on the parsing result.
[0184] In another example of this embodiment, when the processor 111 obtains slice download information based on signaling data, it can identify the slice download request in the HTTP-GET request, and then parse the header parameters of the slice download request to obtain the slice download information.
[0185] In some examples of this embodiment, when the processor 111 identifies a freeze during the playback of a slice video based on the slice index file and the slice download information, it can detect the pause at the current slice based on the slice index file and the slice download information, with the current slice being the current detection object; when it is determined that there is a pause at the current slice, the pause is identified as a freeze based on the slice index file and the slice download information, and then the freeze in the playback of the current slice is recorded.
[0186] When the processor 111 detects a pause at the current slice based on the slice index file and the slice download information, it can determine the theoretical cumulative playback duration of the current service continuity process based on the slice duration of each slice in the slice index file, and determine the actual cumulative playback duration of the service continuity process based on the request time of each slice download request in the slice download information. The service continuity process is a process in which the slice sequence number and playback time are continuous when playing the slices. The theoretical cumulative playback duration is the sum of the slice durations of each slice played during the service continuity process, and the actual cumulative playback duration is the time difference between the request time of the current slice and the request time of the initial slice, where the initial slice is the first slice played during the service continuity process. If the actual cumulative playback duration is greater than the theoretical cumulative playback duration, the processor 111 determines that a pause has occurred at the current slice.
[0187] Optionally, when the processor 111 identifies a pause as a freeze based on the slice index file and the slice download information, it determines the expected download speed for each slice based on the size of each slice in the slice index file and the slice duration of each slice, and determines the actual single-slice download speed of each slice during the current service continuity process based on the slice download information. The service continuity process is a process in which the slice sequence number and playback time are both continuous when playing the slice; the expected download speed is the ratio of the sum of the file sizes of all slices corresponding to the slice index file to the sum of the slice durations. If the single-slice download speed of at least one slice in the service continuity process is less than the expected download speed, the processor 111 determines that the pause in the current slice is a freeze.
[0188] In some examples of this embodiment, when the processor 111 determines the actual single-slice download speed of each slice in the business continuity process based on the slice download information, for each slice in the business continuity process, the sum of the IP layer byte lengths of all messages in the slice download process is determined based on the slice download information corresponding to the slice, and the process time spent in the slice download process is determined, and then the ratio of the sum of the IP layer byte lengths of all messages to the process time is determined as the single-slice download speed of the slice.
[0189] Optionally, the processor 111 may determine the time when the first data packet in the slice download process is returned as the initial packet return time, and determine the time when the last data packet in the slice download process is returned as the final packet return time. The processor 111 then determines the time difference between the final packet return time and the initial packet return time as the process time spent on the slice download process.
[0190] After the processor 111 detects the pause condition at the current slice according to the slice index file and the slice download information, it can also identify the pause as a pause according to the slice index file and the slice download information when determining that there is a pause at the current slice, and record the pause at the current slice.
[0191] When the processor 111 identifies a pause as a pause based on the slice index file and the slice download information, it can determine the expected download speed for each slice based on the size of each slice and the slice duration of each slice in the slice index file, and determine the actual single-slice download speed of each slice during the current service continuity process based on the slice download information. The service continuity process is a process in which the slice sequence number and playback time are continuous when playing the slice. If the single-slice download speed of all slices during the service continuity process is greater than the expected download speed, the processor 111 determines that a pause has occurred in the current slice.
[0192] When the processor 111 detects a pause at the current slice based on the slice index file and the slice download information, it can determine the request time of the current slice and the request time of the next slice based on the request time of each slice download request in the slice download information, and determine the slice duration of the current slice based on the slice duration of each slice in the slice index file, where the next slice is the slice after the current slice. The processor 111 then determines the time difference between the request time of the next slice and the request time of the current slice. If the time difference is greater than the slice duration of the current slice, it is determined that a pause has occurred at the current slice.
[0193] In some examples, the processor 111 may further detect a dragging condition at the current slice according to the slice index file, and record the dragging when determining that the dragging occurs at the current slice.
[0194] For example, the processor 111 determines the slice number of the current slice and the slice number of the next slice according to the slice index file, where the next slice is the slice after the current slice. If the difference in the slice number between the next slice and the current slice is greater than 1, it is determined that dragging exists at the current slice.
[0195] The network device provided in this embodiment can not only obtain the download status of a single slice based on the slice download information when evaluating the slice video service, but also because the network device also obtains the slice index file through the collected signaling data, and the slice index file corresponds to multiple or even all slices in a video at the same time, therefore, the use of the slice index file, combined with the slice download information corresponding to the slice index file, can reflect the smoothness of the download and playback of multiple slices in the slice video service. At the same time, because the playback of each slice in the slice index file is normally played one by one in sequence, the combination of the slice index file and the slice download information can also determine the relationship between the download and playback process of one slice in the slice index file and the download and playback process of another slice in the slice index file, thereby identifying the jamming between slices. Therefore, the network device in this embodiment can accurately identify the jamming in the slice video service process, so that the evaluation result is more consistent with the user's real experience, providing a basis for subsequent improvements to the slice video service.
[0196] Obviously, those skilled in the art should understand that all or some of the steps, systems, and functional modules / units in the methods disclosed above can be implemented as software (which can be implemented using program code executable by a computing device), firmware, hardware, and appropriate combinations thereof. In hardware implementations, the division between the functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components; for example, a physical component can have multiple functions, or a function or step can be performed by several physical components in cooperation. Some physical components or all physical components can be implemented as software executed by a processor, such as a central processing unit, a digital signal processor, or a microprocessor, or implemented as hardware, or implemented as an integrated circuit, such as an application-specific integrated circuit. Such software can be distributed on a computer-readable medium and executed by a computing device, and in some cases, the steps shown or described can be performed in an order different from that shown here. The computer-readable medium can include computer storage media (or non-transitory media) and communication media (or transient media). As is well known to those skilled in the art, the term computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information (such as computer-readable instructions, data structures, program modules or other data). Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by a computer. Furthermore, as is well known to those skilled in the art, communication media typically contains computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media. Therefore, the present invention is not limited to any particular combination of hardware and software.
[0197] The above content is a further detailed description of the embodiments of the present invention in conjunction with specific implementation methods, and the specific implementation of the present invention cannot be considered to be limited to these descriptions. For those skilled in the art of the present invention, without departing from the concept of the present invention, several simple deductions or substitutions can be made, which should be considered to fall within the scope of protection of the present invention.
Claims
1. A method for identifying freezes in sliced videos, comprising: Collect signaling data on core network links; Obtaining a slice index file and slice download information associated with the slice index file according to the signaling data; wherein the slice index file is used to determine an expected download speed of each slice; and the slice download information is used to determine an actual single-slice download speed of each slice; The jamming during the playback of the slice video is identified according to the expected download speed of each slice and the actual single-slice download speed of each slice.
2. The method for identifying freezes in sliced video according to claim 1, wherein: The acquiring of the slice index file and the slice download information associated with the slice index file according to the signaling data includes: Obtaining a slice index file according to the signaling data, and obtaining slice download information according to the signaling data; The association and correspondence between the obtained slice index file and the slice download information is determined according to the uniform resource identifier URI in the slice index file and the download address corresponding to the slice download information.
3. The method for identifying freeze in sliced video according to claim 2, wherein: After obtaining the slice index file according to the signaling data and obtaining the slice download information according to the signaling data, the method further includes: Save the obtained slice index file in the dimension table, and save the obtained slice download information in the fact table; After determining the association and correspondence between the obtained slice index file and the slice download information according to the uniform resource identifier URI in the slice index file and the download address corresponding to the slice download information, the method further includes: The information of the slice index file in the dimension table is filled into the fact table according to the associated correspondence with slices as the granularity.
4. The method for identifying freezes in sliced video according to claim 2, wherein: The signaling data includes an HTTP-GET request, and obtaining a slice index file according to the signaling data includes: Identify a slice index file download request in the HTTP-GET request; Parsing the payload data of the slice index file download request; Restore the slice index file based on the parsing results.
5. The method for identifying freeze in sliced video according to claim 2, wherein: The signaling data includes an HTTP-GET request, and obtaining the slice download information according to the signaling data includes: Identify a slice download request in the HTTP-GET request; Parse the header parameters of the slice download request to obtain slice download information.
6. The method for identifying freeze in sliced video according to any one of claims 1 to 5, wherein: Also includes: Detecting a pause condition at a current slice according to the slice index file and the slice download information, wherein the current slice is a current detection object; When it is determined that a pause exists at the current slice, identifying the pause as a freeze according to the slice index file and the slice download information; Records that the playback of the current slice is lag.
7. The method for identifying freezes in sliced video according to claim 6, wherein: The detecting the pause condition at the current slice according to the slice index file and the slice download information includes: The theoretical cumulative playback time of the current business continuity process is determined based on the slice duration of each slice in the slice index file, and the actual cumulative playback time of the business continuity process is determined based on the request time of each slice download request in the slice download information; the business continuity process is a process in which the slice sequence number and playback time are continuous when playing slices; the theoretical cumulative playback time is the sum of the slice durations of each slice played during the business continuity process, and the actual cumulative playback time is the time difference between the request time of the current slice and the request time of the initial slice, where the initial slice is the first slice played during the business continuity process; If the actual cumulative playback time is greater than the theoretical cumulative playback time, it is determined that a pause occurs at the current slice.
8. The method for identifying freezes in sliced video according to claim 6, wherein: The identifying the freeze during the playback of the slice video according to the expected download speed of each slice and the actual single-slice download speed of each slice includes: Determining an expected download speed for each slice based on the size of each slice and the slice duration of each slice in the slice index file, and determining an actual single-slice download speed for each slice during a current service continuity process based on the slice download information, wherein the service continuity process is a process in which both the slice sequence number and the playback time are continuous when playing the slice; the expected download speed is the ratio of the sum of the file sizes of all slices corresponding to the slice index file to the sum of the slice durations; If the single-slice download speed of at least one slice in the service continuity process is lower than the expected download speed, the pause at the current slice is determined to be a freeze.
9. The method for identifying freezes in sliced video according to claim 8, wherein: Determining the actual single-slice download speed of each slice in the service continuity process according to the slice download information includes: For each slice in the service continuity process, determine the sum of the IP layer byte lengths of all messages in the slice download process according to the slice download information corresponding to the slice, and determine the process time spent on the slice download process; Determine the ratio of the sum of the IP layer byte lengths of all the messages to the process time as the single slice download speed of the slice.
10. The method for identifying freeze in sliced video according to claim 9, wherein: The process time spent in determining the slice download process includes: Determine the time when the first data packet in the slice download process is returned as the initial packet return time, and determine the time when the last data packet in the slice download process is returned as the last packet return time; The time difference between the last packet return time and the first packet return time is determined as the process time spent in the slice download process.
11. The method for identifying freezes in sliced video according to claim 6, wherein: After detecting the pause condition of the current slice according to the slice index file and the slice download information, the method further includes: When it is determined that there is a pause at the current slice, identifying the pause as a pause according to the slice index file and the slice download information; The pause at the current slice is recorded.
12. The method for identifying freezes in sliced video according to claim 11, wherein: The identifying the pause as a pause according to the slice index file and the slice download information includes: Determining the expected download speed of each slice based on the size of each slice and the slice duration of each slice in the slice index file, and determining the actual single-slice download speed of each slice during the current service continuity process based on the slice download information, wherein the service continuity process is a process in which the slice sequence number and the playback time are continuous when playing the slice; If the single-slice download speeds of all slices in the service continuity process are greater than the expected download speed, it is determined that a pause occurs at the current slice.
13. The method for identifying freezes in sliced video according to claim 11, wherein: The detecting the pause condition at the current slice according to the slice index file and the slice download information includes: Determining the request time of the current slice and the request time of the next slice according to the request time of downloading each slice in the slice download information, and determining the slice duration of the current slice according to the slice duration of each slice in the slice index file, where the next slice is the slice after the current slice; Determining a time difference between a request time for the next slice and a request time for the current slice; If the time difference is greater than the slice duration of the current slice, it is determined that a pause occurs at the current slice.
14. The method for identifying freezes in sliced video according to claim 6, wherein: The slice video freeze identification method further includes: Detecting the dragging status of the current slice according to the slice index file; When it is determined that dragging occurs at the current slice, the dragging is recorded.
15. The method for identifying freezes in sliced video according to claim 14, wherein: Detecting the dragging status of the current slice according to the slice index file includes: Determine a slice sequence number of the current slice and a slice sequence number of a next slice according to the slice index file, where the next slice is a slice after the current slice; If the difference between the slice sequence numbers of the next slice and the current slice is greater than 1, it is determined that dragging exists at the current slice.
16. A network device comprising a processor, a memory, and a communication bus; The communication bus is used to realize the connection and communication between the processor and the memory; The processor is used to execute one or more programs stored in the memory to implement the steps of the slice video freeze identification method as described in any one of claims 1 to 15.
17. A storage medium, characterized in that: The storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the steps of the slice video freeze identification method as described in any one of claims 1 to 15.
Citation Information
Patent Citations
HLS live stream buffering diagnosis method
CN106803951A
Video lagging detection method and detection system, mobile terminal and storage device
CN109936769A