WO2024001266A1 - 视频流传输的控制方法及装置、设备、介质 - Google Patents

视频流传输的控制方法及装置、设备、介质 Download PDF

Info

Publication number
WO2024001266A1
WO2024001266A1 PCT/CN2023/079511 CN2023079511W WO2024001266A1 WO 2024001266 A1 WO2024001266 A1 WO 2024001266A1 CN 2023079511 W CN2023079511 W CN 2023079511W WO 2024001266 A1 WO2024001266 A1 WO 2024001266A1
Authority
WO
WIPO (PCT)
Prior art keywords
video stream
data
video
network
server
Prior art date
Application number
PCT/CN2023/079511
Other languages
English (en)
French (fr)
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 WO2024001266A1 publication Critical patent/WO2024001266A1/zh

Links

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/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • H04N21/2223Secondary servers, e.g. proxy server, cable television Head-end being a public access point, e.g. for downloading to or uploading from clients
    • 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/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25891Management of end-user data being end-user preferences
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4668Learning process for intelligent management, e.g. learning user preferences for recommending movies for recommending content, e.g. movies

Definitions

  • This application relates to the field of communication technology, and specifically to a video streaming transmission technology.
  • video streaming transmission can be used in various scenarios such as smart transportation, assisted driving, cloud technology, and artificial intelligence.
  • the collector can transmit the collected video streams related to vehicles on the road to Controller, so that the controller can perform corresponding logical processing based on the received video stream to achieve assisted driving, etc.
  • Embodiments of the present application provide a control method, device, equipment, and medium for video stream transmission, which can adapt the transmission of video streams to network changes and achieve reasonable control of video stream transmission.
  • embodiments of the present application provide a method for controlling video stream transmission, which is executed by the predicting party.
  • the method includes: obtaining attribute data and network environment data of the video stream server in the process of downloading the video stream; wherein, The attribute data is used to characterize the download status of the video stream; based on the attribute data and the network environment data, predict the network status in which the video stream server downloads the video stream within a preset time period, and obtain Predict the result; send the prediction result to the streaming strategy adjuster, and the prediction result is used to instruct the streaming strategy adjuster to determine the streaming strategy corresponding to the video streaming server.
  • embodiments of the present application provide a method for controlling video stream transmission, which is executed by the collector.
  • the method includes: receiving a prediction result sent by the predictor; wherein the prediction result is based on the video generated by the predictor.
  • the attribute data and network environment data of the streaming server in the process of downloading the video stream are obtained by predicting the network status in which the video streaming server downloads the video stream within the preset time period.
  • the attribute data is used to characterize the The download status of the video stream; based on the prediction result, determine the push strategy used when transmitting the video stream to the video stream server.
  • embodiments of the present application provide a method for controlling video stream transmission, which is executed by a video stream server.
  • the method includes: collecting attribute data and network environment data in the process of downloading the video stream; wherein, the attributes The data is used to characterize the download status of the video stream; the attribute data and the network environment data are sent to the predictor, so that the predictor is based on the attribute data and The network environment data predicts the network status in which the video stream server downloads the video stream within a preset time period and obtains the prediction result; receives the video stream pull request sent by the controller; wherein, the video stream pull request The request is generated by the controller based on the prediction result obtained from the predictor; based on the video stream pull request, a push strategy used when transmitting the video stream to the controller is determined.
  • inventions of the present application provide a control device for video stream transmission.
  • the device is deployed on the prediction side.
  • the device includes: an acquisition module configured to acquire attribute data of the video stream server during the process of downloading the video stream. and network environment data; wherein the attribute data is used to characterize the download status of the video stream; the prediction module is configured to predict the video stream within a preset time period based on the attribute data and the network environment data.
  • the server predicts the network status in which the video stream is downloaded and obtains the prediction result;
  • the sending module is configured to send the prediction result to the push flow strategy adjuster, and the prediction result is used to instruct the push flow strategy adjuster to determine and The push strategy corresponding to the video streaming server.
  • embodiments of the present application provide a control device for video stream transmission, the device is deployed on the collecting side, and the device includes: a receiving module configured to receive the prediction result sent by the predicting party; wherein, the prediction The result is obtained by the predictor predicting the network status of the video stream server downloading the video stream within the preset time period based on the attribute data and network environment data of the video stream server in the process of downloading the video stream.
  • the attribute data is used to characterize the download status of the video stream;
  • the adjustment module is configured to determine, based on the prediction result, a push strategy to be used when transmitting the video stream to the video stream server.
  • embodiments of the present application provide a control device for video stream transmission.
  • the device is deployed on a video stream server.
  • the device includes: a collection module configured to collect attribute data and network information during the downloading of the video stream. Environmental data; wherein the attribute data is used to characterize the download status of the video stream; a sending module configured to send the attribute data and the network environment data to the predictor, so that the predictor is based on the attributes
  • the data and the network environment data are used to predict the network status in which the video stream server downloads the video stream within the preset time period and obtain the prediction result;
  • the receiving module is configured to receive the video stream pull request sent by the controller; wherein , the video stream pull request is generated by the control party based on the prediction result obtained from the predictor; the adjustment module is configured to determine, based on the video stream pull request, to the control party The push strategy used when transmitting video streams.
  • embodiments of the present application provide an electronic device, including one or more processors; a memory for storing one or more programs. When the one or more programs are processed by the one or more When the processor is executed, the electronic device is caused to implement the control method for video streaming transmission as described above.
  • embodiments of the present application provide a computer-readable medium on which a computer program is stored.
  • the computer program is executed by a processor, the above-mentioned control method for video streaming transmission is implemented.
  • embodiments of the present application provide a computer program product, including computer instructions, When the computer instructions are executed by the processor, the control method for video streaming transmission as described above is implemented.
  • Figure 1 is a schematic diagram of an exemplary implementation environment in which the technical solutions of the embodiments of the present application can be applied;
  • Figure 2 is a flow chart of a method for controlling video streaming transmission according to an exemplary embodiment of the present application
  • Figure 3 is a flow chart of a method for controlling video streaming transmission according to another exemplary embodiment of the present application.
  • Figure 4 is a flow chart of a method for controlling video streaming transmission according to another exemplary embodiment of the present application.
  • Figure 5 is a flow chart of a method for controlling video streaming transmission according to another exemplary embodiment of the present application.
  • Figure 6 is a flow chart of a method for controlling video streaming transmission according to another exemplary embodiment of the present application.
  • Figure 7 is a flow chart of a method for controlling video streaming transmission according to another exemplary embodiment of the present application.
  • Figure 8 is a flow chart of a method for controlling video streaming transmission according to an exemplary embodiment of the present application.
  • Figure 9 is a flow chart of a method for controlling video streaming transmission according to another exemplary embodiment of the present application.
  • Figure 10 is a flow chart of a method for controlling video streaming transmission according to another exemplary embodiment of the present application.
  • Figure 11 is a flow chart of a method for controlling video streaming transmission according to another exemplary embodiment of the present application.
  • Figure 12 is a flow chart of a method for controlling video streaming transmission according to another exemplary embodiment of the present application.
  • Figure 13 is a flow chart of a method for controlling video streaming transmission according to another exemplary embodiment of the present application.
  • Figure 14 is a flow chart of a method for controlling video streaming transmission according to an exemplary embodiment of the present application.
  • Figure 15 is a flow chart of a method for controlling video streaming transmission according to another exemplary embodiment of the present application.
  • Figure 16 is a flow chart of a method for controlling video streaming transmission according to another exemplary embodiment of the present application.
  • Figure 17 is a schematic diagram of an exemplary implementation environment in which the technical solution of the embodiment of the present application can be applied;
  • Figure 18 is a schematic diagram of a prediction model shown in an exemplary embodiment of the present application.
  • Figure 19 is a flow chart of a method for controlling video streaming transmission according to an exemplary embodiment of the present application.
  • Figure 20 is a block diagram of a control device for video streaming transmission according to an embodiment of the present application.
  • Figure 21 is a block diagram of a control device for video streaming transmission according to an embodiment of the present application.
  • Figure 22 is a block diagram of a control device for video streaming transmission according to an embodiment of the present application.
  • FIG. 23 is a schematic structural diagram of a computer system suitable for implementing an electronic device according to an embodiment of the present application.
  • FIG. 1 is a schematic diagram of an implementation environment involved in this application.
  • the implementation environment mainly includes a first terminal device 101, a second terminal device 102, a first server 103 and a second server 104.
  • the first terminal device 101, the second terminal device 102, the first server 103 and the second server 104 can communicate through a wired or wireless network, and the first terminal device 101 and the second terminal device 102 can communicate with each other through a wired or wireless network.
  • the first terminal device 101 and the second terminal device 102 may include but are not limited to smartphones, tablets, laptops, computers, intelligent voice interaction devices, smart home appliances, vehicle-mounted terminals, aircraft, etc.
  • the first server 103 and the second server 104 can be servers that provide various services. They can be independent physical servers, or a server cluster or distributed system composed of multiple physical servers. They can also provide cloud services, cloud services, etc. Database, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network, content distribution network) and big data and artificial intelligence platforms and other basic cloud computing services Cloud servers are not restricted here.
  • first terminal device 101 the second terminal device 102, the first server 103 and the second server 104 in Figure 1 is only illustrative. According to actual needs, the implementation environment provided by the embodiment of the present application You can have any number of end devices and servers in your .
  • the method for controlling video streaming transmission may be executed by the first server 103, and at this time the first server 103 may serve as the predictor.
  • the predictor obtains the attribute data and network environment data of the video stream server during the process of downloading the video stream; where the attribute data is used to characterize the download status of the video stream; and then, based on the attribute data and network environment data, the preset During the time period, the network status of the video streaming server for downloading the video stream is predicted and the prediction result is obtained; after that, the prediction result is sent to the push strategy adjuster, and the prediction result is used to instruct the push strategy adjuster to determine the corresponding video stream server push strategy.
  • push strategy adjusters include but are not limited to collectors, controllers, etc.
  • the method for controlling video streaming transmission can be executed by the first terminal device 101, and at this time, the first terminal device 101 can serve as the collector.
  • the collector collects the video stream corresponding to the road image, and sends the collected video stream Transmit to the video streaming server; and, receive the prediction result sent by the predictor; wherein, the prediction result is the predictor's prediction of the video stream within the preset time period based on the attribute data and network environment data of the video stream server in the process of downloading the video stream.
  • the network status where the server downloads the video stream is predicted, and the attribute data is used to characterize the download status of the video stream; then, based on the prediction results, the push strategy used when transmitting the video stream to the video stream server is determined.
  • the method for controlling video streaming transmission may be executed by the second server 104, in which case the second server 104 may be specifically a video streaming server.
  • the video streaming server collects its attribute data and network environment data during the process of downloading the video stream; where the attribute data is used to characterize the download status of the video stream; and then sends the attribute data and network environment data to the predictor to Let the predictor predict the network status of the video stream server for video stream downloading within the preset time period based on the attribute data and network environment data, and obtain the prediction results; receive the video stream pull request sent by the controller; where, the video The stream pull request is generated by the controller based on the prediction results obtained from the predictor; then, the push strategy used when transmitting the video stream to the controller is determined based on the video stream pull request.
  • the method for controlling video streaming transmission can be executed by the second terminal device 102, and at this time, the second terminal device 102 can serve as the controlling party.
  • the controller receives the prediction result sent by the predictor, and generates a video stream pull request based on the prediction result. After that, the controller sends a video stream pull request to the video stream server.
  • the video stream pull request is used to instruct the video stream server based on Video stream pull requests determine the push strategy used when delivering video streams to the controller.
  • the technical solution of the embodiment shown in Figure 1 can be applied in various scenarios, including but not limited to smart transportation, assisted driving, cloud technology, artificial intelligence, etc.; in actual applications, it can be adjusted accordingly according to specific application scenarios.
  • the first terminal device 101 may be a vehicle-mounted terminal, a navigation terminal, etc.
  • the second terminal device 102 may be a computer, a smart phone, a tablet, a laptop, etc.
  • the vehicle-mounted terminal can collect the video stream corresponding to the road image, push the collected video stream to the video streaming server, receive the prediction result sent by the predictor, and determine to transmit the video stream to the video streaming server based on the prediction result.
  • the push strategy used; the computer can receive the prediction results sent by the predictor, generate a video stream pull request based on the prediction results, and then send the video stream pull request to the video stream server.
  • the video stream pull request is used to indicate the video stream.
  • the server determines the push strategy to use when delivering the video stream to the computer.
  • At least one of the first server 103 and the second server 104 may be a server located in the cloud, and at least one of the first terminal device 101 and the second terminal device 102 Cloud services can be provided with the help of cloud computing capabilities.
  • the cloud server can predict the network status of the video streaming server during the downloading of video streams within a preset time period based on the obtained attribute data and network environment data of the video streaming server during the process of downloading the video stream, and obtain the prediction result.
  • the prediction results are used to instruct the push strategy adjuster to determine the push strategy corresponding to the video streaming server; the cloud server can also collect attribute data and network environment data during the process of downloading the video stream, and then send the attribute data and network environment data to the predictor, and in response to receiving the video stream pull request sent by the controller, and adjusting the push strategy used when transmitting the video stream to the controller based on the video stream pull request.
  • object-related data such as attribute data and network environment data are involved.
  • object-related data such as attribute data and network environment data.
  • Figure 2 is a flow chart of a method for controlling video stream transmission according to an embodiment of the present application.
  • the method for controlling video stream transmission can be executed by the first server 103 as the predictor.
  • the control method of the video stream transmission includes at least S201 to S203, and the details are as follows:
  • the attribute data in the embodiment of this application refers to data related to the download status of the video stream.
  • the attribute data in the embodiment of the present application includes but is not limited to the information of the downloaded video stream segments. Download rate, download bit rate, download sampling rate, download bit rate, etc., download time of downloaded video stream segments, number of remaining undownloaded video stream segments, etc.
  • the attribute data can also be any other data related to the video stream download status, which is not limited here.
  • the attribute data is usually generated from the application layer in the network structure (for example, the seven-layer network structure); therefore, in the embodiment of the present application, the attribute data can be obtained from the application layer.
  • the network environment data refers to data related to the network environment in which the video stream is downloaded.
  • the network environment data includes but is not limited to Signal to Interference plus Noise Ratio (SINR), Received Signal Strength Indicator (RSSI), Reference Signal Receiving Quality (RSRP) ), Reference Signal Receiving Power (RSRQ), delay, throughput, packet loss rate, etc.
  • SINR Signal to Interference plus Noise Ratio
  • RSSI Received Signal Strength Indicator
  • RSRP Reference Signal Receiving Quality
  • RSSRQ Reference Signal Receiving Power
  • delay throughput
  • packet loss rate etc.
  • the network environment data can also be any other data related to the network environment where the video stream is downloaded, and this is not limited here.
  • the network environment data is usually generated from the network layer in the network structure (for example, the seven-layer network structure); therefore, in the embodiment of the present application, the network environment data can be obtained from the network layer.
  • the predictor can also obtain location data.
  • the location data refers to data related to the location of the push strategy adjuster.
  • location data includes but is not limited to azimuth, latitude and longitude, etc.
  • location data can also be any other data and push strategy. There are no restrictions on data related to the adjuster's location.
  • the location data is usually generated from the application layer in the network structure (for example, the seven-layer network structure); therefore, in the embodiment of the present application, the location data can be obtained from the application layer.
  • the predictor after the predictor obtains the attribute data and network environment data of the video streaming server in the process of downloading the video stream, it can download the video stream from the video streaming server within the preset time period based on the attribute data and network environment data.
  • the network status is predicted and the prediction results are obtained.
  • the preset time period refers to a period of time after the current moment based on the current moment.
  • the predicted time period is a period of time in the future. For example, assuming that the current time is 05:00:00 pm on June 24, 2022, it can be the period from 05:00:00 pm on June 24, 2022 to 05:00:00 pm on June 25, 2022. Within hours, the network status of the video streaming server for downloading the video stream is predicted.
  • the preset time period can be arbitrary. For example, taking the current time in the previous example, it can be from 07:00:00 pm on June 24, 2022 to 08:00 pm on June 25, 2022. :00In this 1 hour, the network status of the video streaming server for downloading the video stream is predicted.
  • the predictor can predict the network status in which the video stream server downloads the video stream within a preset time period based on attribute data, network environment data, and location information, and obtains the prediction result.
  • S203 Send the prediction result to the streaming strategy adjuster.
  • the prediction result is used to instruct the streaming strategy adjuster to determine the streaming strategy corresponding to the video streaming server.
  • the predictor predicts the network status of the video streaming server for downloading video streams within a preset time period based on attribute data and network environment data, and obtains the prediction results.
  • the prediction results can then be sent to the push strategy.
  • Adjuster in this way, the push strategy adjuster can determine the push strategy corresponding to the video streaming server based on the prediction results.
  • the push strategy adjuster determines the push strategy corresponding to the video streaming server based on the prediction results.
  • the predictor realizes the network status of the video stream server downloading the video stream within the preset time period by obtaining the attribute data and network environment data of the video stream server in the process of downloading the video stream. Prediction; and the predictor sends the obtained prediction result to the push strategy adjuster, and the push strategy adjuster can determine the push strategy corresponding to the video streaming server based on the prediction result, because the prediction result is based on the video streaming server.
  • the attribute data and network environment data in the process of downloading the video stream are determined. Therefore, the prediction result can more accurately reflect the network status of the video stream server in the future preset time period.
  • the push strategy adjustment method is based on The prediction result determines the push strategy, which can ensure that the determined push strategy matches the network status in the future preset time period.
  • video transmission to the video streaming server can make the video stream transmission possible. Adapt to future network changes and achieve reasonable video streaming transmission control.
  • the attribute data is data related to the video stream download status
  • the network environment data is data related to the network environment where the video stream is downloaded
  • Data from all aspects can be used to predict the network status of the video streaming server for downloading video streams within a preset time period, which can improve the accuracy of the prediction results to a certain extent, thereby improving the accuracy of the push strategy adjustment method based on the prediction results.
  • the method of controlling video streaming transmission can be executed by the first server 103 as the predictor.
  • the control method for video stream transmission may include S201, S301 to S302, and S203.
  • S301 Perform structured processing on attribute data and network environment data to obtain structured data.
  • the predictor after the predictor obtains the attribute data and network environment data, it needs to perform structured processing on the attribute data and network environment data to obtain structured data.
  • Structured processing in the embodiment of this application refers to converting unstructured data or semi-structured data into structured data.
  • unstructured data includes data with irregular or incomplete data structure, data without predefined data model, and data that is inconvenient to be represented by two-dimensional logical tables in the database.
  • it can include all formats of office documents, text , pictures, XML, HTML, various reports, images, audio, video, etc.
  • structured data is data whose data structure is regular or complete, has a predefined data model, and can be easily represented by two-dimensional logical tables in the database.
  • Semi-structured data is between unstructured data and structured data. Part of it is similar to unstructured data and part of it is similar to structured data. Therefore, it still needs to be structured to obtain Structured data.
  • the process of structurally processing attribute data and network environment data in S301 to obtain structured data may at least include:
  • the attribute data and network environment data are structured and processed to obtain structured data; among which, the preset structured rules can be set by relevant workers.
  • the attribute data is "The download time for segment 1 of video stream A is 10 seconds”
  • the default structured rule is "video stream name: xxx; video stream segment number: xxx; download time :xxx;”
  • perform structured processing on the attribute data "The download time for segment 1 of video stream A is 10 seconds”
  • obtain the corresponding structured data as "Video stream name: A; segment number of video stream: 1;Download time: 10 seconds;”.
  • the network environment data is "the packet loss rate for segment 1 of video stream A is 30%”
  • the preset structured rule is "video stream name: xxx; video stream segment number: xxx; packet loss Rate: xxx;”
  • the packet loss rate of segment 1 of video stream A is 30%
  • obtain the corresponding structured data as "Video stream name: A; Fragment number: 1; Packet loss rate: 30%;”.
  • structured processing may include but is not limited to decision trees, Deep learning, structured data cleaning and other methods are implemented; in actual applications, it can be flexibly adjusted according to specific application scenarios.
  • S302 Based on the structured data, predict the network status of the video streaming server for downloading the video stream within the preset time period, and obtain the prediction result.
  • the predictor performs structured processing on the attribute data and network environment data. After obtaining the structured data, the predictor can, based on the structured data, determine the network status of the video streaming server for downloading the video stream within the preset time period. Make predictions and get prediction results.
  • the predictor first performs structured processing on the attribute data and network environment data, and then based on the structured data after structured processing, the network status of the video streaming server for downloading the video stream within the preset time period is Prediction; because structured data is more concise and standard than original attribute data and network environment data, and other data irrelevant to network status prediction can be eliminated during the structured processing process, therefore, it can be faster and more convenient based on structured data It can accurately realize the prediction of network status to obtain prediction results, and can avoid the interference of some irrelevant data, which improves the accuracy of prediction results to a certain extent.
  • the control method for video stream transmission may include S201, S401 to S402, S302, and S203.
  • the first time series data can be constructed based on the time stamp information of the attribute data
  • the second time series data can be constructed based on the time stamp information of the network environment data.
  • time series data ie, first time series data and second time series data
  • time series data refers to data with a time axis.
  • the first time series data corresponding to the type is constructed based on the timestamp information corresponding to the first data of the type.
  • the predictor can construct the corresponding timestamp information of each type of first data based on the timestamp information corresponding to each type of first data. Match the first time series data.
  • the timestamp information corresponding to the first data refers to the time when the first data is generated.
  • the attribute data includes three types of first data: type N1, type N2, and type N3. After that, the timestamp information corresponding to k1 first data of type N1 can be obtained, and the timestamp information corresponding to k2 first data of type N2 can be obtained.
  • the timestamp information the timestamp information corresponding to the k3 first data of type N3, where k1 ⁇ 1, k2 ⁇ 1, k3 ⁇ 1, and k1, k2, k3 are all integers, which may be the same or different; after that , based on the timestamp information corresponding to the k1 first data of type N1, the first time series data for type N1 is constructed, and based on the timestamp information corresponding to the k2 first data of type N2, the first time series data for type N2 is constructed A time series data, based on the timestamp information corresponding to the k3 first data of type N3, the first time series data for type N3 is constructed.
  • the second time series data corresponding to the type is constructed according to the timestamp information corresponding to the second data of the type.
  • the predicting party after the predicting party obtains the timestamp information corresponding to each type of second data, it can construct the corresponding time stamp information of each type of second data based on the timestamp information corresponding to each type of second data. Match the second time series data.
  • the timestamp information corresponding to the second data refers to the time when the second data is generated.
  • the network environment data includes three types of second data of type M1, type M2, and type M3; after that, the timestamp information corresponding to k1 second data of type M1 and k2 second data of type M2 can be obtained Corresponding timestamp information, timestamp information corresponding to k3 second data of type M3, where k1 ⁇ 1, k2 ⁇ 1, k3 ⁇ 1, and k1, k2, k3 are all integers, which may or may not be the same; After that, based on the timestamp information corresponding to k1 second data of type M1, the second time series data for type M1 is constructed, and based on the timestamp information corresponding to k2 second data of type M2, the second time series data for type M2 is constructed. The second time series data is constructed to obtain the second time series data for type M3 based on the timestamp information corresponding to the k3 second data of type M3.
  • S402 Perform structured processing on the first time series data and the second time series data to obtain structured data.
  • the predictor constructs the first time series data based on the time stamp information of the attribute data, and obtains the second time series data based on the time stamp information of the network environment data
  • the first time series data and the second time series data can be constructed.
  • the second time series data is structured and processed to obtain structured data.
  • the process of performing structured processing on the first time series data and the second time series data in S402 to obtain structured data may at least include:
  • Preprocess the first time series data and the second time series data to obtain the preprocessed The first time series data and the preprocessed second time series data;
  • structured processing is performed on the preprocessed first time series data and the preprocessed second time series data to obtain structured data.
  • the predictor may first preprocess the first time series data and the second time series data to obtain the preprocessed first time series data and the preprocessed second time series data, Then, based on the preset structural network, structured processing is performed on the preprocessed first time series data and the preprocessed second time series data to obtain structured data.
  • preprocessing includes but is not limited to the elimination of abnormal data and the elimination of duplicate data.
  • the preprocessing includes any one or more of abnormal data elimination processing and duplicate data elimination processing.
  • the preset structural network in the optional embodiment can be set by relevant workers, and it can include a variety of preset structural rules mentioned in the foregoing embodiments. In addition, it can also include one of different preset structural rules. relationships, etc. In practical applications, the preset structure network can be flexibly adjusted according to actual needs.
  • abnormal data or duplicate data existing in the first time series data and the second time series data can be eliminated, ensuring the accuracy of the obtained first time series data and the second time series data. , so that more accurate structured data can be obtained, and the redundancy between data is also low.
  • the predictor constructs the first time series data based on the time stamp information of the attribute data, and constructs the second time series data based on the time stamp information of the network environment, and then performs the first time series and the second time series Structured processing; since the data has time characteristics, more accurate structured data can be obtained, and predictions based on this structured data are more accurate.
  • the method of controlling video streaming transmission can be executed by the first server 103 as the predictor.
  • the control method for video stream transmission may include S201, S301, S501, and S203.
  • the predictor can construct and train a prediction model based on at least one of a reinforcement learning algorithm and a deep learning algorithm, and then input structured data into the prediction model to achieve prediction within a preset time period through the prediction model.
  • the network where the video streaming server performs video streaming downloads Predict the status and get the prediction results.
  • the reinforcement learning algorithms in the embodiments of this application include but are not limited to the DQN (Deep Q-Learning) algorithm based on neural networks, the DDPG (Deep Deterministic Policy Gradient) algorithm that is solved on the continuous action space, and the tabular Sarsa (State-action- reward-state'-action') algorithm and Q-Learning algorithm, Policy-Gradient algorithm of policy ladder, etc.
  • DQN Deep Q-Learning
  • DDPG Deterministic Policy Gradient
  • the deep learning algorithms in the embodiments of this application include but are not limited to feedforward neural network (FNN) algorithm, convolutional neural network (Convolutional Neural Networks, CNN) algorithm, recurrent neural network (Recurrent Neural Network, RNN) algorithm, Generative Adversarial Networks (GAN) algorithm, graph neural network algorithm, recursive neural network algorithm, backpropagation algorithm, etc.
  • FNN feedforward neural network
  • CNN convolutional neural network
  • RNN recurrent neural network
  • GAN Generative Adversarial Networks
  • graph neural network algorithm recursive neural network algorithm
  • backpropagation algorithm etc.
  • the most common RNN is the Long Short-Term Memory Network (Long Short-Term Memory, LSTM) algorithm.
  • the prediction model can be constructed and trained based on the DQN-LSTM algorithm.
  • the DQN-LSTM algorithm can also use pensieve as the basic framework, where pensieve is an adaptive video streaming algorithm that learns a streaming strategy without enhancement based on the a3c network. Its biggest feature is that it combines the traditional rate-based The code rate adaptation scheme and the buffer-based code rate adaptation scheme are combined.
  • the predictor constructs and trains a prediction model, and uses the prediction model to predict the network status of the video streaming server for downloading video streams within a preset time period; since the prediction model obtained by training is usually It has high work efficiency and high prediction accuracy. Therefore, prediction can be realized quickly and easily to obtain prediction results. It is suitable for a wider range of scenarios, such as smart transportation and assistance that require high safety. Scenarios such as driving, or live broadcasts that require high real-time performance.
  • control method for video stream transmission may include S201, S301, S601, and S203.
  • S601 based on structured data, predict the network status of the video streaming server for video stream downloading within the preset time period in the direction of multiple types of network indicators, and obtain prediction results corresponding to multiple types of network indicators.
  • the predictor can predict the network status of the video stream server downloading the video stream within the preset time period in the direction of multiple types of network indicators based on structured data, thereby obtaining multiple types of network indicators. Corresponding prediction results of network indicators.
  • network indicators refer to indicators that can reflect the quality of the network.
  • the network indicators in the embodiments of this application include but are not limited to SINR indicators, RSSI indicators, RSRP indicators, RSRQ Indicators, delay indicators, throughput indicators, packet loss rate indicators, code rate indicators, speed indicators, etc.; among them, each network indicator can be called a type of network indicator.
  • the multiple types include code rate indicators, delay indicator types, and throughput indicator types; in S601, based on structured data, in the direction of multiple types of network indicators, the preset time period is
  • the process of predicting the network status of the video stream download in the internal video streaming server and obtaining prediction results corresponding to multiple types of network indicators can at least include:
  • the network status of the video streaming server for video stream downloading within the preset time period is predicted, and the prediction results corresponding to the throughput indicator type are obtained.
  • the forecaster obtains prediction results corresponding to multiple types of network indicators by making predictions in the direction of multiple types of network indicators; in this way, the prediction is more comprehensive, and the later adjustment of the push strategy can be based on multiple types of network indicators.
  • the corresponding prediction results of the network indicators can more accurately determine the push strategy corresponding to the video streaming server, and the adjustment accuracy is higher.
  • control method for video stream transmission may include S701, S202 to S203.
  • S701 The details of S701 are as follows:
  • S701 Receive the attribute data and network environment data sent by the collector; wherein, the attribute data is obtained by the collector from the video streaming server, and the network environment data is obtained by the collector from the video streaming server.
  • the attribute data obtained by the predictor may be sent by the collector, where the attribute data sent by the collector is obtained from the video streaming server; that is, the attribute data obtained by the predictor is obtained through an intermediate Obtained by forwarding by the "collector".
  • the attribute data obtained by the predictor may be sent by the video streaming server; that is, the attribute data obtained by the predictor is directly sent by the video streaming server without going through an intermediary "collector" Forward.
  • the network environment data obtained by the predictor may be sent by the collector, where the network environment data sent by the collector is obtained from the video streaming server; that is, the predictor The obtained network environment data is forwarded through the intermediary "collector".
  • the network environment data obtained by the predictor may be sent by the video streaming server; that is, the network environment data obtained by the predictor is directly sent by the video streaming server without the need for "collection” by an intermediary. "Fang" forwarded.
  • the attribute data and network environment data obtained by the predictor can be sent by the collector, and can be obtained from more sources, which is suitable for many scenarios.
  • FIG. 8 is a flow chart of a method for controlling video stream transmission according to an embodiment of the present application.
  • the method for controlling video stream transmission can be executed by the first terminal device 101 as the collector.
  • the control method of the video stream transmission includes at least S801 to S803. The details are as follows:
  • S801 Collect the video stream corresponding to the road image, and transmit the collected video stream to the video stream server.
  • the collector can collect the video stream corresponding to the road image according to a certain collection period, and transmit the collected video stream to the video stream server. For example, assuming that the collection period is 5 minutes, the video stream corresponding to the road image is collected within 5 minutes, and then the video stream corresponding to the road image collected within 5 minutes is transmitted to the video streaming server.
  • the collector can collect the video stream corresponding to the road image in real time, and push the collected video stream to the video stream server. For example, every time a video stream corresponding to a road image is collected, the video stream corresponding to the collected road image is transmitted to the video stream server.
  • the prediction result is the location where the video stream server downloads the video stream within the preset time period based on the attribute data and network environment data of the video stream server in the process of downloading the video stream.
  • the network status is predicted, and the attribute data is used to characterize the download status of the video stream.
  • the collecting party can receive the prediction result sent by the predicting party.
  • the origin process of the prediction result please refer to the detailed introduction of the foregoing embodiment.
  • the collector can determine the push strategy to be used when transmitting the video stream to the video stream server based on the prediction result. That is to say, in the embodiment of the present application, the video stream flows out from the collector and flows into the video streaming server.
  • the collector receives the prediction result sent by the predictor, and determines the push strategy used when transmitting the video stream to the video streaming server based on the prediction result. Since the prediction result is The predictor is determined based on the attribute data and network environment data of the video streaming server in the process of downloading the video stream. Therefore, the prediction result can more accurately reflect the network status of the video streaming server in the future preset time period. Correspondingly , the collector determines the push strategy used when transmitting the video stream to the video stream server based on the prediction result, and pushes the video stream to the video stream server based on the push strategy, which can ensure that the video stream is pushed to the video stream server in the collection direction. Adapt to future network changes and achieve reasonable control of streaming to the video streaming server.
  • control method for video stream transmission may include S901 to S903, and S801 to S802.
  • the predictor obtains the prediction results corresponding to multiple types of network indicators; therefore, in the embodiment of the present application, after the collector receives the prediction results, it can detect the type of network indicator for which the prediction results are targeted.
  • the predictor obtains the corresponding prediction result of the delay indicator type and sends it to the collector; accordingly, the collector receives the prediction result and can detect that the prediction result is for the time delay indicator type.
  • Extended indicator type For example, assume that the predictor obtains the corresponding prediction result of the throughput indicator type and sends it to the collector; accordingly, the collector receives the prediction result and can detect that the prediction result is for the throughput indicator. type.
  • S902 Based on the type of the network indicator, determine the indicator value of the network indicator used when transmitting the video stream to the video stream server.
  • the collector detects the type of network indicator for which the prediction result is targeted, and then determines the indicator value of the network indicator used when transmitting the video stream to the video stream server based on the type of network indicator.
  • the index value is used to characterize the size of the network index or the performance of the network index.
  • the indicator value of the code rate indicator is changed from 10Mbps Adjusted to 5Mbps.
  • S903 Transmit the video stream to the video streaming server based on the indicator value of the network indicator.
  • the collection party can push the video stream to the video streaming server based on the value of the network indicator.
  • the collector pushes the video stream to the video server based on 5Mbps, where time t2 is later than time t1. It should be noted that here we only take the code rate indicator as an example. Other indicators are similar, and so on.
  • the collector detects the type of network indicator for which the prediction result is targeted, and then determines the indicator value of the network indicator based on the type of network indicator, and then implements streaming to the video streaming server based on the indicator value of the network indicator.
  • This achieves push control in the network indicator dimension, ensuring that the indicator value of a specific network indicator matches the future network status of the video streaming server indicated by the prediction result, that is, ensuring that the collector's video stream push is consistent with future network changes. Adapted to achieve reasonable control of streaming to the video streaming server.
  • another method of controlling video stream transmission is provided, and the method of controlling video stream transmission can be executed by the first terminal device 101 as the collector.
  • the control method for video stream transmission may include S1001 to S1002, and S802 to S803.
  • S1001 to S1002 are as follows:
  • S1001 Collect the video stream corresponding to the road image, encode the collected video stream, and obtain multiple video encoding blocks with specified duration.
  • the collector encodes the collected video stream to obtain multiple video encoding blocks with specified duration.
  • the specified duration in the embodiment of this application can be set by relevant workers. For example, if the specified duration is 5 seconds, then encoding the collected video stream will result in multiple 5-second video encoding blocks.
  • the collector encodes the collected video stream, and after obtaining multiple video encoding blocks with specified duration, the multiple video encoding blocks can be transmitted to the video stream server through multiple links.
  • the obtained multiple 5-second video encoding blocks can be transmitted to the video streaming server through multiple links.
  • the collector may transmit multiple video encoding blocks to the video streaming server through multiple links based on the Real-Time Streaming Protocol (RTSP).
  • RTSP Real-Time Streaming Protocol
  • S1001 to S1002 may be the process in which the collector transmits the collected video stream to the video stream server, or it may be the process in which the collector transmits the video stream to the video stream server based on the determined index value of the network indicator. .
  • the collector encodes the video stream into multiple video encoding blocks, and transmits the multiple video stream encoding blocks to the video streaming server through multiple links; in this way, the number of link requests at the same time can be reduced through segmentation.
  • the required amount of cache can reduce the transmission delay of the video stream and avoid the video stream server being unable to adapt to the download due to excessive video stream resources and direct push to the video stream server, resulting in poor viewing effects, such as lagging, Delay, unclearness and other phenomena can be improved by concurrency through multiple links at the same time to increase the transmission rate of video streams.
  • another method of controlling video stream transmission is provided, and the method of controlling video stream transmission can be executed by the first terminal device 101 as the collector.
  • the control method for video stream transmission may include S1101 to S1103, and S802 to S803.
  • S1101 Collect the video stream corresponding to the road image, and obtain multiple index values corresponding to the specified network index.
  • the collector can also obtain multiple index values corresponding to the specified network index.
  • the designated network indicator refers to any one or more network indicators specified by relevant workers; for example, the designated network indicator may be a code rate indicator.
  • S1102 Encode the video streams based on multiple index values respectively, and obtain multiple video encoding blocks with specified durations corresponding to the multiple index values.
  • the collected video stream can be encoded based on the multiple indicator values, and multiple video streams with specified duration corresponding to the multiple indicator values are obtained. video coding block.
  • the collector can perform the collected video stream based on 8Mbps. Encoding, obtain multiple 5-second video encoding blocks corresponding to 8Mbps, encode the collected video stream based on 5Mbps, obtain multiple 5-second video encoding blocks corresponding to 5Mbps, and encode the collected video stream based on 3Mbps Encode to obtain multiple 5-second video encoding blocks corresponding to 3Mbps.
  • the collector separately encodes the collected video streams based on multiple index values, and obtains multiple video encoding blocks with specified durations corresponding to the multiple index values, and then can use multiple links to Transmit multiple video encoding blocks corresponding to each metric value to the video streaming server.
  • the collector transmits the obtained multiple 5-second video encoding blocks corresponding to 8Mbps to the video streaming server through multiple links, and encodes the obtained multiple 5-second video encoding blocks corresponding to 5Mbps.
  • the blocks are transmitted to the video streaming server through multiple links, and the resulting multiple 5-second video encoding blocks corresponding to 3Mbps are transmitted to the video streaming server through multiple links.
  • the collector encodes the collected video stream through multiple index values of the same network indicator, and transmits multiple video encoding blocks corresponding to each index value to the video stream server; in this way, the collector essentially It is to transmit multiple versions of the video stream for the same network indicator to the video streaming server.
  • the network indicator is the bit rate
  • it means to transmit the video stream of multiple bit rate versions to the video streaming server, thus facilitating the video streaming.
  • the server flexibly downloads the required version of the video stream based on network status.
  • another method of controlling video stream transmission is provided, and the method of controlling video stream transmission can be executed by the first terminal device 101 as the collector.
  • the video stream transmission control method may also include S1201 to S1203 after S801.
  • the collector when it has prediction needs, it can send a data acquisition request to the video streaming server.
  • the data acquisition request is used to instruct the video streaming server to return attribute data and network environment data.
  • S1202. Receive the attribute data and network environment data sent by the video streaming server in response to the data acquisition request.
  • the video streaming server can return the attribute data and network environment data to the collecting party based on the received data acquisition request sent by the collecting party; accordingly, the collecting party can receive the attribute data and network environment data sent by the video streaming server. environmental data.
  • the collector after receiving the attribute data and network environment data sent by the video streaming server, can send the attribute data and network environment data to the predictor; in this way, the predictor can predict the prediction based on the attribute data and network environment data. Predict the network status of the video streaming server for downloading the video stream within the time period, obtain the prediction result, and return the prediction result. Furthermore, the predictor can predict the video stream within the preset time period based on the attribute data and network environment data. The server predicts the network status where the video stream is downloaded and obtains the prediction results. Please refer to the detailed introduction of the foregoing embodiments.
  • the collector acts as an intermediary to send the attribute data and network environment data obtained from the video streaming server to the predictor, which is applicable to many scenarios.
  • another method of controlling video stream transmission is provided, and the method of controlling video stream transmission can be executed by the first terminal device 101 as the collector.
  • the video stream transmission control method may also include S1301 to S1302 after S803.
  • the push strategy adjuster may include an acquisition party and a control party; if the control party receives the prediction result sent by the prediction party, the control party may generate a control instruction based on the prediction result and send the control instruction to the collector; accordingly, the collector can receive the control instructions sent by the controller.
  • the collector after the collector receives the control instruction sent by the controller, it can control the mobile device corresponding to the collector to perform operations matching the control instruction.
  • the process of controlling the mobile device corresponding to the collector to perform operations matching the control instructions in S1302 may include at least the following two situations:
  • control instruction is an instruction for instructing to slow down the traveling speed
  • the mobile device corresponding to the collector is controlled to perform the operation of slowing down the traveling speed.
  • control instruction is an instruction for instructing to stop traveling
  • the mobile device corresponding to the collector is controlled to perform the operation of stopping traveling.
  • the mobile devices corresponding to the collector include but are not limited to vehicles, robots, movable toys, etc.
  • the collecting party can receive the control instruction sent by the controlling party, and then control the corresponding mobile device to perform operations matching the control instruction, that is, the remote control of the mobile device by the controlling party is realized, and is suitable for many applications. in the scene.
  • FIG. 14 is a flow chart of a method for controlling video streaming transmission according to an embodiment of the present application.
  • the method for controlling video streaming transmission may be executed by the second server 104 serving as the video streaming server.
  • the control method of the video stream transmission includes at least S1401 to S1404. The details are as follows:
  • S1401 collect attribute data and network environment data during the process of downloading the video stream; wherein the attribute data is used to characterize the download status of the video stream.
  • the video stream server collects attribute data and network environment data during the process of downloading the video stream.
  • the video streaming server may collect attribute data from the application layer in the network structure, and collect network environment data from the network layer in the network structure.
  • the video stream server after the video stream server collects the attribute data and network environment data during the downloading of the video stream, it can send the attribute data and network environment data to the predictor; in this way, the predictor can use the attribute data and network environment data to , predict the network status in which the video stream server downloads the video stream within the preset time period, and obtain the prediction result.
  • the predictor can use the attribute data and network environment data to , predict the network status in which the video stream server downloads the video stream within the preset time period, and obtain the prediction result.
  • the controller can receive the prediction result sent by the predictor.
  • the controller can also generate a video stream pull request based on the prediction result and pull the video stream. The request is sent to the video streaming server; accordingly, the video streaming server can receive the video stream pull request sent by the controller.
  • the video stream server receives the video stream pull request sent by the controller, and can then determine the push strategy used when transmitting the video stream to the controller based on the video stream pull request. That is, in the embodiment of the present application, the video stream flows out from the video streaming server and flows into the controller.
  • the video streaming server sends the collected attribute data and network environment data to the predicting party, thereby providing the predicting party with the ability to predict the network status in which the video streaming server downloads the video stream within the preset time period. strong support.
  • the video stream pull request sent by the controller is received, and the video stream pull request sent by the controller is also generated based on the prediction result obtained by the predictor.
  • the video stream server determines to send the video stream to the controller based on the video stream pull request.
  • the push strategy used when transmitting video streams because the video stream pull request is generated based on the prediction results generated by the predictor, and the prediction results are determined based on the attribute data and network environment data of the video streaming server during the process of downloading the video stream.
  • the video streaming server determines the push strategy used when transmitting the video stream to the controller based on the video stream pull request. It can be ensured that the determined push strategy is compatible with the network status in the future preset time period.
  • the video stream is pushed to the controller based on the push strategy, which can ensure that the video stream push is consistent with future network changes. Adaptation realizes reasonable control of the video streaming server push strategy.
  • the method for controlling video streaming transmission can be executed by the second server 104 serving as the video streaming server.
  • the control method for video stream transmission may include S1401 to S1403, and S1501. Among them, the video stream pull request carries the indicator value of the specified network indicator.
  • the controller can generate a video stream pull request based on the prediction results, where the video stream pull request carries the index value of the specified network indicator; in this way, the video stream server can, based on the index value of the specified network indicator, Determine the push strategy to use when delivering video streams to the controller.
  • the code rate indicator value carried in the video stream pull request is 5Mbps
  • the video stream server pushes the video stream to the controller based on 10Mbps
  • the video stream server can push the video stream to the controller based on the video stream pull request.
  • the code rate indicator value carried in the stream pull request is 5Mbps.
  • the code rate indicator value is adjusted from 10Mbps to 5Mbps.
  • the video streaming server transmits the video stream to the controller based on 5Mbps.
  • Time t2 is late. at time t1. It should be noted that here we only take the code rate indicator as an example. Other indicators are similar, and so on.
  • the video streaming server pushes the stream to the controller based on the index value of the specified network index carried in the video stream pull request, realizing the push control of the network index dimension and ensuring the index value of the specific network index. It is adapted to the future network status of the video streaming server indicated by the prediction result, thereby ensuring that the push is adapted to future network changes, and achieving reasonable control of the video streaming server push strategy.
  • the method for controlling video streaming transmission can be executed by the second server 104 serving as the video streaming server.
  • the control method for video stream transmission may include S1401, S1601 to S1602, and S1403 to S1404.
  • the video stream pull request carries the indicator value of the specified network indicator.
  • S1601 to S1602 are as follows:
  • the collector when it has prediction needs, it can send a data acquisition request to the video streaming server.
  • the data acquisition request is used to instruct the video streaming server to return attribute data and network environment data; accordingly, the video streaming server can receive the collected data.
  • S1602 Obtain attribute data and network environment data based on the data acquisition request, and send the attribute data and network environment data to the collector, so that the attribute data and network environment data are sent to the predictor through the collector.
  • the video streaming server after receiving the data acquisition request sent by the collector, can obtain the attribute data and network environment data based on the data acquisition request, and send the attribute data and network environment data to the collector; in this way, the collector can Attribute data and network environment data are sent to the predictor.
  • the video streaming server when receiving the data acquisition request sent by the collector, can obtain and send the attribute data and network environment data to the collector, and then forward the attribute data and network environment data to the prediction through the collector. It is suitable for many scenarios.
  • Figure 17 which mainly includes the predictor (can be an application server), the collector (can be a sensing device, specifically a camera installed on the road or a camera installed on a vehicle), and a video streaming server (can be an RTSP server) , the controller (which can be a second terminal device), the mobile device (which can be a vehicle, where the vehicle corresponds to the first terminal device, that is, the vehicle-mounted terminal device), the communication device (which can be a base station), and the core network (which can be a 5G core network ).
  • the predictor can be an application server
  • the collector can be a sensing device, specifically a camera installed on the road or a camera installed on a vehicle
  • a video streaming server can be an RTSP server
  • the controller which can be a second terminal device
  • the mobile device which can be a vehicle, where the vehicle corresponds to the first terminal device, that is, the vehicle-mounted terminal device
  • the communication device which can be a base station
  • the core network which can be a 5
  • the application server is mainly used to obtain the attribute data of the RTSP server in the process of downloading the video stream; among them, the attribute data is used to characterize the download status of the video stream; and to obtain the network environment data of the RTSP server in the process of downloading the video stream; and then based on the attributes Data and network environment data, predict the network status of the RTSP server for video stream downloading within the preset time period, and obtain the prediction results; then send the prediction results to the push strategy adjuster, and the prediction results are used to indicate the push strategy adjustment Determine the push strategy for video streaming transmission with the RTSP server.
  • push policy adjusters include but are not limited to sensing devices, second terminal devices, etc.
  • the application server predicts the network status in which the RTSP server downloads the video stream within a preset time period based on the attribute data and network environment data, and obtains the prediction result, which may be implemented through a trained prediction model.
  • the prediction model is constructed and trained based on the DQN-LSTM algorithm; where the DQN algorithm requires pre-set input features, output features, prediction features, model parameters, and algorithm average times , prediction time, ratio of model training and testing, number of iterations, model loss function, model optimization function, number of machine learning neurons, etc.; the LSTM algorithm is mainly used to adapt to some network indicators (such as delay indicators, throughput indicators, etc. ); at the same time, pensieve is also used as the basic framework.
  • attribute data and network environment data are input into the LSTM training module (two LSTM training modules are illustrated in Figure 18, and the number of LSTM training modules can be any); then, the LSTM training module first
  • the data and network environment data are converted into time series data, and then the time series prediction problem can be converted into a supervised learning problem.
  • the time series data is preprocessed and divided into a training set and a test set, and then trained through the training set.
  • the sensing device is mainly used to collect the video stream corresponding to the road image and transmit the collected video stream to the RTSP server; and to receive the prediction result sent by the application server; where the prediction result is the application server based on the RTSP server in the process of downloading the video stream.
  • the attribute data and network environment data in it are obtained by predicting the network status of the RTSP server for video stream downloading within the preset time period.
  • the attribute data is used to characterize the download status of the video stream; it is then determined based on the prediction results.
  • the push strategy used when directing the RTSP server to transmit video streams.
  • RTSP server is mainly used to collect attribute data and network environment data in the process of downloading video streams; among them, attribute data is used to characterize the download status of the video stream; and then sends attribute data and network environment data to the application server so that the application server Based on the attribute data and network environment data, predict the network status of the RTSP server for video stream downloading within the preset time period, and obtain the prediction results; and receive the video stream pull request sent by the second terminal device; wherein, the video stream The pull request is generated by the second terminal device based on the prediction result obtained from the application server; and then the push strategy used when transmitting the video stream to the second terminal device is determined based on the video stream pull request.
  • the second terminal device is mainly used to receive the prediction results sent by the application server, generate a video stream pull request based on the prediction results, and then send the video stream pull request to the RTSP server.
  • the video stream pull request is used to instruct the RTSP server to based on the video
  • the stream pull request determines the push strategy used when transmitting the video stream to the second terminal device.
  • the first terminal device is mainly used to receive prediction results sent by the application server, and control the vehicle corresponding to the first terminal device to perform corresponding operations based on the prediction results.
  • the base station and 5G core network are mainly used for communication between the aforementioned application servers, sensing devices, second terminal devices, and first terminal devices to interact with any data.
  • Figure 19 is a flow chart of a method for controlling video stream transmission according to an embodiment of the present application. As shown in Figure 19, the control method of the video stream transmission includes at least S1901 to S1907. The details are as follows:
  • the sensing device collects the video stream corresponding to the road image.
  • the first terminal device obtains the attribute data and network environment data of the RTSP server during the process of downloading the video stream, and sends the attribute data and network environment data to the sensing device.
  • the sensing device encodes the collected video stream, obtains multiple video encoding blocks with specified duration, and transmits the multiple video encoding blocks to the RTSP server through multiple links.
  • the sensing device sends the attribute data and network environment data to the application server.
  • the attribute data and network environment data can be forwarded by the base station through the 5G core network.
  • the application server predicts the network status of the RTSP server for video stream downloading within the preset time period based on the attribute data and network environment data, and obtains the prediction result.
  • the prediction results may be prediction results corresponding to the code rate indicator type, prediction results corresponding to the delay indicator type, and prediction results corresponding to the throughput indicator type.
  • the application server sends the prediction result corresponding to the code rate indicator type to the sensing device or the second terminal device.
  • the sensing device determines the code rate used when transmitting the video stream to the RTSP server based on the prediction result corresponding to the code rate indicator type, that is, the sensing device pushes the video stream to the RTSP server based on the determined code rate.
  • the second terminal device generates a video stream pull request based on the prediction result corresponding to the code rate indicator type, and sends the video stream pull request to the RTSP server, so that the RTSP server based on the video stream pull request
  • the code rate carried in the video stream pull request is used to transmit the video stream to the second terminal device.
  • the application server sends the prediction result corresponding to the delay indicator type and the prediction result corresponding to the throughput indicator type to the first terminal device.
  • the first terminal device can generate a control instruction based on the prediction result corresponding to the delay indicator type and the prediction result corresponding to the throughput indicator type, so that the vehicle corresponding to the first terminal device performs an operation matching the control instruction.
  • the control instruction may be an instruction for instructing to slow down the traveling speed, and then the vehicle will perform an operation of slowing down the traveling speed; the control instruction may be an instruction for instructing to stop traveling, and then the vehicle will perform an operation of stopping the traveling.
  • the application server can also send the prediction results corresponding to the delay indicator type and the prediction results corresponding to the throughput indicator type to the second terminal device, and then the second terminal device based on the prediction results and throughput corresponding to the delay indicator type
  • the prediction result corresponding to the quantity indicator type is generated, and the control instruction is sent to the first terminal device, so that the vehicle corresponding to the first terminal device performs an operation matching the control instruction.
  • attribute data and network environment data are combined to predict the network status of the video streaming server for downloading video streams within a preset time period, which improves the accuracy of the prediction results; and is based on RTSP streaming technology , realizes the transmission of video streams with a small delay, which is suitable for scenarios such as smart transportation with strong mobility, large network changes, and sensitive delay requirements, while ensuring security.
  • FIG 20 is a block diagram of a control device for video stream transmission according to an embodiment of the present application. As shown in Figure 20, the control device for the video streaming transmission is deployed on the prediction side.
  • the device includes:
  • the acquisition module 2001 is configured to obtain the attribute data and network environment data of the video stream server during the process of downloading the video stream; wherein the attribute data is used to characterize the download status of the video stream;
  • the prediction module 2002 is configured to predict the network status in which the video streaming server downloads the video stream within a preset time period based on the attribute data and network environment data, and obtains a prediction result;
  • the sending module 2003 is configured to send the prediction result to the push strategy adjuster, and the prediction result is used to instruct the push strategy adjuster to determine the push strategy corresponding to the video streaming server.
  • the prediction module 2002 includes:
  • a processing unit configured to perform structured processing on attribute data and network environment data to obtain structured data
  • the prediction unit is configured to predict the network status of the video stream server for downloading the video stream within a preset time period based on structured data, and obtain a prediction result.
  • the processing unit is specifically configured as:
  • the time stamp information based on the attribute data is constructed to obtain the first time series data, and the time stamp information based on the network environment data is constructed to obtain the second time series data;
  • the attribute data includes multiple types of first data; the processing unit is also specifically configured to:
  • the network environment data includes multiple types of second data; the processing unit is also specifically configured to:
  • second time series data corresponding to the type is constructed based on the timestamp information corresponding to the second data of the type.
  • the processing unit is specifically configured as:
  • Preprocess the first time series data and the second time series data to obtain the preprocessed first time series data and the preprocessed second time series data; wherein the preprocessing includes the elimination of abnormal data and duplicate data. At least one of the elimination processes;
  • structured processing is performed on the preprocessed first time series data and the preprocessed second time series data to obtain structured data.
  • the prediction unit is specifically configured as:
  • the prediction unit is specifically configured as:
  • the network status of the video streaming server for video stream downloading within a preset time period is predicted, and prediction results corresponding to multiple types of network indicators are obtained.
  • the acquisition module 2001 is specifically configured as:
  • FIG 21 is a block diagram of a control device for video stream transmission according to an embodiment of the present application. As shown in Figure 21, the control device for video streaming transmission is applied to the collector.
  • the device includes:
  • the receiving module 2101 is configured to receive the prediction result sent by the predicting party; wherein the prediction result is that the predicting party conducts video processing on the video streaming server within a preset time period based on the attribute data and network environment data of the video streaming server during the process of downloading the video stream. It is obtained by predicting the network status of the stream download, and the attribute data is used to characterize the download status of the video stream;
  • the adjustment module 2102 is configured to determine, based on the prediction result, a push strategy to be used when transmitting the video stream to the video stream server.
  • the adjustment module 2103 is specifically configured as:
  • the video stream is transmitted to the video streaming server.
  • the device further includes a collection module configured as:
  • Multiple video encoding chunks are transmitted to the video streaming server over multiple links.
  • the collection module is specifically configured as:
  • Multiple video encoding blocks corresponding to each indicator value are transmitted to the video streaming server through multiple links.
  • the device further includes:
  • a sending module configured to send a data acquisition request to the video streaming server
  • the receiving module 2101 is also configured to receive attribute data and network environment data sent by the video streaming server in response to the data acquisition request;
  • the sending module is also configured to send the attribute data and the network environment data to the predictor, so that the predictor returns a prediction result based on the attribute data and the network environment data.
  • the receiving module 2101 is also configured to:
  • FIG 22 is a block diagram of a control device for video stream transmission according to an embodiment of the present application. As shown in Figure 22, the control device for video streaming transmission is deployed on the video streaming server.
  • the device includes:
  • the collection module 2201 is configured to collect attribute data and network environment data during the process of downloading the video stream; where the attribute data is used to characterize the download status of the video stream;
  • the sending module 2202 is configured to send attribute data and network environment data to the predictor, so that the predictor can predict the network status of the video stream server for downloading the video stream within the preset time period based on the attribute data and network environment data, Get prediction results;
  • the receiving module 2203 is configured to receive a video stream pull request sent by the controller; wherein the video stream pull request is generated by the controller based on the prediction results obtained from the predictor;
  • the adjustment module 2204 is configured to determine the push strategy used when transmitting the video stream to the controller based on the video stream pull request.
  • the video stream pull request carries the indicator value of the specified network indicator;
  • the adjustment module 2204 is specifically configured as:
  • the sending module 2202 is specifically configured as:
  • Embodiments of the present application also provide an electronic device, including: one or more processors; a memory for storing one or more programs, so that when the one or more programs are executed by the one or more processors, The electronic device implements the previous control method for video streaming transmission.
  • FIG. 23 is a schematic structural diagram of a computer system suitable for implementing an electronic device according to an embodiment of the present application.
  • the computer system 2300 includes a central processing unit (Central Processing Unit, CPU) 2301, which can be loaded into a random computer according to a program stored in a read-only memory (Read-Only Memory, ROM) 2302 or from a storage part 2308. Access the program in the memory (Random Access Memory, RAM) 2303 to perform various appropriate actions and processing, such as performing the method in the above embodiment. In RAM 2303, various programs and data required for system operation are also stored.
  • CPU 2301, ROM 2302 and RAM 2303 are connected to each other through bus 2304.
  • An input/output (I/O) interface 2305 is also connected to bus 2304.
  • the following components are connected to the I/O interface 2305: an input part 2306 including a keyboard, a mouse, etc.; an output part 2307 including a cathode ray tube (Cathode Ray Tube, CRT), a liquid crystal display (Liquid Crystal Display, LCD), etc., and a speaker, etc. ; a storage part 2308 including a hard disk, etc.; and a communication part 2309 including a network interface card such as a LAN (Local Area Network) card, a modem, etc.
  • the communication section 2309 performs communication processing via a network such as the Internet.
  • Driver 2310 is also connected to I/O interface 2305 as needed.
  • Removable media 2311 such as magnetic disks, optical disks, magneto-optical disks, semiconductor memories, etc., are installed on the drive 2310 as needed, so that a computer program read therefrom is installed into the storage portion 2308 as needed.
  • the process described above with reference to the flowchart may be implemented as a computer software program.
  • embodiments of the present application include a computer program product including a computer program carried on a computer-readable medium, the computer program including a computer program for performing the method shown in the flowchart.
  • the computer program may be downloaded and installed from the network via communications portion 2309, and/or installed from removable media 2311. in that When the computer program is executed by the central processing unit (CPU) 2301, it executes various functions defined in the system of the present application.
  • CPU central processing unit
  • Another aspect of the present application also provides a computer-readable medium on which a computer program is stored.
  • the computer program is executed by a processor, the previous control method for video stream transmission is implemented.
  • the computer-readable medium may be included in the electronic device described in the above embodiments, or may exist separately without being assembled into the electronic device.
  • Another aspect of the application also provides a computer program product or computer program, which includes computer instructions stored in a computer-readable medium.
  • the processor of the computer device reads the computer instructions from the computer-readable medium, and the processor executes the computer instructions, so that the computer device executes the control method for video streaming transmission provided in the above embodiments.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请的实施例公开了一种视频流传输的控制方法及装置、设备、介质,可应用于智慧交通、辅助驾驶、云技术、人工智能等各种场景。该视频流传输的控制方法包括:获取视频流服务器在下载视频流过程中的属性数据和网络环境数据,并基于属性数据和网络环境数据,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测得到预测结果,之后发送预测结果至推流策略调整方,预测结果用于指示推流策略调整方确定与视频流服务器对应的推流策略。本申请的技术方案实现了对预设时间段内视频流服务器进行视频流下载所处的网络状态的预测,使得视频流的传输可以与未来网络变化相适配,实现了对视频流传输的合理控制。

Description

视频流传输的控制方法及装置、设备、介质
本申请要求于2022年06月27日提交中国专利局、申请号为2022107390987、申请名称为“视频流传输的控制方法及装置、设备、介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,具体涉及一种视频流传输技术。
背景技术
目前,视频流传输可应用于智慧交通、辅助驾驶、云技术、人工智能等各种场景中,例如,在辅助驾驶场景中,采集方可以将采集到的与道路中车辆相关的视频流传输至控制方,这样控制方就可以基于接收到的视频流进行相应逻辑处理,以实现辅助驾驶等。
在进行视频流传输的过程中,网络通常会发生变化,而网络变化可能在一定程度上影响视频流传输。因此,如何合理控制视频流的传输,使其与网络变化相适配是亟待解决的问题。
发明内容
本申请的实施例提供了一种视频流传输的控制方法及装置、设备、介质,能够使视频流的传输与网络变化相适配,实现了对视频流传输的合理控制。
第一方面,本申请实施例提供了一种视频流传输的控制方法,由预测方执行,所述方法包括:获取视频流服务器在下载视频流过程中的属性数据和网络环境数据;其中,所述属性数据用于表征所述视频流的下载状态;基于所述属性数据和所述网络环境数据,对预设时间段内所述视频流服务器进行视频流下载所处的网络状态进行预测,得到预测结果;发送所述预测结果至推流策略调整方,所述预测结果用于指示所述推流策略调整方确定与所述视频流服务器对应的推流策略。
第二方面,本申请实施例提供了一种视频流传输的控制方法,由采集方执行,所述方法包括:接收预测方发送的预测结果;其中,所述预测结果是所述预测方基于视频流服务器在下载视频流过程中的属性数据和网络环境数据,对预设时间段内所述视频流服务器进行视频流下载所处的网络状态进行预测得到的,所述属性数据用于表征所述视频流的下载状态;基于所述预测结果,确定向所述视频流服务器传输视频流时使用的推流策略。
第三方面,本申请实施例提供了一种视频流传输的控制方法,由视频流服务器执行,所述方法包括:采集在下载视频流过程中的属性数据和网络环境数据;其中,所述属性数据用于表征所述视频流的下载状态;发送所述属性数据和所述网络环境数据至预测方,以使所述预测方基于所述属性数据和 所述网络环境数据,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,得到预测结果;接收控制方发送的视频流拉取请求;其中,所述视频流拉取请求是所述控制方基于从所述预测方中获取到的所述预测结果生成的;基于所述视频流拉取请求,确定向所述控制方传输视频流时使用的推流策略。
第四方面,本申请实施例提供了一种视频流传输的控制装置,所述装置部署在预测方,所述装置包括:获取模块,配置为获取视频流服务器在下载视频流过程中的属性数据和和网络环境数据;其中,所述属性数据用于表征所述视频流的下载状态;预测模块,配置为基于所述属性数据和所述网络环境数据,对预设时间段内所述视频流服务器进行视频流下载所处的网络状态进行预测,得到预测结果;发送模块,配置为发送所述预测结果至推流策略调整方,所述预测结果用于指示所述推流策略调整方确定与所述视频流服务器对应的推流策略。
第五方面,本申请实施例提供了一种视频流传输的控制装置,所述装置部署在采集方,所述装置包括:接收模块,配置为接收预测方发送的预测结果;其中,所述预测结果是所述预测方基于视频流服务器在下载视频流过程中的属性数据和网络环境数据,对预设时间段内所述视频流服务器进行视频流下载所处的网络状态进行预测得到的,所述属性数据用于表征所述视频流的下载状态;调整模块,配置为基于所述预测结果,确定向所述视频流服务器传输视频流时使用的推流策略。
第六方面,本申请实施例提供了一种视频流传输的控制装置,所述装置部署在视频流服务器,所述装置包括:采集模块,配置为采集在下载视频流过程中的属性数据和网络环境数据;其中,所述属性数据用于表征所述视频流的下载状态;发送模块,配置为发送所述属性数据和所述网络环境数据至预测方,以使所述预测方基于所述属性数据和所述网络环境数据,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,得到预测结果;接收模块,配置为接收控制方发送的视频流拉取请求;其中,所述视频流拉取请求是所述控制方基于从所述预测方中获取到的所述预测结果生成的;调整模块,配置为基于所述视频流拉取请求,确定向所述控制方传输视频流时使用的推流策略。
第七方面,本申请实施例提供了一种电子设备,包括一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如上所述的视频流传输的控制方法。
第八方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的视频流传输的控制方法。
第九方面,本申请实施例提供了一种计算机程序产品,包括计算机指令, 所述计算机指令被处理器执行时实现如上所述的视频流传输的控制方法。
附图说明
图1是可以应用本申请实施例的技术方案的示例性实施环境的示意图;
图2是本申请的一示例性实施例示出的视频流传输的控制方法的流程图;
图3是本申请的另一示例性实施例示出的视频流传输的控制方法的流程图;
图4是本申请的另一示例性实施例示出的视频流传输的控制方法的流程图;
图5是本申请的另一示例性实施例示出的视频流传输的控制方法的流程图;
图6是本申请的另一示例性实施例示出的视频流传输的控制方法的流程图;
图7是本申请的另一示例性实施例示出的视频流传输的控制方法的流程图;
图8是本申请的一示例性实施例示出的视频流传输的控制方法的流程图;
图9是本申请的另一示例性实施例示出的视频流传输的控制方法的流程图;
图10是本申请的另一示例性实施例示出的视频流传输的控制方法的流程图;
图11是本申请的另一示例性实施例示出的视频流传输的控制方法的流程图;
图12是本申请的另一示例性实施例示出的视频流传输的控制方法的流程图;
图13是本申请的另一示例性实施例示出的视频流传输的控制方法的流程图;
图14是本申请的一示例性实施例示出的视频流传输的控制方法的流程图;
图15是本申请的另一示例性实施例示出的视频流传输的控制方法的流程图;
图16是本申请的另一示例性实施例示出的视频流传输的控制方法的流程图;
图17是可以应用本申请实施例的技术方案的示例性实施环境的示意图;
图18是本申请的一示例性实施例示出的预测模型的示意图;
图19是本申请的一示例性实施例示出的视频流传输的控制方法的流程图;
图20是本申请的一个实施例的视频流传输的控制装置的框图;
图21是本申请的一个实施例的视频流传输的控制装置的框图;
图22是本申请的一个实施例的视频流传输的控制装置的框图;
图23是适于用来实现本申请实施例的电子设备的计算机***的结构示意图。
具体实施方式
目前,在进行视频流传输的过程中,网络通常会发生变化,而网络变化会在一定程度上影响视频流传输。相关技术中对于如何合理控制视频流的传输,使其与网络变化相适配,并未有明确的方案。
请参阅图1,图1是本申请涉及的一种实施环境的示意图。该实施环境主要包括第一终端设备101、第二终端设备102、第一服务器103以及第二服务器104。可以理解的是,第一终端设备101、第二终端设备102、第一服务器103以及第二服务器104之间可以通过有线或者无线网络进行通信,第一终端设备101和第二终端设备102可以将自身的数据上传至第一服务器103或第二服务器104,也可以从第一服务器103和第二服务器104获取数据。其中:
第一终端设备101和第二终端设备102可以包括但不限于智能手机、平板、笔记本电脑、计算机、智能语音交互设备、智能家电、车载终端、飞行器等。
第一服务器103和第二服务器104可以是提供各种服务的服务器,其可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器,本处不对此进行限制。
需要说明的是,图1中的第一终端设备101、第二终端设备102、第一服务器103以及第二服务器104的数目仅仅是示意性的,根据实际需要,本申请实施例提供的实施环境中可以具有任意数量的终端设备和服务器。
在本申请的一个实施例中,视频流传输的控制方法可以由第一服务器103执行,此时第一服务器103可以作为预测方。
示例性地,预测方获取视频流服务器在下载视频流过程中的属性数据和网络环境数据;其中,属性数据用于表征视频流的下载状态;之后,基于属性数据和网络环境数据,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,得到预测结果;之后,发送预测结果至推流策略调整方,预测结果用于指示推流策略调整方确定与视频流服务器对应的推流策略。可选地,推流策略调整方包括但不限于采集方、控制方等。
在本申请的一个实施例中,视频流传输的控制方法可以由第一终端设备101执行,此时第一终端设备101可以作为采集方。
示例性地,采集方采集道路图像对应的视频流,并将所采集到的视频流 传输至视频流服务器中;以及,接收预测方发送的预测结果;其中,预测结果是预测方基于视频流服务器在下载视频流过程中的属性数据和网络环境数据,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测得到的,属性数据用于表征视频流的下载状态;之后,基于预测结果确定向视频流服务器传输视频流时使用的推流策略。
在本申请的一个实施例中,视频流传输的控制方法可以由第二服务器104执行,此时第二服务器104可以具体为视频流服务器。
示例性地,视频流服务器采集其在下载视频流过程中的属性数据和网络环境数据;其中,属性数据用于表征视频流的下载状态;之后,发送属性数据和网络环境数据至预测方,以使预测方基于属性数据和网络环境数据,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,得到预测结果;接收控制方发送的视频流拉取请求;其中,视频流拉取请求是控制方基于从预测方中获取到的预测结果生成的;之后,基于视频流拉取请求确定向控制方传输视频流时使用的推流策略。
在本申请的一个实施例中,视频流传输的控制方法可以由第二终端设备102执行,此时第二终端设备102可以作为控制方。
示例性地,控制方接收预测方发送的预测结果,并基于预测结果生成视频流拉取请求,之后,发送视频流拉取请求至视频流服务器,视频流拉取请求用于指示视频流服务器基于视频流拉取请求确定向控制方传输视频流时使用的推流策略。
图1所示实施例的技术方案可以应用于各种场景中,包括但不限于智慧交通、辅助驾驶、云技术、人工智能等;在实际应用中,可以根据具体应用场景进行相应调整。
示例性地,如果应用于智慧交通或辅助驾驶场景中,第一终端设备101可以是车载终端、导航终端等,第二终端设备102可以是计算机、智能手机、平板、笔记本电脑等。例如,车载终端可以采集道路图像对应的视频流,并将所采集到的视频流推流至视频流服务器中,以及接收预测方发送的预测结果,并基于预测结果确定向视频流服务器传输视频流时使用的推流策略;计算机可以接收预测方发送的预测结果,并基于预测结果生成视频流拉取请求,之后发送视频流拉取请求至视频流服务器,视频流拉取请求用于指示视频流服务器基于视频流拉取请求确定向计算机传输视频流时使用的推流策略。
示例性地,如果应用于云技术或人工智能场景中,第一服务器103和第二服务器104中的至少一个可以是位于云端的服务器,第一终端设备101和第二终端设备102中的至少一个可以借助于云端的计算能力来提供云服务等。例如,云端服务器可以基于获取到的视频流服务器在下载视频流过程中的属性数据和网络环境数据,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,得到预测结果,之后,发送预测结果至推流策略调整 方,预测结果用于指示推流策略调整方确定与视频流服务器对应的推流策略;云端服务器还可以采集在下载视频流过程中的属性数据和网络环境数据,之后发送属性数据和网络环境数据至预测方,以及响应接收控制方发送的视频流拉取请求,基于视频流拉取请求调整向控制方传输视频流时使用的推流策略。
需要说明的是,在本申请的具体实施方式中,涉及到对象相关的数据例如属性数据和网络环境数据,当本申请实施例运用到具体产品或技术中时,需要获得对象许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
以下对本申请实施例的技术方案的各种实现细节进行详细阐述:
请参阅图2,图2是本申请的一个实施例示出的视频流传输的控制方法的流程图,该视频流传输的控制方法可以由作为预测方的第一服务器103来执行。如图2所示,该视频流传输的控制方法至少包括S201至S203,详细介绍如下:
S201,获取视频流服务器在下载视频流过程中的属性数据和网络环境数据;其中,属性数据用于表征视频流的下载状态。
本申请实施例中属性数据指的是与视频流下载状态相关的数据。
可以理解的是,视频流在传输过程中,通常会分为一个或多个(两个及两个以上)的片段;因此,本申请实施例中属性数据包括但不限于已下载视频流片段的下载速率、下载码率、下载采样率、下载比特率等,已下载视频流片段的下载时长,剩余未下载视频流片段的数量等。在实际应用中,属性数据还可以是其他任意与视频流下载状态相关的数据,本处对此不做限制。
其中,属性数据通常产生于网络结构(例如七层网络结构)中的应用层;因此,本申请实施例中可以从应用层中获取得到属性数据。
本申请实施例中网络环境数据指的是与视频流下载所处的网络环境相关的数据。
本申请实施例中网络环境数据包括但不限于信干比(Signal to Interference plus Noise Ratio,SINR)、接收信号强度指示(Received Signal Strength Indicator,RSSI)、参考信号接收质量(Reference Signal Receiving Quality,RSRP)、参考信号接收功率(Reference Signal Receiving Power,RSRQ)、时延、吞吐量、丢包率等。在实际应用中,网络环境数据还可以是其他任意与视频流下载所处的网络环境相关的数据,本处对此不做限制。
其中,网络环境数据通常产生于网络结构(例如七层网络结构)中的网络层;因此,本申请实施例中可以从网络层中获取得到网络环境数据。
在本申请的一个实施例中,预测方还可以获取位置数据,位置数据指的是与推流策略调整方所处位置相关的数据。可选地,位置数据包括但不限于方位角、经纬度等。在实际应用中,位置数据还可以是其他任意与推流策略 调整方所处位置相关的数据,本处对此不做限制。
其中,位置数据通常产生于网络结构(例如七层网络结构)中的应用层;因此,本申请实施例中可以从应用层中获取得到位置数据。
S202,基于属性数据和网络环境数据,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,得到预测结果。
本申请实施例中,预测方获取到视频流服务器在下载视频流过程中的属性数据和网络环境数据后,可以基于属性数据和网络环境数据,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,得到预测结果。
本申请实施例中预设时间段指的是以当前时刻为基准,在当前时刻之后的一段时间,换言之,预测时间段是未来的一段时间。例如,假设当前时刻是2022年6月24日下午05:00:00,那么可以是对2022年6月24日下午05:00:00至2022年6月25日下午05:00:00这24小时内,视频流服务器进行视频流下载所处的网络状态进行预测。在实际应用中,预设时间段可以是任意的,例如,承接前述示例中的当前时刻,可以是对2022年6月24日下午07:00:00至2022年6月25日下午08:00:00这1小时内,视频流服务器进行视频流下载所处的网络状态进行预测。
在本申请的一个实施例中,预测方可以基于属性数据、网络环境数据、以及位置信息,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,得到预测结果。
S203,发送预测结果至推流策略调整方,预测结果用于指示推流策略调整方确定与视频流服务器对应的推流策略。
本申请实施例中预测方基于属性数据和网络环境数据,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,得到预测结果,之后可以将预测结果发送至推流策略调整方;这样推流策略调整方就可以基于预测结果确定与视频流服务器对应的推流策略,其中,推流策略调整方基于预测结果确定与视频流服务器对应的推流策略,请参见下述实施例的具体介绍。
本申请实施例中,预测方通过获取到的视频流服务器在下载视频流过程中的属性数据和网络环境数据,实现了对预设时间段内视频流服务器进行视频流下载所处的网络状态的预测;并且预测方将所得到的预测结果发送至推流策略调整方,推流策略调整方可以基于该预测结果确定与视频流服务器对应的推流策略,由于该预测结果是基于视频流服务器在下载视频流过程中的属性数据和网络环境数据确定的,因此,该预测结果可以较准确地反映该视频流服务器在未来的预设时间段内的网络状态,相应地,推流策略调整方基于该预测结果确定推流策略,可以保证所确定的推流策略与未来预设时间段内的网络状态相适配,基于该推流策略向视频流服务器进行视频传输,可以使得视频流的传输可以与未来网络变化相适配,实现了对视频流传输的合理 控制。同时,由于属性数据是视频流下载状态相关的数据,网络环境数据是视频流下载所处网络环境相关的数据,这两方面数据对于网络状态的预测具有较高的参考价值,因此,基于这两方面的数据共同对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,能够在一定程度上提升预测结果的准确性,从而提升推流策略调整方基于预测结果确定的与视频流服务器对应的推流策略的准确性。
在本申请的一个实施例中,提供了另一种视频流传输的控制方法,该视频流传输的控制方法可以由作为预测方的第一服务器103来执行。如图3所示,该视频流传输的控制方法可以包括S201、S301至S302、S203。
S301至S302详细介绍如下:
S301,对属性数据和网络环境数据进行结构化处理,得到结构化数据。
本申请实施例中,预测方获取到属性数据和网络环境数据后,需要对属性数据和网络环境数据进行结构化处理,得到结构化数据。
本申请实施例中的结构化处理指的是将非结构化数据或半结构化数据转换成结构化数据。其中,非结构化数据包括数据结构不规则或不完整的数据、没有预定义的数据模型的数据、不方便用数据库二维逻辑表来表现的数据,其具体可以包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像、音频、视频等。相应地,结构化数据是数据结构规则或完整、存在预定义的数据模型、方便用数据库二维逻辑表来表现的数据。而半结构化数据,则是介于非结构化数据和结构化数据之间的,其部分类似于非结构化数据,部分类似于结构化数据,所以还是需要对其进行结构化处理,以得到结构化数据。
在本申请的一个实施例中,S301中对属性数据和网络环境数据进行结构化处理,得到结构化数据的过程,至少可以包括:
基于预设结构化规则,对属性数据和网络环境数据进行结构化处理,得到结构化数据;其中,预设结构化规则可以由相关工作者进行设置得到。
举例说明,例如,假设属性数据为“针对视频流A的片段1的下载时长为10秒”,同时假设预设结构化规则为“视频流名称:xxx;视频流的片段序号:xxx;下载时长:xxx;”,那么对属性数据“针对视频流A的片段1的下载时长为10秒”进行结构化处理,得到其对应的结构化数据为“视频流名称:A;视频流的片段序号:1;下载时长:10秒;”。
又例如,假设网络环境数据为“针对视频流A的片段1的丢包率为30%”,同时假设预设结构化规则为“视频流名称:xxx;视频流的片段序号:xxx;丢包率:xxx;”,那么对网络环境数据“针对视频流A的片段1的丢包率为30%”进行结构化处理,得到其对应的结构化数据为“视频流名称:A;视频流的片段序号:1;丢包率:30%;”。
在本申请的一个实施例中,结构化处理可以采用包括但不限于决策树、 深度学习、结构化数据清洗等方式实现;在实际应用中,可以根据具体应用场景进行灵活调整。
S302,基于结构化数据,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,得到预测结果。
本申请实施例中,预测方对属性数据和网络环境数据进行结构化处理,得到结构化数据后,可以基于结构化数据,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,得到预测结果。
需要说明的是,图3所示中S201、S203的详细介绍请参见图2所示的S201、S203,在此不再赘述。
本申请实施例中,预测方通过先对属性数据和网络环境数据进行结构化处理,再基于结构化处理后的结构化数据对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测;由于结构化数据相比原始的属性数据和网络环境数据更简洁标准,且在结构化处理的过程中可以剔除与网络状态预测无关的其它数据,因此,可以基于结构化数据更快速简便地实现网络状态的预测,以得到预测结果,并且可以避免一些无关数据的干扰,在一定程度上提升了预测结果的准确性。
在本申请的一个实施例中,提供了另一种视频流传输的控制方法,该视频流传输的控制方法可以由作为预测方的第一服务器103来执行。如图4所示,该视频流传输的控制方法可以包括S201、S401至S402、S302、S203。
S401至S402详细介绍如下:
S401,基于属性数据的时间戳信息构建得到第一时间序列数据,以及基于网络环境数据的时间戳信息构建得到第二时间序列数据。
本申请实施例中,预测方获取到属性数据和网络环境数据后,可以基于属性数据的时间戳信息构建得到第一时间序列数据,以及基于网络环境数据的时间戳信息构建得到第二时间序列数据。
本申请实施例中时间序列数据(即第一时间序列数据和第二时间序列数据)指的是带有时间轴的数据。
在本申请的一个实施例中,属性数据包括多个类型的第一数据;S401中基于属性数据的时间戳信息构建得到第一时间序列数据的过程,至少可以包括:
获取各个类型的第一数据各自对应的时间戳信息;
针对每个类型,根据该类型的第一数据对应的时间戳信息,构建该类型对应的第一时间序列数据。
也即,可选实施例中,预测方获取各个类型的第一数据各自对应的时间戳信息后,可以基于各个类型的第一数据各自对应的时间戳信息,构建得到与各个类型的第一数据相匹配的第一时间序列数据。
其中,第一数据对应的时间戳信息指的是生成第一数据时的时间。
举例说明,例如属性数据包括类型N1、类型N2、类型N3三种类型的第一数据;之后,可以获取类型N1的k1个第一数据对应的时间戳信息,类型N2的k2个第一数据对应的时间戳信息,类型N3的k3个第一数据对应的时间戳信息,其中k1≥1,k2≥1,k3≥1,且k1、k2、k3均为整数,可以相同也可以不相同;之后,基于类型N1的k1个第一数据对应的时间戳信息,构建得到针对类型N1的第一时间序列数据,基于类型N2的k2个第一数据对应的时间戳信息,构建得到针对类型N2的第一时间序列数据,基于类型N3的k3个第一数据对应的时间戳信息,构建得到针对类型N3的第一时间序列数据。
在本申请的一个实施例中,网络环境数据包括多个类型的第二数据;S401中基于网络环境数据的时间戳信息构建得到第二时间序列数据的过程,至少可以包括:
获取各个类型的第二数据各自对应的时间戳信息;
针对每个类型,根据该类型的第二数据对应的时间戳信息,构建得到该类型对应的第二时间序列数据。
也即,可选实施例中,预测方获取各个类型的第二数据各自对应的时间戳信息后,可以基于各个类型的第二数据各自对应的时间戳信息,构建得到与各个类型的第二数据相匹配的第二时间序列数据。
其中,第二数据对应的时间戳信息指的是生成第二数据时的时间。
举例说明,例如网络环境数据包括类型M1、类型M2、类型M3三种类型的第二数据;之后,可以获取类型M1的k1个第二数据对应的时间戳信息,类型M2的k2个第二数据对应的时间戳信息,类型M3的k3个第二数据对应的时间戳信息,其中k1≥1,k2≥1,k3≥1,且k1、k2、k3均为整数,可以相同也可以不相同;之后,基于类型M1的k1个第二数据对应的时间戳信息,构建得到针对类型M1的第二时间序列数据,基于类型M2的k2个第二数据对应的时间戳信息,构建得到针对类型M2的第二时间序列数据,基于类型M3的k3个第二数据对应的时间戳信息,构建得到针对类型M3的第二时间序列数据。
S402,对第一时间序列数据和第二时间序列数据进行结构化处理,得到结构化数据。
本申请实施例中,预测方基于属性数据的时间戳信息构建得到第一时间序列数据,以及基于网络环境数据的时间戳信息构建得到第二时间序列数据后,可以对第一时间序列数据和第二时间序列数据进行结构化处理,得到结构化数据。
在本申请的一个实施例中,S402中对第一时间序列数据和第二时间序列数据进行结构化处理,得到结构化数据的过程,至少可以包括:
对第一时间序列数据和第二时间序列数据进行预处理,得到预处理后的 第一时间序列数据和预处理后的第二时间序列数据;
基于预设结构网络,对预处理后的第一时间序列数据和预处理后的第二时间序列数据进行结构化处理,得到结构化数据。
也即,可选实施例中,预测方可以先对第一时间序列数据和第二时间序列数据进行预处理,得到预处理后的第一时间序列数据和预处理后的第二时间序列数据,之后基于预设的结构网络,对预处理后的第一时间序列数据和预处理后的第二时间序列数据进行结构化处理,得到结构化数据。
其中,预处理包括但不限于异常数据的剔除处理和重复数据的剔除处理。可选地,预处理包括异常数据的剔除处理和重复数据的剔除处理中的任意一种或多种。
其中,可选实施例中预设的结构网络可以由相关工作者进行设置得到,其可以包括前述实施例中提及的多种预设结构化规则,另外还可以包括不同预设结构化规则之间的关联关系等。在实际应用中,预设结构网络可以根据实际需求进行灵活调整。
这样,通过实施可选实施例,可以将第一时间序列数据和第二时间序列数据中存在的异常数据或重复数据进行剔除,保证了得到的第一时间序列数据和第二时间序列数据的准确性,从而可以得到较为准确的结构化数据,并且数据之间的冗余度也较低。
需要说明的是,图4所示中S302的详细介绍请参见图3所示的S302,图4所示中S201、S203的详细介绍请参见图2所示的S201、S203,在此不再赘述。
本申请实施例中,预测方通过基于属性数据的时间戳信息构建第一时间序列数据,以及基于网络环境的时间戳信息构建第二时间序列数据,再对第一时间序列和第二时间序列进行结构化处理;由于数据都带有时间特性,因此可以得到较为准确的结构化数据,基于该结构化数据进行预测的准确性也更高。
在本申请的一个实施例中,提供了另一种视频流传输的控制方法,该视频流传输的控制方法可以由作为预测方的第一服务器103来执行。如图5所示,该视频流传输的控制方法可以包括S201、S301、S501、S203。
S501详细介绍如下:
S501,将结构化数据输入至预测模型中,以通过预测模型对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,得到预测结果;其中,预测模型是基于强化学习算法和深度学习算法中的至少一个构建并训练得到的。
本申请实施例中,预测方可以基于强化学习算法和深度学习算法中的至少一个构建并训练得到预测模型,之后可以将结构化数据输入至预测模型中,通过预测模型实现对预设时间段内视频流服务器进行视频流下载所处的网络 状态的预测,得到预测结果。
本申请实施例中强化学习算法包括但不限于基于神经网络的DQN(Deep Q-Learning)算法、在连续动作空间上求解的DDPG(Deep Deterministic Policy Gradient)算法、表格型的Sarsa(State-action-reward-state’-action’)算法和Q-Learning算法、策略阶梯的Policy-Gradient算法等。
本申请实施例中深度学习算法包括但不限于前馈神经网络(feedforward neural network,FNN)算法、卷积神经网络(Convolutional Neural Networks,CNN)算法、循环神经网络(Recurrent Neural Network,RNN)算法、生成对抗网络(Generative Adversarial Networks,GAN)算法、图神经网络算法、递归神经网络算法、反向传播算法等。其中,RNN最常见的是长短期记忆网络(Long Short-Term Memory,LSTM)算法。
在本申请的一个实施例中,预测模型可以基于DQN-LSTM算法所构建并训练得到的。可选地,DQN-LSTM算法还可以以pensieve为基本框架,其中pensieve是一种自适应视频流算法,它基于a3c网络学习一种无需增强的流策略,其最大的特点是将传统的基于速率的码率自适应方案和基于缓冲码率自适应方案进行了结合。
需要说明的是,图5所示中S301的详细介绍请参见图3所示的S301,图5所示中S201、S204的详细介绍请参见图2所示的S201、S203,在此不再赘述。
本申请实施例中,预测方通过构建并训练得到的预测模型,并利用该预测模型对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测;由于训练得到的预测模型通常具有较高的工作效率,且具有较高的预测准确度,因此,可以快速简便地实现预测,以得到预测结果,适用于更加广泛的场景中,例如对安全性要求较高的智慧交通、辅助驾驶等场景,或者对实时性要求较高的直播等场景。
在本申请的一个实施例中,提供了另一种视频流传输的控制方法,该视频流传输的控制方法可以由作为预测方的第一服务器103来执行。如图6所示,该视频流传输的控制方法可以包括S201、S301、S601、S203。
S601详细介绍如下:
S601,基于结构化数据,在多个类型的网络指标方向上,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,得到多个类型的网络指标各自对应的预测结果。
本申请实施例中预测方可以基于结构化数据,在多个类型的网络指标方向上,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,从而得到多个类型的网络指标各自对应的预测结果。
本申请实施例中,网络指标指的是能够反映网络质量好坏的指标。本申请实施例中网络指标包括但不限于SINR指标、RSSI指标、RSRP指标、RSRQ 指标、时延指标、吞吐量指标、丢包率指标、码率指标、速率指标等;其中,每个网络指标可以称为一个类型的网络指标。
在本申请的一个实施例中,多个类型包括码率指标、时延指标类型,以及吞吐量指标类型;S601中基于结构化数据,在多个类型的网络指标方向上,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,得到多个类型的网络指标各自对应的预测结果的过程,至少可以包括:
基于结构化数据,在码率指标类型的方向上,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,得到码率指标类型对应的预测结果;以及,
基于结构化数据,在时延指标类型的方向上,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,得到时延指标类型对应的预测结果;以及,
基于结构化数据,在吞吐量指标类型的方向上,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,得到吞吐量指标类型对应的预测结果。
需要说明的是,图6所示中S301的详细介绍请参见图3所示的S301,图6所示中S201、S203的详细介绍请参见图2所示的S201、S203,在此不再赘述。
本申请实施例中,预测方通过从多个类型的网络指标方向上进行预测,得到多个类型的网络指标各自对应的预测结果;这样预测更加全面,后期推流策略调整方可以基于多个类型的网络指标各自对应的预测结果,更准确地确定与视频流服务器对应的推流策略,调整准确性更高。
在本申请的一个实施例中,提供了另一种视频流传输的控制方法,该视频流传输的控制方法可以由作为预测方的第一服务器103来执行。如图7所示,该视频流传输的控制方法可以包括S701、S202至S203。
S701详细介绍如下:
S701,接收采集方发送的属性数据和网络环境数据;其中,属性数据是采集方从视频流服务器中获取到的,网络环境数据是采集方从视频流服务器中获取到的。
本申请实施例中,预测方获取得到的属性数据可以是采集方发送的,其中,采集方发送的属性数据则是从视频流服务器中获取到的;即预测方获取得到的属性数据是经由中间者“采集方”转发得到的。
在本申请的一个实施例中,预测方获取得到的属性数据可以是视频流服务器发送的;即预测方获取得到的属性数据是由视频流服务器直接发送的,而无需经由中间者“采集方”转发。
本申请实施例中,预测方获取得到的网络环境数据可以是采集方发送的,其中,采集方发送的网络环境数据是从视频流服务器中获取到的;即预测方 获取得到的网络环境数据是经由中间者“采集方”转发得到的。
在本申请的一个实施例中,预测方获取得到的网络环境数据可以是视频流服务器发送的;即预测方获取得到的网络环境数据是由视频流服务器直接发送的,而无需经由中间者“采集方”转发。
需要说明的是,图7所示中S202至S203的详细介绍请参见图2所示的S202至S203,在此不再赘述。
本申请实施例中预测方获取到的属性数据和网络环境数据可以是采集方发送的,获取的来源方更多,适用于诸多场景中。
需要说明的是,图2至图7所示实施例是从预测方的角度进行的阐述,以下结合图8至图13,从采集方的角度对本申请实施例的技术方案的实现细节进行详细阐述:
请参阅图8,图8是本申请的一个实施例示出的视频流传输的控制方法的流程图,该视频流传输的控制方法可以由作为采集方的第一终端设备101来执行。如图8所示,该视频流传输的控制方法至少包括S801至S803,详细介绍如下:
S801,采集道路图像对应的视频流,并将所采集到的视频流传输至视频流服务器。
在本申请的一个实施例中,采集方可以按照一定采集周期采集道路图像对应的视频流,并将所采集到的视频流传输至视频流服务器中。例如,假设采集周期为5分钟,则在5分钟内采集道路图像对应的视频流,之后将在5分钟内采集到的道路图像对应的视频流传输至视频流服务器中。
在本申请的一个实施例中,采集方可以实时采集道路图像对应的视频流,并将所采集到的视频流推流至视频流服务器中。例如,每采集到道路图像对应的视频流,就将采集到的道路图像对应的视频流传输至视频流服务器中。
S802,接收预测方发送的预测结果;其中,预测结果是预测方基于视频流服务器在下载视频流过程中的属性数据和网络环境数据,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测得到的,属性数据用于表征视频流的下载状态。
本申请实施例中采集方可以接收预测方发送的预测结果,其中,预测结果的由来过程请参见前述实施例的具体介绍。
S803,基于预测结果,确定向视频流服务器传输视频流时使用的推流策略。
本申请实施例中采集方接收预测方发送的预测结果后,可以基于预测结果确定向视频流服务器传输视频流时使用的推流策略。也即,本申请实施例中视频流是从采集方流出,从而流入视频流服务器。
本申请实施例中,采集方通过接收预测方发送的预测结果,并基于预测结果确定向视频流服务器传输视频流时使用的推流策略,由于该预测结果是 预测方基于视频流服务器在下载视频流过程中的属性数据和网络环境数据确定的,因此,该预测结果可以较准确地反映该视频流服务器在未来的预设时间段内的网络状态,相应地,采集方基于该预测结果确定向视频流服务器传输视频流时使用的推流策略,并基于该推流策略向视频流服务器进行视频流推流,可以保证采集方向视频流服务器进行视频流推流与未来网络变化相适配,实现了向视频流服务器推流的合理控制。
在本申请的一个实施例中,提供了另一种视频流传输的控制方法,该视频流传输的控制方法可以由作为采集方的第一终端设备101来执行。如图9所示,该视频流传输的控制方法可以包括S901至S903、S801至S802。
S901至S903详细介绍如下:
S901,检测预测结果针对的网络指标的类型。
如前述实施例,预测方得到的是多个类型的网络指标各自对应的预测结果;因此,本申请实施例中采集方接收到预测结果后,可以检测预测结果所针对的网络指标的类型。
举例说明,例如,假设预测方得到的是时延指标类型的对应的预测结果,并将其发送至采集方;相应地,采集方接收到该预测结果,可以检测到该预测结果针对的是时延指标类型。或者,假设预测方得到的是吞吐量指标类型的对应的预测结果,并将其发送至采集方;相应地,采集方接收到该预测结果,并可以检测到该预测结果针对的是吞吐量指标类型。
S902,基于网络指标的类型,确定向视频流服务器传输视频流时使用的网络指标的指标数值。
本申请实施例中,采集方检测预测结果针对的网络指标的类型,之后就可以基于网络指标的类型,确定向视频流服务器传输视频流时使用的网络指标的指标数值。
本申请实施例中,指标数值是用于表征网络指标的大小或者网络指标的性能优劣。例如,针对码率指标而言,其大小与其单位关联,单位有比特/秒(bps)、千比特/秒(kbps,k=1000),以及兆比特/秒(Mbps,M=1000000);其中,码率越高(单位越大或者单位前的数值越大,例如10Mbps>10kbps>10bps,10Mbps>5Mbps),音视频的质量就越好,编码后的文件就越大,反之码率越低,音视频的质量就越差,编码后的文件就越小。
举例说明,例如,针对码率指标而言,假设在时刻t1采集方是基于10Mbps向视频服务器进行视频流推流,之后基于码率指标类型对应的预测结果,将码率指标的指标数值由10Mbps调整为5Mbps。
S903,基于网络指标的指标数值,向视频流服务器传输视频流。
本申请实施例中,采集方基于网络指标的类型确定出向视频流服务器进行推流时的网络指标的指标数值后,可以基于该网络指标的指标数值,向视频流服务器进行视频流的推流。
举例说明,例如承接前述示例,在时刻t2采集方是基于5Mbps向视频服务器进行视频流推流,其中,时刻t2晚于时刻t1。需要说明的是,这里仅是以码率指标为例进行示例说明,其他指标类似,以此类推即可。
需要说明的是,图9所示中S801至S802的详细介绍请参见图8所示的S801至S802,在此不再赘述。
本申请实施例中,采集方通过检测预测结果所针对的网络指标的类型,再基于网络指标的类型确定网络指标的指标数值,进而基于该网络指标的指标数值实现向视频流服务器的推流,由此实现了网络指标维度的推流控制,保证特定的网络指标的指标数值与预测结果指示的视频流服务器的未来网络状态相适配,也即保证采集方进行视频流推流与未来网络变化相适配,实现了向视频流服务器推流的合理控制。
在本申请的一个实施例中,提供了另一种视频流传输的控制方法,该视频流传输的控制方法可以由作为采集方的第一终端设备101来执行。如图10所示,该视频流传输的控制方法可以包括S1001至S1002、S802至S803。
S1001至S1002详细介绍如下:
S1001,采集道路图像对应的视频流,对采集到的视频流进行编码,得到具有指定时长的多个视频编码块。
本申请实施例中,采集方对采集到的视频流进行编码,得到具有指定时长的多个视频编码块。
本申请实施例中指定时长可以由相关工作者进行设置得到。举例说明,例如,假设指定时长为5秒,那么对所采集到的视频流进行编码,将得到多个5秒的视频编码块。
S1002,通过多个链路,将多个视频编码块传输至视频流服务器。
本申请实施例中,采集方对采集到的视频流进行编码,得到具有指定时长的多个视频编码块后,可以通过多个链路将多个视频编码块传输至视频流服务器。
举例说明,例如承接前述示例,设采集方和视频流服务器之间建立有多个链路以进行通信,那么可以将得到的多个5秒的视频编码块通过多个链路传输至视频流服务器。
在本申请的一个实施例中,采集方可以是基于实时流协议(Real-Time Streaming Protocol,RTSP),通过多个链路将多个视频编码块传输至视频流服务器中。
可以理解的是,S1001至S1002可以是采集方将采集到的视频流传输至视频流服务器中的过程,也可以是采集方基于所确定的网络指标的指标数值向视频流服务器传输视频流的过程。
需要说明的是,图10所示中S802至S803的详细介绍请参见图8所示的S802至S803,在此不再赘述。
本申请实施例中,采集方通过将视频流编码成多个视频编码块,并将多个视频流编码块通过多个链路传输至视频流服务器;这样通过分块可以减少在同一时间链路所需的缓存量,降低视频流的传输时延,避免由于视频流资源过大、直接推流至视频流服务器,而导致视频流服务器无法适配下载,观看效果不佳,如出现卡顿、延迟、不清晰等现象,同时通过多个链路并发可以提升视频流的传输速率。
在本申请的一个实施例中,提供了另一种视频流传输的控制方法,该视频流传输的控制方法可以由作为采集方的第一终端设备101来执行。如图11所示,该视频流传输的控制方法可以包括S1101至S1103、S802至S803。
S1101至S1103详细介绍如下:
S1101,采集道路图像对应的视频流,并获取指定网络指标对应的多个指标数值。
本申请实施例中,采集方还可以获取指定网络指标对应的多个指标数值。
本申请实施例中,指定网络指标指的是由相关工作者指定的任意一个或多个网络指标;例如,指定网络指标可以是码率指标。
S1102,基于多个指标数值分别对视频流进行编码,得到多个指标数值各自对应的具有指定时长的多个视频编码块。
本申请实施例中,采集方获取指定网络指标对应的多个指标数值后,可以基于多个指标数值分别对所采集到的视频流进行编码,得到多个指标数值各自对应的具有指定时长的多个视频编码块。
举例说明,例如承接前述示例,针对码率指标而言,假设采集方获取到码率指标对应的指标数值分别为8Mbps、5Mbps、3Mbps等,则采集方可以基于8Mbps对所采集到的视频流进行编码,得到8Mbps对应的多个5秒的视频编码块,基于5Mbps对所采集到的视频流进行编码,得到5Mbps对应的多个5秒的视频编码块,基于3Mbps对所采集到的视频流进行编码,得到3Mbps对应的多个5秒的视频编码块。
S1103,通过多个链路,将每个指标数值对应的多个视频编码块传输至视频流服务器。
本申请实施例中,采集方基于多个指标数值分别对所采集到的视频流进行编码,得到多个指标数值各自对应的具有指定时长的多个视频编码块,之后可以通过多个链路,将每个指标数值对应的多个视频编码块传输至视频流服务器。
举例说明,例如承接前述示例,采集方将所得到的8Mbps对应的多个5秒的视频编码块通过多个链路传输至视频流服务器,将所得到的5Mbps对应的多个5秒的视频编码块通过多个链路传输至视频流服务器,所得到的3Mbps对应的多个5秒的视频编码块通过多个链路传输至视频流服务器中。
需要说明的是,图11所示中S802至S803的详细介绍请参见图8所示的 S802至S803,在此不再赘述。
本申请实施例中,采集方通过同一网络指标的多个指标数值对所采集到的视频流进行编码,并将每个指标数值对应的多个视频编码块传输至视频流服务器;这样采集方实质是将针对同一网络指标的多个版本的视频流传输至视频流服务器,例如,当网络指标为码率时,即是将多个码率版本的视频流传输至视频流服务器,从而便于视频流服务器基于网络状态灵活下载所需版本的视频流。
在本申请的一个实施例中,提供了另一种视频流传输的控制方法,该视频流传输的控制方法可以由作为采集方的第一终端设备101来执行。如图12所示,该视频流传输的控制方法在S801之后还可以包括S1201至S1203。
S1201至S1203详细介绍如下:
S1201,发送数据获取请求至视频流服务器,以使视频流服务器基于数据获取请求返回属性数据和网络环境数据。
本申请实施例中,采集方在有预测需求时,可以发送数据获取请求至视频流服务器,数据获取请求用于指示视频流服务器返回属性数据和网络环境数据。
S1202,接收视频流服务器响应数据获取请求发送的属性数据和网络环境数据。
本申请实施例中,视频流服务器可以基于接收到的采集方发送的数据获取请求,返回属性数据和网络环境数据至采集方;相应地,采集方可以接收到视频流服务器发送的属性数据和网络环境数据。
S1203,发送属性数据和网络环境数据至预测方,以使预测方基于属性数据和网络环境数据返回预测结果。
本申请实施例中,采集方接收到视频流服务器发送的属性数据和网络环境数据后,可以发送属性数据和网络环境数据至预测方;这样预测方就可以基于属性数据和网络环境数据,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,得到预测结果,并返回该预测结果,进而,预测方可以基于属性数据和网络环境数据,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,得到预测结果,请参见前述实施例的具体介绍。
需要说明的是,图12所示中S801至S803的详细介绍请参见图8所示的S801至S804,在此不再赘述。
本申请实施例中采集方作为中间者,实现了将从视频流服务器获取到的属性数据和网络环境数据发送至预测方,适用于诸多场景中。
在本申请的一个实施例中,提供了另一种视频流传输的控制方法,该视频流传输的控制方法可以由作为采集方的第一终端设备101来执行。如图13所示,该视频流传输的控制方法在S803之后还可以包括S1301至S1302。
S1301至S1302详细介绍如下:
S1301,接收控制方发送的控制指令;其中,控制指令是控制方基于从预测方获取到的预测结果下发的。
如前述实施例,推流策略调整方可以包括采集方和控制方;其中,如果控制方接收到预测方发送的预测结果,则控制方可以基于该预测结果生成控制指令,并将该控制指令发送至采集方;相应地,采集方可以接收到控制方发送的控制指令。
S1302,控制采集方对应的移动设备执行与控制指令相匹配的操作。
本申请实施例中,采集方接收到控制方发送的控制指令后,可以控制采集方对应的移动设备执行与控制指令相匹配的操作。
在本申请的一个实施例中,S1302中控制采集方对应的移动设备执行与控制指令相匹配的操作的过程,可以包括至少以下两种情况:
情况一,如果控制指令为用于指示减缓行进速率的指令,则控制采集方对应的移动设备执行减缓行进速率的操作。
情况二,如果控制指令为用于指示停止行进的指令,则控制采集方对应的移动设备执行停止行进的操作。
其中,采集方对应的移动设备包括但不限于车辆、机器人、可移动的玩具等。
需要说明的是,图13所示中S801至S803的详细介绍请参见图8所示的S801至S803,在此不再赘述。
本申请实施例中,采集方可以接收控制方发送的控制指令,进而,控制与之对应的移动设备执行与控制指令相匹配的操作,即实现了控制方对移动设备的远程控制,适用于诸多场景中。
需要说明的是,图8至图13所示实施例是从采集方的角度进行的阐述,以下结合图14至图16从视频流服务器的角度对本申请实施例的技术方案的实现细节进行详细阐述:
请参阅图14,图14是本申请的一个实施例示出的视频流传输的控制方法的流程图,该视频流传输的控制方法可以由作为视频流服务器的第二服务器104来执行。如图14所示,该视频流传输的控制方法至少包括S1401至S1404,详细介绍如下:
S1401,采集在下载视频流过程中的属性数据和网络环境数据;其中,属性数据用于表征视频流的下载状态。
本申请实施例中,视频流服务器采集在下载视频流过程中的属性数据和网络环境数据。如前述实施例,视频流服务器可以是从网络结构中的应用层采集属性数据,以及从网络结构中的网络层采集网络环境数据。
S1402,发送属性数据和网络环境数据至预测方,以使预测方基于属性数据和网络环境数据,对预设时间段内视频流服务器进行视频流下载所处的网 络状态进行预测,得到预测结果。
本申请实施例中,视频流服务器采集在下载视频流过程中的属性数据和网络环境数据后,可以发送属性数据和网络环境数据至预测方;这样,预测方就可以基于属性数据和网络环境数据,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,得到预测结果,其中预测结果的由来过程请参见前述实施例的具体介绍。
S1403,接收控制方发送的视频流拉取请求;其中,视频流拉取请求是控制方基于从预测方中获取到的预测结果生成的。
如前述实施例,控制方可以接收预测方发送的预测结果,控制方除了可以基于该预测结果生成控制指令之外,还可以基于该预测结果生成视频流拉取请求,并将该视频流拉取请求发送至视频流服务器;相应地,视频流服务器可以接收到控制方发送的视频流拉取请求。
S1404,基于视频流拉取请求,确定向控制方传输视频流时使用的推流策略。
本申请实施例中,视频流服务器接收到控制方发送的视频流拉取请求,之后可以基于视频流拉取请求确定向控制方传输视频流时使用的推流策略。也即,本申请实施例中视频流是从视频流服务器流出,从而流入控制方。
本申请实施例中,视频流服务器通过将所采集到的属性数据和网络环境数据发送至预测方,为预测方对预设时间段内视频流服务器进行视频流下载所处的网络状态的预测提供了有力支持。同时,接收控制方发送的视频流拉取请求,且该控制方发送的视频流拉取请求也是基于预测方所得到的预测结果生成,进而,视频流服务器基于视频流拉取请求确定向控制方传输视频流时使用的推流策略,由于视频流拉取请求是基于预测方生成的预测结果生成的,且该预测结果是基于视频流服务器在下载视频流过程中的属性数据和网络环境数据确定的,其能够较准确地反映该视频流服务器在未来的预设时间段内的网络状态,因此,视频流服务器基于该视频流拉取请求确定向控制方传输视频流时使用的推流策略,可以保证所确定的推流策略与未来预设时间段内的网络状态相适配,相应地,基于该推流策略向控制方进行视频流推流,可以保证视频流推流与未来网络变化相适配,实现了对视频流服务器推流策略的合理控制。
在本申请的一个实施例中,提供了另一种视频流传输的控制方法,该视频流传输的控制方法可以由作为视频流服务器的第二服务器104来执行。如图15所示,该视频流传输的控制方法可以包括S1401至S1403、S1501。其中,视频流拉取请求中携带有指定网络指标的指标数值。
S1501详细介绍如下:
S1501,基于指定网络指标的指标数值,确定向控制方传输视频流时使用的推流策略。
如前述实施例,控制方可以基于预测结果生成视频流拉取请求,其中,视频流拉取请求中携带有指定网络指标的指标数值;这样,视频流服务器就可以基于指定网络指标的指标数值,确定向控制方传输视频流时使用的推流策略。
本申请实施例中指标数值请参见前述实施例的具体介绍。
举例说明,例如,假设视频流拉取请求中携带的码率指标的指标数值为5Mbps,同时假设在时刻t1视频流服务器是基于10Mbps向控制方进行视频流推流;那么视频流服务器可以基于视频流拉取请求中携带的码率指标的指标数值5Mbps,将码率指标的指标数值由10Mbps调整为5Mbps,之后在时刻t2视频流服务器是基于5Mbps向控制方传输视频流,其中,时刻t2晚于时刻t1。需要说明的是,这里仅是以码率指标为例进行示例说明,其他指标类似,以此类推即可。
需要说明的是,图15所示中S1401至S1403的详细介绍请参见图14所示的S1401至S1403,在此不再赘述。
本申请实施例中,视频流服务器基于视频流拉取请求中携带的指定网络指标的指标数值,向控制方的推流,实现了网络指标维度的推流控制,保证特定的网络指标的指标数值与预测结果指示的视频流服务器的未来网络状态相适配,进而保证该推流与未来网络变化相适配,实现了视频流服务器推流策略的合理控制。
在本申请的一个实施例中,提供了另一种视频流传输的控制方法,该视频流传输的控制方法可以由作为视频流服务器的第二服务器104来执行。如图16所示,该视频流传输的控制方法可以包括S1401、S1601至S1602、S1403至S1404。其中,视频流拉取请求中携带有指定网络指标的指标数值。
S1601至S1602详细介绍如下:
S1601,接收采集方发送的数据获取请求。
如前述实施例,采集方在有预测需求时,可以发送数据获取请求至视频流服务器,数据获取请求用于指示视频流服务器返回属性数据和网络环境数据;相应地,视频流服务器可以接收到采集方发送的数据获取请求。
S1602,基于数据获取请求获取属性数据和网络环境数据,并发送属性数据和网络环境数据至采集方,以通过采集方将属性数据和网络环境数据发送至预测方。
本申请实施例中,视频流服务器接收到采集方发送的数据获取请求后,可以基于数据获取请求获取属性数据和网络环境数据,并发送属性数据和网络环境数据至采集方;这样采集方可以将属性数据和网络环境数据发送至预测方。
需要说明的是,图16所示中S1401、S1403至S1404的详细介绍请参见图14所示的S1401、S1403至S1404,在此不再赘述。
本申请实施例中,视频流服务器可以在接收到采集方发送的数据获取请求时,获取并发送属性数据和网络环境数据至采集方,进而,通过采集方将属性数据和网络环境数据转发给预测方,适用于诸多场景中。
以下对本申请实施例的一个具体场景进行详细说明:
请参阅图17,主要包含了预测方(可以为应用服务器)、采集方(可以为感知设备,具体可以为道路上安装的摄像头或者车辆上安装的摄像头)、视频流服务器(可以为RTSP服务器)、控制方(可以为第二终端设备)、移动设备(可以为车辆,其中车辆对应有第一终端设备即车载终端设备)、通信设备(可以为基站),以及核心网(可以为5G核心网)。其中:
应用服务器,主要用于获取RTSP服务器在下载视频流过程中的属性数据;其中,属性数据用于表征视频流的下载状态;以及获取RTSP服务器在下载视频流过程中的网络环境数据;之后基于属性数据和网络环境数据,对预设时间段内RTSP服务器进行视频流下载所处的网络状态进行预测,得到预测结果;之后发送预测结果至推流策略调整方,预测结果用于指示推流策略调整方确定与RTSP服务器之间针对视频流传输的推流策略。可选地,推流策略调整方包括但不限于感知设备、第二终端设备等。
可选地,应用服务器基于属性数据和网络环境数据,对预设时间段内RTSP服务器进行视频流下载所处的网络状态进行预测,得到预测结果,具体可以是通过训练好的预测模型实现。
在本申请的一个实施例中,请参阅图18,预测模型是基于DQN-LSTM算法构建和训练得到;其中,DQN算法需要预先设置输入特征、输出特征、预测特征、模型的参数、算法平均次数、预测时间、模型训练和测试的比例、迭代次数、模型损失函数、模型优化函数、机器学习神经元的数量等;LSTM算法主要是用于适应部分网络指标(例如时延指标、吞吐量指标等)的变化;同时还以pensieve为基本框架。可选地,是将属性数据和网络环境数据输入至LSTM训练模块(图18中示例出2个LSTM训练模块,该LSTM训练模块的数量可以是任意个)中;进而,LSTM训练模块先将属性数据和网络环境数据转换为时间序列数据,之后可以将时间序列预测问题转换为监督学习问题,之后对时间序列数据进行预处理,并划分为训练集和测试集,之后通过训练集进行训练,拟合LSTM,之后通过测试集进行预测,其中LSTM训练模块与pensieve进行相应数据交互,以共同输出预测结果(可以是码率指标类型、时延指标类型,以及吞吐量指标类型等对应的预测结果)。
感知设备,主要用于采集道路图像对应的视频流,并将采集到的视频流传输至RTSP服务器;以及接收应用服务器发送的预测结果;其中,预测结果是应用服务器基于RTSP服务器在下载视频流过程中的属性数据和网络环境数据,对预设时间段内RTSP服务器进行视频流下载所处的网络状态进行预测所得到的,属性数据用于表征视频流的下载状态;之后基于预测结果确 定向RTSP服务器传输视频流时使用的推流策略。
RTSP服务器,主要用于采集在下载视频流过程中的属性数据和网络环境数据;其中,属性数据用于表征视频流的下载状态;之后发送属性数据和网络环境数据至应用服务器,以使应用服务器基于属性数据和网络环境数据,对预设时间段内RTSP服务器进行视频流下载所处的网络状态进行预测,得到预测结果;以及接收第二终端设备发送的视频流拉取请求;其中,视频流拉取请求是第二终端设备基于从应用服务器中获取到的预测结果生成的;之后基于视频流拉取请求确定向第二终端设备传输视频流时使用的推流策略。
第二终端设备,主要用于接收应用服务器发送的预测结果,并基于预测结果生成视频流拉取请求,之后发送视频流拉取请求至RTSP服务器,视频流拉取请求用于指示RTSP服务器基于视频流拉取请求确定向第二终端设备传输视频流时使用的推流策略。
第一终端设备,主要用于接收应用服务器发送的预测结果,并基于预测结果控制第一终端设备对应的车辆执行相应操作。
基站和5G核心网,主要用于前述应用服务器、感知设备、第二终端设备、第一终端设备之间的通信,以进行任意数据的交互。
基于前述的智慧交通场景,请参阅图19,图19是本申请的一个实施例示出的视频流传输的控制方法的流程图。如图19所示,该视频流传输的控制方法至少包括S1901至S1907,详细介绍如下:
S1901,感知设备采集道路图像对应的视频流。
S1902,第一终端设备获取RTSP服务器在下载视频流过程中的属性数据和网络环境数据,并将属性数据和网络环境数据发送至感知设备。
S1903,感知设备对所采集到的视频流进行编码,得到具有指定时长的多个视频编码块,并通过多个链路将多个视频编码块传输至RTSP服务器。
S1904,感知设备将属性数据和网络环境数据发送至应用服务器。
其中,属性数据和网络环境数据可以是基站通过5G核心网转发。
S1905,应用服务器基于属性数据和网络环境数据,对预设时间段内RTSP服务器进行视频流下载所处的网络状态进行预测,得到预测结果。
其中,该预测结果可以是码率指标类型对应的预测结果、时延指标类型对应的预测结果,以及吞吐量指标类型对应的预测结果。
S1906,应用服务器将码率指标类型对应的预测结果发送至感知设备或第二终端设备。
可选地,感知设备基于码率指标类型对应的预测结果,确定向RTSP服务器传输视频流时使用的码率,即感知设备基于所确定的码率向RTSP服务器进行视频流推流。
可选地,第二终端设备基于码率指标类型对应的预测结果生成视频流拉取请求,并发送视频流拉取请求至RTSP服务器,以使RTSP服务器基于视 频流拉取请求中携带的码率,向第二终端设备传输视频流。
S1907,应用服务器将时延指标类型对应的预测结果和吞吐量指标类型对应的预测结果发送至第一终端设备。
可选地,第一终端设备可以基于时延指标类型对应的预测结果和吞吐量指标类型对应的预测结果,生成控制指令,以使第一终端设备所对应的车辆执行与控制指令相匹配的操作。例如,控制指令可以为用于指示减缓行进速率的指令,则车辆执行减缓行进速率的操作;控制指令可以为用于指示停止行进的指令,则车辆执行停止行进的操作。
可选地,应用服务器还可以将时延指标类型对应的预测结果和吞吐量指标类型对应的预测结果发送至第二终端设备,进而由第二终端设备基于时延指标类型对应的预测结果和吞吐量指标类型对应的预测结果,生成控制指令,并发送控制指令至第一终端设备,以使第一终端设备所对应的车辆执行与控制指令相匹配的操作。
需要说明的是,图19所示中S1901至S1907的详细介绍请参见前述实施例,在此不再赘述。
本申请实施例中,结合了属性数据和网络环境数据共同对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,提升了预测结果的准确性;并且基于RTSP流媒体技术,实现了视频流的传输,该产生的时延较小,适用于智慧交通这种移动性强、网络变化大、对时延要求灵敏的场景中,同时保证了安全性。
图20是本申请的一个实施例示出的视频流传输的控制装置的框图。如图20所示,该视频流传输的控制装置部署在预测方,装置包括:
获取模块2001,配置为获取视频流服务器在下载视频流过程中的属性数据和网络环境数据;其中,属性数据用于表征视频流的下载状态;
预测模块2002,配置为基于属性数据和网络环境数据,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,得到预测结果;
发送模块2003,配置为发送预测结果至推流策略调整方,预测结果用于指示推流策略调整方确定与视频流服务器对应的推流策略。
在本申请的一个实施例中,预测模块2002,包括:
处理单元,配置为对属性数据和网络环境数据进行结构化处理,得到结构化数据;
预测单元,配置为基于结构化数据,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,得到预测结果。
在本申请的一个实施例中,处理单元,具体配置为:
基于属性数据的时间戳信息构建得到第一时间序列数据,以及基于网络环境数据的时间戳信息构建得到第二时间序列数据;
对第一时间序列数据和第二时间序列数据进行结构化处理,得到结构化 数据。
在本申请的一个实施例中,属性数据包括多个类型的第一数据;处理单元,还具体配置为:
获取各个类型的第一数据各自对应的时间戳信息;
针对每个所述类型,根据所述类型的第一数据对应的时间戳信息,构建得到所述类型对应的第一时间序列数据;
在本申请的一个实施例中,网络环境数据包括多个类型的第二数据;处理单元,还具体配置为:
获取各个类型的第二数据各自对应的时间戳信息;
针对每个所述类型,根据所述类型的第二数据对应的时间戳信息,构建得到所述类型对应的第二时间序列数据。
在本申请的一个实施例中,处理单元,还具体配置为:
对第一时间序列数据和第二时间序列数据进行预处理,得到预处理后的第一时间序列数据和预处理后的第二时间序列数据;其中,预处理包括异常数据的剔除处理和重复数据的剔除处理中的至少一种;
基于预设结构网络,对预处理后的第一时间序列数据和预处理后的第二时间序列数据进行结构化处理,得到结构化数据。
在本申请的一个实施例中,预测单元,具体配置为:
将结构化数据输入至预测模型中,以通过预测模型对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,得到预测结果;其中,预测模型是基于强化学习算法和深度学习算法中的至少一个所构建并训练得到的。
在本申请的一个实施例中,预测单元,具体配置为:
基于结构化数据,在多个类型的网络指标方向上,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,得到多个类型的网络指标各自对应的预测结果。
在本申请的一个实施例中,获取模块2001,具体配置为:
接收采集方发送的属性数据和网络环境数据;其中,属性数据和网络环境数据是采集方从视频流服务器中获取到的。
图21是本申请的一个实施例示出的视频流传输的控制装置的框图。如图21所示,该视频流传输的控制装置应用于采集方,装置包括:
接收模块2101,配置为接收预测方发送的预测结果;其中,预测结果是预测方基于视频流服务器在下载视频流过程中的属性数据和网络环境数据,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测得到的,属性数据用于表征视频流的下载状态;
调整模块2102,配置为基于预测结果,确定向视频流服务器传输视频流时使用的推流策略。
在本申请的一个实施例中,调整模块2103,具体配置为:
检测预测结果针对的网络指标的类型;
基于网络指标的类型,确定向视频流服务器传输视频流时使用的网络指标的指标数值;
基于网络指标的指标数值,向视频流服务器传输视频流。
在本申请的一个实施例中,所述装置还包括采集模块,配置为:
对所采集到的视频流进行编码,得到具有指定时长的多个视频编码块;
通过多个链路,将多个视频编码块传输至视频流服务器。
在本申请的一个实施例中,采集模块还具体配置为:
获取指定网络指标对应的多个指标数值;
基于多个指标数值分别对所采集到的视频流进行编码,得到多个指标数值各自对应的具有指定时长的多个视频编码块;
通过多个链路,将每个指标数值对应的多个视频编码块传输至视频流服务器。
在本申请的一个实施例中,装置还包括:
发送模块,配置为发送数据获取请求至视频流服务器;
接收模块2101,还配置为接收视频流服务器响应所述数据获取请求发送的属性数据和网络环境数据;
发送模块,还配置为发送属性数据和网络环境数据至预测方,以使预测方基于属性数据和网络环境数据返回预测结果。
在本申请的一个实施例中,接收模块2101,还配置为:
接收控制方发送的控制指令;其中,控制指令是控制方基于从预测方中获取到的预测结果所下发的;
控制采集方对应的移动设备执行与控制指令相匹配的操作。
图22是本申请的一个实施例示出的视频流传输的控制装置的框图。如图22所示,该视频流传输的控制装置部署在视频流服务器,装置包括:
采集模块2201,配置为采集在下载视频流过程中的属性数据和网络环境数据;其中,属性数据用于表征视频流的下载状态;
发送模块2202,配置为发送属性数据和网络环境数据至预测方,以使预测方基于属性数据和网络环境数据,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,得到预测结果;
接收模块2203,配置为接收控制方发送的视频流拉取请求;其中,视频流拉取请求是控制方基于从预测方中获取到的预测结果生成的;
调整模块2204,配置为基于视频流拉取请求,确定向控制方传输视频流时使用的推流策略。
在本申请的一个实施例中,视频流拉取请求中携带有指定网络指标的指标数值;调整模块2204,具体配置为:
基于指定网络指标的指标数值,确定向控制方传输视频流时使用的推流策略。
在本申请的一个实施例中,发送模块2202,具体配置为:
接收采集方发送的数据获取请求;
基于数据获取请求获取属性数据和网络环境数据,并发送属性数据和网络环境数据至采集方,以通过采集方将属性数据和网络环境数据发送至预测方。
需要说明的是,前述实施例所提供的装置与前述实施例所提供的方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述。
本申请的实施例还提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得电子设备实现如前的视频流传输的控制方法。
图23是适于用来实现本申请实施例的电子设备的计算机***的结构示意图。
需要说明的是,图23示出的电子设备的计算机***2300仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图23所示,计算机***2300包括中央处理单元(Central Processing Unit,CPU)2301,其可以根据存储在只读存储器(Read-Only Memory,ROM)2302中的程序或者从存储部分2308加载到随机访问存储器(Random Access Memory,RAM)2303中的程序而执行各种适当的动作和处理,例如执行上述实施例中的方法。在RAM 2303中,还存储有***操作所需的各种程序和数据。CPU 2301、ROM 2302以及RAM 2303通过总线2304彼此相连。输入/输出(Input/Output,I/O)接口2305也连接至总线2304。
以下部件连接至I/O接口2305:包括键盘、鼠标等的输入部分2306;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分2307;包括硬盘等的存储部分2308;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分2309。通信部分2309经由诸如因特网的网络执行通信处理。驱动器2310也根据需要连接至I/O接口2305。可拆卸介质2311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器2310上,以便于从其上读出的计算机程序根据需要被安装入存储部分2308。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分2309从网络上被下载和安装,和/或从可拆卸介质2311被安装。在该 计算机程序被中央处理单元(CPU)2301执行时,执行本申请的***中限定的各种功能。
本申请的另一方面还提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前的视频流传输的控制方法。该计算机可读介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
本申请的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读介质中。计算机设备的处理器从计算机可读介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的视频流传输的控制方法。
上述内容,仅为本申请的较佳示例性实施例,并非用于限制本申请的实施方案,本领域普通技术人员根据本申请的主要构思和精神,可以十分方便地进行相应的变通或修改,故本申请的保护范围应以权利要求书所要求的保护范围为准。

Claims (19)

  1. 一种视频流传输的控制方法,由预测方执行,所述方法包括:
    获取视频流服务器在下载视频流过程中的属性数据和网络环境数据;其中,所述属性数据用于表征所述视频流的下载状态;
    基于所述属性数据和所述网络环境数据,对预设时间段内所述视频流服务器进行视频流下载所处的网络状态进行预测,得到预测结果;
    发送所述预测结果至推流策略调整方,所述预测结果用于指示所述推流策略调整方确定与所述视频流服务器对应的推流策略。
  2. 如权利要求1所述的方法,所述基于所述属性数据和所述网络环境数据,对预设时间段内所述视频流服务器进行视频流下载所处的网络状态进行预测,得到预测结果,包括:
    对所述属性数据和所述网络环境数据进行结构化处理,得到结构化数据;
    基于所述结构化数据,对所述预设时间段内所述视频流服务器进行视频流下载所处的网络状态进行预测,得到所述预测结果。
  3. 如权利要求2所述的方法,所述对所述属性数据和所述网络环境数据进行结构化处理,得到结构化数据,包括:
    基于所述属性数据的时间戳信息构建得到第一时间序列数据,以及基于所述网络环境数据的时间戳信息构建得到第二时间序列数据;
    对所述第一时间序列数据和所述第二时间序列数据进行结构化处理,得到所述结构化数据。
  4. 如权利要求3所述的方法,所述属性数据包括多个类型的第一数据;所述基于所述属性数据的时间戳信息构建得到第一时间序列数据,包括:
    获取各个类型的第一数据各自对应的时间戳信息;
    针对每个所述类型,根据所述类型的第一数据对应的时间戳信息,构建得到所述类型对应的第一时间序列数据;
    所述网络环境数据包括多个类型的第二数据;所述基于所述网络环境数据的时间戳信息构建得到第二时间序列数据,包括:
    获取各个类型的第二数据各自对应的时间戳信息;
    针对每个所述类型,根据所述类型的第二数据对应的时间戳信息,构建得到所述类型对应的第二时间序列数据。
  5. 如权利要求3所述的方法,所述对所述第一时间序列数据和所述第二时间序列数据进行结构化处理,得到所述结构化数据,包括:
    对所述第一时间序列数据和所述第二时间序列数据进行预处理,得到预处理后的第一时间序列数据和预处理后的第二时间序列数据;其中,所述预处理包括异常数据的剔除处理和重复数据的剔除处理中的至少一种;
    基于预设结构网络,对所述预处理后的第一时间序列数据和所述预处理后的第二时间序列数据进行结构化处理,得到所述结构化数据。
  6. 如权利要求2所述的方法,所述基于所述结构化数据,对所述预设时间段内所述视频流服务器进行视频流下载所处的网络状态进行预测,得到所述预测结果,包括:
    基于所述结构化数据,在多个类型的网络指标方向上,对所述预设时间段内所述视频流服务器进行视频流下载所处的网络状态进行预测,得到所述多个类型的网络指标各自对应的预测结果。
  7. 一种视频流传输的控制方法,由采集方执行,所述方法包括:
    接收预测方发送的预测结果;其中,所述预测结果是所述预测方基于视频流服务器在下载视频流过程中的属性数据和网络环境数据,对预设时间段内所述视频流服务器进行视频流下载所处的网络状态进行预测得到的,所述属性数据用于表征所述视频流的下载状态;
    基于所述预测结果,确定向所述视频流服务器传输视频流时使用的推流策略。
  8. 如权利要求7所述的方法,所述基于所述预测结果,确定向所述视频流服务器传输视频流时使用的推流策略,包括:
    检测所述预测结果针对的网络指标的类型;
    基于所述网络指标的类型,确定向所述视频流服务器传输视频流时使用的所述网络指标的指标数值;
    基于所述网络指标的指标数值,向所述视频流服务器传输视频流。
  9. 如权利要求7所述的方法,所述方法还包括:
    对采集到的视频流进行编码,得到具有指定时长的多个视频编码块;
    通过多个链路,将所述多个视频编码块传输至所述视频流服务器。
  10. 如权利要求9所述的方法,所述对采集到的视频流进行编码,得到具有指定时长的多个视频编码块,包括:
    获取指定网络指标对应的多个指标数值;
    基于所述多个指标数值分别对所述视频流进行编码,得到所述多个指标数值各自对应的具有指定时长的多个视频编码块;
    所述通过多个链路,将所述多个视频编码块传输至所述视频流服务器,包括:
    通过所述多个链路,将每个指标数值对应的多个视频编码块传输至所述视频流服务器。
  11. 如权利要求7至10中任一项所述的方法,在所述接收预测方发送的预测结果之前,所述方法还包括:
    发送数据获取请求至所述视频流服务器;
    接收所述视频流服务器响应所述数据获取请求发送的所述属性数据和所述网络环境数据;
    发送所述属性数据和所述网络环境数据至所述预测方,以使所述预测方 基于所述属性数据和所述网络环境数据返回所述预测结果。
  12. 一种视频流传输的控制方法,由视频流服务器执行,所述方法包括:
    采集在下载视频流过程中的属性数据和网络环境数据;其中,所述属性数据用于表征所述视频流的下载状态;
    发送所述属性数据和所述网络环境数据至预测方,以使所述预测方基于所述属性数据和所述网络环境数据,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,得到预测结果;
    接收控制方发送的视频流拉取请求;其中,所述视频流拉取请求是所述控制方基于从所述预测方获取到的所述预测结果生成的;
    基于所述视频流拉取请求,确定向所述控制方传输视频流时使用的推流策略。
  13. 如权利要求12所述的方法,所述视频流拉取请求中携带有指定网络指标的指标数值;所述基于所述视频流拉取请求,确定向所述控制方传输视频流时使用的推流策略,包括:
    基于所述指定网络指标的指标数值,确定向所述控制方传输视频流时使用的推流策略。
  14. 一种视频流传输的控制装置,所述装置部署在预测方,所述装置包括:
    获取模块,配置为获取视频流服务器在下载视频流过程中的属性数据和网络环境数据;其中,所述属性数据用于表征所述视频流的下载状态;
    预测模块,配置为基于所述属性数据和所述网络环境数据,对预设时间段内所述视频流服务器进行视频流下载所处的网络状态进行预测,得到预测结果;
    发送模块,配置为发送所述预测结果至推流策略调整方,所述预测结果用于指示所述推流策略调整方确定与所述视频流服务器对应的推流策略。
  15. 一种视频流传输的控制装置,所述装置部署在采集方,所述装置包括:
    接收模块,配置为接收预测方发送的预测结果;其中,所述预测结果是所述预测方基于视频流服务器在下载视频流过程中的属性数据和网络环境数据,对预设时间段内所述视频流服务器进行视频流下载所处的网络状态进行预测得到的,所述属性数据用于表征所述视频流的下载状态;
    调整模块,配置为基于所述预测结果,确定向所述视频流服务器传输视频流时使用的推流策略。
  16. 一种视频流传输的控制装置,所述装置部署在视频流服务器,所述装置包括:
    采集模块,配置为采集在下载视频流过程中的属性数据和网络环境数据;其中,所述属性数据用于表征所述视频流的下载状态;
    发送模块,配置为发送所述属性数据和所述网络环境数据至预测方,以使所述预测方基于所述属性数据和所述网络环境数据,对预设时间段内视频流服务器进行视频流下载所处的网络状态进行预测,得到预测结果;
    接收模块,配置为接收控制方发送的视频流拉取请求;其中,所述视频流拉取请求是所述控制方基于从所述预测方中获取到的所述预测结果生成的;
    调整模块,配置为基于所述视频流拉取请求,确定向所述控制方传输视频流时使用的推流策略。
  17. 一种电子设备,包括:
    一个或多个处理器;
    存储器,用于存储一个或多个程序,当所述一个或多个程序被所述电子设备执行时,使得所述电子设备实现如权利要求1至13中任一项所述的视频流传输的控制方法。
  18. 一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至13中任一项所述的视频流传输的控制方法。
  19. 一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现如权利要求1至13中任一项所述的视频流传输的控制方法。
PCT/CN2023/079511 2022-06-27 2023-03-03 视频流传输的控制方法及装置、设备、介质 WO2024001266A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210739098.7 2022-06-27
CN202210739098.7A CN117336521A (zh) 2022-06-27 2022-06-27 视频流传输的控制方法及装置、设备、介质

Publications (1)

Publication Number Publication Date
WO2024001266A1 true WO2024001266A1 (zh) 2024-01-04

Family

ID=89292109

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/079511 WO2024001266A1 (zh) 2022-06-27 2023-03-03 视频流传输的控制方法及装置、设备、介质

Country Status (2)

Country Link
CN (1) CN117336521A (zh)
WO (1) WO2024001266A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117675706B (zh) * 2024-01-31 2024-04-19 利亚德智慧科技集团有限公司 多并发终端的光影秀数据处理方法、装置、介质及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111404713A (zh) * 2019-01-02 2020-07-10 ***通信有限公司研究院 一种网络资源调整方法、装置和存储介质
CN111669617A (zh) * 2020-04-07 2020-09-15 鹏城实验室 一种基于智能边缘的直播视频流的传输方法
US20210105517A1 (en) * 2018-06-20 2021-04-08 Naver Corporation Method and system for adaptive data transmission
CN114040257A (zh) * 2021-11-26 2022-02-11 深圳大学 一种自适应视频流传输播放方法、装置、设备及存储介质
CN114449282A (zh) * 2019-12-26 2022-05-06 腾讯科技(深圳)有限公司 视频传输控制方法及装置、设备、存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210105517A1 (en) * 2018-06-20 2021-04-08 Naver Corporation Method and system for adaptive data transmission
CN111404713A (zh) * 2019-01-02 2020-07-10 ***通信有限公司研究院 一种网络资源调整方法、装置和存储介质
CN114449282A (zh) * 2019-12-26 2022-05-06 腾讯科技(深圳)有限公司 视频传输控制方法及装置、设备、存储介质
CN111669617A (zh) * 2020-04-07 2020-09-15 鹏城实验室 一种基于智能边缘的直播视频流的传输方法
CN114040257A (zh) * 2021-11-26 2022-02-11 深圳大学 一种自适应视频流传输播放方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN117336521A (zh) 2024-01-02

Similar Documents

Publication Publication Date Title
CN110147398B (zh) 一种数据处理方法、装置、介质和电子设备
US20190332522A1 (en) Microservice platform with messaging system
CN105453047B (zh) 提供物联网(iot)适配服务的***和方法
US20180176325A1 (en) Data pre-fetching in mobile networks
EP4024763A1 (en) Network congestion control method, node, system and storage medium
WO2018213052A1 (en) System and method for efficiently distributing computation in publisher-subscriber networks
CN103813213A (zh) 基于移动云计算的实时视频分享平台和方法
US10592578B1 (en) Predictive content push-enabled content delivery network
US10341277B2 (en) Providing video to subscribers of a messaging system
US20230319689A1 (en) Network information exposure method and apparatus, electronic device, and storage medium
CN103581736A (zh) 数字电视终端、视频文件播放方法及视频文件播放***
CN111611129B (zh) PaaS云平台的性能监控方法及装置
WO2023011450A1 (zh) 网络信息开放方法、装置、电子设备和存储介质
US20180132010A1 (en) Methods, radio communication device and base station device for managing a media stream
WO2024001266A1 (zh) 视频流传输的控制方法及装置、设备、介质
US20180357486A1 (en) System and method for analyzing video frames in a messaging system
WO2023130838A1 (zh) 数据传输方法、相关设备、计算机可读存储介质及计算机程序产品
JP2022546108A (ja) 情報処理方法、装置、設備及びコンピュータ読み取り可能な記憶媒体
CN115714814B (zh) 一种基于多智能体强化学习的边缘缓存替换方法
Zhang et al. Intelligent video ingestion for real-time traffic monitoring
WO2016180284A1 (zh) 服务节点分配方法、装置、cdn管理服务器及***
Zhu et al. Multi-bitrate video caching for D2D-enabled cellular networks
CN112672227B (zh) 基于边缘节点的业务处理方法、装置、节点以及存储介质
CN117714741A (zh) 视频文件处理方法、视频管理平台及存储介质
Zeng et al. Towards secure and network state aware bitrate adaptation at IoT edge

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: 23829457

Country of ref document: EP

Kind code of ref document: A1