Streaming media service performance evaluation system and its method, device and program product

By introducing clock synchronization and proxy mechanisms into the streaming media service performance evaluation system, and collecting and calculating multiple performance indicators, the problem of low efficiency of streaming media performance evaluation in mobile network scenarios is solved, and objective measurement and versatility at the overall system level are achieved.

CN118803282BActive Publication Date: 2025-10-03CHINA MOBILE GRP BEIJING +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310812543.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-07-04
Publication Date
2025-10-03
Estimated Expiration
2043-07-04

AI Technical Summary

Technical Problem

Existing technologies for streaming media performance evaluation in mobile network scenarios lack an overall system-level solution, resulting in low evaluation efficiency, insufficient versatility and objectivity, and an inability to effectively combine network performance for comprehensive evaluation.

Method used

A streaming media service performance evaluation system is provided, which includes a client subsystem, a mobile communication subsystem and a server subsystem. Through clock synchronization and proxy mechanism, it collects and calculates various performance indicators of streaming media services and generates a performance evaluation report.

Benefits of technology

It achieves objective measurement of streaming media service performance, improves evaluation efficiency, reduces development difficulty, supports multiple streaming media protocols, and is closely integrated with network performance, with strong versatility and accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118803282B_ABST
    Figure CN118803282B_ABST
Patent Text Reader

Abstract

The present application relates to the field of communication technology, and provides a streaming media service performance evaluation system and its method, device and program product. The core of the system is synchronous processing and indicator calculation based on the proxy mechanism. By introducing relevant performance indicators of mobile communication networks, it focuses on the characteristics of the integration of streaming media and mobile networks, and better objectively measures the streaming media service and mobile communication network as a whole system. On the other hand, through the proxy mechanism, the objective indicators related to streaming media performance are accurately measured. This method has strong versatility and is independent of media formats, codecs, streaming media server software, and mobile network standards. At the same time, it does not participate in encoding and decoding, which greatly reduces the difficulty of developing performance indicator measurement; it supports multiple mainstream streaming media protocols, effectively solving the problems of complex streaming media performance measurement, insufficient versatility, loose network integration, and high development difficulty; based on this, the efficiency of streaming media service performance evaluation is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a streaming media service performance evaluation system and its method, device, and program product. Background Art

[0002] Currently, streaming media performance metrics in mobile network scenarios primarily focus on image quality evaluation and client-side packet analysis, without integrating the network into a holistic, system-level solution. Consequently, they lack universality and objectivity. This is particularly evident in two aspects: client-based evaluation research focuses heavily on client-side packet capture analysis, lacking a comprehensive assessment that integrates overall network performance; and image-based evaluation lacks universality and is difficult to customize. Consequently, streaming media performance evaluation is inefficient. Summary of the Invention

[0003] The embodiments of the present application provide a streaming media service performance evaluation system and method, device, and program product thereof, to solve the problem of low efficiency in streaming media service performance evaluation.

[0004] In a first aspect, an embodiment of the present application provides a streaming media service performance evaluation system, comprising:

[0005] A client subsystem, a mobile communication subsystem, and a server subsystem; the client subsystem and the server subsystem are communicatively connected via the mobile communication subsystem;

[0006] The mobile communication subsystem includes a clock synchronization system; the server subsystem includes a proxy player; the client subsystem includes a proxy server and a client scheduling controller connected to the proxy server;

[0007] The clock synchronization system is used to synchronize the time of the client subsystem and the server subsystem;

[0008] The proxy player is configured to collect a first performance indicator of a streaming media service, generate downlink data based on the first performance indicator, and send the downlink data to the proxy server;

[0009] The proxy server is configured to receive downlink data sent by the proxy player, obtain the first performance indicator based on the downlink data, collect the second performance indicator of the streaming service, and send the first performance indicator and the second performance indicator to the client scheduling controller;

[0010] The client scheduling controller is used to generate a performance evaluation report based on the received first performance indicator and the second performance indicator, so as to evaluate the streaming media service performance based on the performance evaluation report.

[0011] In one embodiment, the client subsystem further includes a streaming media player; the client scheduling controller, the streaming media player and the proxy server are connected to each other;

[0012] The server subsystem further includes a server scheduling controller and a streaming media server; the server scheduling controller, the streaming media server and the proxy player are interconnected;

[0013] The proxy server is further configured to receive a play request sent by the streaming media player, record a first reception time of the play request, generate a first data packet based on the first reception time and the play request data packet, and send the first data packet to the proxy player;

[0014] The proxy player is further configured to receive the first data packet, record a second reception time of the first data packet, parse the first data packet to obtain the play request data packet, and send the play request data packet to the streaming media server;

[0015] The streaming media server is configured to receive the play request data packet and send a streaming media data packet to the proxy player based on the play request data packet;

[0016] The proxy player is further configured to receive the streaming data packet, and if it is determined that the type of the streaming data packet is a video frame, record a third reception time of the streaming data packet; determine an uplink transmission delay of the play instruction based on the first reception time and the second reception time; determine a processing delay of the streaming data packet based on the third reception time; generate a second data packet based on the streaming data packet, the uplink transmission delay, and the processing delay, and send the second data packet to the proxy server; the first performance indicator includes the uplink transmission delay and the processing delay;

[0017] The proxy server is further configured to receive the second data packet and record a fourth receiving time of the second data packet to determine a second performance indicator.

[0018] In one embodiment, the proxy server is specifically configured to:

[0019] Parsing the second data packet to obtain the first receiving time, the third receiving time, and the processing delay;

[0020] Determine a downlink network transmission delay based on the third reception time and the fourth reception time;

[0021] Determine a first packet delay based on the first receiving time and the fourth receiving time;

[0022] Determining a first frame delay based on the first packet delay, the downlink network transmission delay, the processing delay, and the decoding delay;

[0023] Determining a frame delay based on the downlink network transmission delay, the processing delay, and the decoding delay;

[0024] Determining an average frame delay based on the number of frames played, the first frame delay, and the frame delay;

[0025] Determining frame jitter based on the first frame delay and the frame delay; or determining frame jitter based on the frame delay;

[0026] determining a bit rate based on the size of each data packet and the fourth reception time;

[0027] Determine a frame loss rate based on the number of lost frames and the total number of video frames;

[0028] Determine the packet loss rate based on the number of lost packets and the total number of data packets;

[0029] The second performance indicator includes the downlink network transmission delay, the first packet delay, the first frame delay, the frame delay, the average frame delay, the frame jitter, the bit rate, the frame loss rate and the packet loss rate.

[0030] In one embodiment, the client scheduling controller is used to send a video source request to the server scheduling controller;

[0031] The server-side scheduling controller is configured to receive the video source request and send video source information to the client-side scheduling controller based on the video source request;

[0032] The client scheduling controller is further configured to receive the video source information and send a play instruction to the streaming media player based on the video source information;

[0033] The streaming media player is configured to receive the play instruction and send a play request to the proxy server based on the play instruction.

[0034] In one embodiment, the client scheduling controller is further configured to send a connection instruction to the streaming media player;

[0035] The streaming media player is further configured to receive the connection instruction and send a connection request to the streaming media server based on the connection instruction;

[0036] The proxy server is further configured to intercept the connection request and forward the connection request to the streaming media server;

[0037] The streaming media server is further configured to receive the connection request and send connection confirmation information to the proxy server;

[0038] The proxy server is further configured to send the connection confirmation information to the streaming media player and the client scheduling controller;

[0039] The client scheduling controller is further configured to receive the connection confirmation information and send a synchronization instruction to the proxy server;

[0040] The proxy server is further configured to receive the synchronization instruction, write an initial synchronization sequence number into a synchronization message based on the synchronization instruction, and send a synchronization request to the proxy player based on the synchronization message;

[0041] The proxy player is further configured to receive the synchronization request, update the initial synchronization sequence number in the synchronization request to the local device, write the confirmed initial synchronization sequence number into a synchronization response message, and send the synchronization response message to the proxy server;

[0042] The proxy server is further configured to receive the synchronization response message, update the initial synchronization sequence number in the synchronization response message to the local server, and send a synchronization confirmation message to the client scheduling controller.

[0043] In one embodiment, the first data packet and the second data packet include a proxy layer header, and the proxy layer header includes a message type, a message length, a timestamp, a synchronization sequence number, a frame sequence number, and a message body.

[0044] In a second aspect, an embodiment of the present application provides a method for evaluating streaming media service performance, including:

[0045] Receive downlink data sent by the proxy player;

[0046] Acquire a first performance indicator based on the downlink data, and collect a second performance indicator of the streaming media service;

[0047] The first performance indicator and the second performance indicator are sent to the client scheduling controller; the client scheduling controller generates a performance evaluation report based on the first performance indicator and the second performance indicator to evaluate the streaming media service performance based on the performance evaluation report.

[0048] In one embodiment, collecting the second performance indicator of the streaming media service includes:

[0049] Based on the downlink data, obtaining a first receiving time, a third receiving time, and a processing delay;

[0050] Determine the downlink network transmission delay based on the third receiving time and the fourth receiving time; the fourth receiving time is the time point when the proxy server receives the second data packet;

[0051] Determine a first packet delay based on the first receiving time and the fourth receiving time;

[0052] Determining a first frame delay based on the first packet delay, the downlink network transmission delay, the processing delay, and the decoding delay;

[0053] Determining a frame delay based on the downlink network transmission delay, the processing delay, and the decoding delay;

[0054] Determining an average frame delay based on the number of frames played, the first frame delay, and the frame delay;

[0055] Determining frame jitter based on the first frame delay and the frame delay; or determining frame jitter based on the frame delay;

[0056] determining a bit rate based on the size of each data packet and the fourth reception time;

[0057] Determine a frame loss rate based on the number of lost frames and the total number of video frames;

[0058] Determine the packet loss rate based on the number of lost packets and the total number of data packets;

[0059] The second performance indicator includes the downlink network transmission delay, the first packet delay, the first frame delay, the frame delay, the average frame delay, the frame jitter, the bit rate, the frame loss rate and the packet loss rate.

[0060] In a third aspect, an embodiment of the present application provides an electronic device, comprising a processor and a memory storing a computer program, wherein when the processor executes the program, the steps of the streaming media service performance evaluation method described in the first aspect are implemented.

[0061] In a fourth aspect, an embodiment of the present application provides a computer program product, including a computer program, which, when executed by a processor, implements the steps of the streaming media service performance evaluation method described in the first aspect.

[0062] The embodiment of the present application provides a streaming media service performance evaluation system and its method, device and program product. The core of the system is synchronization processing and indicator calculation based on the proxy mechanism. By introducing performance indicators related to mobile communication networks, it focuses on the characteristics of the integration of streaming media and mobile networks, and better objectively measures streaming media services and mobile communication networks as a whole system. On the other hand, through the proxy mechanism, objective indicators related to streaming media performance are accurately measured. This method has strong versatility and is independent of media formats, codecs, streaming media server software, and mobile network standards. At the same time, it does not participate in encoding and decoding, which greatly reduces the difficulty of developing performance indicator measurement. It supports multiple mainstream streaming media protocols and effectively solves the problems of complex streaming media performance measurement, insufficient versatility, loose network integration, and high development difficulty. Based on this, the efficiency of streaming media service performance evaluation is improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0063] In order to more clearly illustrate the technical solutions in the present application or the prior art, a brief introduction will be given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0064] Figure 1 This is one of the structural diagrams of the streaming media service performance evaluation system provided in the embodiment of the present application;

[0065] Figure 2 This is the second structural diagram of the streaming media service performance evaluation system provided in the embodiment of the present application;

[0066] Figure 3 This is a schematic diagram of the structure of the proxy layer data packet header provided in an embodiment of the present application;

[0067] Figure 4 This is a flow chart of test initiation and connection synchronization provided by an embodiment of the present application;

[0068] Figure 5 This is a flowchart of playback processing and indicator acquisition provided by an embodiment of the present application;

[0069] Figure 6 This is a flow chart of a method for evaluating streaming media service performance provided by an embodiment of the present application;

[0070] Figure 7 It is a structural diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0071] To make the objectives, technical solutions, and advantages of this application more clear, the technical solutions in this application will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of this application. Obviously, the described embodiments are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making any creative efforts are within the scope of protection of this application.

[0072] Figure 1 This is one of the structural diagrams of the streaming media service performance evaluation system provided in the embodiment of this application. Figure 1 , an embodiment of the present application provides a streaming media service performance evaluation system, comprising: a client subsystem, a mobile communication subsystem, and a server subsystem; the client subsystem and the server subsystem are communicatively connected via the mobile communication subsystem;

[0073] The mobile communication subsystem includes a clock synchronization system; the server subsystem includes a proxy player; the client subsystem includes a proxy server and a client scheduling controller connected to the proxy server;

[0074] Clock synchronization system, used to synchronize the time of the client subsystem and the server subsystem;

[0075] The proxy player is configured to collect a first performance indicator of the streaming media service, generate downlink data based on the first performance indicator, and send the downlink data to the proxy server;

[0076] The proxy server is configured to receive downlink data sent by the proxy player, obtain a first performance indicator based on the downlink data, collect a second performance indicator of the streaming media service, and send the first performance indicator and the second performance indicator to the client scheduling controller;

[0077] The client scheduling controller is used to generate a performance evaluation report based on the received first performance indicator and the second performance indicator, so as to evaluate the performance of the streaming media service based on the performance evaluation report.

[0078] It should be noted that, based on different division methods, the modules / devices included in the streaming media service performance evaluation system are different. For example, Figure 2 ,From the classification of equipment type and software type, the ,streaming media service performance evaluation system includes client ,performance evaluation software, server performance evaluation software, performance evaluation client, ,wireless access equipment, mobile communication network, performance evaluation server and Beidou ,clock synchronization module. The connection relationships of each part are ,such as follows: Figure 2The performance evaluation client software is deployed on the evaluation client and connected to the wireless access device. One or more wireless devices are connected to the mobile communication network, and the core network is connected to the performance evaluation server. The performance evaluation client and performance evaluation server must be connected to the Beidou clock synchronization module to accurately align the clocks and eliminate synchronization measurement errors.

[0079] From the functional module point of view, the streaming media service performance evaluation system includes three subsystems: client subsystem, server subsystem and mobile communication subsystem. Figure 1 To accurately capture key performance indicator data for streaming media, the client subsystem and server subsystem each set up proxy services to rapidly forward data packets while performing secondary processing on them, including timestamping, de-timestamping, handshake control, and synchronization control. This allows for the capture of key performance data without affecting the transmission of real-time video streams.

[0080] The mobile communication subsystem includes a clock synchronization system, wireless access equipment, and a mobile communication network. The functions of each part are as follows:

[0081] The clock synchronization system can be the Beidou system, which is used for network clock synchronization. It synchronizes the time of the client subsystem and the server subsystem in the mobile communication subsystem, so that both parties have a common reference clock when calculating performance indicators such as delay, jitter, packet loss rate, video frame delay, video frame jitter, etc., thereby eliminating errors.

[0082] Wireless access devices are mobile communication terminals. You can choose mobile communication network access devices such as wireless routers, CPE (Customer Premise Equipment), mobile phones, DTU (Data Terminal Unit) data transmission modules, etc. In the mobile communication subsystem, they are used to connect client computers to the mobile communication network, thereby establishing a wireless transmission channel between the client subsystem and the server subsystem.

[0083] The mobile communication network can be selected from 3G / 4G / 5G / WIFI networks. For example, taking the 5G network as an example, the 5G network can be selected from two modes: SA (Standalone) and NSA (Non-Standalone).

[0084] The client subsystem includes a proxy server, a client scheduling controller, and a streaming media player. The proxy server, client scheduling controller, and streaming media player are interconnected. The functions of each part are as follows:

[0085] The client scheduling controller is used to schedule various modules within the client, start and monitor the operating status of various modules within the client.

[0086] Streaming media players are general streaming media playback software, such as Windows Media Player, FFPlayer, VLC player, Realplayer, RTSP player, FLV player, etc., which are used to play streaming media.

[0087] The proxy server module's main functions include intercepting uplink data from the streaming media player and transmitting it to the server subsystem via the mobile communications subsystem. It also receives downlink data from the server subsystem, processes it, and forwards it to the streaming media player. It adds a proxy layer header to the uplink data and parses the proxy layer header information of the received downlink data packets. It calculates relevant metrics, monitors and analyzes network performance and streaming media service performance in real time, and generates performance evaluation reports, providing a basis for optimizing streaming media service performance. Data sent from the client subsystem to the server subsystem is called uplink data, and data sent from the server subsystem to the client subsystem is called downlink data.

[0088] The server subsystem includes a proxy player, a server-side scheduling controller, and a streaming media server. The proxy player, server-side scheduling controller, and streaming media server are interconnected. The functions of each part are as follows:

[0089] The server scheduling controller is used to schedule the various modules within the server, start and monitor the operating status of each module within the server.

[0090] The streaming media server is used to push video streams of various protocols such as RTMP, WebRTC, HLS, HTTP-FLV, SRT, etc. It is an efficient real-time video server.

[0091] The main functions of the proxy player include receiving and processing uplink data from the client's proxy server, parsing the proxy layer packet header; receiving and processing downlink data from the streaming media server, adding the proxy layer packet header; and forwarding the processed downlink data to the client's proxy server.

[0092] It should be further explained that the first performance indicators of the streaming media service are collected through the proxy player, downlink data is generated based on the first performance indicators, and the downlink data is sent to the proxy server; wherein the first performance indicators include indicators such as delay, jitter, and packet loss rate, such as the uplink transmission delay of the playback instruction and the processing delay of the streaming media data packet.

[0093] After receiving the downlink data sent by the proxy player, the proxy server obtains a first performance indicator based on the downlink data, collects a second performance indicator of the streaming service, and sends the first performance indicator and the second performance indicator to the client scheduling controller. For example, after receiving a video stream containing a synchronization header transmitted by the server subsystem, the client subsystem parses the information carried in the header through the proxy server; the proxy server measures time-related performance indicators such as latency, jitter, packet loss rate, number of lost frames, first frame delay, average frame delay, frame jitter, and first packet delay by decoding timestamps and comparing packet sequence numbers; extracts payload data through the IP encapsulation header, analyzes the streaming data packet header to measure frame-related performance indicators, and calculates frame rate, bit rate, etc. in combination with the timestamp to comprehensively measure streaming performance indicators.

[0094] The client scheduling controller generates a performance evaluation report based on the received first performance indicator and the second performance indicator, so as to evaluate the streaming media service performance based on the performance evaluation report.

[0095] It's also important to note that the addition of a proxy layer header and metric calculations to the streaming media performance evaluation system, due to the proxy mechanism, impacts performance evaluation. For example, under normal circumstances, a 10-byte proxy layer header is added to a 1500-byte regular IP packet transmission unit, and the proxy layer header accounts for 0.67% of the original IP packet. Processing proxy layer headers and streaming media headers involves index calculation based on protocol rules, which is extremely time-consuming, typically in nanoseconds. Therefore, the addition of the proxy layer header and metric calculations has no impact on overall performance evaluation.

[0096] It should be further explained that the proxy layer header includes the message type, message length, timestamp, synchronization sequence number, frame sequence number and message body. Its structure is as follows: Figure 3 As shown in the figure, the message type field occupies 1 byte. Message types are divided into control messages and performance indicator data messages, which are used to distinguish between control and performance calculation intermediate result data packets. The message length field occupies 1 byte and is used to indicate the length of the entire proxy layer packet header. The timestamp field occupies 2 bytes. The synchronization sequence number field occupies 2 bytes. The frame sequence number occupies 2 bytes. The message body is used to store performance calculation results and custom messages. Except for the first packet which requires 4 bytes, the rest occupies 2 bytes.

[0097] The streaming media service performance evaluation system provided in the embodiment of the present application has as its core the synchronous processing and index calculation based on the proxy mechanism. By introducing the performance indicators related to the mobile communication network, it focuses on the characteristics of the integration of streaming media and mobile networks, and better objectively measures the streaming media service and mobile communication network as a whole system. On the other hand, common performance evaluation tools focus on the encoding and decoding and image quality evaluation of streaming media servers and players, and rarely consider performance indicators related to network transmission. Based on this, the present application uses a proxy mechanism to accurately measure objective indicators related to streaming media performance. This method has strong versatility and is independent of media formats, codecs, streaming media server software, and mobile network standards. At the same time, it does not participate in encoding and decoding, which greatly reduces the difficulty of developing performance indicator measurement; it supports multiple mainstream streaming media protocols, effectively solving the problems of complex streaming media performance measurement, insufficient versatility, loose network integration, and high development difficulty; based on this, the efficiency of streaming media service performance evaluation is improved.

[0098] In one embodiment, the streaming media service performance evaluation system includes four stages: test initiation, connection synchronization, playback processing, and indicator acquisition.

[0099] refer to Figure 4 , Figure 4 It includes two stages: test startup and connection synchronization. Steps 1.1-1.4 are the test startup stage, and steps 2.1-2.12 are the connection synchronization stage.

[0100] Phase 1: Test startup. Following the server-side startup priority principle, the scheduling controller sequentially starts the server subsystem and client subsystem modules, preparing for the establishment of a controllable and measurable data tunnel between the client and server. The main steps are as follows:

[0101] 1.1 Start the streaming server;

[0102] 1.2 Start the proxy player;

[0103] 1.3 Start the client's streaming media player;

[0104] 1.4 Start the proxy server;

[0105] 1.5 Start the ping thread to collect network performance indicators. The proxy server periodically pings the proxy player to collect basic network performance indicators: latency, jitter, and packet loss rate.

[0106] Phase 2: Connection synchronization. To count packet loss in streaming services, the proxy server and client need to agree on the initial value of the packet sequence number. Both parties complete handshake synchronization and state synchronization in this phase. Specifically, the connection synchronization between the client and server is achieved based on the following parts:

[0107] The client scheduling controller is also used to send connection instructions to the streaming media player;

[0108] The streaming media player is further configured to receive a connection instruction and send a connection request to the streaming media server based on the connection instruction;

[0109] The proxy server is also used to intercept the connection request and forward the connection request to the streaming media server;

[0110] The streaming media server is also used to receive connection requests and send connection confirmation information to the proxy server;

[0111] The proxy server is also used to send connection confirmation information to the streaming media player and the client scheduling controller;

[0112] The client scheduling controller is also used to receive connection confirmation information and send synchronization instructions to the proxy server;

[0113] The proxy server is further configured to receive a synchronization instruction, write an initial synchronization sequence number into a synchronization message based on the synchronization instruction, and send a synchronization request to the proxy player based on the synchronization message;

[0114] The proxy player is further configured to receive a synchronization request, update the initial synchronization sequence number in the synchronization request to the local device, write the confirmed initial synchronization sequence number into a synchronization response message, and send the synchronization response message to the proxy server;

[0115] The proxy server is further configured to receive a synchronization response message, update the initial synchronization sequence number in the synchronization response message to the local computer, and send a synchronization confirmation message to the client scheduling controller.

[0116] For example, the main steps are as follows:

[0117] 2.1 The client dispatch controller sends a connection instruction to the streaming media player, instructing it to connect to the streaming media server;

[0118] 2.2 After receiving the connection instruction, the streaming media player sends a connection request to the streaming media server;

[0119] 2.3 The proxy server intercepts the connection request and forwards it to the streaming server;

[0120] 2.4 After receiving the connection request, the streaming server sends a connection confirmation after authentication, which is forwarded to the proxy server through a series of modules;

[0121] 2.5 The proxy server forwards the connection confirmation to the streaming media player;

[0122] 2.6 The proxy server forwards the connection confirmation to the client scheduling controller;

[0123] 2.7 The client dispatch controller sends synchronization instructions to the proxy server;

[0124] 2.8 The proxy server writes the initial synchronization sequence number into the synchronization message and sends a synchronization request to the proxy player;

[0125] 2.9 After receiving the synchronization request, the proxy player updates the initial synchronization sequence number locally;

[0126] 2.10 The proxy player writes the confirmed initial synchronization sequence number into the synchronization response message and returns it to the proxy server;

[0127] 2.11 The proxy server receives the synchronization response message and updates the final confirmed initial synchronization sequence number locally;

[0128] 2.12 The proxy server sends a synchronization confirmation to the client scheduler, and both parties enter the synchronization state.

[0129] Further, refer to Figure 5 , Figure 5 It includes two stages: playback processing and indicator acquisition. Steps 3.1-3.11 are the playback processing stage, and steps 4.1-4.8 are the indicator acquisition stage.

[0130] Phase 3: Playback Processing. Before the streaming media player plays a video, it first needs to obtain the video file list from the streaming media server, and then play the file on demand according to the playlist. The time points used for evaluation and measurement are obtained from the Beidou clock module. Specifically, the playback processing is implemented based on the following parts:

[0131] The proxy server is further configured to receive a play request sent by the streaming media player, record a first reception time of the play request, generate a first data packet based on the first reception time and the play request data packet, and send the first data packet to the proxy player;

[0132] The proxy player is further configured to receive the first data packet, record the second reception time of the first data packet, parse the first data packet to obtain a play request data packet, and send the play request data packet to the streaming media server;

[0133] The streaming media server is configured to receive a play request data packet and send a streaming media data packet to the proxy player based on the play request data packet;

[0134] The proxy player is also used to receive streaming data packets. If the type of the streaming data packet is determined to be a video frame, the third reception time of the streaming data packet is recorded; based on the first reception time and the second reception time, the uplink transmission delay of the play instruction is determined; based on the third reception time, the processing delay of the streaming data packet is determined; based on the streaming data packet, the uplink transmission delay and the processing delay, a second data packet is generated, and the second data packet is sent to the proxy server; the first performance indicator includes the uplink transmission delay and the processing delay.

[0135] For example, the main steps are as follows:

[0136] 3.1 The client dispatch controller sends a video source request, which is forwarded to the server dispatch controller through the intermediate link, requesting a playlist;

[0137] 3.2 The server-side scheduling controller returns the current video source information, which is forwarded to the client-side scheduling controller through the intermediate forwarding link;

[0138] 3.3 The client dispatch controller selects the playback source and sends playback instructions to the streaming media player;

[0139] 3.4 The streaming media player receives the play instruction and sends a play request to the streaming media server;

[0140] 3.5 The proxy server intercepts the playback request and records the current point (first receiving time), and add the proxy layer header based on the play request data packet as shown in Table 1, where the message type field is assigned to control message, the message length is assigned to 8, and the timestamp field is assigned to ;

[0141] Table 1

[0142]

[0143] 3.6 The proxy server forwards the data packet with the proxy layer header added to the proxy player;

[0144] 3.7 The proxy player receives the data packet and records the current time point (second receiving time);

[0145] 3.8 The proxy player decrypts the packet header and extracts the timestamp. ;

[0146] 3.9 The proxy player takes out the original play request data packet and forwards it to the streaming media server;

[0147] 3.10 The streaming media server pushes streaming media data packets to the proxy player;

[0148] 3.11 After receiving the streaming data packet, the proxy player determines the type of streaming data packet by decompressing the packet header. If it is a video frame, it records the current time point. (Third reception time).

[0149] The fourth stage: indicator acquisition. The measurement indicators mainly include: delay, jitter, packet loss rate, number of lost frames, frame jitter, first frame delay, average frame delay, bit rate, frame rate, first packet delay, etc. In order to accurately obtain performance indicators, assuming that the current message synchronization sequence number is i, the four steps 3.5, 3.7, 3.11, and 4.3 respectively mark the timestamp T1 of the proxy server's play request uplink packet, the timestamp T2 of the proxy player receiving the play request uplink, and the timestamp T of the proxy player receiving the data packet pushed by the streaming server. 3_i , Timestamp T of the proxy server receiving the streaming data packet 4_i , from this we can calculate the processing delay T of the streaming server data packet 3_i -T 3_i-1 , network transmission delay T 4_i -T 3_i The same frame data is marked with the same frame number. The data packet timestamp processing flow during playback is shown in Table 2.

[0150] Table 2

[0151]

[0152] Specifically, the indicators are obtained based on the following parts:

[0153] The proxy server is further configured to receive a second data packet and record a fourth receiving time of the second data packet to determine a second performance indicator.

[0154] Proxy servers are used to:

[0155] Parsing the second data packet to obtain the first receiving time, the third receiving time, and the processing delay;

[0156] Determine a downlink network transmission delay based on the third reception time and the fourth reception time;

[0157] Determining a first packet delay based on the first receiving time and the fourth receiving time;

[0158] Determine the first frame delay based on the first packet delay, downlink network transmission delay, processing delay, and decoding delay;

[0159] Determine the frame delay based on the downlink network transmission delay, processing delay, and decoding delay;

[0160] Determine the average frame delay based on the number of frames played, first frame delay, and frame delay;

[0161] Determine frame jitter based on first frame delay and frame delay; or determine frame jitter based on frame delay;

[0162] determining a bit rate based on the size of each data packet and a fourth reception time;

[0163] Determine a frame loss rate based on the number of lost frames and the total number of video frames;

[0164] Determine the packet loss rate based on the number of lost packets and the total number of data packets;

[0165] The second performance indicator includes downlink network transmission delay, first packet delay, first frame delay, frame delay, average frame delay, frame jitter, bit rate, frame loss rate and packet loss rate.

[0166] The main steps are as follows:

[0167] 4.1 The proxy player performs performance index calculation preprocessing and adds a proxy layer header, including the following steps:

[0168] (1) Calculate the uplink transmission delay of the play command: T2-T1;

[0169] (2) Calculate the media data packet processing delay of the streaming media server: T 3_i -T 3_i-1 ;

[0170] (3) For the first message, assign the message length field to 12, and set the uplink transmission delay of the play instruction T2-T1 and the media data packet processing delay of the streaming media server T 3_1 -T2, encoded into the message body of the proxy layer header, and the timestamp field is assigned to T 3_1 , the synchronization sequence number field is 1, and the frame sequence number field is 1. The content of the proxy layer header is shown in Table 3.

[0171] Table 3

[0172]

[0173] (4) For the messages after the first message, assign the message length field to 10 and set the media data packet processing delay of the streaming media server to T 3_i -T 3_i-1 Encoded into the message body of the proxy layer header, and the timestamp field is assigned to T 3_i , assign the synchronization sequence number field to i, and assign the frame sequence number field to j. The contents of the proxy layer header are shown in Table 4.

[0174] Table 4

[0175]

[0176] 4.2 The proxy player forwards the data packet with the proxy layer header added to the proxy server;

[0177] 4.3 After the proxy server receives the data packet, it records the current time point T 4_i ;

[0178] 4.4 The proxy server decodes the proxy layer header;

[0179] 4.5 The proxy server forwards the original streaming data packet to the streaming player;

[0180] 4.6 The proxy server decrypts the streaming media data packet header and calculates the performance indicators.

[0181] (1) Calculate the downlink network transmission delay: T 4_i -T 3_i ;

[0182] (2) For the first message, calculate the first packet delay: =T 4_1 -T1.

[0183] If the first frame contains n data packets, the first frame delay is:

[0184] =(T 4_1 -T1)+ + + .

[0185] The empirical evaluation of decoding delay based on typical configurations is shown in Table 5:

[0186] Table 5

[0187]

[0188] Typical Configuration:

[0189] CPU: Intel(R) Core(TM) i7 @ 3.40GH 4 cores 8 threads; Memory: 16G, integrated graphics.

[0190] (3) Calculate frame delay (non-first frame):

[0191] = + + ;

[0192] Assuming that m frames have been played, the average frame delay is:

[0193] ;

[0194] Frame jitter:

[0195] =| - |;

[0196] Get the size of the i-th audio and video data packet from the streaming data packet header , then the bit rate:

[0197] .

[0198] The frame rate is obtained from the streaming data packet header. Frames that time out without receiving an acknowledgment are considered lost frames. The number of lost frames and the frame loss rate are calculated by counting the frame sequence numbers. The number of lost frames is the sum of all lost frames, and the frame loss rate is the percentage obtained by dividing the number of lost frames by the total number of played audio and video data frames.

[0199] 4.7 The proxy server obtains basic network performance indicators (latency, jitter, packet loss rate, etc.) and calculated streaming service performance indicators, and packages and forwards them to the client scheduling controller.

[0200] 4.8 The client scheduling controller comprehensively analyzes all indicators according to the time dimension, aligns the indicators in time series using timestamps, analyzes the values ​​of performance indicators at each stage, identifies performance bottlenecks, and generates a performance evaluation report.

[0201] The above steps complete the performance indicator evaluation, effectively solving the problems of accurate delay calculation and real-time rate collection. The introduction of the proxy mechanism does not participate in video encoding and decoding, achieving low protocol correlation and low development difficulty, providing important data support for video service performance measurement.

[0202] The embodiments of the present application have the following advantages:

[0203] (1) Based on the current mainstream streaming media service architecture, conduct an end-to-end overall evaluation of the streaming media system.

[0204] By considering the streaming media client, streaming media server and mobile communication network as a whole system, Figures 4 and 5 The entire streaming service process is carried out, and performance data is collected at various key points, not only on the client side but also on the server side. This real-time collection of the entire process can help users locate performance bottlenecks.

[0205] (2) Streaming media performance metrics are universal and independent of the streaming media format.

[0206] Streaming media performance indicators are inseparable from the network. Picture quality assessment requires decoding technology, which is difficult and has certain limitations. The method used in this application does not require streaming media decoding, which greatly reduces the development difficulty. Through the proxy mode, only the streaming media control message needs to be parsed and processed, and the encoded data packet does not need to be parsed. Through the Beidou synchronization server and client, the performance indicators are quantified from the perspective of precise message time. The implementation is simple and reliable. The indicators are completely objective, eliminating subjective influences and requiring no complex calculations. It is universal, simple, and objective, and supports mainstream streaming media formats.

[0207] (3) Based on real business measurements, the real-time collected indicators are highly consistent with user experience.

[0208] This application uses real mobile terminals to connect to wireless networks and objectively measures the performance indicators of actual services based on the real business experience of streaming media playback. It is completely different from many simulated streaming media testing methods and also different from the indicator system based on subjective evaluation. It is based on real business, collects data while playing, and conducts real-time measurement analysis.

[0209] (4) Streaming media performance indicators and network performance are jointly obtained and analyzed. The client and server achieve strict clock synchronization through the proxy module, making the measurement more accurate.

[0210] Using the device and system developed by this application, based on the network and real business application scenarios, streaming media performance is inseparable from network performance. This application collects streaming media performance and network performance at the same time, based on strict time synchronization, which is more practical and more accurate in measurement, providing a reliable basis for streaming media performance indicator analysis.

[0211] It should be further explained that this application can be applied to video scenarios such as security monitoring projects, mobile law enforcement video capture, VR / AR video experience, connected vehicle autonomous driving, telemedicine, and ultra-high-definition live video on demand, meeting the needs of industry users for real-time monitoring of streaming media performance indicators. This application supports multiple network transmissions, multiple terminal accesses, and multiple streaming media transmission protocols. It can be made into a portable, all-in-one universal tool that can provide objective real-time evaluation of current streaming media performance while testing and playing. The generated evaluation report can be used as a basis for performance optimization.

[0212] For operators, this application can support network optimization. The evaluation integrates network performance with real-world service performance, making network optimization more targeted. The evaluation process accurately captures metrics such as streaming server processing latency, network latency, frame-related latency, packet loss, and frame loss, helping to identify weaknesses in each link and enabling the network to better serve streaming services.

[0213] For industry users, this application can help users compare the indicators and differences of different network standards. Users can intuitively judge the impact of different network standards on streaming media performance, and thus select the network that is more suitable for the development of streaming media services.

[0214] Based on the above embodiment, reference Figure 6 The embodiment of the present application proposes a streaming media service performance evaluation method, which is applied to a streaming media service performance evaluation system, including:

[0215] Step 100: receiving downlink data sent by the proxy player;

[0216] Step 200: Acquire a first performance indicator based on downlink data, and collect a second performance indicator of the streaming media service;

[0217] Step 300: Send the first performance indicator and the second performance indicator to the client scheduling controller; the client scheduling controller generates a performance evaluation report based on the first performance indicator and the second performance indicator to evaluate the streaming media service performance based on the performance evaluation report.

[0218] After receiving the video stream containing the synchronization packet header transmitted by the server subsystem, the client subsystem parses the information carried in the packet header through the proxy server; the proxy server measures time-related performance indicators such as latency, jitter, packet loss rate, number of frame losses, first frame delay, average frame delay, frame jitter, first packet delay, etc. by decoding the timestamp and comparing the packet sequence number; through the IP encapsulation header, the payload data is extracted, the streaming data packet header is analyzed to measure the performance indicators related to the frame, and the frame rate, bit rate, etc. are calculated in combination with the timestamp to comprehensively measure the streaming performance indicators.

[0219] The client scheduling controller comprehensively analyzes all indicators according to the time dimension, aligns the indicators in time series using timestamps, analyzes the values ​​of performance indicators at each stage, finds performance bottlenecks, and generates a performance evaluation report.

[0220] The embodiment of the present application effectively solves the problems of accurate calculation of delay and real-time acquisition of rate, introduces a proxy mechanism, does not participate in video encoding and decoding, achieves low protocol correlation and low development difficulty, and provides important data support for video service performance measurement, thereby improving the efficiency of streaming media service performance evaluation.

[0221] Based on the above embodiment, collecting the second performance indicator of the streaming media service includes:

[0222] Based on the downlink data, obtain a first receiving time, a third receiving time, and a processing delay;

[0223] Determine the downlink network transmission delay based on the third receiving time and the fourth receiving time; the fourth receiving time is the time point when the proxy server receives the second data packet;

[0224] Determining a first packet delay based on the first receiving time and the fourth receiving time;

[0225] Determine the first frame delay based on the first packet delay, downlink network transmission delay, processing delay, and decoding delay;

[0226] Determine the frame delay based on the downlink network transmission delay, processing delay, and decoding delay;

[0227] Determine the average frame delay based on the number of frames played, first frame delay, and frame delay;

[0228] Determine frame jitter based on first frame delay and frame delay; or determine frame jitter based on frame delay;

[0229] determining a bit rate based on the size of each data packet and a fourth reception time;

[0230] Determine a frame loss rate based on the number of lost frames and the total number of video frames;

[0231] Determine the packet loss rate based on the number of lost packets and the total number of data packets;

[0232] The second performance indicator includes downlink network transmission delay, first packet delay, first frame delay, frame delay, average frame delay, frame jitter, bit rate, frame loss rate and packet loss rate.

[0233] In the indicator acquisition stage, refer to Figure 5 ,4.1 The proxy player performs performance index calculation preprocessing and adds a proxy layer header, including the following steps:

[0234] (1) Calculate the uplink transmission delay of the play command: T2-T1;

[0235] (2) Calculate the media data packet processing delay of the streaming media server: T 3_i -T 3_i-1 ;

[0236] (3) For the first message, assign the message length field to 12, and set the uplink transmission delay of the play instruction T2-T1 and the media data packet processing delay of the streaming media server T 3_1 -T2, encoded into the message body of the proxy layer header, and the timestamp field is assigned to T 3_1 , the synchronization sequence number field is 1, and the frame sequence number field is 1. The content of the proxy layer header is shown in Table 3.

[0237] Table 3

[0238]

[0239] (4) For the messages after the first message, assign the message length field to 10 and set the media data packet processing delay of the streaming media server to T 3_i -T 3_i-1 Encoded into the message body of the proxy layer header, and the timestamp field is assigned to T 3_i , assign the synchronization sequence number field to i, and assign the frame sequence number field to j. The contents of the proxy layer header are shown in Table 4.

[0240] Table 4

[0241]

[0242] 4.2 The proxy player forwards the data packet with the proxy layer header added to the proxy server;

[0243] 4.3 After the proxy server receives the data packet, it records the current time point T 4_i ;

[0244] 4.4 The proxy server decodes the proxy layer header;

[0245] 4.5 The proxy server forwards the original streaming data packet to the streaming player;

[0246] 4.6 The proxy server decrypts the streaming media data packet header and calculates the performance indicators.

[0247] (1) Calculate the downlink network transmission delay: T 4_i -T 3_i ;

[0248] (2) For the first message, calculate the first packet delay: =T 4_1 -T1.

[0249] If the first frame contains n data packets, the first frame delay is:

[0250] =(T 4_1 -T1)+ + + .

[0251] The empirical evaluation of decoding delay based on typical configurations is shown in Table 5:

[0252] Table 5

[0253]

[0254] Typical Configuration:

[0255] CPU: Intel(R) Core(TM) i7 @ 3.40GH 4 cores 8 threads; Memory: 16G, integrated graphics.

[0256] (3) Calculate frame delay (non-first frame):

[0257] = + + ;

[0258] Assuming that m frames have been played, the average frame delay is:

[0259] ;

[0260] Frame jitter:

[0261] =| - |;

[0262] Get the size of the i-th audio and video data packet from the streaming data packet header , then the bit rate:

[0263] .

[0264] The frame rate is obtained from the streaming data packet header. Frames that time out without receiving an acknowledgment are considered lost frames. The number of lost frames and the frame loss rate are calculated by counting the frame sequence numbers. The number of lost frames is the sum of all lost frames, and the frame loss rate is the percentage obtained by dividing the number of lost frames by the total number of played audio and video data frames.

[0265] The embodiment of the present application effectively solves the problems of accurate calculation of delay and real-time acquisition of rate, introduces a proxy mechanism, does not participate in video encoding and decoding, achieves low protocol correlation and low development difficulty, and provides important data support for video service performance measurement, thereby improving the efficiency of streaming media service performance evaluation.

[0266] Figure 7 An example of a physical structure diagram of an electronic device is shown below. Figure 7 As shown, the electronic device may include: a processor 710, a communication interface 720, a memory 730, and a communication bus 740, wherein the processor 710, the communication interface 720, and the memory 730 communicate with each other via the communication bus 740. The processor 710 may call a computer program in the memory 730 to execute the steps of the streaming media service performance evaluation method, for example, including:

[0267] Receive downlink data sent by the proxy player;

[0268] Acquire a first performance indicator based on the downlink data, and collect a second performance indicator of the streaming media service;

[0269] The first performance indicator and the second performance indicator are sent to the client scheduling controller; the client scheduling controller generates a performance evaluation report based on the first performance indicator and the second performance indicator to evaluate the streaming media service performance based on the performance evaluation report.

[0270] In addition, the logical instructions in the above-mentioned memory 730 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when sold or used as an independent product. Based on this understanding, the technical solution of the present application, or the part that contributes to the existing technology, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, and other media that can store program code.

[0271] On the other hand, embodiments of the present application further provide a computer program product, which includes a computer program. The computer program may be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer can perform the steps of the streaming media service performance evaluation method provided in the above embodiments, for example, including:

[0272] Receive downlink data sent by the proxy player;

[0273] Acquire a first performance indicator based on the downlink data, and collect a second performance indicator of the streaming media service;

[0274] The first performance indicator and the second performance indicator are sent to the client scheduling controller; the client scheduling controller generates a performance evaluation report based on the first performance indicator and the second performance indicator to evaluate the streaming media service performance based on the performance evaluation report.

[0275] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, i.e., they may be located in one location or distributed across multiple network units. Some or all of the modules may be selected based on actual needs to achieve the objectives of the present embodiment. Persons of ordinary skill in the art will be able to understand and implement the present invention without inventive effort.

[0276] Through the above description of the embodiments, those skilled in the art will clearly understand that each embodiment can be implemented using software plus a necessary general-purpose hardware platform, or of course, hardware. Based on this understanding, the essence of the above technical solution, or the portion that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a magnetic disk, or an optical disk, and includes a number of instructions for causing a computer device (such as a personal computer, server, or network device) to execute the methods described in each embodiment or certain portions of the embodiments.

[0277] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims

1. A streaming media service performance evaluation system, characterized in that: include: Client subsystem, mobile communication subsystem and server subsystem; The client subsystem and the server subsystem are communicatively connected via the mobile communication subsystem; The mobile communication subsystem includes a clock synchronization system; the server subsystem includes an agent player; The client subsystem includes a proxy server and a client scheduling controller connected to the proxy server; The clock synchronization system is used to synchronize the time of the client subsystem and the server subsystem; The proxy player is configured to collect a first performance indicator of a streaming media service, generate downlink data based on the first performance indicator, and send the downlink data to the proxy server; The proxy server is configured to receive downlink data sent by the proxy player, obtain the first performance indicator based on the downlink data, collect the second performance indicator of the streaming service, and send the first performance indicator and the second performance indicator to the client scheduling controller; The client scheduling controller is configured to generate a performance evaluation report based on the received first performance indicator and the received second performance indicator, so as to evaluate the streaming service performance based on the performance evaluation report; The client subsystem also includes a streaming media player; The client scheduling controller, the streaming media player and the proxy server are connected to each other; The server subsystem also includes a server scheduling controller and a streaming media server; The server scheduling controller, the streaming media server and the proxy player are connected to each other; The proxy server is further configured to receive a play request sent by the streaming media player, record a first reception time of the play request, generate a first data packet based on the first reception time and the play request data packet, and send the first data packet to the proxy player; The proxy player is further configured to receive the first data packet, record a second reception time of the first data packet, parse the first data packet to obtain the play request data packet, and send the play request data packet to the streaming media server; The streaming media server is configured to receive the play request data packet and send a streaming media data packet to the proxy player based on the play request data packet; The proxy player is further configured to receive the streaming data packet, and if it is determined that the type of the streaming data packet is a video frame, record a third reception time of the streaming data packet; Determining an uplink transmission delay of the play instruction based on the first receiving time and the second receiving time; Determining a processing delay of the streaming media data packet based on the third receiving time; generating a second data packet based on the streaming data packet, the uplink transmission delay, and the processing delay, and sending the second data packet to the proxy server; the first performance indicator including the uplink transmission delay and the processing delay; The proxy server is further configured to receive the second data packet and record a fourth receiving time of the second data packet to determine a second performance indicator.

2. The streaming media service performance evaluation system according to claim 1, characterized in that: The proxy server is specifically used to: Parsing the second data packet to obtain the first receiving time, the third receiving time, and the processing delay; Determine a downlink network transmission delay based on the third reception time and the fourth reception time; Determine a first packet delay based on the first receiving time and the fourth receiving time; Determining a first frame delay based on the first packet delay, the downlink network transmission delay, the processing delay, and the decoding delay; Determining a frame delay based on the downlink network transmission delay, the processing delay, and the decoding delay; Determining an average frame delay based on the number of frames played, the first frame delay, and the frame delay; Determining frame jitter based on the first frame delay and the frame delay; or determining frame jitter based on the frame delay; determining a bit rate based on the size of each data packet and the fourth reception time; Determine a frame loss rate based on the number of lost frames and the total number of video frames; Determine the packet loss rate based on the number of lost packets and the total number of data packets; The second performance indicator includes the downlink network transmission delay, the first packet delay, the first frame delay, the frame delay, the average frame delay, the frame jitter, the bit rate, the frame loss rate and the packet loss rate.

3. The streaming media service performance evaluation system according to claim 1, characterized in that: The client scheduling controller is used to send a video source request to the server scheduling controller; The server-side scheduling controller is configured to receive the video source request and send video source information to the client-side scheduling controller based on the video source request; The client scheduling controller is further configured to receive the video source information and send a play instruction to the streaming media player based on the video source information; The streaming media player is configured to receive the play instruction and send a play request to the proxy server based on the play instruction.

4. The streaming media service performance evaluation system according to claim 1, characterized in that: The client scheduling controller is further used to send a connection instruction to the streaming media player; The streaming media player is further configured to receive the connection instruction and send a connection request to the streaming media server based on the connection instruction; The proxy server is further configured to intercept the connection request and forward the connection request to the streaming media server; The streaming media server is further configured to receive the connection request and send connection confirmation information to the proxy server; The proxy server is further configured to send the connection confirmation information to the streaming media player and the client scheduling controller; The client scheduling controller is further configured to receive the connection confirmation information and send a synchronization instruction to the proxy server; The proxy server is further configured to receive the synchronization instruction, write an initial synchronization sequence number into a synchronization message based on the synchronization instruction, and send a synchronization request to the proxy player based on the synchronization message; The proxy player is further configured to receive the synchronization request, update the initial synchronization sequence number in the synchronization request to the local device, write the confirmed initial synchronization sequence number into a synchronization response message, and send the synchronization response message to the proxy server; The proxy server is further configured to receive the synchronization response message, update the initial synchronization sequence number in the synchronization response message to the local server, and send a synchronization confirmation message to the client scheduling controller.

5. The streaming media service performance evaluation system according to claim 1, characterized in that: The first data packet and the second data packet include a proxy layer header, and the proxy layer header includes a message type, a message length, a timestamp, a synchronization sequence number, a frame sequence number and a message body.

6. A streaming media service performance evaluation method, characterized in that: A streaming media service performance evaluation system according to any one of claims 1 to 5, comprising: Receive downlink data sent by the proxy player; Acquire a first performance indicator based on the downlink data, and collect a second performance indicator of the streaming media service; The first performance indicator and the second performance indicator are sent to the client scheduling controller; the client scheduling controller generates a performance evaluation report based on the first performance indicator and the second performance indicator to evaluate the streaming media service performance based on the performance evaluation report.

7. The streaming media service performance evaluation method according to claim 6, characterized in that: The collecting of the second performance indicator of the streaming media service includes: Based on the downlink data, obtaining a first receiving time, a third receiving time, and a processing delay; Determine the downlink network transmission delay based on the third receiving time and the fourth receiving time; the fourth receiving time is the time point when the proxy server receives the second data packet; Determine a first packet delay based on the first receiving time and the fourth receiving time; Determining a first frame delay based on the first packet delay, the downlink network transmission delay, the processing delay, and the decoding delay; Determining a frame delay based on the downlink network transmission delay, the processing delay, and the decoding delay; Determining an average frame delay based on the number of frames played, the first frame delay, and the frame delay; Determining frame jitter based on the first frame delay and the frame delay; or determining frame jitter based on the frame delay; determining a bit rate based on the size of each data packet and the fourth reception time; Determine a frame loss rate based on the number of lost frames and the total number of video frames; Determine the packet loss rate based on the number of lost packets and the total number of data packets; The second performance indicator includes the downlink network transmission delay, the first packet delay, the first frame delay, the frame delay, the average frame delay, the frame jitter, the bit rate, the frame loss rate and the packet loss rate.

8. An electronic device comprising a processor and a memory storing a computer program, characterized in that: When the processor executes the computer program, the steps of the streaming media service performance evaluation method according to any one of claims 6 to 7 are implemented.

9. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the streaming media service performance evaluation method according to any one of claims 6 to 7 are implemented.

Citation Information

Patent Citations

  • Method and apparatus for measuring stream availability, quality and performance

    US20040136327A1

  • Streaming media live broadcast method and system

    WO2019084972A1