WO2022156202A1 - Video transmission test method, apparatus and system, and terminal - Google Patents

Video transmission test method, apparatus and system, and terminal Download PDF

Info

Publication number
WO2022156202A1
WO2022156202A1 PCT/CN2021/113279 CN2021113279W WO2022156202A1 WO 2022156202 A1 WO2022156202 A1 WO 2022156202A1 CN 2021113279 W CN2021113279 W CN 2021113279W WO 2022156202 A1 WO2022156202 A1 WO 2022156202A1
Authority
WO
WIPO (PCT)
Prior art keywords
video
video streams
terminal
frame
indicator
Prior art date
Application number
PCT/CN2021/113279
Other languages
French (fr)
Chinese (zh)
Inventor
刘敏
黄世轩
李文广
张宗强
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2022156202A1 publication Critical patent/WO2022156202A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/004Diagnosis, testing or measuring for television systems or their details for digital television systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2407Monitoring of transmitted content, e.g. distribution time, number of downloads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44204Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44245Monitoring the upstream path of the transmission network, e.g. its availability, bandwidth

Definitions

  • the present application relates to the technical field of network testing, and in particular, to a video transmission testing method, device, system and terminal.
  • the 5th generation mobile networks (5G network) is gradually applied to people's daily life and work, which promotes the development of digital economy and society and the digital transformation and upgrading of traditional industries, especially It has had a huge impact on the transformation of traditional industries.
  • the video surveillance service of the internet protocol camera (IPC) is one of the representatives of 5G industry applications.
  • the present application provides a video transmission testing method, device, system and terminal.
  • testing the network where the multi-channel video transmission is located it is possible to control the collision of I-frames in some or all of the video streams, and simulate the random change of the collision of I-frames. In this way, a variety of I-frame collision scenarios are covered in the test process, and the video transmission capability of the current network can be effectively tested.
  • the present application provides a video transmission test method, which is applied to a system including a first terminal and a second terminal.
  • the method may include: the first terminal acquires N video streams, where N is a positive integer greater than 1 ; The first terminal controls N-way video streams to be concurrently transmitted to the second terminal through the first network, wherein, the first terminal controls the I frames in the M-way video streams in the N-way video streams to collide when the N-way video streams are transmitted, and 2 ⁇ M ⁇ N; the second terminal receives video frames of N video streams, and determines a first indicator of each video stream in the N videos, where the first indicator is used to characterize the video transmission capability of the first network.
  • the method may further include that the first terminal determines whether to perform an I-frame collision according to a second indicator, I-frame statistical data and preset test parameters; wherein the second indicator is the latest index of the first terminal.
  • the received indicator sent by the second terminal, the second indicator includes the real-time probability of I-frame collision in M-channel video streams, and the I-frame statistical data is used to count the data related to the I-frame in each video stream in the N-channel video streams.
  • the parameters include the number of M video streams and the expected probability of collision of I frames in the M video streams. From this, it is determined whether I-frame collision is required.
  • the second index, I-frame statistical data and test parameters may be input into the collision determination model to determine whether to perform an I-frame collision;
  • the collision determination model may use a Gaussian process model, a neural network model, a support vector It is obtained by training the test data in the historical test data; in addition, the collision determination model can also be a deviation function model, a proportional function model, a hybrid function model, or other mathematical function models.
  • the I-frame statistical data includes one or more of the following: the number of I-frames that have been sent by each video stream in the N video streams, or, when an I-frame collision occurred last time, N The number of I-frames that have been sent for each video stream in the video streams.
  • the first terminal controls the collision of I frames in M video streams among the N video streams, which may include: the first terminal selects M video streams from the N video streams, and simultaneously sends I frame in M video streams.
  • the collision control of the I frames in the M video streams is realized.
  • the first terminal determines that the video frames currently to be sent in each of the M video streams are all I frames, it can send M video frames simultaneously.
  • the first terminal determines that the current video frame to be sent of at least one video stream in the M video streams is not an I frame, it can suspend sending i I frames, and after collecting M I frames, send it simultaneously M I-frames, 1 ⁇ i ⁇ M, where M-i non-I-frames may be sent when the transmission of i I-frames is suspended.
  • the first terminal selects M video streams from the N video streams, which may include: the first terminal determines, according to the video frame statistics and the third indicator, for each video stream in the N video streams
  • the video frame statistical data is used to count the data of video frames in each video stream in the N video streams
  • the third indicator is the indicator recently received by the first terminal and sent by the second terminal, where the third indicator includes N
  • the transmission index of each video stream in the video streams the first terminal randomly selects M video streams from the N video streams according to the weight value of each video stream in the N video streams.
  • M video streams are randomly selected.
  • the video frame statistical data can be input into the weight determination model, so as to obtain the weight value of each video stream in the N video streams.
  • the weight determination model can be obtained by training the test data in the historical test data by using Gaussian process model, neural network model, support vector machine, etc.; in addition, the weight determination model can also be a deviation type function model, a proportional function model, Hybrid functional models, or other mathematical functional models,
  • the third indicator includes one or more of the following: frame rate, or delay jitter; video frame statistics include one or more of the following: each video stream in the N video streams The total number of video frames sent, or the I-frame interval in each of N video streams.
  • the first indicator may include one or more of the following: frame rate, delay, delay jitter, bit rate, packet loss rate, frame peak-to-average ratio, number of rendering frames, or frame rate.
  • the present application provides a video transmission testing method, which is applied to a first terminal.
  • the method may include: acquiring N video streams, where N is a positive integer greater than 1; It is transmitted to the second terminal, wherein when the N video streams are transmitted, the I frames in the M video streams in the N video streams are controlled to collide, 2 ⁇ M ⁇ N, so as to test the video transmission capability of the first network.
  • the method may further include: determining whether to perform I-frame collision according to a second indicator, I-frame statistical data and preset test parameters; wherein the second indicator is the latest received by the first terminal.
  • the second indicator includes the real-time probability of collision of I frames in the M video streams.
  • the I frame statistical data is used to count the data related to the I frame in each video stream in the N video streams. Test parameters It includes the number of M video streams and the expected probability of collision of I frames in the M video streams.
  • the I-frame statistical data includes one or more of the following: the number of I-frames that have been sent by each video stream in the N video streams, or, when an I-frame collision occurred last time, N The number of I-frames that have been sent for each video stream in the video streams.
  • controlling the collision of the I frames in the M video streams in the N video streams may include: screening the M video streams from the N video streams, and simultaneously sending the M video streams in the M video streams. I frame.
  • screening the M video streams from the N video streams may include: determining the weight value of each video stream in the N video streams according to the video frame statistical data and the third index, the video frame The statistical data is used to count the data of video frames in each video stream in the N video streams, and the third indicator is the indicator sent by the second terminal that is newly received by the first terminal, wherein the third indicator includes each channel in the N video streams.
  • the transmission index of the video stream according to the weight value of each video stream in the N video streams, randomly select M video streams from the N video streams.
  • the third indicator includes one or more of the following: frame rate, or delay jitter; video frame statistics include one or more of the following: each video stream in the N video streams The total number of video frames sent, or the I-frame interval in each of N video streams.
  • the first indicator includes one or more of the following: frame rate, delay, delay jitter, bit rate, packet loss rate, frame peak-to-average ratio, number of rendered frames, or frame loss Rate.
  • the second terminal is configured to determine, based on the received video frames of the N-channel video streams, a first indicator of each video stream in the N-channel videos, where the first indicator is used to characterize the first network's video transmission capability.
  • the present application provides a video transmission testing device, the device may include: a communication module and a processing module; wherein, the communication module can be used to obtain N video streams, where N is a positive integer greater than 1; the processing module can It is used to control the N-channel video streams to be transmitted to the second terminal through the first network, wherein, when the N-channel video streams are transmitted, the I frames in the M-channel video streams in the N-channel video streams are controlled to collide, 2 ⁇ M ⁇ N, to test the video transmission capability of the first network.
  • the processing module may be further configured to: determine whether to perform I-frame collision according to the second indicator, I-frame statistical data and preset test parameters; wherein the second indicator is the latest update of the first terminal
  • the received indicator sent by the second terminal the second indicator includes the real-time probability of collision of I frames in the M video streams, and the I frame statistical data is used to count the data related to the I frame in each video stream in the N video streams
  • the test parameters include the number of M video streams and the expected probability of collision of I frames in the M video streams.
  • the I-frame statistical data includes one or more of the following: the number of I-frames that have been sent by each video stream in the N video streams, or, when an I-frame collision occurred last time, N The number of I-frames that have been sent for each video stream in the video streams.
  • the processing module may also be used for: screening M video streams from N video streams, and simultaneously sending I frames in the M video streams.
  • the processing module can also be used to: determine the weight value of each video stream in the N video streams according to the video frame statistical data and the third indicator, and the video frame statistical data is used to count the N video streams.
  • the data of the video frames in each video stream in the video stream, the third indicator is the indicator sent by the second terminal that is newly received by the first terminal, wherein the third indicator includes the transmission indicator of each video stream in the N video streams; according to The weight value of each video stream in the N video streams, and randomly select M video streams from the N video streams.
  • the third indicator includes one or more of the following: frame rate, or delay jitter; video frame statistics include one or more of the following: each video stream in the N video streams The total number of video frames sent, or the I-frame interval in each of N video streams.
  • the first indicator includes one or more of the following: frame rate, delay, delay jitter, bit rate, packet loss rate, frame peak-to-average ratio, number of rendered frames, or frame loss Rate.
  • the second terminal may be configured to determine, based on the received video frames of the N video streams, a first indicator of each video stream in the N videos, where the first indicator may be used to represent the first indicator The video transmission capability of a network.
  • the present application provides a video transmission test system, including a first terminal and a second terminal, the first terminal is used for executing the method performed by the first terminal mentioned in the first aspect, and the second terminal is used for The method performed by the second terminal mentioned in the first aspect is performed.
  • the present application provides a terminal, including:
  • At least one memory for storing programs
  • At least one processor is used to invoke a program stored in the memory to perform the method provided in the first aspect or the method provided in the second aspect.
  • the present application provides a computer storage medium, where instructions are stored in the computer storage medium, and when the instructions are run on a computer, the computer is made to execute the method provided in the first aspect, or execute the method provided in the second aspect .
  • the present application provides a computer program product comprising instructions that, when executed on a computer, cause the computer to perform the method provided in the first aspect, or perform the method provided in the second aspect.
  • the present application provides a chip, including at least one processor and an interface
  • At least one processor obtains program instructions or data through an interface
  • At least one processor is configured to execute program line instructions to implement the method provided in the first aspect, or to perform the method provided in the second aspect.
  • FIG. 1a is a schematic diagram of an application scenario provided by an embodiment of the present application.
  • FIG. 1b is a schematic diagram of a test scenario provided by an embodiment of the present application.
  • FIG. 2 is a schematic diagram of a hardware structure of a terminal provided by an embodiment of the present application.
  • FIG. 3 is a schematic diagram of a setting interface of a terminal provided by an embodiment of the present application.
  • FIG. 4 is a schematic diagram of a transmission rate of a multi-channel video stream provided by an embodiment of the present application.
  • FIG. 5 is a schematic diagram of a transmission process of video stream data in a test process provided by an embodiment of the present application
  • FIG. 6 is a schematic flowchart of a video transmission testing method provided by an embodiment of the present application.
  • FIG. 7 is a schematic diagram of a step of screening M video streams from N video streams according to an embodiment of the present application.
  • FIG. 8 is a schematic flowchart of another video transmission testing method provided by an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a video transmission test device provided by an embodiment of the present application.
  • FIG. 10 is a schematic structural diagram of a chip provided by an embodiment of the present application.
  • words such as “exemplary”, “such as” or “for example” are used to mean serving as an example, illustration or illustration. Any embodiments or designs described in the embodiments of the present application as “exemplary,” “such as,” or “by way of example” should not be construed as preferred or advantageous over other embodiments or designs. Rather, use of words such as “exemplary,” “such as,” or “by way of example” is intended to present the related concepts in a specific manner.
  • the term "and/or" is only an association relationship for describing associated objects, indicating that there may be three relationships, for example, A and/or B, which may indicate: A alone exists, A alone exists There is B, and there are three cases of A and B at the same time.
  • the term "plurality" means two or more.
  • multiple systems refer to two or more systems
  • multiple terminals refer to two or more terminals
  • multiple video streams refer to two or more video streams.
  • first and second are only used for descriptive purposes, and cannot be understood as indicating or implying relative importance or implying the indicated technical features. Thus, a feature defined as “first” or “second” may expressly or implicitly include one or more of that feature.
  • the terms “including”, “including”, “having” and their variants mean “including but not limited to” unless specifically emphasized otherwise.
  • FIG. 1a is a schematic diagram of an application scenario provided by an embodiment of the present application.
  • the video data collected by the monitoring cameras (111, 112, 113) can be sequentially passed through the routing device 121, the customer premise equipment (CPE) 13, the base station 14, the core network 15 and the routing device 122 , and transmit it to the playback terminal 16 concurrently, so that the user can view the video data collected by the surveillance cameras ( 111 , 112 , 113 ) on the playback terminal 16 .
  • CPE customer premise equipment
  • the pre-configured network can be configured by routing equipment (121, 122), customer premise equipment (CPE) ) 13, the base station 14 and the core network 15 are composed.
  • CPE customer premise equipment
  • the network preconfigured in the monitoring service it is necessary to test the network preconfigured in the monitoring service to adjust the network based on the test results, for example, increase the network bandwidth and so on.
  • the preconfigured network is not specifically limited, and the preconfigured network can implement the communication between the surveillance cameras ( 111 , 112 , 113 ) and the playback terminal 16 in FIG. 1 a .
  • the preconfigured network may include more or fewer network elements than in the network shown in Figure 1a.
  • the number of surveillance cameras shown in FIG. 1a is not limited to 3, and may also be other numbers, such as 2, 4, etc., which are not limited here.
  • FIG. 1b is a schematic diagram of a test scenario provided by an embodiment of the present application.
  • the terminal 171 when testing the video transmission capability of the network preconfigured in Fig. 1a, the terminal 171 can be used to simulate the scene where the surveillance cameras (111, 112, 113) in Fig. 1a send video, for example, the terminal 171 can simulate and send three video streams concurrently . Afterwards, the video stream sent by the terminal 171 may be transmitted to the terminal 172 via a pre-configured network.
  • the terminal 172 can decode the received video stream, and determine the transmission test index of each video stream sent by the terminal 171, wherein the transmission test index can be used to characterize the video transmission capability of the pre-configured network, which can be For frame rate, delay, delay jitter, bit rate, packet loss rate, frame peak-to-average ratio, rendering frame number, or, frame loss rate, etc.
  • the transmission test index can be used to characterize the video transmission capability of the pre-configured network, which can be For frame rate, delay, delay jitter, bit rate, packet loss rate, frame peak-to-average ratio, rendering frame number, or, frame loss rate, etc.
  • the packet loss rate of each video stream is high, it may indicate that the video transmission capability of the preconfigured network is poor, and therefore the preconfigured network needs to be adjusted.
  • the terminal 171 can also acquire the video data collected by the surveillance cameras (111, 112, 113) and the video data collected by the surveillance cameras (111, 112, 113). Sent to terminal 172 via a preconfigured network. For example, when testing the video transmission capability of the pre-configured network in FIG. 1a, the terminal 171 can be set between the routing device 121 and the surveillance cameras (111, 112, 113), so that the terminal 171 can obtain the video captured by the surveillance cameras (111, 112, 113). data.
  • the terminal 171 when simulating the multi-channel video transmission scenario in FIG. 1a, can control the I frames of the M video streams in the N video streams to collide when the N video streams are transmitted, thereby simulating the I frame of the M video streams.
  • the monitoring service goes online, the I-frame collision occurs randomly when multiple video streams are concurrently transmitted, so that a variety of practical application scenarios can be covered during the test process, and the video transmission capability of the pre-configured network can be effectively tested.
  • 2 ⁇ M ⁇ N where M and N are both positive integers.
  • the preconfigured network described in this solution may be a wired network (wired network) or a wireless network (wireless network).
  • the network may be a local area network (LAN) or a wide area network (WAN) (eg, the Internet).
  • LAN local area network
  • WAN wide area network
  • the network may be implemented using any known network communication protocol, which may be various wired or wireless communication protocols, such as Ethernet, universal serial bus (USB), firewire, global Mobile communication system (global system for mobile communications, GSM), general packet radio service (general packet radio service, GPRS), code division multiple access (code division multiple access, CDMA), wideband code division multiple access (wideband code division multiple access) access, WCDMA), time division code division multiple access (time-division code division multiple access, TD-SCDMA), long term evolution (long term evolution, LTE), new radio (new radio, NR), Bluetooth (bluetooth), wireless security True (wireless fidelity, Wi-Fi) and other communication protocols.
  • the network of this solution may also be a future communication network, such as a 6G network, and so on.
  • the terminals (171, 172) can be mobile phones, tablet computers, digital cameras, personal digital assistants (PDAs), wearable devices, smart TVs, Huawei smart screens, Raspberry Pi, industrial pie ( IndustriPi) etc.
  • Exemplary embodiments of the terminals (171, 172) include, but are not limited to, electronic devices equipped with iOS, android, Windows, Harmony OS or other operating systems.
  • the electronic device described above may also be other electronic devices, such as a laptop or the like having a touch-sensitive surface (eg, a touch panel).
  • the embodiment of the present application does not specifically limit the type of the electronic device.
  • the terminal may be the terminal (171, 172) shown in Figure 1b.
  • FIG. 2 is a schematic diagram of a hardware structure of a terminal provided by an embodiment of the present application.
  • the terminal may include at least one processor 201, and the at least one processor 201 may support the terminal to implement the method provided in this solution.
  • the processor 201 may be a general purpose processor or a special purpose processor.
  • the processor 201 may include a central processing unit (CPU) and/or a baseband processor.
  • the baseband processor may be used to process communication data, and the CPU may be used to implement corresponding control and processing functions, execute software programs, and process data of software programs.
  • the processor 201 can control N video streams to be transmitted to the terminal 172 in FIG. 1b through the preconfigured network, wherein the processor 201 When the N-channel video streams are transmitted, the I frames in the M-channel video streams in the N-channel video streams can be controlled to collide; when the processor 201 belongs to the terminal 172 shown in FIG.
  • the processor 201 can receive the The video frame of the video stream sent by the terminal 171 is decoded, and the transmission test indicators of each video stream, such as bit rate, frame rate, packet loss rate, etc., are determined, wherein the transmission test indicators can represent the pre-configured network. video transmission capability.
  • the terminal may further include a transceiver unit 203 to implement signal input (reception) and output (send).
  • the transceiver unit 203 may include a transceiver or a radio frequency chip.
  • the transceiver unit 203 may also include a communication interface.
  • the transceiver unit 203 can receive or acquire N video streams, and can also send N video streams to the terminal 172 , and can also receive the video streams sent by the terminal 172 .
  • the transceiver unit 203 belongs to the terminal 172 shown in FIG. 1b
  • the transceiver unit 203 can receive the video frame of the video stream sent by the terminal 171 in FIG. 1b, and can also transmit part or all of the video determined by the terminal 172.
  • the test indicators are sent to the terminal 171 and the like.
  • the terminal may include one or more memories 202 on which programs (or instructions or codes) are stored, and the programs may be executed by the processor 201, so that the processor 201 executes the method described in this solution.
  • data may also be stored in the memory 202 .
  • the processor 201 can also read data stored in the memory 202 (for example, data of pre-stored video streams, pre-stored video encoding data, etc.), and the data can be stored in the same storage address as the program, The data can also be stored in a different memory address than the program.
  • the processor 201 and the memory 202 can be provided separately, or can be integrated together, for example, integrated on a single board or a system on chip (system on chip, SOC).
  • SOC system on chip
  • the test process of this solution is described in detail.
  • the "pre-configured network” is referred to as the "network to be tested” hereinafter.
  • the tester can set the test parameters.
  • the test parameters may include the number and probability of video streams expected to collide with I-frames. For example, a tester can set I-frame collisions in 5 out of 10 video streams, and the probability of I-frame collisions is 10%, and so on.
  • the tester can set test parameters on the terminal 171, and can also set test parameters on other terminals.
  • the other terminals can transmit the test parameters set by the tester to the terminal 171 through a wired network or a wireless network.
  • the tester can set the test parameters through the human-computer interaction interface on the terminal 171, wherein the tester can set the test parameters through touch control or voice control, but not limited to.
  • a setting interface 31 of test parameters can be displayed, and each test parameter, such as the total number of video streams to be tested, can be displayed on the setting interface 31, and an I frame is expected to occur.
  • the tester can set the total number of test video streams to 10, and set the number of video streams expected to have an I-frame collision. For 5-way, set the probability of I-frame collision to 50%, and the test duration is 3 minutes.
  • test parameters can also be automatically generated by the system based on empirical values. For example, when the bandwidth of the network to be tested is 500Mbps, the empirical value can be that the total number of test video streams is 8, the number of video streams expected to collide with I-frames is 3, and the probability of I-frame collision is 10%. Then when the bandwidth of the network to be tested is 500Mbps, the system can actively generate test parameters. At this time, the test parameters are: the total number of test video streams is 8, and the number of video streams expected to collide with an I frame is 3. The probability of an I-frame collision is 10%. In addition, it can also be automatically generated according to the historical data of other networks used by the tester, which is not limited here.
  • the test command can be issued.
  • the test instruction can be issued manually or automatically.
  • the tester can issue the test instruction through the human-computer interaction interface on the terminal 171; for example, continue to refer to FIG. "Confirm" button to send the test command.
  • the test command can be issued periodically by the software program. For example, if the test needs to be performed every day, the test command can be sent once a day, etc.
  • the software program for issuing the test command can be Installed on the terminal 171 .
  • test instruction is an instruction used to test the video transmission capability of the network under test. After the test instruction is issued, the terminal 171 can receive the test instruction and start the test.
  • the terminal 171 after the terminal 171 receives the test instruction, it can start the test work.
  • the terminal 171 can acquire N video streams; wherein, the value of N can be determined based on the test parameter, which represents the total number of video streams to be tested.
  • the N video streams may be pre-stored on the terminal 171, or may be generated by the terminal 171 according to preset video encoding parameters, wherein the video encoding parameters may include encoding format, bit rate, frame rate, I frame interval, etc.
  • the N video streams may also be pre-stored on other terminals, or may be generated by other terminals according to preset video coding parameters, which is not limited herein. It can be understood that when the N video streams are stored or generated by other terminals, the terminal 171 may send a request to the other terminals to request the other terminals to send the N video streams to the terminal 171 .
  • the N video streams can be concurrently transmitted to the terminal 172 through the network under test.
  • the terminal 172 can decode the video frames of each video stream, and then determine the transmission test index of each video stream, wherein the transmission test index can characterize the video transmission of the network under test. ability.
  • the transmission test indicators may include frame rate, delay, delay jitter, bit rate, packet loss rate, frame peak-to-average ratio, number of rendering frames, or frame loss rate, and so on.
  • concurrent transmission can be understood as simultaneous transmission of multiple video streams at the same time.
  • the terminal 171 when the terminal 171 sends N video streams to the terminal 172, it can control the I frames in the M video streams to collide, wherein M in the M video streams is the expected I frame collision in the test parameters.
  • M in the M video streams is the expected I frame collision in the test parameters.
  • the number of video streams, M video streams are multiple video streams in N video streams, M ⁇ N.
  • the terminal 171 may first determine whether it is necessary to perform I-frame collision at present. If I-frame collision needs to be performed, the terminal 171 can filter out M-channel video streams from the N-channel video streams, and then simultaneously transmit I-frames in the M-channel video streams, thereby realizing the collision of I-frames in the M-channel video streams. .
  • the judging process, the screening process and the sending process are respectively described below.
  • the terminal 172 when the terminal 172 receives the video frames of the N video streams, it can determine the I-frame collision indicator, and then send the I-frame collision indicator to the terminal 171 . Afterwards, after receiving the I-frame collision indicator sent by the terminal 172, the terminal 171 may determine whether to perform an I-frame collision according to the latest received I-frame collision indicator, I-frame statistical data and test parameters.
  • the I-frame collision indicator may include the real-time probability of an I-frame collision in M video streams.
  • the terminal 172 can capture the video frames of the N video streams it receives, and then generate a transmission rate map, and determine whether an I-frame collision has occurred from the transmission rate map, and finally the received I-frame and the number of colliding I frames in M video streams, the real-time probability of I frame collision can be determined. For example, the time to start the test is 9:00 am, and the current time is 9:30 am.
  • the transmission rate diagram please refer to Figure 4.
  • the I frame in each video stream can transmit 1000 bytes every 100ms; At the moment of I-frame collision, for example, in 30s, the data volume of I-frames transmitted every 100ms will double.
  • the data volume of I-frames transmitted every 100ms is 2000 bytes; therefore, it can be determined whether an I-frame collision occurs and the number of video streams that send the I-frame collision based on the peak change of the I frame in the transmission rate graph in FIG. 4 .
  • the I frame statistical data can be used to count the data related to the I frame in each of the N video streams.
  • the I-frame statistical data may include: the number of I-frames that have been sent by each of the N-channel video streams, or, when the previous I-frame collision occurred, the number of sent I-frames in each of the N-channel video streams.
  • the number of I-frames It can be understood that the terminal 171 can count the number of I frames sent by the terminal 171 when sending the video frames of each video stream in the N video streams. For example, taking the first video stream as an example, when sending the first video stream When sending video frames of a stream, the terminal 171 increases the counted number of I frames of the first video stream by one each time an I frame is sent.
  • the test parameters may include the number of M video streams and the expected probability of collision of I frames in the M video streams.
  • the terminal 171 may input its latest received I-frame collision indicator, I-frame statistics and test parameters into a preconfigured collision determination model, and then, based on the collision Determine the output of the model to determine. For example, when the output result output by the collision determination model is to perform an I-frame collision, it can be determined that an I-frame collision needs to be performed at this time.
  • the collision determination model may be obtained by training test data in historical test data using a Gaussian process model, a neural network model, a support vector machine, or the like.
  • the collision determination model may also be a deviation-type function model, a proportional-type function model, a hybrid-type function model, or other mathematical function models, which are not limited herein.
  • M video streams can be screened out from N video streams, that is, the “screening of M video streams from N video streams” described below is performed. the process of. If it is determined that I frame collision is not required, it may not be necessary to filter out M video streams from N video streams.
  • the terminal 171 can receive the transmission indicator of each video stream in the N video streams sent by the terminal 172, wherein the transmission indicator is the transmission indicator when the terminal 172 receives the video frame of each video stream in the N video streams. determined. Further, after receiving the transmission indicator of each video stream in the N video streams sent by the terminal 172, the terminal 171 may, according to the transmission indicator and video frame statistical data of each video stream in the N video streams newly received by the terminal 171, , determine the weight value of each video stream in the N video streams; wherein, the transmission indicators of each video stream in the N video streams may include frame rate, delay jitter, etc., and the video frame statistics may include the N video streams.
  • the terminal 171 can randomly select M video streams from the N video streams according to the weight value of each video stream in the N video streams; for example, use a random weighting algorithm for screening and so on. It should be noted that, in this solution, when screening the M video streams, the transmission index of each video stream in the N video streams used by the terminal 171 may be each video stream in the N video streams determined by the terminal 172. Some or all of the indicators in the streaming transmission test indicators are not limited here.
  • the terminal 171 can input the transmission index and video frame statistical data of each video stream in the N video streams that it recently received into the The weight determines the model, and then obtains the weight value of each video stream in the N video streams.
  • the weight determination model can be obtained by training the test data in the historical test data by using a Gaussian process model, a neural network model, a support vector machine, or the like.
  • the weight determination model may also be a deviation-type function model, a proportional-type function model, a hybrid-type function model, or other mathematical function models, which are not limited herein.
  • the weight determination model may be the mathematical function model shown below, where the mathematical function model is:
  • ⁇ i 1-jitter i ⁇ (IFI i -mod(TolFN i ,IFI i )) ⁇ (1/FPS i )
  • ⁇ i is the weight value of the ith video stream, 1 ⁇ i ⁇ N; jitter i is the delay jitter of the ith video stream; IFI i is the I frame interval of the ith video stream; TolFN i is the ith video stream The total number of video frames sent by the i-channel video stream; FPS i is the frame rate of the i-th video stream.
  • the terminal 171 can perform collision control on the I frames in the M video streams.
  • the terminal 171 can respectively determine whether the video frame to be sent in each video stream in the M video streams belongs to the I frame according to the definition of the video data packet result in the video stream according to video compression coding formats such as H264 and H265. Wherein, if the video frames currently to be sent in the M video streams are all I-frames, these I-frames are sent to the terminal 172 at the same time, so that these I-frames collide.
  • suspending the sending of a video frame belonging to an I frame may be to set the process of the video stream corresponding to the I frame to a blocking state.
  • the test work can be ended.
  • the terminal 172 may display the test results.
  • the tester can also export the test data from the terminal 172, and then analyze the test data to determine the video transmission capability of the network under test.
  • the following takes the concurrent transmission of 3 video streams and the control of 2 video streams to generate an I-frame collision as an example, and explains part of the test process in the above-described test process step by step with reference to FIG. 5 .
  • the video encoding module 1711 or the video file reading module 1712 in the terminal 171 can acquire three video streams.
  • the video encoding module 1711 can generate a video stream according to the video encoding parameters set before the test; the video file reading module 1712 can read the video stream according to the local file path set before the test.
  • each video stream in the terminal 171 has its own corresponding data acquisition module, that is, the data acquisition modules 17131, 17132, and 17133.
  • the data acquisition module (17131, 17132, 17133) can acquire the video stream from the video encoding module 1711 or the video file reading module 1712, and save the acquired video stream in its own data buffer.
  • the I frame collision control module 1714 in the terminal 171 can obtain the video frame from the data acquisition module of each video stream, and obtain the indicator sent by the terminal 172 from the indicator receiving module 1715, and the indicator can be the above.
  • the I frame collision index (such as the real-time probability of I frame collision in the 2-channel video stream, etc.), and the transmission index of each video stream in the 3-channel video stream (such as frame rate, delay jitter, etc.).
  • the I-frame collision control module 1714 can determine whether to perform an I-frame collision. If I-frame collision is not required, the video frames of each video stream are sent directly. If I-frame collision is required, 2-channel video streams are screened from the 3-channel video streams; then, I-frames in the 2-channel video streams are sent simultaneously. For details, please refer to the relevant descriptions above, which will not be repeated here.
  • each video stream in the terminal 171 has its own corresponding data transmission module, that is, the data transmission modules 17161, 17162, and 17163.
  • the data sending module corresponding to each video stream can obtain the video frame to be sent from the I-frame collision control module 1714 .
  • the data sending module (17161, 17162, 17163) can use standard surveillance video streaming protocols (eg RTSP, RTMP, etc.), and send video frames to the terminal 172 via the network under test.
  • standard surveillance video streaming protocols eg RTSP, RTMP, etc.
  • each video stream in the terminal 172 has its own corresponding data receiving module, that is, the data receiving modules 17211, 17212, and 17213.
  • the data receiving module of each video stream can run the standard monitoring video stream transmission protocol to receive the video frame from the corresponding data sending module, and save the video frame into its own data buffer.
  • each video stream in the terminal 172 has its own corresponding decoding and rendering module, namely the decoding and rendering modules 17221, 17222, and 17223.
  • the decoding and rendering module of each video stream can read the video frame from the data buffer of the corresponding data receiving module, and then decode and render the video picture.
  • each video stream in the terminal 172 has its own corresponding indicator generation module, that is, indicator generation modules 17231, 17232, and 17233.
  • the indicator generation module can generate transmission test indicators in real time, such as frame rate, delay, delay jitter, bit rate, packet loss rate, frame peak-to-average ratio, number of rendering frames, or frame loss rate, etc. .
  • the indicator storage module 1724 in the terminal 172 may store the transmission test indicator generated by the indicator generation module. For example, save to a database or save as a local indicator file, etc.
  • the indicator sending module 1725 in the terminal 172 may periodically acquire the latest generated indicator from the indicator storage module 1724, and then send the acquired latest indicator to the indicator receiving module 1714 in the terminal 171.
  • a video transmission test method provided by the embodiment of the present application is introduced. It can be understood that this method is another expression of the testing process of the video transmission capability of the network under test described above, and the two are combined. The method is proposed based on the testing process of the video transmission capability of the network under test described above, and some or all of the content of the method may refer to the description of the testing process of the video transmission capability of the network under test above.
  • FIG. 6 is a schematic flowchart of a video transmission testing method provided by an embodiment of the present application. It can be understood that the method can be performed by any apparatus, device, platform, or device cluster with computing and processing capabilities. Wherein, the method can be applied to a system including a first terminal and a second terminal. As shown in FIG. 6 , the video transmission test method includes:
  • Step S101 the first terminal acquires N video streams, where N is a positive integer greater than 1.
  • the first terminal can generate N video streams by itself, or can read N video streams from a local file.
  • the value of N may be set by a tester, or may be automatically generated by the first terminal according to an experience value, which is not limited herein.
  • the first terminal may be understood as the terminal 171 described above.
  • Step S102 the first terminal controls the N video streams to pass through the first network and transmit them to the second terminal, wherein the first terminal controls the I frames in the M video streams in the N video streams to collide when the N video streams are transmitted. , 2 ⁇ M ⁇ N.
  • the first terminal can control N video streams to pass through the first network and transmit them to the second terminal, wherein the first terminal controls I frames in M video streams in the N video streams when the N video streams are transmitted.
  • the first network may be understood as the pre-configured network described above.
  • the second terminal may be understood as the terminal 172 described above.
  • the first terminal may determine whether to perform I-frame collision according to the second indicator, I-frame statistical data and preset test parameters.
  • the second indicator is the indicator recently received by the first terminal and sent by the second terminal.
  • the second indicator may include the real-time probability of I-frame collision of M-channel video streams, and the I-frame statistical data is used to count each video stream in the N-channel video streams.
  • the data related to the I-frame in the test parameters may include the number of M-channel video streams and the expected probability of collision of the I-frames in the M-channel video streams.
  • the second index can be understood as the I frame collision index described above
  • the I frame statistical data can be understood as the I frame statistical data described above
  • the test parameters can be understood as the test parameters described above.
  • the I-frame statistics may include one or more of the following: the number of I-frames sent by each of the N-channel video streams, or, when an I-frame collision occurred last time, the N-channel video streams The number of I-frames that have been sent in each video stream.
  • the first terminal determines to perform I-frame collision, further, the first terminal controls the collision of I-frames in M video streams in N video streams.
  • the first terminal may filter M video streams from the N video streams, and simultaneously send I frames in the M video streams, so that the I frames in the M video streams collide.
  • the first terminal selects M video streams from N video streams, which may include the following steps:
  • Step S201 the first terminal determines the weight value of each video stream in the N video streams according to the video frame statistical data and the third indicator.
  • the third indicator is an indicator recently received by the first terminal and sent by the second terminal, and the third indicator may include a transmission indicator of each video stream in the N video streams.
  • the third indicator can be understood as the transmission indicator of each video stream in the N video streams described above
  • the video frame statistical data can be understood as the video frame statistical data described above.
  • the first terminal can determine the weight value of each video stream in the N video streams according to the third indicator and the video frame statistical data; wherein, the video frame statistical data can be used to count the N video streams.
  • the third indicator and video frame statistical data may be input into the weight determination model to obtain the weight value of each video stream in the N video streams.
  • Step S202 The first terminal randomly selects M video streams from the N video streams according to the weight value of each video stream in the N video streams.
  • the first terminal may, but is not limited to, use a weighted random algorithm to randomly select M video streams from the N video streams.
  • step S103 may be executed.
  • Step S103 the second terminal receives the video frames of the N video streams, and determines a first indicator of each video stream in the N videos, where the first indicator is used to represent the video transmission capability of the first network.
  • the second terminal after receiving the video frames of the N video streams sent by the first terminal, the second terminal can decode the video frames of each video stream, and then determine the first indicator of each video stream in the N videos. , where the first indicator is used to characterize the video transmission capability of the first network.
  • the first index may be understood as the transmission test index described above.
  • this method is another expression of the execution process of the terminal 171 in the process of testing the video transmission capability of the network under test described above, and the two are combined.
  • the method is proposed based on the testing process of the video transmission capability of the network under test described above, and some or all of the content of the method may refer to the description of the testing process of the video transmission capability of the network under test above.
  • FIG. 8 is a schematic flowchart of another video transmission testing method provided by an embodiment of the present application. It can be understood that the method can be performed by any apparatus, device, platform, or device cluster with computing and processing capabilities. Wherein, the method can be applied to the first terminal, that is, the terminal 171 described above. As shown in FIG. 8 , the video transmission test method includes:
  • Step S301 acquiring N video streams, where N is a positive integer greater than 1.
  • Step S302 controlling the N video streams to pass through the first network and transmit them to the second terminal, wherein when the N video streams are transmitted, the I frames in the M video streams in the N video streams are controlled to collide, 2 ⁇ M ⁇ N , to test the video transmission capability of the first network.
  • the second terminal may be configured to determine the first indicator of each video stream in the N videos based on the received video frames of the N video streams, where the first indicator is used to characterize the video transmission capability of the first network.
  • FIG. 9 is a schematic structural diagram of a video transmission testing apparatus provided by an embodiment of the present application.
  • the video transmission testing device 900 includes: a communication module 91 and a processing module 92; wherein, the communication module 91 can be used to obtain N video streams, where N is a positive integer greater than 1; the processing module 92 can be used to Control the N-channel video streams to be transmitted to the second terminal through the first network, wherein, when the N-channel video streams are transmitted, the processing module 92 can control the I-frames in the M-channel video streams in the N-channel video streams to collide, 2 ⁇ M ⁇ N, to test the video transmission capability of the first network.
  • the communication module 91 may be the transceiver unit 203 in the terminal shown in FIG. 2
  • the processing module 92 may be the processor 201 in the terminal shown in FIG. 2 .
  • the communication module 91 can be received by the video encoding module 1711, the video file reading module 1712, the data acquisition module (17131, 17132, 17133), the data transmission module (17161, 17162, 17163) and the indicator in FIG. 5 Module 1715 is composed.
  • the processing module 92 may be the I-frame collision control module 1714 in FIG. 5 .
  • the processing module 92 may be further configured to: determine whether to perform an I-frame collision according to the second indicator, the I-frame statistical data and the preset test parameters; wherein the second indicator is the latest received first terminal by the first terminal. Two indicators sent by the terminal.
  • the second indicator includes the real-time probability of collision of I frames in the M video streams.
  • the I frame statistics are used to count the data related to the I frame in each video stream in the N video streams.
  • the test parameters include The number of M video streams and the expected probability of collision of I frames in the M video streams.
  • the I-frame statistics include one or more of the following: the number of I-frames that have been sent by each of the N-channel video streams, or, when the previous I-frame collision occurred, the number of I-frames in the N-channel video streams The number of I-frames that have been sent for each video stream.
  • the processing module 92 may be further configured to: filter M video streams from N video streams, and simultaneously send I frames in the M video streams.
  • the processing module 92 can also be used to: determine the weight value of each video stream in the N video streams according to the video frame statistical data and the third indicator, and the video frame statistical data is used to count the N video streams in the N video streams.
  • the third indicator is the indicator recently received by the first terminal and sent by the second terminal, wherein the third indicator may include the transmission indicator of each video stream in the N video streams; The weight value of each video stream in the video stream, and randomly select M video streams from N video streams.
  • the third indicator includes one or more of the following: frame rate, or delay jitter; video frame statistics include one or more of the following: video sent by each video stream in the N video streams The total number of frames, or the I-frame interval in each of the N video streams.
  • the first indicator includes one or more of the following: frame rate, delay, delay jitter, bit rate, packet loss rate, frame peak-to-average ratio, number of rendering frames, or frame loss rate.
  • the second terminal is configured to determine, based on the received video frames of the N video streams, a first indicator of each video stream in the N videos, where the first indicator can be used to characterize video transmission on the first network ability.
  • the second terminal may be the terminal 172 described above.
  • the terminal 172 may also include a communication module and a processing module.
  • the communication module in the terminal 172 may be composed of the data receiving module ( 17211 , 17212 , 17213 ) and the indicator sending module 1725 in FIG. 5 .
  • the processing module in the terminal 172 may be composed of the decoding rendering module (17221, 17222, 17223), the indicator generating module (17231, 17232, 17233) and the indicator storage module 1724 in FIG. 5 .
  • the video transmission testing apparatus may be deployed in the first terminal described above.
  • an embodiment of the present application further provides a chip.
  • FIG. 10 is a schematic structural diagram of a chip according to an embodiment of the present application.
  • the chip 1000 includes one or more processors 1001 and an interface circuit 1002 .
  • the chip 1000 may further include a bus 1003 . in:
  • the processor 1001 may be an integrated circuit chip with signal processing capability. In the implementation process, each step of the above-mentioned method can be completed by an integrated logic circuit of hardware in the processor 1001 or an instruction in the form of software.
  • the above-mentioned processor 1001 may be a general purpose processor, a digital communicator (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components .
  • DSP digital communicator
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • a general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
  • the interface circuit 1002 can be used for sending or receiving data, instructions or information.
  • the processor 1001 can use the data, instructions or other information received by the interface circuit 1002 to process, and can send the processing completion information through the interface circuit 1002.
  • the chip 1000 further includes a memory, which may include a read-only memory and a random access memory, and provides operation instructions and data to the processor.
  • a portion of the memory may also include non-volatile random access memory (NVRAM).
  • NVRAM non-volatile random access memory
  • the memory stores executable software modules or data structures
  • the processor may execute corresponding operations by calling operation instructions stored in the memory (the operation instructions may be stored in the operating system).
  • the interface circuit 1002 may be used to output the execution result of the processor 1001 .
  • processor 1001 and the interface circuit 1002 can be implemented by hardware design, software design, or a combination of software and hardware, which is not limited here.
  • processor in the embodiments of the present application may be a central processing unit (central processing unit, CPU), and may also be other general-purpose processors, digital signal processors (digital signal processors, DSP), application-specific integrated circuits (application specific integrated circuit, ASIC), field programmable gate array (field programmable gate array, FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof.
  • CPU central processing unit
  • DSP digital signal processors
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • a general-purpose processor may be a microprocessor or any conventional processor.
  • the method steps in the embodiments of the present application may be implemented in a hardware manner, or may be implemented in a manner in which a processor executes software instructions.
  • Software instructions can be composed of corresponding software modules, and software modules can be stored in random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (programmable rom) , PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically erasable programmable read-only memory (electrically EPROM, EEPROM), registers, hard disks, removable hard disks, CD-ROMs or known in the art in any other form of storage medium.
  • An exemplary storage medium is coupled to the processor, such that the processor can read information from, and write information to, the storage medium.
  • the storage medium can also be an integral part of the processor.
  • the processor and storage medium may reside in an ASIC.
  • the above-mentioned embodiments it may be implemented in whole or in part by software, hardware, firmware or any combination thereof.
  • software it can be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present application are generated.
  • the computer may be a general purpose computer, special purpose computer, computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted over a computer-readable storage medium.
  • the computer instructions can be sent from one website site, computer, server, or data center to another website site by wire (eg, coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (eg, infrared, wireless, microwave, etc.) , computer, server or data center.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that includes an integration of one or more available media.
  • the usable media may be magnetic media (eg, floppy disks, hard disks, magnetic tapes), optical media (eg, DVDs), or semiconductor media (eg, solid state disks (SSDs)), and the like.

Abstract

The present application provides a video transmission test method, apparatus and system, and a terminal. The method may comprise: a first terminal obtains N-channel video streams, N being a positive integer greater than 1; the first terminal controls the N-channel video streams to be concurrently transmitted to a second terminal by means of a first network, wherein the first terminal controls an I-frame in M-channel video streams in the N-channel video streams to collide when the N-channel video streams are transmitted, and 2≤M≤N; and the second terminal receives video frames of the N-channel video streams, and determines a first index for each channel of video stream in the N-channel video streams, the first index being used for representing video transmission capability of the first network. Hence, when the network via which the multi-channel video transmission is performed is tested, the I-frame in some or all of the video streams may be controlled to collide, so as to simulate a scenario of randomly generating I-frame collision during concurrent transmission of multi-channel video streams after monitoring service is online, so that a plurality of actual application scenarios may be covered in the testing process, thereby effectively testing the video transmission capability of a pre-configured network.

Description

视频传输测试方法、装置、系统及终端Video transmission test method, device, system and terminal
本申请要求于2021年1月22日提交中国国家知识产权局、申请号为2021100871642、申请名称为“视频传输测试方法、装置、系统及终端”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application with the application number 2021100871642 and the application name "video transmission testing method, device, system and terminal", which was submitted to the State Intellectual Property Office of China on January 22, 2021, the entire contents of which are by reference Incorporated in this application.
技术领域technical field
本申请涉及网络测试技术领域,尤其涉及一种视频传输测试方法、装置、系统及终端。The present application relates to the technical field of network testing, and in particular, to a video transmission testing method, device, system and terminal.
背景技术Background technique
随着移动通信技术的快速发展,第五代移动通信技术(5th generation mobile networks,5G网络)逐渐应用到人们的日常生活和工作中,其推动了数字经济社会发展以及传统行业数字化转型升级,尤其是对于传统行业的变革产生了巨大的影响。其中,网络摄像机(internet protocol camera,IPC)的视频监控业务就是5G行业应用的代表之一。With the rapid development of mobile communication technology, the 5th generation mobile networks (5G network) is gradually applied to people's daily life and work, which promotes the development of digital economy and society and the digital transformation and upgrading of traditional industries, especially It has had a huge impact on the transformation of traditional industries. Among them, the video surveillance service of the internet protocol camera (IPC) is one of the representatives of 5G industry applications.
目前,在视频监控业务的多路视频传输场景中,当多路监控摄像头产生的视频流在同一网络中并发传输时,常常会发生多路视频流的流量峰值叠加现象,即发生帧内编码图像帧(intra-coded picture,I帧)碰撞现象,造成网络堵塞、丢包等,使得已规划的网络带宽不足,进而产生视频卡顿等问题,影响视频监控业务运行。可见,为确保视频监控业务上线后长期、无卡顿运行,在视频监控业务所在网络(如5G网络)上线前,对该网络的视频传输能力进行测试验证是非常有必要的。因此,如何有效对视频监控业务所在网络(如5G网络)的视频传输能力进行测试验证,是一个亟待解决的问题。At present, in the multi-channel video transmission scenario of the video surveillance service, when the video streams generated by the multi-channel surveillance cameras are transmitted concurrently in the same network, the phenomenon of superposition of traffic peaks of the multi-channel video streams often occurs, that is, the occurrence of intra-frame encoded images. Frame (intra-coded picture, I frame) collisions cause network congestion, packet loss, etc., and make the planned network bandwidth insufficient, resulting in video freezes and other problems, affecting the operation of video surveillance services. It can be seen that in order to ensure the long-term and non-stuck operation of the video surveillance service after it goes online, it is very necessary to test and verify the video transmission capability of the network where the video surveillance service is located (such as a 5G network) before it goes online. Therefore, how to effectively test and verify the video transmission capability of the network where the video surveillance service is located (such as the 5G network) is an urgent problem to be solved.
发明内容SUMMARY OF THE INVENTION
本申请提供了一种视频传输测试方法、装置、系统及终端,在测试多路视频传输所在的网络时,可以控制部分或全部的视频流中的I帧发生碰撞,模拟I帧碰撞随机变化的场景,从而在测试过程中覆盖多种I帧碰撞场景,进而有效测试出当前的网络的视频传输能力。The present application provides a video transmission testing method, device, system and terminal. When testing the network where the multi-channel video transmission is located, it is possible to control the collision of I-frames in some or all of the video streams, and simulate the random change of the collision of I-frames. In this way, a variety of I-frame collision scenarios are covered in the test process, and the video transmission capability of the current network can be effectively tested.
第一方面,本申请提供了一种视频传输测试方法,应用于包含有第一终端和第二终端的系统,该方法可以包括:第一终端获取N路视频流,N为大于1的正整数;第一终端控制N路视频流经第一网络并发传输至第二终端,其中,第一终端在N路视频流传输时控制N路视频流中M路视频流中的I帧发生碰撞,2≤M≤N;第二终端接收N路视频流的视频帧,以及确定N路视频中每路视频流的第一指标,第一指标用于表征第一网络的视频传输能力。由此,本方案中,在测试多路视频传输所在的网络时,可以控制部分或全部的视频流中的I帧发生碰撞,从而模拟监控业务上线后多路视频流并发传输时随机发生I帧碰撞的场景,使得在测试过程中可以覆盖多种实际应用场景,进而有效测试出预先配置的网络的视频传输能力。In a first aspect, the present application provides a video transmission test method, which is applied to a system including a first terminal and a second terminal. The method may include: the first terminal acquires N video streams, where N is a positive integer greater than 1 ; The first terminal controls N-way video streams to be concurrently transmitted to the second terminal through the first network, wherein, the first terminal controls the I frames in the M-way video streams in the N-way video streams to collide when the N-way video streams are transmitted, and 2 ≤M≤N; the second terminal receives video frames of N video streams, and determines a first indicator of each video stream in the N videos, where the first indicator is used to characterize the video transmission capability of the first network. Therefore, in this solution, when testing the network where the multi-channel video transmission is located, it is possible to control the collision of the I-frames in some or all of the video streams, thereby simulating the random occurrence of I-frames when the multi-channel video streams are concurrently transmitted after the monitoring service goes online. Collision scenarios make it possible to cover a variety of practical application scenarios in the test process, and then effectively test the video transmission capability of the pre-configured network.
在一种可能的实现方式中,该方法还可以包括第一终端根据第二指标,I帧统计数据和预设的测试参数,确定是否进行I帧碰撞;其中,第二指标为第一终端最新接收的第二终端发送的指标,第二指标包括M路视频流发生I帧碰撞的实时概率,I帧统计数据用于统计N路视频流中每路视频流中与I帧相关的数据,测试参数包括M路视频流的路数和期望M路视频流中的I帧发生碰撞的概率。由此,确定是否需要进行I帧碰撞。示例性的,可以将第二指 标,I帧统计数据和测试参数,输入至碰撞确定模型,以确定是否进行I帧碰撞;其中,该碰撞确定模型可以使用高斯过程模型、神经网络模型、支持向量机等,对历史测试数据中的测试数据进行训练得到;此外,碰撞确定模型也可以为偏差型函数模型,比例型函数模型,混杂型函数模型,或者其他的数学函数模型。In a possible implementation manner, the method may further include that the first terminal determines whether to perform an I-frame collision according to a second indicator, I-frame statistical data and preset test parameters; wherein the second indicator is the latest index of the first terminal. The received indicator sent by the second terminal, the second indicator includes the real-time probability of I-frame collision in M-channel video streams, and the I-frame statistical data is used to count the data related to the I-frame in each video stream in the N-channel video streams. The parameters include the number of M video streams and the expected probability of collision of I frames in the M video streams. From this, it is determined whether I-frame collision is required. Exemplarily, the second index, I-frame statistical data and test parameters, may be input into the collision determination model to determine whether to perform an I-frame collision; wherein, the collision determination model may use a Gaussian process model, a neural network model, a support vector It is obtained by training the test data in the historical test data; in addition, the collision determination model can also be a deviation function model, a proportional function model, a hybrid function model, or other mathematical function models.
在一种可能的实现方式中,I帧统计数据包括以下一项或多项:N路视频流中每路视频流已发送的I帧的数量,或者,在前次发生I帧碰撞时,N路视频流中每路视频流已发送的I帧的数量。In a possible implementation manner, the I-frame statistical data includes one or more of the following: the number of I-frames that have been sent by each video stream in the N video streams, or, when an I-frame collision occurred last time, N The number of I-frames that have been sent for each video stream in the video streams.
在一种可能的实现方式中,第一终端控制N路视频流中M路视频流中的I帧发生碰撞,可以包括:第一终端从N路视频流中筛选M路视频流,以及同时发送M路视频流中的I帧。由此实现对M路视频流中I帧的碰撞控制。示例性的,在控制M路视频流中的I帧发生碰撞时,若第一终端确定M路视频流中每路视频流的当前待发送的视频帧均为I帧,则可以同时发送M个I帧;若第一终端确定M路视频流中至少一路视频流的当前待发送的视频帧不为I帧,则可以暂停发送i个I帧,以及在收集到M个I帧后,同时发送M个I帧,1≤i<M,其中,在暂停发送i个I帧时,可以发送M-i个非I帧。In a possible implementation manner, the first terminal controls the collision of I frames in M video streams among the N video streams, which may include: the first terminal selects M video streams from the N video streams, and simultaneously sends I frame in M video streams. In this way, the collision control of the I frames in the M video streams is realized. Exemplarily, when the I frame in the M video streams is controlled to collide, if the first terminal determines that the video frames currently to be sent in each of the M video streams are all I frames, it can send M video frames simultaneously. I frame; if the first terminal determines that the current video frame to be sent of at least one video stream in the M video streams is not an I frame, it can suspend sending i I frames, and after collecting M I frames, send it simultaneously M I-frames, 1≤i<M, where M-i non-I-frames may be sent when the transmission of i I-frames is suspended.
在一种可能的实现方式中,第一终端从N路视频流中筛选M路视频流,可以包括:第一终端根据视频帧统计数据和第三指标,确定N路视频流中每路视频流的权重值,视频帧统计数据用于统计N路视频流中每路视频流中视频帧的数据,第三指标为第一终端最新接收的第二终端发送的指标,其中,第三指标包括N路视频流中每路视频流的传输指标;第一终端根据N路视频流中每路视频流的权重值,从N路视频流中随机筛选出M路视频流。由此随机筛选出M路视频流。示例性的,可以将和视频帧统计数据,输入至权重确定模型,进而得到N路视频流中每路视频流的权重值。其中,权重确定模型可以使用高斯过程模型、神经网络模型、支持向量机等,对历史测试数据中的测试数据进行训练得到;此外,权重确定模型也可以为偏差型函数模型,比例型函数模型,混杂型函数模型,或者其他的数学函数模型,In a possible implementation manner, the first terminal selects M video streams from the N video streams, which may include: the first terminal determines, according to the video frame statistics and the third indicator, for each video stream in the N video streams The video frame statistical data is used to count the data of video frames in each video stream in the N video streams, and the third indicator is the indicator recently received by the first terminal and sent by the second terminal, where the third indicator includes N The transmission index of each video stream in the video streams; the first terminal randomly selects M video streams from the N video streams according to the weight value of each video stream in the N video streams. Thereby, M video streams are randomly selected. Exemplarily, the video frame statistical data can be input into the weight determination model, so as to obtain the weight value of each video stream in the N video streams. Among them, the weight determination model can be obtained by training the test data in the historical test data by using Gaussian process model, neural network model, support vector machine, etc.; in addition, the weight determination model can also be a deviation type function model, a proportional function model, Hybrid functional models, or other mathematical functional models,
在一种可能的实现方式中,第三指标包括以下一项或多项:帧率,或者,时延抖动;视频帧统计数据包括以下一项或多项:N路视频流中每路视频流已发送的视频帧的总数,或者,N路视频流中每路视频流中的I帧间隔。In a possible implementation manner, the third indicator includes one or more of the following: frame rate, or delay jitter; video frame statistics include one or more of the following: each video stream in the N video streams The total number of video frames sent, or the I-frame interval in each of N video streams.
在一种可能的实现方式中,第一指标可以包括以下一项或多项:帧率,时延,时延抖动,码率,丢包率,帧峰均比,渲染帧数,或者,丢帧率。In a possible implementation manner, the first indicator may include one or more of the following: frame rate, delay, delay jitter, bit rate, packet loss rate, frame peak-to-average ratio, number of rendering frames, or frame rate.
第二方面,本申请提供了一种视频传输测试方法,应用于第一终端,该方法可以包括:获取N路视频流,N为大于1的正整数;控制N路视频流经第一网络并发传输至第二终端,其中,在N路视频流传输时控制N路视频流中M路视频流中的I帧发生碰撞,2≤M≤N,以测试第一网络的视频传输能力。In a second aspect, the present application provides a video transmission testing method, which is applied to a first terminal. The method may include: acquiring N video streams, where N is a positive integer greater than 1; It is transmitted to the second terminal, wherein when the N video streams are transmitted, the I frames in the M video streams in the N video streams are controlled to collide, 2≤M≤N, so as to test the video transmission capability of the first network.
在一种可能的实现方式中,该方法还可以包括:根据第二指标,I帧统计数据和预设的测试参数,确定是否进行I帧碰撞;其中,第二指标为第一终端最新接收的第二终端发送的指标,第二指标包括M路视频流中I帧发生碰撞的实时概率,I帧统计数据用于统计N路视频流中每路视频流中与I帧相关的数据,测试参数包括M路视频流的路数和期望M路视频流中的I帧发生碰撞的概率。In a possible implementation manner, the method may further include: determining whether to perform I-frame collision according to a second indicator, I-frame statistical data and preset test parameters; wherein the second indicator is the latest received by the first terminal. The indicator sent by the second terminal. The second indicator includes the real-time probability of collision of I frames in the M video streams. The I frame statistical data is used to count the data related to the I frame in each video stream in the N video streams. Test parameters It includes the number of M video streams and the expected probability of collision of I frames in the M video streams.
在一种可能的实现方式中,I帧统计数据包括以下一项或多项:N路视频流中每路视频流已发送的I帧的数量,或者,在前次发生I帧碰撞时,N路视频流中每路视频流已发送的I帧的数量。In a possible implementation manner, the I-frame statistical data includes one or more of the following: the number of I-frames that have been sent by each video stream in the N video streams, or, when an I-frame collision occurred last time, N The number of I-frames that have been sent for each video stream in the video streams.
在一种可能的实现方式中,控制N路视频流中M路视频流中的I帧发生碰撞,可以包括:从N路视频流中筛选M路视频流,以及同时发送M路视频流中的I帧。In a possible implementation manner, controlling the collision of the I frames in the M video streams in the N video streams may include: screening the M video streams from the N video streams, and simultaneously sending the M video streams in the M video streams. I frame.
在一种可能的实现方式中,从N路视频流中筛选M路视频流,可以包括:根据视频帧统计数据和第三指标,确定N路视频流中每路视频流的权重值,视频帧统计数据用于统计N路视频流中每路视频流中视频帧的数据,第三指标为第一终端最新接收的第二终端发送的指标,其中,第三指标包括N路视频流中每路视频流的传输指标;根据N路视频流中每路视频流的权重值,从N路视频流中随机筛选出M路视频流。In a possible implementation manner, screening the M video streams from the N video streams may include: determining the weight value of each video stream in the N video streams according to the video frame statistical data and the third index, the video frame The statistical data is used to count the data of video frames in each video stream in the N video streams, and the third indicator is the indicator sent by the second terminal that is newly received by the first terminal, wherein the third indicator includes each channel in the N video streams. The transmission index of the video stream; according to the weight value of each video stream in the N video streams, randomly select M video streams from the N video streams.
在一种可能的实现方式中,第三指标包括以下一项或多项:帧率,或者,时延抖动;视频帧统计数据包括以下一项或多项:N路视频流中每路视频流已发送的视频帧的总数,或者,N路视频流中每路视频流中的I帧间隔。In a possible implementation manner, the third indicator includes one or more of the following: frame rate, or delay jitter; video frame statistics include one or more of the following: each video stream in the N video streams The total number of video frames sent, or the I-frame interval in each of N video streams.
在一种可能的实现方式中,第一指标包括以下一项或多项:帧率,时延,时延抖动,码率,丢包率,帧峰均比,渲染帧数,或者,丢帧率。In a possible implementation manner, the first indicator includes one or more of the following: frame rate, delay, delay jitter, bit rate, packet loss rate, frame peak-to-average ratio, number of rendered frames, or frame loss Rate.
在一种可能的实现方式中,第二终端用于基于接收到的N路视频流的视频帧,确定N路视频中每路视频流的第一指标,第一指标用于表征第一网络的视频传输能力。In a possible implementation manner, the second terminal is configured to determine, based on the received video frames of the N-channel video streams, a first indicator of each video stream in the N-channel videos, where the first indicator is used to characterize the first network's video transmission capability.
第三方面,本申请提供了一种视频传输测试装置,该装置可以包括:通信模块和处理模块;其中,通信模块可以用于获取N路视频流,N为大于1的正整数;处理模块可以用于控制N路视频流经第一网络并发传输至第二终端,其中,在N路视频流传输时控制N路视频流中M路视频流中的I帧发生碰撞,2≤M≤N,以测试所述第一网络的视频传输能力。In a third aspect, the present application provides a video transmission testing device, the device may include: a communication module and a processing module; wherein, the communication module can be used to obtain N video streams, where N is a positive integer greater than 1; the processing module can It is used to control the N-channel video streams to be transmitted to the second terminal through the first network, wherein, when the N-channel video streams are transmitted, the I frames in the M-channel video streams in the N-channel video streams are controlled to collide, 2≤M≤N, to test the video transmission capability of the first network.
在一种可能的实现方式中,处理模块,还可以用于:根据第二指标,I帧统计数据和预设的测试参数,确定是否进行I帧碰撞;其中,第二指标为第一终端最新接收的第二终端发送的指标,第二指标包括M路视频流中I帧发生碰撞的实时概率,I帧统计数据用于统计N路视频流中每路视频流中与I帧相关的数据,测试参数包括M路视频流的路数和期望M路视频流中的I帧发生碰撞的概率。In a possible implementation manner, the processing module may be further configured to: determine whether to perform I-frame collision according to the second indicator, I-frame statistical data and preset test parameters; wherein the second indicator is the latest update of the first terminal The received indicator sent by the second terminal, the second indicator includes the real-time probability of collision of I frames in the M video streams, and the I frame statistical data is used to count the data related to the I frame in each video stream in the N video streams, The test parameters include the number of M video streams and the expected probability of collision of I frames in the M video streams.
在一种可能的实现方式中,I帧统计数据包括以下一项或多项:N路视频流中每路视频流已发送的I帧的数量,或者,在前次发生I帧碰撞时,N路视频流中每路视频流已发送的I帧的数量。In a possible implementation manner, the I-frame statistical data includes one or more of the following: the number of I-frames that have been sent by each video stream in the N video streams, or, when an I-frame collision occurred last time, N The number of I-frames that have been sent for each video stream in the video streams.
在一种可能的实现方式中,处理模块,还可以用于:从N路视频流中筛选M路视频流,以及同时发送M路视频流中的I帧。In a possible implementation manner, the processing module may also be used for: screening M video streams from N video streams, and simultaneously sending I frames in the M video streams.
在一种可能的实现方式中,处理模块,还可以用于:根据视频帧统计数据和第三指标,确定N路视频流中每路视频流的权重值,视频帧统计数据用于统计N路视频流中每路视频流中视频帧的数据,第三指标为第一终端最新接收的第二终端发送的指标,其中,第三指标包括N路视频流中每路视频流的传输指标;根据N路视频流中每路视频流的权重值,从N路视频流中随机筛选出M路视频流。In a possible implementation manner, the processing module can also be used to: determine the weight value of each video stream in the N video streams according to the video frame statistical data and the third indicator, and the video frame statistical data is used to count the N video streams. the data of the video frames in each video stream in the video stream, the third indicator is the indicator sent by the second terminal that is newly received by the first terminal, wherein the third indicator includes the transmission indicator of each video stream in the N video streams; according to The weight value of each video stream in the N video streams, and randomly select M video streams from the N video streams.
在一种可能的实现方式中,第三指标包括以下一项或多项:帧率,或者,时延抖动;视频帧统计数据包括以下一项或多项:N路视频流中每路视频流已发送的视频帧的总数,或者,N路视频流中每路视频流中的I帧间隔。In a possible implementation manner, the third indicator includes one or more of the following: frame rate, or delay jitter; video frame statistics include one or more of the following: each video stream in the N video streams The total number of video frames sent, or the I-frame interval in each of N video streams.
在一种可能的实现方式中,第一指标包括以下一项或多项:帧率,时延,时延抖动,码率,丢包率,帧峰均比,渲染帧数,或者,丢帧率。In a possible implementation manner, the first indicator includes one or more of the following: frame rate, delay, delay jitter, bit rate, packet loss rate, frame peak-to-average ratio, number of rendered frames, or frame loss Rate.
在一种可能的实现方式中,第二终端可以用于基于接收到的N路视频流的视频帧,确定N路视频中每路视频流的第一指标,该第一指标可以用于表征第一网络的视频传输能力。In a possible implementation manner, the second terminal may be configured to determine, based on the received video frames of the N video streams, a first indicator of each video stream in the N videos, where the first indicator may be used to represent the first indicator The video transmission capability of a network.
第四方面,本申请提供了一种视频传输测试系统,包含第一终端和第二终端,第一终端用于执行第一方面中所提及的第一终端执行的方法,第二终端用于执行第一方面中所提及的第二终端执行的方法。In a fourth aspect, the present application provides a video transmission test system, including a first terminal and a second terminal, the first terminal is used for executing the method performed by the first terminal mentioned in the first aspect, and the second terminal is used for The method performed by the second terminal mentioned in the first aspect is performed.
第五方面,本申请提供了一种终端,包括:In a fifth aspect, the present application provides a terminal, including:
至少一个存储器,用于存储程序;at least one memory for storing programs;
至少一个处理器,用于调用存储器存储的程序,以执行第一方面中提供的方法,或者执行第二方面中提供的方法。At least one processor is used to invoke a program stored in the memory to perform the method provided in the first aspect or the method provided in the second aspect.
第六方面,本申请提供了一种计算机存储介质,计算机存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行第一方面中提供的方法,或者执行第二方面中提供的方法。In a sixth aspect, the present application provides a computer storage medium, where instructions are stored in the computer storage medium, and when the instructions are run on a computer, the computer is made to execute the method provided in the first aspect, or execute the method provided in the second aspect .
第七方面,本申请提供了一种包含指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行第一方面中提供的方法,或者执行第二方面中提供的方法。In a seventh aspect, the present application provides a computer program product comprising instructions that, when executed on a computer, cause the computer to perform the method provided in the first aspect, or perform the method provided in the second aspect.
第八方面,本申请提供了一种芯片,包括至少一个处理器和接口;In an eighth aspect, the present application provides a chip, including at least one processor and an interface;
至少一个处理器通过接口获取程序指令或者数据;At least one processor obtains program instructions or data through an interface;
至少一个处理器用于执行程序行指令,以实现第一方面中提供的方法,或者执行第二方面中提供的方法。At least one processor is configured to execute program line instructions to implement the method provided in the first aspect, or to perform the method provided in the second aspect.
附图说明Description of drawings
图1a是本申请实施例提供的一种应用场景示意图;FIG. 1a is a schematic diagram of an application scenario provided by an embodiment of the present application;
图1b是本申请实施例提供的一种测试场景示意图;FIG. 1b is a schematic diagram of a test scenario provided by an embodiment of the present application;
图2是本申请实施例提供的一种终端的硬件结构示意图;2 is a schematic diagram of a hardware structure of a terminal provided by an embodiment of the present application;
图3是本申请实施例提供的一种终端的设置界面的示意图;3 is a schematic diagram of a setting interface of a terminal provided by an embodiment of the present application;
图4是本申请实施例提供的一种多路视频流的传输速率的示意图;4 is a schematic diagram of a transmission rate of a multi-channel video stream provided by an embodiment of the present application;
图5是本申请实施例提供的一种测试过程中视频流数据的传输过程示意图;5 is a schematic diagram of a transmission process of video stream data in a test process provided by an embodiment of the present application;
图6是本申请实施例提供的一种视频传输测试方法的流程示意图;6 is a schematic flowchart of a video transmission testing method provided by an embodiment of the present application;
图7是本申请实施例提供的一种从N路视频流中筛选M路视频流的步骤示意图;7 is a schematic diagram of a step of screening M video streams from N video streams according to an embodiment of the present application;
图8是本申请实施例提供的另一种视频传输测试方法的流程示意图;8 is a schematic flowchart of another video transmission testing method provided by an embodiment of the present application;
图9是本申请实施例提供的一种视频传输测试装置的结构示意图;9 is a schematic structural diagram of a video transmission test device provided by an embodiment of the present application;
图10是本申请实施例提供的一种芯片的结构示意图。FIG. 10 is a schematic structural diagram of a chip provided by an embodiment of the present application.
具体实施方式Detailed ways
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本申请实施例中的技术方案进行描述。In order to make the objectives, technical solutions and advantages of the embodiments of the present application more clear, the technical solutions in the embodiments of the present application will be described below with reference to the accompanying drawings.
在本申请实施例的描述中,“示例性的”、“例如”或者“举例来说”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”、“例如”或者“举例来说”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”、“例如”或者“举例来说”等词旨在以具体方式呈现相关概念。In the description of the embodiments of the present application, words such as "exemplary", "such as" or "for example" are used to mean serving as an example, illustration or illustration. Any embodiments or designs described in the embodiments of the present application as "exemplary," "such as," or "by way of example" should not be construed as preferred or advantageous over other embodiments or designs. Rather, use of words such as "exemplary," "such as," or "by way of example" is intended to present the related concepts in a specific manner.
在本申请实施例的描述中,术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B这三种情况。另外,除非另有说明,术语“多个”的含义是指两个或两个以上。例如,多 个系统是指两个或两个以上的系统,多个终端是指两个或两个以上的终端,多路视频流是指两路或两路以上的视频流。In the description of the embodiments of the present application, the term "and/or" is only an association relationship for describing associated objects, indicating that there may be three relationships, for example, A and/or B, which may indicate: A alone exists, A alone exists There is B, and there are three cases of A and B at the same time. Also, unless stated otherwise, the term "plurality" means two or more. For example, multiple systems refer to two or more systems, multiple terminals refer to two or more terminals, and multiple video streams refer to two or more video streams.
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。In addition, the terms "first" and "second" are only used for descriptive purposes, and cannot be understood as indicating or implying relative importance or implying the indicated technical features. Thus, a feature defined as "first" or "second" may expressly or implicitly include one or more of that feature. The terms "including", "including", "having" and their variants mean "including but not limited to" unless specifically emphasized otherwise.
首先,介绍本方案中提供的一种应用场景。First, an application scenario provided in this solution is introduced.
图1a是本申请实施例提供的一种应用场景示意图。如图1a所示,在监控业务中,监控摄像头(111,112,113)采集的视频数据可以依次经路由设备121,客户前置设备(customer premise equipment,CPE)13,基站14,核心网15和路由设备122,并发传输至播放终端16,这样用户就可以在播放终端16上查看到监控摄像头(111,112,113)采集到的视频数据。在监控业务上线前,往往需要预先配置监控摄像头(111,112,113)与播放终端16之间的网络;本方案中,预先配置的网络可以由路由设备(121,122),客户前置设备(customer premise equipment,CPE)13,基站14和核心网15组成。而为了确保监控业务上线后能够稳定运行,则需要对监控业务中预先配置的网络进行测试,以基于测试结果对网络进行调整,例如,增加网络带宽等等。FIG. 1a is a schematic diagram of an application scenario provided by an embodiment of the present application. As shown in Fig. 1a, in the monitoring service, the video data collected by the monitoring cameras (111, 112, 113) can be sequentially passed through the routing device 121, the customer premise equipment (CPE) 13, the base station 14, the core network 15 and the routing device 122 , and transmit it to the playback terminal 16 concurrently, so that the user can view the video data collected by the surveillance cameras ( 111 , 112 , 113 ) on the playback terminal 16 . Before the monitoring service goes online, it is often necessary to pre-configure the network between the monitoring cameras (111, 112, 113) and the playback terminal 16; in this solution, the pre-configured network can be configured by routing equipment (121, 122), customer premise equipment (CPE) ) 13, the base station 14 and the core network 15 are composed. In order to ensure stable operation of the monitoring service after it goes online, it is necessary to test the network preconfigured in the monitoring service to adjust the network based on the test results, for example, increase the network bandwidth and so on.
可以理解的是,本方案中,对于预先配置的网络并不对其进行具体限定,该预先配置的网络可以实现图1a中监控摄像头(111,112,113)与播放终端16之间的通信即可以。在一个例子中,预先配置的网络可以包括比图1a所示的网络中更多或更少的网元。此外,图1a中所示的监控摄像头的数量并不局限于3个,也可以为其他数量,例如2个,4个等等,在此不做限定。It can be understood that, in this solution, the preconfigured network is not specifically limited, and the preconfigured network can implement the communication between the surveillance cameras ( 111 , 112 , 113 ) and the playback terminal 16 in FIG. 1 a . In one example, the preconfigured network may include more or fewer network elements than in the network shown in Figure 1a. In addition, the number of surveillance cameras shown in FIG. 1a is not limited to 3, and may also be other numbers, such as 2, 4, etc., which are not limited here.
接下来,介绍本方案中提供的一种测试场景。Next, a test scenario provided in this scenario is introduced.
图1b是本申请实施例提供的一种测试场景示意图。如图1b所示,在测试图1a中预先配置的网络的视频传输能力时,可以利用终端171模拟图1a中监控摄像头(111,112,113)发送视频的场景,例如终端171可以模拟并发发送3路视频流。之后,终端171发送的视频流可以经预先配置的网络传输至终端172。然后,终端172可以对接收到的视频流进行解码,确定出终端171发送的每路视频流的传输测试指标,其中,该传输测试指标可以用来表征预先配置的网络的视频传输能力,其可以为帧率,时延,时延抖动,码率,丢包率,帧峰均比,渲染帧数,或者,丢帧率等等。示例性的,若每路视频流的丢包率均较高,则可以表明预先配置的网络的视频传输能力较差,因此需要对预先配置的网络进行调整。FIG. 1b is a schematic diagram of a test scenario provided by an embodiment of the present application. As shown in Fig. 1b, when testing the video transmission capability of the network preconfigured in Fig. 1a, the terminal 171 can be used to simulate the scene where the surveillance cameras (111, 112, 113) in Fig. 1a send video, for example, the terminal 171 can simulate and send three video streams concurrently . Afterwards, the video stream sent by the terminal 171 may be transmitted to the terminal 172 via a pre-configured network. Then, the terminal 172 can decode the received video stream, and determine the transmission test index of each video stream sent by the terminal 171, wherein the transmission test index can be used to characterize the video transmission capability of the pre-configured network, which can be For frame rate, delay, delay jitter, bit rate, packet loss rate, frame peak-to-average ratio, rendering frame number, or, frame loss rate, etc. Exemplarily, if the packet loss rate of each video stream is high, it may indicate that the video transmission capability of the preconfigured network is poor, and therefore the preconfigured network needs to be adjusted.
可以理解的是,终端171除了可以模拟图1a中监控摄像头(111,112,113)发送视频的场景之外,其也可以获取监控摄像头(111,112,113)采集的视频数据,以及将监控摄像头(111,112,113)采集的视频数据经预先配置的网络发送至终端172。例如,在测试图1a中预先配置的网络的视频传输能力时,可以将终端171设置于路由设备121与监控摄像头(111,112,113)之间,从而使得终端171可以获取到监控摄像头(111,112,113)采集的视频数据。It can be understood that, in addition to simulating the scene in which the surveillance cameras (111, 112, 113) send video in FIG. 1a, the terminal 171 can also acquire the video data collected by the surveillance cameras (111, 112, 113) and the video data collected by the surveillance cameras (111, 112, 113). Sent to terminal 172 via a preconfigured network. For example, when testing the video transmission capability of the pre-configured network in FIG. 1a, the terminal 171 can be set between the routing device 121 and the surveillance cameras (111, 112, 113), so that the terminal 171 can obtain the video captured by the surveillance cameras (111, 112, 113). data.
需说明的是,本方案中,终端171在模拟图1a中多路视频传输场景时,可以在N路视频流传输时控制N路视频流中的M路视频流的I帧进行碰撞,从而模拟监控业务上线后多路视频流并发传输时随机发生I帧碰撞的场景,使得在测试过程中可以覆盖多种实际应用场景,进而有效测试出预先配置的网络的视频传输能力。本方案中,2≤M≤N,其中,M和N均为 正整数。It should be noted that, in this solution, when simulating the multi-channel video transmission scenario in FIG. 1a, the terminal 171 can control the I frames of the M video streams in the N video streams to collide when the N video streams are transmitted, thereby simulating the I frame of the M video streams. After the monitoring service goes online, the I-frame collision occurs randomly when multiple video streams are concurrently transmitted, so that a variety of practical application scenarios can be covered during the test process, and the video transmission capability of the pre-configured network can be effectively tested. In this scheme, 2≤M≤N, where M and N are both positive integers.
可以理解的是,本方案中所描述的预先配置的网络可以为有线网络(wired network)或无线网络(wireless network)。例如,该网络可以为局域网(local area networks,LAN),也可以为广域网(wide area networks,WAN)(例如互联网)。该网络可使用任何已知的网络通信协议来实现,上述网络通信协议可以是各种有线或无线通信协议,诸如以太网、通用串行总线(universal serial bus,USB)、火线(firewire)、全球移动通讯系统(global system for mobile communications,GSM)、通用分组无线服务(general packet radio service,GPRS)、码分多址接入(code divisionmultiple access,CDMA)、宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA)、长期演进(long term evolution,LTE)、新空口(new radio,NR)、蓝牙(bluetooth)、无线保真(wireless fidelity,Wi-Fi)等通信协议。应理解,本方案的网络还可以是未来通信网络例如6G的网络等等。It can be understood that the preconfigured network described in this solution may be a wired network (wired network) or a wireless network (wireless network). For example, the network may be a local area network (LAN) or a wide area network (WAN) (eg, the Internet). The network may be implemented using any known network communication protocol, which may be various wired or wireless communication protocols, such as Ethernet, universal serial bus (USB), firewire, global Mobile communication system (global system for mobile communications, GSM), general packet radio service (general packet radio service, GPRS), code division multiple access (code division multiple access, CDMA), wideband code division multiple access (wideband code division multiple access) access, WCDMA), time division code division multiple access (time-division code division multiple access, TD-SCDMA), long term evolution (long term evolution, LTE), new radio (new radio, NR), Bluetooth (bluetooth), wireless security True (wireless fidelity, Wi-Fi) and other communication protocols. It should be understood that the network of this solution may also be a future communication network, such as a 6G network, and so on.
本方案中,终端(171,172)可以为手机,平板电脑,数码相机,个人数字助理(personal digitalassistant,PDA),可穿戴设备,智能电视,华为智慧屏,树莓派(Raspberry Pi),工业派(IndustriPi)等。终端(171,172)的示例性实施例包括但不限于搭载iOS、android、Windows、鸿蒙系统(Harmony OS)或者其他操作系统的电子设备。上述电子设备也可以是其他电子设备,诸如具有触敏表面(例如触控面板)的膝上型计算机(laptop)等。本申请实施例对电子设备的类型不做具体限定。In this solution, the terminals (171, 172) can be mobile phones, tablet computers, digital cameras, personal digital assistants (PDAs), wearable devices, smart TVs, Huawei smart screens, Raspberry Pi, industrial pie ( IndustriPi) etc. Exemplary embodiments of the terminals (171, 172) include, but are not limited to, electronic devices equipped with iOS, android, Windows, Harmony OS or other operating systems. The electronic device described above may also be other electronic devices, such as a laptop or the like having a touch-sensitive surface (eg, a touch panel). The embodiment of the present application does not specifically limit the type of the electronic device.
下面介绍本方案中提供的一种终端的硬件结构示意图。该终端可以为图1b中所示的终端(171,172)。The following introduces a schematic diagram of the hardware structure of a terminal provided in this solution. The terminal may be the terminal (171, 172) shown in Figure 1b.
图2是本申请实施例提供的一种终端的硬件结构示意图。如图2所示,该终端可以包括至少一个处理器201,该至少一个处理器201可支持终端实现本方案中所提供的方法。FIG. 2 is a schematic diagram of a hardware structure of a terminal provided by an embodiment of the present application. As shown in FIG. 2, the terminal may include at least one processor 201, and the at least one processor 201 may support the terminal to implement the method provided in this solution.
该处理器201可以是通用处理器或者专用处理器。例如,处理器201可以包括中央处理器(central processing unit,CPU)和/或基带处理器。其中,基带处理器可以用于处理通信数据,CPU可以用于实现相应的控制和处理功能,执行软件程序,处理软件程序的数据。示例性的,当处理器201归属于图1b所示的终端171时,则处理器201可以控制N路视频流经预先配置的网络并发传输至图1b中的终端172,其中,该处理器201可以在N路视频流传输时控制N路视频流中M路视频流中的I帧发生碰撞;当处理器201归属于图1b所示的终端172时,则处理器201可以接收到的图1b中终端171发送的视频流的视频帧进行解码,以及确定出每路视频流的传输测试指标,如码率,帧率,丢包率等等,其中,该传输测试指标可以表征预先配置的网络的视频传输能力。The processor 201 may be a general purpose processor or a special purpose processor. For example, the processor 201 may include a central processing unit (CPU) and/or a baseband processor. The baseband processor may be used to process communication data, and the CPU may be used to implement corresponding control and processing functions, execute software programs, and process data of software programs. Exemplarily, when the processor 201 belongs to the terminal 171 shown in FIG. 1b, the processor 201 can control N video streams to be transmitted to the terminal 172 in FIG. 1b through the preconfigured network, wherein the processor 201 When the N-channel video streams are transmitted, the I frames in the M-channel video streams in the N-channel video streams can be controlled to collide; when the processor 201 belongs to the terminal 172 shown in FIG. 1b, the processor 201 can receive the The video frame of the video stream sent by the terminal 171 is decoded, and the transmission test indicators of each video stream, such as bit rate, frame rate, packet loss rate, etc., are determined, wherein the transmission test indicators can represent the pre-configured network. video transmission capability.
进一步的,终端还可以包括收发单元203,用以实现信号的输入(接收)和输出(发送)。例如,收发单元203可以包括收发器或射频芯片。收发单元203还可以包括通信接口。示例性的,当收发单元203归属于图1b所示的终端171时,则收发单元203可以接收或者获取N路视频流,也可以向终端172发送N路视频流,亦可以接收终端172发送的指标等;当收发单元203归属于图1b所示的终端172时,收发单元203可以接收到的图1b中终端171发送的视频流的视频帧,也可以将终端172确定的部分或全部视频传输测试指标发送至终端171等。Further, the terminal may further include a transceiver unit 203 to implement signal input (reception) and output (send). For example, the transceiver unit 203 may include a transceiver or a radio frequency chip. The transceiver unit 203 may also include a communication interface. Exemplarily, when the transceiver unit 203 belongs to the terminal 171 shown in FIG. 1 b , the transceiver unit 203 can receive or acquire N video streams, and can also send N video streams to the terminal 172 , and can also receive the video streams sent by the terminal 172 . When the transceiver unit 203 belongs to the terminal 172 shown in FIG. 1b, the transceiver unit 203 can receive the video frame of the video stream sent by the terminal 171 in FIG. 1b, and can also transmit part or all of the video determined by the terminal 172. The test indicators are sent to the terminal 171 and the like.
可选地,终端中可以包括一个或多个存储器202,其上存有程序(也可以是指令或者代 码),程序可被处理器201运行,使得处理器201执行本方案中描述的方法。可选地,存储器202中还可以存储有数据。可选地,处理器201还可以读取存储器202中存储的数据(例如,预存储的视频流的数据,预存储的视频编码数据等等),该数据可以与程序存储在相同的存储地址,该数据也可以与程序存储在不同的存储地址。Optionally, the terminal may include one or more memories 202 on which programs (or instructions or codes) are stored, and the programs may be executed by the processor 201, so that the processor 201 executes the method described in this solution. Optionally, data may also be stored in the memory 202 . Optionally, the processor 201 can also read data stored in the memory 202 (for example, data of pre-stored video streams, pre-stored video encoding data, etc.), and the data can be stored in the same storage address as the program, The data can also be stored in a different memory address than the program.
处理器201和存储器202可以单独设置,也可以集成在一起,例如,集成在单板或者系统级芯片(system on chip,SOC)上。The processor 201 and the memory 202 can be provided separately, or can be integrated together, for example, integrated on a single board or a system on chip (system on chip, SOC).
关于终端在上述各种可能的设计中执行的操作的详细描述可以参照下文本方案提供的方法的实施例中的描述,在此就不再一一赘述。For a detailed description of the operations performed by the terminal in the above-mentioned various possible designs, reference may be made to the descriptions in the embodiments of the methods provided in the following text solutions, which will not be repeated here.
接下来,基于图1b所示的测试场景和图2所示的终端的硬件结构,对本方案的测试过程进行详细说明。为叙述方便,下文将“预先配置的网络”称之为“待测网络”。Next, based on the test scenario shown in FIG. 1 b and the hardware structure of the terminal shown in FIG. 2 , the test process of this solution is described in detail. For the convenience of description, the "pre-configured network" is referred to as the "network to be tested" hereinafter.
(1)设置测试参数(1) Set test parameters
在图1b所示的测试场景下,测试人员可以设置测试参数。本方案中,测试参数可以包括期望发生I帧碰撞的视频流的路数和概率。例如,测试人员可以设置10路视频流中有5路发生I帧碰撞,且发生I帧碰撞的概率为10%,等等。In the test scenario shown in Figure 1b, the tester can set the test parameters. In this solution, the test parameters may include the number and probability of video streams expected to collide with I-frames. For example, a tester can set I-frame collisions in 5 out of 10 video streams, and the probability of I-frame collisions is 10%, and so on.
在一个例子中,测试人员可以在终端171上设置测试参数,也可以在其他的终端上设置测试参数。当测试人员在其他的终端上设置测试参数时,其他的终端可以通过有线网络或无线网络将测试人员设置的测试参数传输至终端171上。示例性的,测试人员可以通过终端171上的人机交互界面设置测试参数,其中,测试人员可以但不限于通过触控设置或声控设置等。例如,如图3所示,在终端171的显示屏幕的显示界面上,可以显示测试参数的设置界面31,在设置界面31上可以显示各个测试参数,如测试的视频流总数,期望发生I帧碰撞的视频流的路数,发生I帧碰撞的概率,测试时长等等;此时,测试人员可以设定测试视频流的总数为10路,设定期望发生I帧碰撞的视频流的路数为5路,设定发生I帧碰撞的概率为50%,测试时长为3分钟。In one example, the tester can set test parameters on the terminal 171, and can also set test parameters on other terminals. When the tester sets test parameters on other terminals, the other terminals can transmit the test parameters set by the tester to the terminal 171 through a wired network or a wireless network. Exemplarily, the tester can set the test parameters through the human-computer interaction interface on the terminal 171, wherein the tester can set the test parameters through touch control or voice control, but not limited to. For example, as shown in FIG. 3 , on the display interface of the display screen of the terminal 171, a setting interface 31 of test parameters can be displayed, and each test parameter, such as the total number of video streams to be tested, can be displayed on the setting interface 31, and an I frame is expected to occur. The number of colliding video streams, the probability of I-frame collision, the test duration, etc.; at this time, the tester can set the total number of test video streams to 10, and set the number of video streams expected to have an I-frame collision. For 5-way, set the probability of I-frame collision to 50%, and the test duration is 3 minutes.
可以理解的是,测试参数也可以由系统根据经验值自动生成。例如,当待测网络的带宽为500Mbps时,经验值可以为测试视频流的总数为8路,期望发生I帧碰撞的视频流的路数为3路,发生I帧碰撞的概率为10%,则当待测网络的带宽为500Mbps时,系统则可以主动生成测试参数,此时测试参数即为:测试视频流的总数为8路,期望发生I帧碰撞的视频流的路数为3路,发生I帧碰撞的概率为10%。此外,也可以根据测试人员使用其他的网络的历史数据自动生成,在此不做限定。It can be understood that the test parameters can also be automatically generated by the system based on empirical values. For example, when the bandwidth of the network to be tested is 500Mbps, the empirical value can be that the total number of test video streams is 8, the number of video streams expected to collide with I-frames is 3, and the probability of I-frame collision is 10%. Then when the bandwidth of the network to be tested is 500Mbps, the system can actively generate test parameters. At this time, the test parameters are: the total number of test video streams is 8, and the number of video streams expected to collide with an I frame is 3. The probability of an I-frame collision is 10%. In addition, it can also be automatically generated according to the historical data of other networks used by the tester, which is not limited here.
(2)下发测试指令(2) Issue test instructions
在图1b所示的测试场景下,当测试参数设定完毕后,即可以下发测试指令。本方案中,测试指令可以手动下发,也可以自动下发。当测试指令为手动下发时,测试人员可以通过终端171上的人机交互界面下发测试指令;例如,继续参阅图3,测试人员将测试参数设置完毕后,可以点击设置界面31中的“确认”按键,即可以下发测试指令。当测试指令为自动下发时,测试指令可以由软件程序周期性的下发,例如,如果需要每天进行测试,则可以每天发送一次测试指令等;其中,用于下发测试指令的软件程序可以安装于终端171上。In the test scenario shown in Figure 1b, after the test parameters are set, the test command can be issued. In this solution, the test instruction can be issued manually or automatically. When the test instruction is issued manually, the tester can issue the test instruction through the human-computer interaction interface on the terminal 171; for example, continue to refer to FIG. "Confirm" button to send the test command. When the test command is automatically issued, the test command can be issued periodically by the software program. For example, if the test needs to be performed every day, the test command can be sent once a day, etc. The software program for issuing the test command can be Installed on the terminal 171 .
可以理解的是,测试指令是用于测试待测网络的视频传输能力的指令。当测试指令下发后,终端171则可以接收到测试指令,以及开始进行测试。It can be understood that the test instruction is an instruction used to test the video transmission capability of the network under test. After the test instruction is issued, the terminal 171 can receive the test instruction and start the test.
(3)开始测试(3) Start the test
在图1b所示的测试场景下,终端171接收到测试指令后,则可以开始测试工作。In the test scenario shown in FIG. 1b, after the terminal 171 receives the test instruction, it can start the test work.
在测试时,终端171可以获取N路视频流;其中,N的数值可以基于测试参数确定,其代表了测试的视频流的总的路数。本方案中,N路视频流可以是预先存储于终端171上的,也可以由终端171根据预先设置的视频编码参数生成,其中,视频编码参数可以包括编码格式,码率,帧率,I帧间隔等等。此外,N路视频流也可以是预先存储于其他的终端上,亦可以由其他的终端根据预先设置的视频编码参数生成,在此不做限定。可以理解的是,当N路视频流由其他的终端存储或生成时,终端171可以向其他的终端发送请求,以请求其他的终端将N路视频流发送至终端171。During the test, the terminal 171 can acquire N video streams; wherein, the value of N can be determined based on the test parameter, which represents the total number of video streams to be tested. In this solution, the N video streams may be pre-stored on the terminal 171, or may be generated by the terminal 171 according to preset video encoding parameters, wherein the video encoding parameters may include encoding format, bit rate, frame rate, I frame interval, etc. In addition, the N video streams may also be pre-stored on other terminals, or may be generated by other terminals according to preset video coding parameters, which is not limited herein. It can be understood that when the N video streams are stored or generated by other terminals, the terminal 171 may send a request to the other terminals to request the other terminals to send the N video streams to the terminal 171 .
终端171获取到N路视频流后,可以将N路视频流通过待测网络并发传输至终端172。终端172接收到N路视频流的视频帧后,可以对每路视频流的视频帧解码,进而确定出每路视频流的传输测试指标,其中,该传输测试指标可以表征待测网络的视频传输能力。本方案中,传输测试指标可以包括帧率,时延,时延抖动,码率,丢包率,帧峰均比,渲染帧数,或者,丢帧率等等。在一个例子中,并发传输可以理解为同一时刻多路视频流同时传输。After the terminal 171 acquires the N video streams, the N video streams can be concurrently transmitted to the terminal 172 through the network under test. After receiving the video frames of the N video streams, the terminal 172 can decode the video frames of each video stream, and then determine the transmission test index of each video stream, wherein the transmission test index can characterize the video transmission of the network under test. ability. In this solution, the transmission test indicators may include frame rate, delay, delay jitter, bit rate, packet loss rate, frame peak-to-average ratio, number of rendering frames, or frame loss rate, and so on. In one example, concurrent transmission can be understood as simultaneous transmission of multiple video streams at the same time.
本方案中,终端171在向终端172发送N路视频流时,可以控制M路视频流中的I帧发生碰撞,其中,M路视频流中的M即为测试参数中期望发生I帧碰撞的视频流的路数,M路视频流为N路视频流中的多路视频流,M≤N。In this solution, when the terminal 171 sends N video streams to the terminal 172, it can control the I frames in the M video streams to collide, wherein M in the M video streams is the expected I frame collision in the test parameters. The number of video streams, M video streams are multiple video streams in N video streams, M≤N.
其中,终端171传输N路视频流的过程中,可以先判断当前是否需要进行I帧碰撞。如果需要进行I帧碰撞,终端171则可以从N路视频流中筛选出M路视频流,然后,再同时发送M路视频流中的I帧,进而实现M路视频流中的I帧发生碰撞。下面对判断过程、筛选过程和发送过程分别进行描述。Wherein, in the process of transmitting N video streams, the terminal 171 may first determine whether it is necessary to perform I-frame collision at present. If I-frame collision needs to be performed, the terminal 171 can filter out M-channel video streams from the N-channel video streams, and then simultaneously transmit I-frames in the M-channel video streams, thereby realizing the collision of I-frames in the M-channel video streams. . The judging process, the screening process and the sending process are respectively described below.
a、判断是否进行I帧碰撞a. Determine whether to perform an I-frame collision
本方案中,终端172在接收到N路视频流的视频帧时,可以确定出I帧碰撞指标,然后再将I帧碰撞指标发送至终端171。之后,终端171在接收到终端172发送的I帧碰撞指标后,可以根据其最新接收到的I帧碰撞指标,I帧统计数据和测试参数,确定是否需要进行I帧碰撞。In this solution, when the terminal 172 receives the video frames of the N video streams, it can determine the I-frame collision indicator, and then send the I-frame collision indicator to the terminal 171 . Afterwards, after receiving the I-frame collision indicator sent by the terminal 172, the terminal 171 may determine whether to perform an I-frame collision according to the latest received I-frame collision indicator, I-frame statistical data and test parameters.
在一个例子中,I帧碰撞指标可以包括M路视频流发生I帧碰撞的实时概率。示例性的,终端172可以对其接收的N路视频流的视频帧进行抓包,然后生成传输速率图,并由该传输速率图确定出是否发生了I帧碰撞,最后由已接收的I帧的个数和M路视频流中发生碰撞的I帧的个数,即可以确定出I帧碰撞的实时概率。例如,开始测试的时间为上午9:00,当前时间为上午9:30,若在9:00至9:30这一时间段内,M路视频流中发生碰撞的I帧个数为10个,已接收的I帧个数为100个,则在当前时间(即上午9:30)M路视频流中I帧碰撞的实时概率为10%。对于传输速率图,可以参阅图4,如图4所示,若未发生I帧碰撞时,每路视频流中的I帧均可以每100ms传输1000bytes;而在发生I帧碰撞时,则在发送I帧碰撞的时刻,如30s时,每100ms传输的I帧的数据量将成倍增加,例如,若两路视频流中的I帧发生碰撞,则此时每100ms传输的I帧的数据量为2000bytes;因此,可以基于图4中的传输速率图中I帧的峰值变化情况,确定是否发生I帧碰撞,以及发送I帧碰撞的视频流的路数。In one example, the I-frame collision indicator may include the real-time probability of an I-frame collision in M video streams. Exemplarily, the terminal 172 can capture the video frames of the N video streams it receives, and then generate a transmission rate map, and determine whether an I-frame collision has occurred from the transmission rate map, and finally the received I-frame and the number of colliding I frames in M video streams, the real-time probability of I frame collision can be determined. For example, the time to start the test is 9:00 am, and the current time is 9:30 am. If it is in the time period from 9:00 to 9:30, the number of I-frames that collide in the M-channel video stream is 10 , the number of received I-frames is 100, and the real-time probability of I-frame collision in M-channel video streams at the current time (ie, 9:30 am) is 10%. For the transmission rate diagram, please refer to Figure 4. As shown in Figure 4, if there is no I frame collision, the I frame in each video stream can transmit 1000 bytes every 100ms; At the moment of I-frame collision, for example, in 30s, the data volume of I-frames transmitted every 100ms will double. For example, if I-frames in two video streams collide, the data volume of I-frames transmitted every 100ms is 2000 bytes; therefore, it can be determined whether an I-frame collision occurs and the number of video streams that send the I-frame collision based on the peak change of the I frame in the transmission rate graph in FIG. 4 .
I帧统计数据可以用于统计N路视频流中每路视频流中与I帧相关的数据。示例性的,I帧统计数据可以包括:N路视频流中每路视频流已发送的I帧的数量,或者,在前次发生I帧碰撞时,N路视频流中每路视频流已发送的I帧的数量。可以理解的是,终端171在发送N路视频流中每路视频流的视频帧时,可以统计其发送的I帧的数量,例如,以第一路视频流 为例,在发送第一路视频流的视频帧时,每发送一个I帧,终端171则将统计的该第一路视频流的I帧数量增加一个。The I frame statistical data can be used to count the data related to the I frame in each of the N video streams. Exemplarily, the I-frame statistical data may include: the number of I-frames that have been sent by each of the N-channel video streams, or, when the previous I-frame collision occurred, the number of sent I-frames in each of the N-channel video streams. The number of I-frames. It can be understood that the terminal 171 can count the number of I frames sent by the terminal 171 when sending the video frames of each video stream in the N video streams. For example, taking the first video stream as an example, when sending the first video stream When sending video frames of a stream, the terminal 171 increases the counted number of I frames of the first video stream by one each time an I frame is sent.
测试参数可以包括M路视频流的路数和期望M路视频流中的I帧发生碰撞的概率。The test parameters may include the number of M video streams and the expected probability of collision of I frames in the M video streams.
在一个例子中,在确定是否进行I帧碰撞时,终端171可以将其最新接收的I帧碰撞指标,I帧统计数据和测试参数,输入至预先配置的碰撞确定模型中,然后,再基于碰撞确定模型的输出结果进行确定。例如,当碰撞确定模型输出的输出结果为进行I帧碰撞,则可以确定此时需要进行I帧碰撞。示例性的,碰撞确定模型可以使用高斯过程模型、神经网络模型、支持向量机等,对历史测试数据中的测试数据进行训练得到。此外,碰撞确定模型也可以为偏差型函数模型,比例型函数模型,混杂型函数模型,或者其他的数学函数模型,在此不做限定。In one example, when determining whether to perform an I-frame collision, the terminal 171 may input its latest received I-frame collision indicator, I-frame statistics and test parameters into a preconfigured collision determination model, and then, based on the collision Determine the output of the model to determine. For example, when the output result output by the collision determination model is to perform an I-frame collision, it can be determined that an I-frame collision needs to be performed at this time. Exemplarily, the collision determination model may be obtained by training test data in historical test data using a Gaussian process model, a neural network model, a support vector machine, or the like. In addition, the collision determination model may also be a deviation-type function model, a proportional-type function model, a hybrid-type function model, or other mathematical function models, which are not limited herein.
可以理解的是,在判断出需要进行I帧碰撞时,则可以从N路视频流中筛选出M路视频流,即执行下文所描述的“从N路视频流中筛选出M路视频流”的过程。如果判断出不需要进行I帧碰撞,则可以不需要从N路视频流中筛选出M路视频流。It can be understood that when it is judged that I frame collision is required, M video streams can be screened out from N video streams, that is, the “screening of M video streams from N video streams” described below is performed. the process of. If it is determined that I frame collision is not required, it may not be necessary to filter out M video streams from N video streams.
b、从N路视频流中筛选出M路视频流b. Screen out M video streams from N video streams
本方案中,终端171可以接收终端172发送的N路视频流中每路视频流的传输指标,其中,该传输指标是由终端172在接收到N路视频流中每路视频流的视频帧时所确定。进一步地,终端171在接收到终端172发送的N路视频流中每路视频流的传输指标后,可以根据其最新接收到的N路视频流中每路视频流的传输指标和视频帧统计数据,确定N路视频流中每路视频流的权重值;其中,N路视频流中每路视频流的传输指标可以包括帧率,时延抖动等等,视频帧统计数据可以包括N路视频流中每路视频流已发送的视频帧的总数,N路视频流中每路视频流中的I帧间隔等等。最后,终端171可以根据N路视频流中每路视频流的权重值,从N路视频流中随机筛选出M路视频流;例如,利用随机加权算法进行筛选等等。需说明的是,本方案中,在筛选M路视频流时,终端171所使用的N路视频流中每路视频流的传输指标,可以为终端172确定出的N路视频流中每路视频流的传输测试指标中的部分指标或全部指标,在此不做限定。In this solution, the terminal 171 can receive the transmission indicator of each video stream in the N video streams sent by the terminal 172, wherein the transmission indicator is the transmission indicator when the terminal 172 receives the video frame of each video stream in the N video streams. determined. Further, after receiving the transmission indicator of each video stream in the N video streams sent by the terminal 172, the terminal 171 may, according to the transmission indicator and video frame statistical data of each video stream in the N video streams newly received by the terminal 171, , determine the weight value of each video stream in the N video streams; wherein, the transmission indicators of each video stream in the N video streams may include frame rate, delay jitter, etc., and the video frame statistics may include the N video streams. The total number of video frames that have been sent in each video stream in the N video streams, the I frame interval in each video stream in the N video streams, and so on. Finally, the terminal 171 can randomly select M video streams from the N video streams according to the weight value of each video stream in the N video streams; for example, use a random weighting algorithm for screening and so on. It should be noted that, in this solution, when screening the M video streams, the transmission index of each video stream in the N video streams used by the terminal 171 may be each video stream in the N video streams determined by the terminal 172. Some or all of the indicators in the streaming transmission test indicators are not limited here.
可以理解的是,在确定N路视频流中每路视频流的权重值时,终端171可以将其最新接收到的N路视频流中每路视频流的传输指标和视频帧统计数据,输入至权重确定模型,进而得到N路视频流中每路视频流的权重值。示例性的,权重确定模型可以使用高斯过程模型、神经网络模型、支持向量机等,对历史测试数据中的测试数据进行训练得到。此外,权重确定模型也可以为偏差型函数模型,比例型函数模型,混杂型函数模型,或者其他的数学函数模型,在此不做限定。在一个例子中,权重确定模型可以为以下所示的数学函数模型,其中,该数学函数模型为:It can be understood that, when determining the weight value of each video stream in the N video streams, the terminal 171 can input the transmission index and video frame statistical data of each video stream in the N video streams that it recently received into the The weight determines the model, and then obtains the weight value of each video stream in the N video streams. Exemplarily, the weight determination model can be obtained by training the test data in the historical test data by using a Gaussian process model, a neural network model, a support vector machine, or the like. In addition, the weight determination model may also be a deviation-type function model, a proportional-type function model, a hybrid-type function model, or other mathematical function models, which are not limited herein. In one example, the weight determination model may be the mathematical function model shown below, where the mathematical function model is:
ω i=1-jitter i×(IFI i-mod(TolFN i,IFI i))×(1/FPS i) ω i =1-jitter i ×(IFI i -mod(TolFN i ,IFI i ))×(1/FPS i )
其中,ω i为第i路视频流的权重值,1≤i≤N;jitter i为第i路视频流的时延抖动;IFI i为第i路视频流的I帧间隔;TolFN i为第i路视频流已发送的视频帧的总数;FPS i为第i路视频流的帧率。 Among them, ω i is the weight value of the ith video stream, 1≤i≤N; jitter i is the delay jitter of the ith video stream; IFI i is the I frame interval of the ith video stream; TolFN i is the ith video stream The total number of video frames sent by the i-channel video stream; FPS i is the frame rate of the i-th video stream.
可以理解的是,在从N路视频流中筛选出M路视频流后,即可以执行下文所描述的“同时发送M路视频流中的I帧”的过程。It can be understood that, after the M video streams are selected from the N video streams, the process of "simultaneously sending I frames in the M video streams" described below can be performed.
c、同时发送M路视频流中的I帧c. Send I frames in M video streams at the same time
从N路视频流中筛选出M路视频流后,终端171可以对M路视频流中的I帧进行碰撞 控制。在一个例子中,终端171可以根据H264,H265等视频压缩编码格式对视频流中视频数据包结果的定义,分别判断M路视频流中每路视频流中待发送的视频帧是否属于I帧。其中,若M路视频流中当前待发送的视频帧均为I帧,则将这些I帧同时向终端172发送,以使这些I帧发生碰撞。若M路视频流中当前待发送的视频帧中至少有一个不属于I帧,则将不属于I帧的视频帧发送至终端172,以及暂停发送属于I帧的视频帧;此外,当M路视频流中当前待发送的视频帧均属于I帧时,则将这些I帧同时发送至终端172。在一个例子中,暂停发送属于I帧的视频帧,可以是将该I帧对应的视频流的进程置为阻塞状态。After filtering out the M video streams from the N video streams, the terminal 171 can perform collision control on the I frames in the M video streams. In one example, the terminal 171 can respectively determine whether the video frame to be sent in each video stream in the M video streams belongs to the I frame according to the definition of the video data packet result in the video stream according to video compression coding formats such as H264 and H265. Wherein, if the video frames currently to be sent in the M video streams are all I-frames, these I-frames are sent to the terminal 172 at the same time, so that these I-frames collide. If at least one of the video frames currently to be sent in the M video streams does not belong to an I frame, the video frame that does not belong to the I frame is sent to the terminal 172, and the transmission of the video frame belonging to the I frame is suspended; When the video frames currently to be sent in the video stream all belong to I frames, these I frames are sent to the terminal 172 at the same time. In one example, suspending the sending of a video frame belonging to an I frame may be to set the process of the video stream corresponding to the I frame to a blocking state.
(4)结束测试(4) End the test
在测试时长结束后,即可以结束测试工作。此时,终端172可以显示出测试结果。此外,测试人员也可以从终端172中导出测试数据,然后对测试数据进行分析,以确定待测网络的视频传输能力。After the test duration is over, the test work can be ended. At this point, the terminal 172 may display the test results. In addition, the tester can also export the test data from the terminal 172, and then analyze the test data to determine the video transmission capability of the network under test.
为便于理解,下面以并发传输3路视频流,控制2路视频流发生I帧碰撞为例,并结合图5对上文所描述的测试过程中的部分测试过程分步进行解释说明。For ease of understanding, the following takes the concurrent transmission of 3 video streams and the control of 2 video streams to generate an I-frame collision as an example, and explains part of the test process in the above-described test process step by step with reference to FIG. 5 .
步骤A,终端171中的视频编码模块1711或者视频文件读取模块1712可以获取3路视频流。其中,视频编码模块1711可以根据测试前已设置好的视频编码参数生成视频流;视频文件读取模块1712可以根据测试前已设置好的本地文件路径读取视频流。In step A, the video encoding module 1711 or the video file reading module 1712 in the terminal 171 can acquire three video streams. The video encoding module 1711 can generate a video stream according to the video encoding parameters set before the test; the video file reading module 1712 can read the video stream according to the local file path set before the test.
步骤B,终端171中每路视频流均持有自己对应的数据获取模块,即数据获取模块17131,17132,17133。其中,数据获取模块(17131,17132,17133)可以从视频编码模块1711或视频文件读取模块1712中获取视频流,并将获取到的视频流保存至自己的数据缓冲区中。In step B, each video stream in the terminal 171 has its own corresponding data acquisition module, that is, the data acquisition modules 17131, 17132, and 17133. Among them, the data acquisition module (17131, 17132, 17133) can acquire the video stream from the video encoding module 1711 or the video file reading module 1712, and save the acquired video stream in its own data buffer.
步骤C,终端171中的I帧碰撞控制模块1714可以从每路视频流的数据获取模块中获取到视频帧,以及从指标接收模块1715中获取到终端172发送的指标,该指标可以为上文中的I帧碰撞指标(如2路视频流中I帧发生碰撞的实时概率等),3路视频流中每路视频流的传输指标(如帧率,时延抖动等)。之后,I帧碰撞控制模块1714则可以判断是否进行I帧碰撞。如果不需要进行I帧碰撞,则直接发送每路视频流的视频帧。如果需要进行I帧碰撞,则从3路视频流中筛选出2路视频流;然后,同时发送2路视频流中的I帧。详见上文有关描述,在此就不再一一赘述。Step C, the I frame collision control module 1714 in the terminal 171 can obtain the video frame from the data acquisition module of each video stream, and obtain the indicator sent by the terminal 172 from the indicator receiving module 1715, and the indicator can be the above. The I frame collision index (such as the real-time probability of I frame collision in the 2-channel video stream, etc.), and the transmission index of each video stream in the 3-channel video stream (such as frame rate, delay jitter, etc.). Afterwards, the I-frame collision control module 1714 can determine whether to perform an I-frame collision. If I-frame collision is not required, the video frames of each video stream are sent directly. If I-frame collision is required, 2-channel video streams are screened from the 3-channel video streams; then, I-frames in the 2-channel video streams are sent simultaneously. For details, please refer to the relevant descriptions above, which will not be repeated here.
步骤D,终端171中每路视频流均持有自己对应的数据发送模块,即数据发送模块17161,17162,17163。其中,每路视频流对应的数据发送模块均可以从I帧碰撞控制模块1714中获取到所需发送的视频帧。之后,数据发送模块(17161,17162,17163)可以使用标准监控视频流传输协议(如:RTSP、RTMP等),以及经待测网络将视频帧发送至终端172。In step D, each video stream in the terminal 171 has its own corresponding data transmission module, that is, the data transmission modules 17161, 17162, and 17163. The data sending module corresponding to each video stream can obtain the video frame to be sent from the I-frame collision control module 1714 . Afterwards, the data sending module (17161, 17162, 17163) can use standard surveillance video streaming protocols (eg RTSP, RTMP, etc.), and send video frames to the terminal 172 via the network under test.
步骤E,终端172中每路视频流均持有自己对应的数据接收模块,即数据接收模块17211,17212,17213。每路视频流的数据接收模块可以运行标准监控视频流传输协议,以接收来自对应数据发送模块的视频帧,并将视频帧保存至自己的数据缓冲区中。In step E, each video stream in the terminal 172 has its own corresponding data receiving module, that is, the data receiving modules 17211, 17212, and 17213. The data receiving module of each video stream can run the standard monitoring video stream transmission protocol to receive the video frame from the corresponding data sending module, and save the video frame into its own data buffer.
步骤F,终端172中每路视频流均持有自己对应的解码渲染模块,即解码渲染模块17221,17222,17223。每路视频流的解码渲染模块可以从对应的数据接收模块的数据缓冲区中读取视频帧,然后进行解码、渲染视频画面等。In step F, each video stream in the terminal 172 has its own corresponding decoding and rendering module, namely the decoding and rendering modules 17221, 17222, and 17223. The decoding and rendering module of each video stream can read the video frame from the data buffer of the corresponding data receiving module, and then decode and render the video picture.
步骤G,终端172中每路视频流均持有自己对应的指标生成模块,即指标生成模块17231,17232,17233。在传输测试过程中,指标生成模块可以实时生成传输测试指标,如帧率,时延,时延抖动,码率,丢包率,帧峰均比,渲染帧数,或者,丢帧率等等。In step G, each video stream in the terminal 172 has its own corresponding indicator generation module, that is, indicator generation modules 17231, 17232, and 17233. During the transmission test process, the indicator generation module can generate transmission test indicators in real time, such as frame rate, delay, delay jitter, bit rate, packet loss rate, frame peak-to-average ratio, number of rendering frames, or frame loss rate, etc. .
步骤H,终端172中的指标存储模块1724可以保存指标生成模块生成的传输测试指标。例如,保存至数据库或者保存为本地指标文件等。In step H, the indicator storage module 1724 in the terminal 172 may store the transmission test indicator generated by the indicator generation module. For example, save to a database or save as a local indicator file, etc.
步骤I,终端172中的指标发送模块1725可以周期性地从指标存储模块1724中获取最新生成的指标,然后将获取到的最新指标发送至终端171中的指标接收模块1714。In step 1, the indicator sending module 1725 in the terminal 172 may periodically acquire the latest generated indicator from the indicator storage module 1724, and then send the acquired latest indicator to the indicator receiving module 1714 in the terminal 171.
重复步骤A~步骤I,直至测试时长结束。Repeat steps A to I until the test duration ends.
接下来,基于上文所描述的待测网络的视频传输能力的测试过程,对本申请实施例提供的一种视频传输测试方法进行介绍。可以理解的是,该方法是上文所描述的待测网络的视频传输能力的测试过程的另一种表达方式,两者是相结合的。该方法是基于上文所描述的待测网络的视频传输能力的测试过程提出,该方法中的部分或全部内容可以参见上文对待测网络的视频传输能力的测试过程的描述。Next, based on the test process of the video transmission capability of the network under test described above, a video transmission test method provided by the embodiment of the present application is introduced. It can be understood that this method is another expression of the testing process of the video transmission capability of the network under test described above, and the two are combined. The method is proposed based on the testing process of the video transmission capability of the network under test described above, and some or all of the content of the method may refer to the description of the testing process of the video transmission capability of the network under test above.
请参阅图6,图6是本申请实施例提供的一种视频传输测试方法的流程示意图。可以理解,该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。其中,该方法可以应用于包含有第一终端和第二终端的系统,如图6所示,该视频传输测试方法包括:Please refer to FIG. 6. FIG. 6 is a schematic flowchart of a video transmission testing method provided by an embodiment of the present application. It can be understood that the method can be performed by any apparatus, device, platform, or device cluster with computing and processing capabilities. Wherein, the method can be applied to a system including a first terminal and a second terminal. As shown in FIG. 6 , the video transmission test method includes:
步骤S101、第一终端获取N路视频流,N为大于1的正整数。Step S101, the first terminal acquires N video streams, where N is a positive integer greater than 1.
本方案中,第一终端可以自行生成N路视频流,也可以从本地文件中读取到N路视频流。在一个例子中,N的数值可以由测试人员设定,也可以由第一终端根据经验值自动生成,在此不做限定。其中,第一终端可以理解为上文描述的终端171。In this solution, the first terminal can generate N video streams by itself, or can read N video streams from a local file. In an example, the value of N may be set by a tester, or may be automatically generated by the first terminal according to an experience value, which is not limited herein. The first terminal may be understood as the terminal 171 described above.
步骤S102、第一终端控制N路视频流经第一网络并发传输至第二终端,其中,第一终端在N路视频流传输时控制N路视频流中M路视频流中的I帧发生碰撞,2≤M≤N。Step S102, the first terminal controls the N video streams to pass through the first network and transmit them to the second terminal, wherein the first terminal controls the I frames in the M video streams in the N video streams to collide when the N video streams are transmitted. , 2≤M≤N.
本方案中,第一终端可以控制N路视频流经第一网络并发传输至第二终端,其中,第一终端在N路视频流传输时控制N路视频流中M路视频流中的I帧发生碰撞。其中,第一网络可以理解为上文描述的预先配置的网络。其中,第二终端可以理解为上文描述的终端172。In this solution, the first terminal can control N video streams to pass through the first network and transmit them to the second terminal, wherein the first terminal controls I frames in M video streams in the N video streams when the N video streams are transmitted. Collision. The first network may be understood as the pre-configured network described above. The second terminal may be understood as the terminal 172 described above.
在一个例子中,第一终端可以根据第二指标,I帧统计数据和预设的测试参数,确定是否进行I帧碰撞。第二指标为第一终端最新接收的第二终端发送的指标,第二指标可以包括M路视频流发生I帧碰撞的实时概率,I帧统计数据用于统计N路视频流中每路视频流中与I帧相关的数据,测试参数可以包括M路视频流的路数和期望M路视频流中的I帧发生碰撞的概率。其中,第二指标可以理解为上文描述的I帧碰撞指标,I帧统计数据可以理解为上文描述的I帧统计数据,测试参数可以理解为上文描述的测试参数。In one example, the first terminal may determine whether to perform I-frame collision according to the second indicator, I-frame statistical data and preset test parameters. The second indicator is the indicator recently received by the first terminal and sent by the second terminal. The second indicator may include the real-time probability of I-frame collision of M-channel video streams, and the I-frame statistical data is used to count each video stream in the N-channel video streams. The data related to the I-frame in the test parameters may include the number of M-channel video streams and the expected probability of collision of the I-frames in the M-channel video streams. The second index can be understood as the I frame collision index described above, the I frame statistical data can be understood as the I frame statistical data described above, and the test parameters can be understood as the test parameters described above.
在一个例子中,I帧统计数据可以包括以下一项或多项:N路视频流中每路视频流已发送的I帧的数量,或者,在前次发生I帧碰撞时,N路视频流中每路视频流已发送的I帧的数量。In an example, the I-frame statistics may include one or more of the following: the number of I-frames sent by each of the N-channel video streams, or, when an I-frame collision occurred last time, the N-channel video streams The number of I-frames that have been sent in each video stream.
若第一终端确定进行I帧碰撞,进一步地,第一终端控制N路视频流中M路视频流中的I帧发生碰撞。在一个例子中,第一终端可以从N路视频流中筛选M路视频流,以及同时发送M路视频流中的I帧,从而使得M路视频流中的I帧发生碰撞。If the first terminal determines to perform I-frame collision, further, the first terminal controls the collision of I-frames in M video streams in N video streams. In an example, the first terminal may filter M video streams from the N video streams, and simultaneously send I frames in the M video streams, so that the I frames in the M video streams collide.
作为一种可能的实现方式,如图7所示,第一终端从N路视频流中筛选M路视频流,可以包括以下步骤:As a possible implementation, as shown in FIG. 7 , the first terminal selects M video streams from N video streams, which may include the following steps:
步骤S201、第一终端根据视频帧统计数据和第三指标,确定N路视频流中每路视频流的权重值。Step S201, the first terminal determines the weight value of each video stream in the N video streams according to the video frame statistical data and the third indicator.
本方案中,第三指标为第一终端最新接收的第二终端发送的指标,该第三指标可以包括 N路视频流中每路视频流的传输指标。其中,第三指标可以理解为上文描述的N路视频流中每路视频流的传输指标,视频帧统计数据可以理解为上文描述的视频帧统计数据。第一终端接收到第三指标后,即可以根据第三指标和视频帧统计数据,确定N路视频流中每路视频流的权重值;其中,视频帧统计数据可以用于统计N路视频流中每路视频流中视频帧的数据。示例性的,可以将第三指标和视频帧统计数据输入至权重确定模型,以得到N路视频流中每路视频流的权重值。In this solution, the third indicator is an indicator recently received by the first terminal and sent by the second terminal, and the third indicator may include a transmission indicator of each video stream in the N video streams. The third indicator can be understood as the transmission indicator of each video stream in the N video streams described above, and the video frame statistical data can be understood as the video frame statistical data described above. After receiving the third indicator, the first terminal can determine the weight value of each video stream in the N video streams according to the third indicator and the video frame statistical data; wherein, the video frame statistical data can be used to count the N video streams. The data of the video frame in each video stream. Exemplarily, the third indicator and video frame statistical data may be input into the weight determination model to obtain the weight value of each video stream in the N video streams.
步骤S202、第一终端根据N路视频流中每路视频流的权重值,从N路视频流中随机筛选出M路视频流。Step S202: The first terminal randomly selects M video streams from the N video streams according to the weight value of each video stream in the N video streams.
本方案中,第一终端确定出N路视频流中每路视频流的权重值后,可以但不限于利用加权随机算法,从N路视频流中随机筛选出M路视频流。In this solution, after determining the weight value of each video stream in the N video streams, the first terminal may, but is not limited to, use a weighted random algorithm to randomly select M video streams from the N video streams.
接着,在第一终端发送N路视频流后,即可以执行步骤S103。Next, after the first terminal sends N video streams, step S103 may be executed.
步骤S103、第二终端接收N路视频流的视频帧,以及确定N路视频中每路视频流的第一指标,第一指标用于表征第一网络的视频传输能力。Step S103, the second terminal receives the video frames of the N video streams, and determines a first indicator of each video stream in the N videos, where the first indicator is used to represent the video transmission capability of the first network.
本方案中,第二终端接收到第一终端发送的N路视频流的视频帧后,可以对每路视频流的视频帧进行解码,进而确定出N路视频中每路视频流的第一指标,该第一指标用于表征第一网络的视频传输能力。其中,第一指标可以理解为上文描述的传输测试指标。In this solution, after receiving the video frames of the N video streams sent by the first terminal, the second terminal can decode the video frames of each video stream, and then determine the first indicator of each video stream in the N videos. , where the first indicator is used to characterize the video transmission capability of the first network. The first index may be understood as the transmission test index described above.
可以理解的是,本方案提供的方法中的部分或全部描述,可以参考上文有关描述,在此就不再一一赘述。It can be understood that, for some or all of the descriptions in the method provided in this solution, reference may be made to the above related descriptions, which will not be repeated here.
由此,本方案中,在测试多路视频传输所在的网络时,可以控制部分或全部的视频流中的I帧发生碰撞,从而模拟监控业务上线后多路视频流并发传输时随机发生I帧碰撞的场景,使得在测试过程中可以覆盖多种实际应用场景,进而有效测试出预先配置的网络的视频传输能力。Therefore, in this solution, when testing the network where the multi-channel video transmission is located, it is possible to control the collision of the I-frames in some or all of the video streams, thereby simulating the random occurrence of I-frames when the multi-channel video streams are concurrently transmitted after the monitoring service goes online. Collision scenarios make it possible to cover a variety of practical application scenarios in the test process, and then effectively test the video transmission capability of the pre-configured network.
接下来,基于上文所描述的待测网络的视频传输能力的测试过程,以终端171为执行主体,介绍本申请实施例提供的另一种视频传输测试方法。可以理解的是,该方法是上文所描述的待测网络的视频传输能力的测试过程中终端171执行过程的另一种表达方式,两者是相结合的。该方法是基于上文所描述的待测网络的视频传输能力的测试过程提出,该方法中的部分或全部内容可以参见上文对待测网络的视频传输能力的测试过程的描述。Next, based on the testing process of the video transmission capability of the network to be tested described above, with the terminal 171 as the execution subject, another video transmission testing method provided by the embodiment of the present application is introduced. It can be understood that this method is another expression of the execution process of the terminal 171 in the process of testing the video transmission capability of the network under test described above, and the two are combined. The method is proposed based on the testing process of the video transmission capability of the network under test described above, and some or all of the content of the method may refer to the description of the testing process of the video transmission capability of the network under test above.
请参阅图8,图8是本申请实施例提供的另一种视频传输测试方法的流程示意图。可以理解,该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。其中,该方法可以应用于第一终端,即上文所描述的终端171,如图8所示,该视频传输测试方法包括:Please refer to FIG. 8. FIG. 8 is a schematic flowchart of another video transmission testing method provided by an embodiment of the present application. It can be understood that the method can be performed by any apparatus, device, platform, or device cluster with computing and processing capabilities. Wherein, the method can be applied to the first terminal, that is, the terminal 171 described above. As shown in FIG. 8 , the video transmission test method includes:
步骤S301、获取N路视频流,N为大于1的正整数。Step S301 , acquiring N video streams, where N is a positive integer greater than 1.
步骤S302、控制N路视频流经第一网络并发传输至第二终端,其中,在N路视频流传输时控制N路视频流中M路视频流中的I帧发生碰撞,2≤M≤N,以测试所述第一网络的视频传输能力。Step S302, controlling the N video streams to pass through the first network and transmit them to the second terminal, wherein when the N video streams are transmitted, the I frames in the M video streams in the N video streams are controlled to collide, 2≤M≤N , to test the video transmission capability of the first network.
本方案中,第二终端可以用于基于接收到的N路视频流的视频帧,确定N路视频中每路视频流的第一指标,第一指标用于表征第一网络的视频传输能力。In this solution, the second terminal may be configured to determine the first indicator of each video stream in the N videos based on the received video frames of the N video streams, where the first indicator is used to characterize the video transmission capability of the first network.
可以理解的是,本方案提供的方法中的部分或全部描述,可以参考上文有关描述,在此就不再一一赘述。It can be understood that, for some or all of the descriptions in the method provided in this solution, reference may be made to the above related descriptions, which will not be repeated here.
由此,本方案中,在测试多路视频传输所在的网络时,可以控制部分或全部的视频流中的I帧发生碰撞,从而模拟监控业务上线后多路视频流并发传输时随机发生I帧碰撞的场景,使得在测试过程中可以覆盖多种实际应用场景,进而有效测试出预先配置的网络的视频传输能力。Therefore, in this solution, when testing the network where the multi-channel video transmission is located, it is possible to control the collision of the I-frames in some or all of the video streams, thereby simulating the random occurrence of I-frames when the multi-channel video streams are concurrently transmitted after the monitoring service goes online. Collision scenarios make it possible to cover a variety of practical application scenarios in the test process, and then effectively test the video transmission capability of the pre-configured network.
基于上述实施例中的方法,本申请实施例提供了一种视频传输测试装置。请参阅图9,图9是本申请实施例提供的一种视频传输测试装置的结构示意图。如图9所示,该视频传输测试装置900包括:通信模块91和处理模块92;其中,通信模块91可以用于获取N路视频流,N为大于1的正整数;处理模块92可以用于控制N路视频流经第一网络并发传输至第二终端,其中,在N路视频流传输时处理模块92可以控制N路视频流中M路视频流中的I帧发生碰撞,2≤M≤N,以测试所述第一网络的视频传输能力。Based on the methods in the foregoing embodiments, the embodiments of the present application provide a video transmission testing apparatus. Please refer to FIG. 9. FIG. 9 is a schematic structural diagram of a video transmission testing apparatus provided by an embodiment of the present application. As shown in FIG. 9 , the video transmission testing device 900 includes: a communication module 91 and a processing module 92; wherein, the communication module 91 can be used to obtain N video streams, where N is a positive integer greater than 1; the processing module 92 can be used to Control the N-channel video streams to be transmitted to the second terminal through the first network, wherein, when the N-channel video streams are transmitted, the processing module 92 can control the I-frames in the M-channel video streams in the N-channel video streams to collide, 2≤M≤ N, to test the video transmission capability of the first network.
在一个例子中,通信模块91可以为图2所示的终端中的收发单元203,处理模块92可以为图2所示的终端中的处理器201。In one example, the communication module 91 may be the transceiver unit 203 in the terminal shown in FIG. 2 , and the processing module 92 may be the processor 201 in the terminal shown in FIG. 2 .
在一个例子中,通信模块91可以由图5中的视频编码模块1711,视频文件读取模块1712,数据获取模块(17131,17132,17133),数据发送模块(17161,17162,17163)和指标接收模块1715组成。处理模块92可以为图5中的I帧碰撞控制模块1714。In one example, the communication module 91 can be received by the video encoding module 1711, the video file reading module 1712, the data acquisition module (17131, 17132, 17133), the data transmission module (17161, 17162, 17163) and the indicator in FIG. 5 Module 1715 is composed. The processing module 92 may be the I-frame collision control module 1714 in FIG. 5 .
在一个例子中,处理模块92,还可以用于:根据第二指标,I帧统计数据和预设的测试参数,确定是否进行I帧碰撞;其中,第二指标为第一终端最新接收的第二终端发送的指标,第二指标包括M路视频流中I帧发生碰撞的实时概率,I帧统计数据用于统计N路视频流中每路视频流中与I帧相关的数据,测试参数包括M路视频流的路数和期望M路视频流中的I帧发生碰撞的概率。In one example, the processing module 92 may be further configured to: determine whether to perform an I-frame collision according to the second indicator, the I-frame statistical data and the preset test parameters; wherein the second indicator is the latest received first terminal by the first terminal. Two indicators sent by the terminal. The second indicator includes the real-time probability of collision of I frames in the M video streams. The I frame statistics are used to count the data related to the I frame in each video stream in the N video streams. The test parameters include The number of M video streams and the expected probability of collision of I frames in the M video streams.
在一个例子中,I帧统计数据包括以下一项或多项:N路视频流中每路视频流已发送的I帧的数量,或者,在前次发生I帧碰撞时,N路视频流中每路视频流已发送的I帧的数量。In one example, the I-frame statistics include one or more of the following: the number of I-frames that have been sent by each of the N-channel video streams, or, when the previous I-frame collision occurred, the number of I-frames in the N-channel video streams The number of I-frames that have been sent for each video stream.
在一个例子中,处理模块92,还可以用于:从N路视频流中筛选M路视频流,以及同时发送M路视频流中的I帧。In an example, the processing module 92 may be further configured to: filter M video streams from N video streams, and simultaneously send I frames in the M video streams.
在一个例子中,处理模块92,还可以用于:根据视频帧统计数据和第三指标,确定N路视频流中每路视频流的权重值,视频帧统计数据用于统计N路视频流中每路视频流中视频帧的数据,第三指标为第一终端最新接收的第二终端发送的指标,其中,第三指标可以包括N路视频流中每路视频流的传输指标;根据N路视频流中每路视频流的权重值,从N路视频流中随机筛选出M路视频流。In one example, the processing module 92 can also be used to: determine the weight value of each video stream in the N video streams according to the video frame statistical data and the third indicator, and the video frame statistical data is used to count the N video streams in the N video streams. For the data of video frames in each video stream, the third indicator is the indicator recently received by the first terminal and sent by the second terminal, wherein the third indicator may include the transmission indicator of each video stream in the N video streams; The weight value of each video stream in the video stream, and randomly select M video streams from N video streams.
在一个例子中,第三指标包括以下一项或多项:帧率,或者,时延抖动;视频帧统计数据包括以下一项或多项:N路视频流中每路视频流已发送的视频帧的总数,或者,N路视频流中每路视频流中的I帧间隔。In one example, the third indicator includes one or more of the following: frame rate, or delay jitter; video frame statistics include one or more of the following: video sent by each video stream in the N video streams The total number of frames, or the I-frame interval in each of the N video streams.
在一个例子中,第一指标包括以下一项或多项:帧率,时延,时延抖动,码率,丢包率,帧峰均比,渲染帧数,或者,丢帧率。In one example, the first indicator includes one or more of the following: frame rate, delay, delay jitter, bit rate, packet loss rate, frame peak-to-average ratio, number of rendering frames, or frame loss rate.
在一个例子中,第二终端用于基于接收到的N路视频流的视频帧,确定N路视频中每路视频流的第一指标,该第一指标可以用于表征第一网络的视频传输能力。In an example, the second terminal is configured to determine, based on the received video frames of the N video streams, a first indicator of each video stream in the N videos, where the first indicator can be used to characterize video transmission on the first network ability.
在一个例子中,第二终端可以为上文所描述的终端172。终端172中也可以包括通信模块和处理模块。其中,终端172中的通信模块可以由图5中的数据接收模块(17211,17212,17213)和指标发送模块1725组成。终端172中的处理模块可以由图5中的解 码渲染模块(17221,17222,17223),指标生成模块(17231,17232,17233)和指标存储模块1724组成。In one example, the second terminal may be the terminal 172 described above. The terminal 172 may also include a communication module and a processing module. Wherein, the communication module in the terminal 172 may be composed of the data receiving module ( 17211 , 17212 , 17213 ) and the indicator sending module 1725 in FIG. 5 . The processing module in the terminal 172 may be composed of the decoding rendering module (17221, 17222, 17223), the indicator generating module (17231, 17232, 17233) and the indicator storage module 1724 in FIG. 5 .
在一个例子中,该视频传输测试装置可以部署于上文所描述的第一终端中。In one example, the video transmission testing apparatus may be deployed in the first terminal described above.
应当理解的是,上述装置用于执行上述实施例中的方法,装置中相应的程序模块,其实现原理和技术效果与上述方法中的描述类似,该装置的工作过程可参考上述方法中的对应过程,此处不再赘述。It should be understood that the above-mentioned apparatus is used to execute the method in the above-mentioned embodiment, and the implementation principle and technical effect of the corresponding program modules in the apparatus are similar to those described in the above-mentioned method, and the working process of the apparatus may refer to the corresponding program module in the above-mentioned method The process will not be repeated here.
基于上述实施例中的方法,本申请实施例还提供了一种芯片。请参阅图10,图10为本申请实施例提供的一种芯片的结构示意图。如图10所示,芯片1000包括一个或多个处理器1001以及接口电路1002。可选的,芯片1000还可以包含总线1003。其中:Based on the methods in the foregoing embodiments, an embodiment of the present application further provides a chip. Please refer to FIG. 10 , which is a schematic structural diagram of a chip according to an embodiment of the present application. As shown in FIG. 10 , the chip 1000 includes one or more processors 1001 and an interface circuit 1002 . Optionally, the chip 1000 may further include a bus 1003 . in:
处理器1001可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1001中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1001可以是通用处理器、数字通信器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。The processor 1001 may be an integrated circuit chip with signal processing capability. In the implementation process, each step of the above-mentioned method can be completed by an integrated logic circuit of hardware in the processor 1001 or an instruction in the form of software. The above-mentioned processor 1001 may be a general purpose processor, a digital communicator (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components . Various methods and steps disclosed in the embodiments of this application can be implemented or executed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
接口电路1002可以用于数据、指令或者信息的发送或者接收,处理器1001可以利用接口电路1002接收的数据、指令或者其它信息,进行加工,可以将加工完成信息通过接口电路1002发送出去。The interface circuit 1002 can be used for sending or receiving data, instructions or information. The processor 1001 can use the data, instructions or other information received by the interface circuit 1002 to process, and can send the processing completion information through the interface circuit 1002.
可选的,芯片1000还包括存储器,存储器可以包括只读存储器和随机存取存储器,并向处理器提供操作指令和数据。存储器的一部分还可以包括非易失性随机存取存储器(NVRAM)。Optionally, the chip 1000 further includes a memory, which may include a read-only memory and a random access memory, and provides operation instructions and data to the processor. A portion of the memory may also include non-volatile random access memory (NVRAM).
可选的,存储器存储了可执行软件模块或者数据结构,处理器可以通过调用存储器存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。Optionally, the memory stores executable software modules or data structures, and the processor may execute corresponding operations by calling operation instructions stored in the memory (the operation instructions may be stored in the operating system).
可选的,接口电路1002可用于输出处理器1001的执行结果。Optionally, the interface circuit 1002 may be used to output the execution result of the processor 1001 .
需要说明的,处理器1001、接口电路1002各自对应的功能既可以通过硬件设计实现,也可以通过软件设计来实现,还可以通过软硬件结合的方式来实现,这里不作限制。It should be noted that the corresponding functions of the processor 1001 and the interface circuit 1002 can be implemented by hardware design, software design, or a combination of software and hardware, which is not limited here.
应理解,上述方法实施例的各步骤可以通过处理器中的硬件形式的逻辑电路或者软件形式的指令完成。其中,该芯片可以应用于图2所示的终端中。It should be understood that the steps in the above method embodiments may be implemented by logic circuits in the form of hardware or instructions in the form of software in the processor. Wherein, the chip can be applied to the terminal shown in FIG. 2 .
可以理解的是,本申请的实施例中的处理器可以是中央处理单元(central processing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。It can be understood that the processor in the embodiments of the present application may be a central processing unit (central processing unit, CPU), and may also be other general-purpose processors, digital signal processors (digital signal processors, DSP), application-specific integrated circuits (application specific integrated circuit, ASIC), field programmable gate array (field programmable gate array, FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. A general-purpose processor may be a microprocessor or any conventional processor.
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器(programmable rom,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移 动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。The method steps in the embodiments of the present application may be implemented in a hardware manner, or may be implemented in a manner in which a processor executes software instructions. Software instructions can be composed of corresponding software modules, and software modules can be stored in random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (programmable rom) , PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically erasable programmable read-only memory (electrically EPROM, EEPROM), registers, hard disks, removable hard disks, CD-ROMs or known in the art in any other form of storage medium. An exemplary storage medium is coupled to the processor, such that the processor can read information from, and write information to, the storage medium. Of course, the storage medium can also be an integral part of the processor. The processor and storage medium may reside in an ASIC.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。In the above-mentioned embodiments, it may be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented in software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present application are generated. The computer may be a general purpose computer, special purpose computer, computer network, or other programmable device. The computer instructions may be stored in or transmitted over a computer-readable storage medium. The computer instructions can be sent from one website site, computer, server, or data center to another website site by wire (eg, coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (eg, infrared, wireless, microwave, etc.) , computer, server or data center. The computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that includes an integration of one or more available media. The usable media may be magnetic media (eg, floppy disks, hard disks, magnetic tapes), optical media (eg, DVDs), or semiconductor media (eg, solid state disks (SSDs)), and the like.
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。It can be understood that, the various numbers and numbers involved in the embodiments of the present application are only for the convenience of description, and are not used to limit the scope of the embodiments of the present application.

Claims (28)

  1. 一种视频传输测试方法,其特征在于,应用于包含有第一终端和第二终端的系统,所述方法包括:A video transmission testing method, characterized in that, applied to a system including a first terminal and a second terminal, the method comprising:
    所述第一终端获取N路视频流,N为大于1的正整数;The first terminal acquires N video streams, where N is a positive integer greater than 1;
    所述第一终端控制所述N路视频流经第一网络并发传输至所述第二终端,其中,所述第一终端在所述N路视频流传输时控制所述N路视频流中M路视频流中的I帧发生碰撞,2≤M≤N;The first terminal controls the N video streams to pass through the first network and transmit them to the second terminal, wherein the first terminal controls the M video streams in the N video streams when the N video streams are transmitted. The I frame in the video stream collides, 2≤M≤N;
    所述第二终端接收所述N路视频流的视频帧;receiving, by the second terminal, video frames of the N video streams;
    所述第二终端确定所述N路视频流中每路视频流的第一指标,所述第一指标用于表征所述第一网络的视频传输能力。The second terminal determines a first indicator of each of the N video streams, where the first indicator is used to characterize the video transmission capability of the first network.
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:The method according to claim 1, wherein the method further comprises:
    所述第一终端根据第二指标、I帧统计数据和预设的测试参数,确定是否进行I帧碰撞;The first terminal determines whether to perform an I-frame collision according to the second indicator, the I-frame statistical data and the preset test parameters;
    其中,所述第二指标为所述第一终端最新接收的所述第二终端发送的指标,所述第二指标包括所述M路视频流发生I帧碰撞的实时概率,所述I帧统计数据用于统计所述N路视频流中每路视频流中与I帧相关的数据,所述测试参数包括所述M路视频流的路数和期望所述M路视频流中的I帧发生碰撞的概率。Wherein, the second indicator is an indicator recently received by the first terminal and sent by the second terminal, the second indicator includes the real-time probability of I-frame collision of the M-channel video streams, and the I-frame statistics The data is used to count the data related to the I frame in each video stream in the N video streams, and the test parameters include the number of the M video streams and the expected occurrence of the I frame in the M video streams. probability of collision.
  3. 根据权利要求2所述的方法,其特征在于,所述I帧统计数据包括以下一项或多项:所述N路视频流中每路视频流已发送的I帧的数量,或者,在前次发生I帧碰撞时,所述N路视频流中每路视频流已发送的I帧的数量。The method according to claim 2, wherein the I-frame statistical data includes one or more of the following: the number of I-frames that have been sent by each video stream in the N video streams, or the previous The number of I-frames that have been sent by each of the N video streams when an I-frame collision occurs for the first time.
  4. 根据权利要求1-3任一所述的方法,其特征在于,所述第一终端控制所述N路视频流中M路视频流中的I帧发生碰撞,包括:The method according to any one of claims 1-3, wherein the first terminal controls the collision of I frames in the M video streams in the N video streams, comprising:
    所述第一终端从所述N路视频流中筛选所述M路视频流,以及同时发送所述M路视频流中的I帧。The first terminal screens the M video streams from the N video streams, and simultaneously sends I frames in the M video streams.
  5. 根据权利要求4所述的方法,其特征在于,所述第一终端从所述N路视频流中筛选所述M路视频流,包括:The method according to claim 4, wherein the first terminal selects the M video streams from the N video streams, comprising:
    所述第一终端根据视频帧统计数据和第三指标,确定所述N路视频流中每路视频流的权重值,所述视频帧统计数据用于统计所述N路视频流中每路视频流中视频帧的数据,所述第三指标为所述第一终端最新接收的所述第二终端发送的指标,其中,所述第三指标包括所述N路视频流中每路视频流的传输指标;The first terminal determines the weight value of each video stream in the N video streams according to the video frame statistical data and the third indicator, and the video frame statistical data is used to count each video in the N video streams. The data of the video frames in the stream, the third indicator is the indicator sent by the second terminal that is most recently received by the first terminal, wherein the third indicator includes the data of each video stream in the N video streams. transfer metrics;
    所述第一终端根据所述N路视频流中每路视频流的权重值,从所述N路视频流中随机筛选出所述M路视频流。The first terminal randomly selects the M video streams from the N video streams according to the weight value of each video stream in the N video streams.
  6. 根据权利要求5所述的方法,其特征在于,所述第三指标包括以下一项或多项:帧率,或者,时延抖动;The method according to claim 5, wherein the third indicator comprises one or more of the following: frame rate, or delay jitter;
    所述视频帧统计数据包括以下一项或多项:所述N路视频流中每路视频流已发送的视频帧的总数,或者,所述N路视频流中每路视频流中的I帧间隔。The video frame statistical data includes one or more of the following: the total number of video frames sent by each video stream in the N video streams, or, the I frame in each video stream in the N video streams interval.
  7. 根据权利要求1-6任一所述的方法,其特征在于,所述第一指标包括以下一项或多项:帧率,时延,时延抖动,码率,丢包率,帧峰均比,渲染帧数,或者,丢帧率。The method according to any one of claims 1-6, wherein the first indicator comprises one or more of the following: frame rate, delay, delay jitter, bit rate, packet loss rate, frame peak average ratio, the number of rendered frames, or, the drop frame rate.
  8. 一种视频传输测试方法,其特征在于,应用于第一终端,所述方法包括:A video transmission testing method, characterized in that, applied to a first terminal, the method comprising:
    获取N路视频流,N为大于1的正整数;Obtain N video streams, where N is a positive integer greater than 1;
    控制所述N路视频流经第一网络并发传输至第二终端,其中,在所述N路视频流传输时控制所述N路视频流中M路视频流中的I帧发生碰撞,2≤M≤N,以测试所述第一网络的视频传输能力。Controlling the N-channel video streams to pass through the first network and transmit them to the second terminal, wherein when the N-channel video streams are transmitted, the I-frames in the M-channel video streams in the N-channel video streams are controlled to collide, 2≤ M≤N, to test the video transmission capability of the first network.
  9. 根据权利要求8所述的方法,其特征在于,所述方法还包括:The method according to claim 8, wherein the method further comprises:
    根据第二指标,I帧统计数据和预设的测试参数,确定是否进行I帧碰撞;According to the second indicator, I-frame statistical data and preset test parameters, determine whether to perform I-frame collision;
    其中,所述第二指标为所述第一终端最新接收的所述第二终端发送的指标,所述第二指标包括所述M路视频流中I帧发生碰撞的实时概率,所述I帧统计数据用于统计所述N路视频流中每路视频流中与I帧相关的数据,所述测试参数包括所述M路视频流的路数和期望所述M路视频流中的I帧发生碰撞的概率。Wherein, the second indicator is an indicator recently received by the first terminal and sent by the second terminal, and the second indicator includes the real-time probability of collision of I frames in the M video streams, and the I frame The statistical data is used to count the data related to the I frame in each video stream in the N video streams, and the test parameters include the number of the M video streams and the expected I frame in the M video streams. probability of collision.
  10. 根据权利要求9所述的方法,其特征在于,所述I帧统计数据包括以下一项或多项:所述N路视频流中每路视频流已发送的I帧的数量,或者,在前次发生I帧碰撞时,所述N路视频流中每路视频流已发送的I帧的数量。The method according to claim 9, wherein the I-frame statistical data includes one or more of the following: the number of I-frames that have been sent by each video stream in the N video streams, or the preceding The number of I-frames that have been sent by each of the N video streams when an I-frame collision occurs for the first time.
  11. 根据权利要求8-10任一所述的方法,其特征在于,所述控制所述N路视频流中M路视频流中的I帧发生碰撞,包括:The method according to any one of claims 8-10, wherein the controlling the collision of I frames in the M video streams in the N video streams comprises:
    从所述N路视频流中筛选所述M路视频流,以及同时发送所述M路视频流中的I帧。The M video streams are screened from the N video streams, and I frames in the M video streams are simultaneously sent.
  12. 根据权利要求11所述的方法,其特征在于,所述从所述N路视频流中筛选所述M路视频流,包括:The method according to claim 11, wherein the screening of the M video streams from the N video streams comprises:
    根据视频帧统计数据和第三指标,确定所述N路视频流中每路视频流的权重值,所述视频帧统计数据用于统计所述N路视频流中每路视频流中视频帧的数据,所述第三指标为所述第一终端最新接收的所述第二终端发送的指标,其中,所述第三指标包括所述N路视频流中每路视频流的传输指标;Determine the weight value of each video stream in the N video streams according to the video frame statistical data and the third indicator, and the video frame statistical data is used to count the video frames in each of the N video streams. data, the third indicator is an indicator that is newly received by the first terminal and sent by the second terminal, wherein the third indicator includes the transmission indicator of each video stream in the N video streams;
    根据所述N路视频流中每路视频流的权重值,从所述N路视频流中随机筛选出所述M路视频流。According to the weight value of each video stream in the N video streams, the M video streams are randomly selected from the N video streams.
  13. 根据权利要求12所述的方法,其特征在于,所述第三指标包括以下一项或多项:帧率,或者,时延抖动;The method according to claim 12, wherein the third indicator comprises one or more of the following: frame rate, or delay jitter;
    所述视频帧统计数据包括以下一项或多项:所述N路视频流中每路视频流已发送的视频帧的总数,或者,所述N路视频流中每路视频流中的I帧间隔。The video frame statistical data includes one or more of the following: the total number of video frames sent by each video stream in the N video streams, or, the I frame in each video stream in the N video streams interval.
  14. 根据权利要求8-13任一所述的方法,其特征在于,所述第一指标包括以下一项或多项:帧率,时延,时延抖动,码率,丢包率,帧峰均比,渲染帧数,或者,丢帧率。The method according to any one of claims 8-13, wherein the first indicator comprises one or more of the following: frame rate, delay, delay jitter, bit rate, packet loss rate, frame peak average ratio, the number of rendered frames, or, the drop frame rate.
  15. 根据权利要求8-14任一所述的方法,其特征在于,所述第二终端用于基于接收到的所述N路视频流的视频帧,确定所述N路视频中每路视频流的第一指标,所述第一指标用于表征所述第一网络的视频传输能力。The method according to any one of claims 8-14, wherein the second terminal is configured to determine, based on the received video frames of the N video streams, the video frame of each video stream in the N video streams. A first indicator, where the first indicator is used to characterize the video transmission capability of the first network.
  16. 一种视频传输测试装置,其特征在于,包括:A video transmission test device, comprising:
    通信模块,用于获取N路视频流,N为大于1的正整数;The communication module is used to obtain N video streams, where N is a positive integer greater than 1;
    处理模块,用于控制所述N路视频流经第一网络并发传输至第二终端,其中,在所述N路视频流传输时控制所述N路视频流中M路视频流中的I帧发生碰撞,2≤M≤N,以测试所述第一网络的视频传输能力。A processing module, configured to control the N-channel video streams to pass through the first network and transmit them to the second terminal, wherein, when the N-channel video streams are transmitted, the I frames in the M-channel video streams in the N-channel video streams are controlled Collision occurs, 2≤M≤N, to test the video transmission capability of the first network.
  17. 根据权利要求16所述的装置,其特征在于,所述处理模块,还用于:The device according to claim 16, wherein the processing module is further configured to:
    根据第二指标,I帧统计数据和预设的测试参数,确定是否进行I帧碰撞;According to the second indicator, I-frame statistical data and preset test parameters, determine whether to perform I-frame collision;
    其中,所述第二指标为所述第一终端最新接收的所述第二终端发送的指标,所述第二指 标包括所述M路视频流中I帧发生碰撞的实时概率,所述I帧统计数据用于统计所述N路视频流中每路视频流中与I帧相关的数据,所述测试参数包括所述M路视频流的路数和期望所述M路视频流中的I帧发生碰撞的概率。Wherein, the second indicator is an indicator recently received by the first terminal and sent by the second terminal, and the second indicator includes the real-time probability of collision of I frames in the M video streams, and the I frame The statistical data is used to count the data related to the I frame in each video stream in the N video streams, and the test parameters include the number of the M video streams and the expected I frame in the M video streams. probability of collision.
  18. 根据权利要求17所述的装置,其特征在于,所述I帧统计数据包括以下一项或多项:所述N路视频流中每路视频流已发送的I帧的数量,或者,在前次发生I帧碰撞时,所述N路视频流中每路视频流已发送的I帧的数量。The apparatus according to claim 17, wherein the I-frame statistical data includes one or more of the following: the number of I-frames that have been sent by each video stream in the N video streams, or the previous The number of I-frames that have been sent by each of the N video streams when an I-frame collision occurs for the first time.
  19. 根据权利要求16-18任一所述的装置,其特征在于,所述处理模块,还用于:The device according to any one of claims 16-18, wherein the processing module is further configured to:
    从所述N路视频流中筛选所述M路视频流,以及同时发送所述M路视频流中的I帧。The M video streams are screened from the N video streams, and I frames in the M video streams are simultaneously sent.
  20. 根据权利要求19所述的装置,其特征在于,所述处理模块,还用于:The apparatus according to claim 19, wherein the processing module is further configured to:
    根据视频帧统计数据和第三指标,确定所述N路视频流中每路视频流的权重值,所述视频帧统计数据用于统计所述N路视频流中每路视频流中视频帧的数据,所述第三指标为所述第一终端最新接收的所述第二终端发送的指标,其中,所述第三指标包括所述N路视频流中每路视频流的传输指标;Determine the weight value of each video stream in the N video streams according to the video frame statistical data and the third indicator, and the video frame statistical data is used to count the video frames in each of the N video streams. data, the third indicator is an indicator that is newly received by the first terminal and sent by the second terminal, wherein the third indicator includes the transmission indicator of each video stream in the N video streams;
    根据所述N路视频流中每路视频流的权重值,从所述N路视频流中随机筛选出所述M路视频流。According to the weight value of each video stream in the N video streams, the M video streams are randomly selected from the N video streams.
  21. 根据权利要求20所述的装置,其特征在于,所述第三指标包括以下一项或多项:帧率,或者,时延抖动;The apparatus according to claim 20, wherein the third indicator comprises one or more of the following: frame rate, or delay jitter;
    所述视频帧统计数据包括以下一项或多项:所述N路视频流中每路视频流已发送的视频帧的总数,或者,所述N路视频流中每路视频流中的I帧间隔。The video frame statistical data includes one or more of the following: the total number of video frames sent by each video stream in the N video streams, or, the I frame in each video stream in the N video streams interval.
  22. 根据权利要求16-21任一所述的装置,其特征在于,所述第一指标包括以下一项或多项:帧率,时延,时延抖动,码率,丢包率,帧峰均比,渲染帧数,或者,丢帧率。The apparatus according to any one of claims 16-21, wherein the first indicator comprises one or more of the following: frame rate, delay, delay jitter, bit rate, packet loss rate, frame peak average ratio, the number of rendered frames, or, the drop frame rate.
  23. 根据权利要求16-22任一所述的装置,其特征在于,所述第二终端用于基于接收到的所述N路视频流的视频帧,确定所述N路视频中每路视频流的第一指标,所述第一指标用于表征所述第一网络的视频传输能力。The apparatus according to any one of claims 16-22, wherein the second terminal is configured to determine, based on the received video frames of the N video streams, the video frame of each video stream in the N video streams. A first indicator, where the first indicator is used to characterize the video transmission capability of the first network.
  24. 一种视频传输测试系统,其特征在于,包含第一终端和第二终端,所述第一终端用于执行权利要求1-7任一所述的方法中所述第一终端执行的方法,所述第二终端用于执行权利要求1-7任一所述的方法中所述第二终端执行的方法。A video transmission test system, characterized in that it includes a first terminal and a second terminal, and the first terminal is configured to perform the method performed by the first terminal in any one of the methods of claims 1-7, and the The second terminal is configured to execute the method executed by the second terminal in any of the methods of claims 1-7.
  25. 一种终端,其特征在于,包括:A terminal, characterized in that it includes:
    至少一个存储器,用于存储程序;at least one memory for storing programs;
    至少一个处理器,用于调用所述存储器存储的程序,以执行如权利要求1-7任一所述的方法,或者如权利要求8-15任一所述的方法。At least one processor, configured to invoke the program stored in the memory to execute the method according to any one of claims 1-7, or the method according to any one of claims 8-15.
  26. 一种计算机存储介质,所述计算机存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1-7任一所述的方法,或者如权利要求8-15任一所述的方法。A computer storage medium, in which instructions are stored, and when the instructions are executed on a computer, the computer is made to execute the method according to any one of claims 1-7, or the method according to any one of claims 8-15. a described method.
  27. 一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1-7任一所述的方法,或者如权利要求8-15任一所述的方法。A computer program product comprising instructions that, when executed on a computer, cause the computer to perform the method of any of claims 1-7, or the method of any of claims 8-15 .
  28. 一种芯片,其特征在于,包括至少一个处理器和接口;A chip, characterized in that it includes at least one processor and an interface;
    所述至少一个处理器通过所述接口获取程序指令或者数据;The at least one processor obtains program instructions or data through the interface;
    所述至少一个处理器用于执行所述程序行指令,以实现如权利要求1-7任一所述的方法,或者如权利要求8-15任一所述的方法。The at least one processor is configured to execute the program line instructions to implement the method of any one of claims 1-7, or the method of any one of claims 8-15.
PCT/CN2021/113279 2021-01-22 2021-08-18 Video transmission test method, apparatus and system, and terminal WO2022156202A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110087164.2 2021-01-22
CN202110087164.2A CN114827676A (en) 2021-01-22 2021-01-22 Video transmission testing method, device, system and terminal

Publications (1)

Publication Number Publication Date
WO2022156202A1 true WO2022156202A1 (en) 2022-07-28

Family

ID=82523679

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/113279 WO2022156202A1 (en) 2021-01-22 2021-08-18 Video transmission test method, apparatus and system, and terminal

Country Status (2)

Country Link
CN (1) CN114827676A (en)
WO (1) WO2022156202A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1852284A (en) * 2006-04-11 2006-10-25 潘国纲 Network parallel data transmission method
US20100003015A1 (en) * 2008-06-17 2010-01-07 Cisco Technology Inc. Processing of impaired and incomplete multi-latticed video streams
CN108337167A (en) * 2018-02-11 2018-07-27 福州大学 Video multi-channel parallel transmission and distribution method and system based on ant colony algorithm
CN111787292A (en) * 2020-09-04 2020-10-16 浙江大华技术股份有限公司 Data transmission method based on multiple network cameras and related device
CN112203100A (en) * 2020-09-03 2021-01-08 中国移动通信集团广东有限公司 Transmission method and system for reducing uplink and downlink bandwidth requirements

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1852284A (en) * 2006-04-11 2006-10-25 潘国纲 Network parallel data transmission method
US20100003015A1 (en) * 2008-06-17 2010-01-07 Cisco Technology Inc. Processing of impaired and incomplete multi-latticed video streams
CN108337167A (en) * 2018-02-11 2018-07-27 福州大学 Video multi-channel parallel transmission and distribution method and system based on ant colony algorithm
CN112203100A (en) * 2020-09-03 2021-01-08 中国移动通信集团广东有限公司 Transmission method and system for reducing uplink and downlink bandwidth requirements
CN111787292A (en) * 2020-09-04 2020-10-16 浙江大华技术股份有限公司 Data transmission method based on multiple network cameras and related device

Also Published As

Publication number Publication date
CN114827676A (en) 2022-07-29

Similar Documents

Publication Publication Date Title
US11778006B2 (en) Data transmission method and apparatus
US11166330B2 (en) Data-stream allocation method for link aggregation and related devices
CN104618195A (en) Bandwidth estimation method and device
CN109842556B (en) Bandwidth determination method, router and terminal equipment
WO2014177023A1 (en) Method and device for determining service type
CN112019363B (en) Method, device and system for determining service transmission requirement
WO2022193890A1 (en) Resource scheduling method and apparatus
JP2021510243A (en) Traffic configuration method and related products
CN112199174A (en) Message sending control method and device, electronic equipment and computer readable storage medium
WO2021139345A1 (en) Method and apparatus for displaying network state during call process, and computer device and medium
WO2014090006A1 (en) Information processing method, access point, and station
CN109495776B (en) Audio sending and playing method and intelligent terminal
CN103795645A (en) Data transmission method, device and wireless router terminal
WO2022156202A1 (en) Video transmission test method, apparatus and system, and terminal
CN114286391A (en) Processing multiple fine timing measurement ranging requests
WO2020103733A1 (en) Method for implementing bad quality root cause analysis and network device
Kristiansen et al. On the forwarding capability of mobile handhelds for video streaming over manets
EP3447986B1 (en) Information processing device, information processing system, and information processing method
CN114071547B (en) QoE measurement configuration method, qoE measurement configuration device and storage medium
CN114158104B (en) Network selection method, device, terminal and storage medium
CN111327864A (en) Video call control method and device, terminal equipment and storage medium
WO2017045229A1 (en) Method for processing traffic data of base station, and base station
KR102209783B1 (en) Method for providing streaming data packet through streaming server and node linking with base station, and node using the same
WO2021073413A1 (en) Method and apparatus for sending system performance parameters, management device, and storage medium
CN114189890A (en) Method, device, equipment and storage medium for updating network service quality model

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21920582

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21920582

Country of ref document: EP

Kind code of ref document: A1