CN116347115A - Panoramic video caching method, device, equipment and storage medium - Google Patents

Panoramic video caching method, device, equipment and storage medium Download PDF

Info

Publication number
CN116347115A
CN116347115A CN202310159914.1A CN202310159914A CN116347115A CN 116347115 A CN116347115 A CN 116347115A CN 202310159914 A CN202310159914 A CN 202310159914A CN 116347115 A CN116347115 A CN 116347115A
Authority
CN
China
Prior art keywords
stream
view
target
determining
panoramic video
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202310159914.1A
Other languages
Chinese (zh)
Inventor
何伟
孙黎阳
张傲阳
马茜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Douyin Vision Co Ltd
Lemon Inc Cayman Island
Original Assignee
Douyin Vision Co Ltd
Lemon Inc Cayman Island
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 Douyin Vision Co Ltd, Lemon Inc Cayman Island filed Critical Douyin Vision Co Ltd
Priority to CN202310159914.1A priority Critical patent/CN116347115A/en
Publication of CN116347115A publication Critical patent/CN116347115A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26216Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
    • 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/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2668Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles

Landscapes

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

Abstract

The embodiment of the disclosure provides a panoramic video caching method, device, equipment and storage medium. The method comprises the following steps: determining current playing delay information of each client for playing the target panoramic video, and determining target clients meeting preset low delay conditions based on the current playing delay information; acquiring a first view angle stream played by a target client in a historical time period and viewing view angle offset corresponding to the first view angle stream, wherein the first view angle stream is a video stream under a target view angle in a target panoramic video; determining a buffer priority corresponding to each first view stream based on the viewing view offset; and determining a second view stream to be cached based on the caching priority corresponding to the first view stream, and caching the second view stream in the edge server. By the technical scheme of the embodiment of the disclosure, the cache cost of the edge server can be reduced while the pull stream hit rate is improved.

Description

Panoramic video caching method, device, equipment and storage medium
Technical Field
The embodiment of the disclosure relates to computer technology, in particular to a panoramic video caching method, device, equipment and storage medium.
Background
With the rapid development of computer technology, 360-degree omnibearing panoramic video can be shot. When the panoramic video is played, a user can watch different view angle streams in the panoramic video through view angle switching operation.
Currently, the client only needs to acquire the view stream to be watched in order to reduce the transmission bandwidth. In order to increase the view stream acquisition speed, it is common to buffer all view streams in the panoramic video in the edge server, so that the client can acquire the view streams directly from the edge server. However, this caching approach can greatly increase the caching cost of the edge server.
Disclosure of Invention
The disclosure provides a panoramic video caching method, a device, equipment and a storage medium, so that the caching cost of an edge server is reduced while the pull stream hit rate is improved.
In a first aspect, an embodiment of the present disclosure provides a panoramic video caching method, applied to an edge server, where the edge server is connected to a plurality of clients, the method including:
determining current playing delay information of each client for playing the target panoramic video, and determining a target client meeting a preset low delay condition based on the current playing delay information;
Acquiring a first view angle stream played by the target client in a historical time period and a viewing view angle offset corresponding to the first view angle stream, wherein the first view angle stream is a video stream under a target view angle in the target panoramic video;
determining a buffer priority corresponding to each first view stream based on the viewing view offset;
and determining a second view stream to be cached based on the cache priority corresponding to the first view stream, and caching the second view stream in the edge server.
In a second aspect, an embodiment of the present disclosure further provides a panoramic video caching apparatus, integrated in an edge server, where the edge server is connected to a plurality of clients, the apparatus includes:
the target client determining module is used for determining current playing delay information of each client playing the target panoramic video and determining target clients meeting preset low delay conditions based on the current playing delay information;
the viewing angle offset acquisition module is used for acquiring a first viewing angle stream played by the target client in a historical time period and viewing angle offset corresponding to the first viewing angle stream, wherein the first viewing angle stream is a video stream under a target viewing angle in the target panoramic video;
The buffer priority determining module is used for determining buffer priorities corresponding to each first view angle stream based on the viewing view angle offset;
and the second view stream caching module is used for determining a second view stream to be cached based on the caching priority corresponding to the first view stream and caching the second view stream in the edge server.
In a third aspect, embodiments of the present disclosure further provide an electronic device, including:
one or more processors;
storage means for storing one or more programs,
the one or more programs, when executed by the one or more processors, cause the one or more processors to implement the panoramic video caching method as described in any one of the embodiments of the present disclosure.
In a fourth aspect, the disclosed embodiments also provide a storage medium containing computer-executable instructions, which when executed by a computer processor, are for performing the panoramic video caching method of any one of the disclosed embodiments.
According to the embodiment of the disclosure, the current playing delay information of the target panoramic video played by each client is determined through the edge server, and the target client meeting the preset low delay condition is determined based on the current playing delay information; based on the viewing angle offset corresponding to the first view angle streams played by the target client in the historical time period, determining the buffer priority corresponding to each first view angle stream, determining the second view angle stream which is most likely to be pulled by the client based on the buffer priority corresponding to the first view angle streams, and buffering the second view angle stream in the edge server, so that the hit rate of pulling the view angle streams from the edge server can be improved, only the view angle streams which are most likely to be pulled by the client are required to be buffered in the edge server, and all view angle streams in the panoramic video are not required to be buffered, thereby reducing the buffer cost of the edge server while improving the pull stream hit rate.
Drawings
The above and other features, advantages, and aspects of embodiments of the present disclosure will become more apparent by reference to the following detailed description when taken in conjunction with the accompanying drawings. The same or similar reference numbers will be used throughout the drawings to refer to the same or like elements. It should be understood that the figures are schematic and that elements and components are not necessarily drawn to scale.
Fig. 1 is a schematic flow chart of a panoramic video caching method according to an embodiment of the disclosure;
fig. 2 is a flowchart of another panoramic video caching method according to an embodiment of the present disclosure;
FIG. 3 is a flowchart of another panoramic video caching method provided by an embodiment of the present disclosure;
FIG. 4 is an example diagram of a panoramic video caching process in accordance with embodiments of the present disclosure;
fig. 5 is a schematic structural diagram of a panoramic video caching device according to an embodiment of the present disclosure;
fig. 6 is a schematic structural diagram of an electronic device according to an embodiment of the disclosure.
Detailed Description
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure have been shown in the accompanying drawings, it is to be understood that the present disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein, but are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for illustration purposes only and are not intended to limit the scope of the present disclosure.
It should be understood that the various steps recited in the method embodiments of the present disclosure may be performed in a different order and/or performed in parallel. Furthermore, method embodiments may include additional steps and/or omit performing the illustrated steps. The scope of the present disclosure is not limited in this respect.
The term "including" and variations thereof as used herein are intended to be open-ended, i.e., including, but not limited to. The term "based on" is based at least in part on. The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments. Related definitions of other terms will be given in the description below.
It should be noted that the terms "first," "second," and the like in this disclosure are merely used to distinguish between different devices, modules, or units and are not used to define an order or interdependence of functions performed by the devices, modules, or units.
It should be noted that references to "one", "a plurality" and "a plurality" in this disclosure are intended to be illustrative rather than limiting, and those of ordinary skill in the art will appreciate that "one or more" is intended to be understood as "one or more" unless the context clearly indicates otherwise.
The names of messages or information interacted between the various devices in the embodiments of the present disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.
It will be appreciated that prior to using the technical solutions disclosed in the embodiments of the present disclosure, the user should be informed and authorized of the type, usage range, usage scenario, etc. of the personal information related to the present disclosure in an appropriate manner according to the relevant legal regulations.
For example, in response to receiving an active request from a user, a prompt is sent to the user to explicitly prompt the user that the operation it is requesting to perform will require personal information to be obtained and used with the user. Thus, the user can autonomously select whether to provide personal information to software or hardware such as an electronic device, an application program, a server or a storage medium for executing the operation of the technical scheme of the present disclosure according to the prompt information.
As an alternative but non-limiting implementation, in response to receiving an active request from a user, the manner in which the prompt information is sent to the user may be, for example, a popup, in which the prompt information may be presented in a text manner. In addition, a selection control for the user to select to provide personal information to the electronic device in a 'consent' or 'disagreement' manner can be carried in the popup window.
It will be appreciated that the above-described notification and user authorization process is merely illustrative and not limiting of the implementations of the present disclosure, and that other ways of satisfying relevant legal regulations may be applied to the implementations of the present disclosure.
It will be appreciated that the data (including but not limited to the data itself, the acquisition or use of the data) involved in the present technical solution should comply with the corresponding legal regulations and the requirements of the relevant regulations.
Fig. 1 is a schematic flow chart of a panoramic video caching method provided by an embodiment of the present disclosure, where the embodiment of the present disclosure is applicable to a case of caching a view angle stream in a panoramic video, and especially may be applicable to caching a view angle stream in a live panoramic video, so as to increase a pull rate, and reduce a live video blocking risk.
The edge server may refer to a CDN (Content Delivery Network ) node, configured to cache a view stream that needs to be acquired by a client, so that the client may acquire the view stream from the edge server, and need not to pull from a media server, thereby saving transmission bandwidth.
Panoramic video may be transcoded into video streams at different perspectives, thereby obtaining a multi-perspective stream. Each channel of view stream corresponds to a certain view range. Different view streams may have partial view overlap. Each view stream may employ high definition only in a partial region in the view range and low definition in other regions. Based on the change of the viewing angle of the user, different viewing angle streams can be switched to play, so that the user can always watch the panoramic video with high definition, and the viewing experience of the user is improved.
As shown in fig. 1, the panoramic video caching method specifically includes the following steps:
s110, determining current playing delay information of each client playing the target panoramic video, and determining the target client meeting the preset low delay condition based on the current playing delay information.
The target panoramic video may refer to a panoramic video currently played by the client. The panoramic video may be a panoramic video live in real-time in a live scene. The edge server may be connected to a plurality of clients such that the plurality of clients may pull streams from the edge server. The playing form of the panoramic video can be various. For example, panoramic video may refer to VR (Virtual Reality) panoramic video. When the panoramic video is VR panoramic video, the client may be a VR headset for playing VR panoramic video. The user can wear the VR headset to watch the panoramic video, and can switch different view streams through turning the head.
The current playing delay information may refer to delay information between a current playing progress of the client playing the target panoramic video and a current playing progress of the client playing the target panoramic video. The playback progress should be referred to as a playback progress without a playback delay. For example, in a live scene, the current playing delay information may refer to delay information between a current playing progress of the target panoramic video played by the client and a live recording progress. The current play delay information may be, but is not limited to, a current play delay duration. It should be noted that, the current playing delay information may dynamically change along with factors such as changes of the network environment. For example, when the network environment is preferred, the current play delay is short. The preset low-latency condition may be a preset condition that the low-latency client needs to have. For example, the preset low-delay condition may mean that the current playback delay information is less than or equal to a preset delay threshold. The preset delay threshold may be a maximum play delay possessed by a low-delay client set in advance based on a traffic scene. The target client may refer to a low-latency client having a low playback latency among all clients connected to the edge server at the current time. The number of target clients may be one or more. The caching of view streams can be more accurately performed based on the historical playing information of a plurality of target clients.
Specifically, the edge server may obtain a current playing progress of each client currently connected to the edge server, and determine current playing delay information of playing the target panoramic video of each client based on the current playing progress and the playing progress. For example, a difference of the current play progress subtracted from the should play progress may be used as the current play delay information of the client. Based on the current playing delay information of each client, detecting whether each client meets the preset low-delay condition or not, and taking the client meeting the preset low-delay condition as a target client, so that the target client with low delay is screened out from all clients connected with the edge server at the current moment. In a live scene, the low-latency client plays panoramic video faster than the high-latency client, that is, the low-latency client can play a view stream that the high-latency client has not yet played.
It should be noted that, along with the dynamic change of the current playing delay information of each client, the target client screened out each time may also be different, so as to realize the dynamic cache of the edge server, further improve the accuracy of the cache, and improve the hit rate of the client in pulling from the edge server.
S120, acquiring a first view angle stream played by a target client in a historical time period and a viewing view angle offset corresponding to the first view angle stream, wherein the first view angle stream is a video stream under a target view angle in a target panoramic video.
The historical time period may refer to a period of historical time closest to the current time. For example, the historical time period may be the last t minutes, or the like. The first view stream may refer to a view stream played by the target client during a historical period of time. The number of first view streams played by each target client over the historical period of time may be one or more. The viewing angle offset may refer to the degree of angle offset of the user when viewing the first view stream played by the target client. The smaller the viewing angle offset, the better the viewing effect of the first viewing angle stream, and the more accurate the viewing angle play.
Specifically, the edge server may dynamically acquire all the first view angle streams played by each target client in the historical time period nearest to the current time and the viewing angle offset corresponding to each first view angle stream, so that the view angle offset condition of the first view angle stream played by each target client recently may be dynamically known.
Illustratively, S120 may include: receiving a first view angle stream played in a historical time period and a view angle offset corresponding to the first view angle stream, which are sent by a target client; wherein the viewing perspective offset is determined by the target client based on the center perspective and the actual viewing perspective of the first perspective stream.
The central viewing angle of the first viewing angle stream may refer to a central viewing angle in a viewing angle range corresponding to the first viewing angle stream. The actual viewing perspective may refer to an actual perspective of a user viewing the first perspective stream on the target client. For example, when a user views panoramic video using a headset, an actual viewing perspective may be determined based on a head position when the user views the first perspective stream. If the actual viewing angle is the central viewing angle, the user can view a higher definition video picture.
Specifically, each target client may acquire an actual viewing angle at which the user views each first view stream, and determine each first view stream pair based on a center view and the actual viewing angle of the first view streamThe viewing angle offset should be used. For example, for each first view angle stream, sampling may be performed when the first view angle stream is viewed, an actual viewing view angle corresponding to each sampling point is obtained, a view angle difference between the actual viewing view angle corresponding to each sampling point and a central view angle of the first view angle stream is determined, and the view angle differences of all sampling points are subjected to average processing, where the obtained average view angle difference is used as a viewing view angle offset angle corresponding to the first view angle stream. Each target client may send all the first view streams played in the history period and the viewing angle offset corresponding to each first view stream to the edge server, so that the edge server may receive the first view streams and the corresponding viewing angle offsets sent by each target client. For example, each target client can send the first view stream and the corresponding viewing angle offset in a key value-to-map manner, so as to ensure the sending accuracy and improve the sending efficiency. Wherein map= { a3:c 1 ,a1:c 2 ,...ak:c k And (c) playing the first view stream of the target client in the historical time period. c k Refers to the viewing angle offset degree corresponding to the kth first viewing angle stream.
S130, based on the viewing angle offset, determining the buffer priority corresponding to each first view stream.
The buffer priority may be used to characterize the sequence in which the first view stream is buffered in the edge server. A higher cache priority indicates a higher likelihood that the first view stream is acquired by other clients, requiring the first view stream to be cached first. The viewing angle offset is inversely related to the cache priority, i.e., the smaller the viewing angle offset, the higher the cache priority.
Specifically, different target clients may play the same first view stream, and/or the same target client may play the same first view stream multiple times, so that multiple identical first view streams may be obtained. For each obtained first view angle stream, all viewing angle offset degrees corresponding to the first view angle stream may be averaged, and a buffer priority corresponding to the first view angle stream may be determined based on the obtained average viewing angle offset degrees. For example, the average viewing angle offset may be multiplied by an offset weight, and the obtained multiplication result is used as the buffer priority corresponding to the first viewing angle stream. Wherein the offset weight is a negative value less than zero.
And S140, determining a second view stream to be cached based on the cache priority corresponding to the first view stream, and caching the second view stream in the edge server.
Specifically, all first view streams played by all target clients in a historical time period can be screened based on the caching priority, the first view stream which is needed to be cached most is determined to be the second view stream to be cached, and the second view stream which is possibly acquired by the client is cached in the edge server, so that all view streams do not need to be cached, and the caching cost of the edge server can be reduced while the pull stream hit rate is improved.
It should be noted that, in this embodiment, the panoramic video caching process in steps S110 to S140 may be performed once at intervals, so as to realize dynamic caching of the view angle stream, and further ensure the accuracy of the caching and the pull stream hit rate. When all second view streams are cached in the edge server, whether each second view stream exists in the currently cached view streams can be detected, if the cached second view streams exist, the second view streams can be continuously cached, and if the uncached second view streams exist, the edge server acquires the second view streams from the media server and caches the second view streams, so that all second view streams are cached in the edge server, the view stream dynamic acquisition and deployment in the edge server are realized, and the caching accuracy is ensured. The media server may refer to an origin server of the client, and is configured to store all view streams in the panoramic video.
For example, after buffering the second view stream, the edge server may respond to the current view stream acquisition request sent by the current client based on the buffered second view stream. The current client may refer to a client that needs to acquire a view stream at the current moment. The current view stream acquisition request may include view stream identification information that is currently required to be acquired. After receiving the current view angle stream obtaining request, if the current view angle stream to be obtained in the current view angle stream obtaining request is cached, the edge server returns the cached current view angle stream, so that the request response speed can be improved, the current client can obtain the view angle stream more quickly, and further the clamping and stopping situation caused by the switching of the view angle stream is avoided.
It should be noted that, each client sends a view angle stream obtaining request to the edge server, if the view angle stream to be obtained in the view angle stream obtaining request is not cached in the edge server currently, the view angle stream can be obtained from the media server, so that the client can obtain the view angle stream, and normal playing of the panoramic video is ensured.
According to the technical scheme, the current playing delay information of the target panoramic video played by each client is determined through the edge server, and the target client meeting the preset low delay condition is determined based on the current playing delay information; based on the viewing angle offset corresponding to the first view angle streams played by the target client in the historical time period, determining the buffer priority corresponding to each first view angle stream, determining the second view angle stream which is most likely to be pulled by the client based on the buffer priority corresponding to the first view angle streams, and buffering the second view angle stream in the edge server, so that the hit rate of pulling the view angle streams from the edge server can be improved, only the view angle streams which are most likely to be pulled by the client are required to be buffered in the edge server, and all view angle streams in the panoramic video are not required to be buffered, thereby reducing the buffer cost of the edge server while improving the pull stream hit rate.
Based on the above technical solutions, the "determining the current playing delay information of the playing target panoramic video of each client" in S110 may include: acquiring a current playing time stamp of each client playing the target panoramic video; and determining the current playing delay information of each client for playing the target panoramic video according to the current recording time stamp and the current playing time stamp of the target panoramic video.
The current playing time stamp may refer to a time stamp corresponding to a target panoramic video frame played at the current moment of the client. The current recording time stamp may refer to a time stamp corresponding to a latest video frame in the recording target panoramic video. For example, a timestamp corresponding to a latest video frame in the buffered view stream in the edge server may be used as the current recording timestamp. The current recording time stamp may be used to characterize the progress that should be played without delay.
Specifically, each client connected to the edge server may transmit the current play time stamp of the play target panoramic video to the edge server. The edge server can receive the current playing time stamp sent by each client, and for each client, the time difference between the current recording time stamp of the target panoramic video and the current playing time stamp of the client is determined as the current playing delay information of the client, so that the current playing delay condition of each client can be obtained more accurately.
Based on the above technical solutions, the "determining, based on the current playback delay information, the target client that meets the preset low-delay condition" in S110 may include: determining the client with the current playing delay information smaller than or equal to a preset delay threshold as a target client meeting a preset low-delay condition; or, the clients are arranged in an ascending order based on the current playing delay information, and the previous preset number of clients in the obtained client sequence are determined to be target clients meeting the preset low delay condition.
Specifically, the edge server may determine the client whose current play delay information is less than or equal to the preset delay threshold as the target client, and at this time, the low delay condition of each target client may be more effectively ensured. Or, the edge server may also arrange the clients in ascending order based on the current playing delay information, obtain a client sequence in which the current playing delay information increases in sequence, and determine the first preset number of clients, for example, the first 10 clients, in the client sequence as target clients, so as to ensure that a fixed number of target clients are obtained, so as to improve the caching effect of the edge server.
Based on the above technical solutions, the determining the second view stream to be cached "based on the cache priority corresponding to the first view stream in S140 may include: determining a first view stream with a caching priority greater than or equal to a preset priority as a second view stream to be cached; or, the first view streams are arranged in a descending order based on the buffer priority, and the first view streams with the preset number in the obtained first view stream sequence are determined to be the second view streams to be buffered.
Specifically, the edge server may determine the first view streams with the cache priority greater than or equal to the preset priority as the second view streams to be cached, and at this time, the hit rate condition of each second view stream may be more effectively ensured. Or, the edge server may also perform descending order arrangement on the first view flows based on the buffer priority information, obtain a first view flow sequence with buffer priority sequentially reduced, and determine the first view flows with the first preset number in the first view flow sequence as second view flows to be buffered, so as to ensure that the buffer of the first view flows with the fixed number is ensured, so as to improve the buffer effect of the edge server.
Fig. 2 is a schematic flow chart of another panoramic video caching method provided by an embodiment of the present disclosure, where the step of determining a caching priority corresponding to each first view angle stream based on a viewing angle offset is further optimized based on the above disclosed embodiment. Wherein the same or corresponding terms as those of the above-described embodiments are not explained in detail herein.
As shown in fig. 2, the panoramic video caching method specifically includes the following steps:
s210, determining current playing delay information of each client playing the target panoramic video, and determining the target client meeting the preset low delay condition based on the current playing delay information.
S220, obtaining a first view angle stream played by the target client in the historical time period and viewing view angle offset corresponding to the first view angle stream.
S230, determining the playing times corresponding to each first view angle stream.
The number of play times may refer to the total number of times that all target clients play the first view stream. The more plays, the greater the probability that the view stream may be pulled.
Specifically, statistics may be performed on all the first view streams sent by all the target clients, so as to determine the occurrence number, i.e. the play number, of each first view stream. For example, the number of occurrences of each first view stream may be counted in all maps sent by all target clients, so as to obtain the number of plays corresponding to each first view stream.
S240, determining the buffer priority corresponding to each first view angle stream based on the playing times and the viewing angle offset corresponding to each first view angle stream.
Wherein, the playing times and the buffer priority are positively correlated, i.e. the more the playing times, the higher the buffer priority. The viewing angle offset is inversely related to the cache priority, i.e., the smaller the viewing angle offset, the higher the cache priority.
Specifically, for each first view angle stream, the buffer priority corresponding to the first view angle stream can be determined based on the playing times and the viewing view angle offset corresponding to the first view angle stream, so that the buffer accuracy of the view angle stream can be further improved, and the hit rate of obtaining the view angle stream from the edge server is further improved.
Illustratively, S240 may include: for each first view angle stream, determining an average viewing angle offset corresponding to the first view angle stream based on the viewing angle offset and the number of plays each time the first view angle stream is played; and determining the buffer priority corresponding to the first view angle stream based on the average view angle offset and the play times corresponding to the first view angle stream.
Specifically, for each obtained first view angle stream, the viewing angle offset degrees each time each target client plays the first view angle stream may be added to obtain the viewing angle total offset degree. And determining the ratio of the total viewing angle offset to the playing times as the average viewing angle offset corresponding to the first viewing angle stream. And carrying out weighted addition on the average viewing angle offset corresponding to the first viewing angle stream and the playing times, and taking the weighted addition result as the buffer storage priority corresponding to the first viewing angle stream. Wherein the weight coefficient corresponding to the average viewing angle offset is a negative value less than zero. The weight coefficient can be used for balancing the viewing angle offset and the ratio of the playing times, so that the determined buffer priority can more accurately measure the buffer sequence.
S250, determining a second view angle stream to be cached based on the cache priority corresponding to the first view angle stream, and caching the second view angle stream in the edge server.
According to the technical scheme, the buffer priority corresponding to each first view angle stream is determined based on the playing times and the viewing view angle offset corresponding to each first view angle stream, so that the buffer accuracy of the view angle streams can be further improved, and the hit rate of obtaining the view angle streams from the edge server is further improved.
Fig. 3 is a schematic flow chart of still another panoramic video caching method according to an embodiment of the present disclosure, where step "caching a second view stream in an edge server" is further optimized based on the above disclosed embodiment. Wherein the same or corresponding terms as those of the above-described embodiments are not explained in detail herein.
As shown in fig. 3, the panoramic video caching method specifically includes the following steps:
s310, determining current playing delay information of each client playing the target panoramic video, and determining the target client meeting the preset low delay condition based on the current playing delay information.
Illustratively, fig. 4 presents an exemplary diagram of a panoramic video caching process. As shown in fig. 4, the target panoramic video may be transcoded into M view streams. When initializing, that is, when the client side has not played the target panoramic video, the edge server may first randomly acquire N view streams, that is, [ a1, a2, aN ], from M view streams stored by the media server, where aN e [1,2, M ], N is smaller than M. Each client connected with the edge server can firstly acquire the view angle stream from the edge server, if the edge server caches the view angle stream, the cached view angle stream is directly returned, if the edge server does not cache the view angle stream, the view angle stream is pulled from the media server, and the acquired view angle stream is played. Each client may send the current playing progress to the edge server during the process of playing the view stream. The edge server determines the current playing delay time length of the target panoramic video played by each client based on the current playing progress and the playing progress. Based on the current playing delay time of each client, detecting whether each client meets a preset low-delay condition or not, and taking the client meeting the preset low-delay condition as a target client, so that the target client with low delay is screened out from all clients connected with the edge server at the current moment. For example, in fig. 4, the client 1 plays the view stream a3 preferentially over the client 2, where the delay of the client 1 is lower than the delay of the client 2, the client 1 may be regarded as a target client with low delay.
S320, obtaining a first view angle stream played by the target client in a historical time period and viewing view angle offset corresponding to the first view angle stream.
As shown in fig. 4, each target client may determine a viewing angle offset corresponding to each view angle stream during the process of playing each view angle stream, and may send, to the edge server, all the first view angle streams and the corresponding viewing angle offsets played in the last historical period t every time period t, so that the edge server may periodically obtain all the first view angle streams and the viewing angle offsets corresponding to each first view angle stream played in the last historical period t by each target client.
S330, based on the viewing angle offset, determining the buffer priority corresponding to each first view stream.
S340, determining a second view stream to be cached based on the cache priority corresponding to the first view stream.
And S350, based on the second view stream, carrying out cache update on the current view stream cached in the edge server so as to cache the second view stream in the edge server.
Specifically, after determining all second view streams that should be cached at the time, the edge server can update the cache of all current view streams that are cached at the present in the edge server, so that the edge server only caches all second view streams, thereby realizing dynamic update of video stream cache, further ensuring the accuracy of the cache, and improving the pull stream hit rate. For example, as shown in fig. 4, after the view stream a3 is cached to the edge server based on the caching priority, the client 2 can directly pull the view stream a3 from the edge server after playing the view stream a1, and does not need to pull from the media server, so that the pull speed of the view stream is improved, the problem that the client 2 is blocked due to switching the view stream is avoided, and the user viewing experience is improved.
It should be noted that, along with the playing of the target panoramic video, the more accurate the caching priority determined by the edge server is, the more accurate the cached view angle stream is, so that the hit rate of obtaining the view angle stream from the caching server is ensured.
Illustratively, S350 may include: if the uncached target second view angle stream exists in the edge server, acquiring the target second view angle stream from the media server, and caching the acquired target second view angle stream in the edge server; and if the edge server caches other view streams except the second view stream, deleting the other view streams.
The target second view stream may refer to a second view stream that is not currently cached in the edge server. The other view streams may refer to view streams remaining from the current view stream buffered by the edge server except for the second view stream.
Specifically, when the edge server caches the update, each second view stream that needs to be cached currently can be compared with the current video stream that is cached currently, so as to determine the target second view stream that is not cached currently and other view streams that are cached currently and except for the second view stream, that is, the non-second view stream that is cached currently. All target second view streams are obtained from the media server, and the obtained target second view streams are cached in the edge server, so that the client can directly and quickly obtain the target second view streams from the edge server when the client requests the target second view streams, and the streaming pulling speed is greatly improved. And deleting other view streams cached at present, so that the cache space can be further saved, and the resource utilization rate is improved.
According to the technical scheme, the second view angle stream is only cached in the edge server by caching and updating the current view angle stream cached in the edge server based on the second view angle stream, so that the dynamic updating of the video stream cache is realized, the cache accuracy is further ensured, the pull stream hit rate is improved, the cache space is further saved, and the resource utilization rate is also improved.
Fig. 5 is a schematic structural diagram of a panoramic video caching device according to an embodiment of the present disclosure, where, as shown in fig. 5, the device is integrated in an edge server, and the edge server is connected to a plurality of clients. The device specifically comprises: the target client determination module 510, the viewing perspective offset acquisition module 520, the cache priority determination module 530, and the second perspective stream cache module 540.
The target client determining module 510 is configured to determine current playing delay information of each client for playing the target panoramic video, and determine, based on the current playing delay information, a target client that meets a preset low delay condition; a viewing angle offset obtaining module 520, configured to obtain a first viewing angle stream played by the target client in a historical time period and a viewing angle offset corresponding to the first viewing angle stream, where the first viewing angle stream is a video stream under a target viewing angle in the target panoramic video; a buffer priority determining module 530, configured to determine, based on the viewing angle offset, a buffer priority corresponding to each of the first view streams; and a second view stream buffering module 540, configured to determine a second view stream to be buffered based on the buffering priority corresponding to the first view stream, and buffer the second view stream in the edge server.
According to the technical scheme provided by the embodiment of the disclosure, the current playing delay information of the target panoramic video played by each client is determined through the edge server, and the target client meeting the preset low delay condition is determined based on the current playing delay information; based on the viewing angle offset corresponding to the first view angle streams played by the target client in the historical time period, determining the buffer priority corresponding to each first view angle stream, determining the second view angle stream which is most likely to be pulled by the client based on the buffer priority corresponding to the first view angle streams, and buffering the second view angle stream in the edge server, so that the hit rate of pulling the view angle streams from the edge server can be improved, only the view angle streams which are most likely to be pulled by the client are required to be buffered in the edge server, and all view angle streams in the panoramic video are not required to be buffered, thereby reducing the buffer cost of the edge server while improving the pull stream hit rate.
Based on the above technical solution, the target client determining module 510 includes:
the current playing delay information determining unit is specifically configured to: acquiring a current playing time stamp of each client playing the target panoramic video; and determining the current playing delay information of each client for playing the target panoramic video according to the current recording time stamp and the current playing time stamp of the target panoramic video.
Based on the above technical solutions, the target client determining module 510 includes:
the target client determining unit is specifically configured to: determining the client with the current playing delay information smaller than or equal to a preset delay threshold as a target client meeting a preset low delay condition; or, the clients are arranged in ascending order based on the current playing delay information, and the clients with the preset number in the obtained client sequence are determined to be target clients meeting the preset low delay condition.
Based on the above technical solutions, the viewing angle offset obtaining module 520 is specifically configured to:
receiving a first view angle stream played in a history time period and sent by the target client and a viewing view angle offset corresponding to the first view angle stream; wherein the viewing perspective offset is determined by the target client based on a center perspective and an actual viewing perspective of the first perspective stream.
Based on the above technical solutions, the buffer priority determining module 530 includes:
the play frequency determining unit is used for determining the play frequency corresponding to each first view angle stream;
and the buffer priority determining unit is used for determining the buffer priority corresponding to each first view angle stream based on the playing times corresponding to each first view angle stream and the viewing view angle offset.
Based on the above technical solutions, the cache priority determining unit is specifically configured to:
for each first view angle stream, determining an average viewing angle offset corresponding to the first view angle stream based on the viewing angle offset and the number of plays each time the first view angle stream is played; and determining the buffer priority corresponding to the first view angle stream based on the average view angle offset corresponding to the first view angle stream and the playing times.
Based on the above technical solutions, the second view stream buffering module 540 includes:
a second view stream determining unit, specifically configured to: determining the first view angle stream with the caching priority being greater than or equal to a preset priority as a second view angle stream to be cached; or, the first view streams are arranged in a descending order based on the buffer priority, and the first view streams with the preset number in the obtained first view stream sequence are determined to be second view streams to be buffered.
Based on the above technical solutions, the second view stream buffering module 540 includes:
the second view stream buffer unit is specifically configured to: and based on the second view stream, carrying out cache update on the current view stream cached in the edge server so as to cache the second view stream in the edge server.
Based on the above technical solutions, the second view angle stream buffer unit is specifically configured to:
if the uncached target second view stream exists in the edge server, acquiring the target second view stream from a media server, and caching the acquired target second view stream in the edge server; and if other view streams except the second view stream are cached in the edge server, deleting the other view streams.
The panoramic video caching device provided by the embodiment of the disclosure can execute the panoramic video caching method provided by any embodiment of the disclosure, and has the corresponding functional modules and beneficial effects of executing the panoramic video caching method.
It should be noted that each unit and module included in the above apparatus are only divided according to the functional logic, but not limited to the above division, so long as the corresponding functions can be implemented; in addition, the specific names of the functional units are also only for convenience of distinguishing from each other, and are not used to limit the protection scope of the embodiments of the present disclosure.
Fig. 6 is a schematic structural diagram of an electronic device according to an embodiment of the disclosure. Referring now to fig. 6, a schematic diagram of an electronic device (e.g., a terminal device or server in fig. 6) 500 suitable for use in implementing embodiments of the present disclosure is shown. The terminal devices in the embodiments of the present disclosure may include, but are not limited to, mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and the like, and stationary terminals such as digital TVs, desktop computers, and the like. The electronic device shown in fig. 6 is merely an example and should not be construed to limit the functionality and scope of use of the disclosed embodiments.
As shown in fig. 6, the electronic device 500 may include a processing means (e.g., a central processing unit, a graphics processor, etc.) 501, which may perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 502 or a program loaded from a storage means 508 into a Random Access Memory (RAM) 503. In the RAM 503, various programs and data required for the operation of the electronic apparatus 500 are also stored. The processing device 501, the ROM 502, and the RAM 503 are connected to each other via a bus 504. An edit/output (I/O) interface 505 is also connected to bus 504.
In general, the following devices may be connected to the I/O interface 505: input devices 506 including, for example, a touch screen, touchpad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; an output device 507 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage 508 including, for example, magnetic tape, hard disk, etc.; and communication means 509. The communication means 509 may allow the electronic device 500 to communicate with other devices wirelessly or by wire to exchange data. While fig. 6 shows an electronic device 500 having various means, it is to be understood that not all of the illustrated means are required to be implemented or provided. More or fewer devices may be implemented or provided instead.
In particular, according to embodiments of the present disclosure, the processes described above with reference to flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a non-transitory computer readable medium, the computer program comprising program code for performing the method shown in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network via the communication means 509, or from the storage means 508, or from the ROM 502. The above-described functions defined in the methods of the embodiments of the present disclosure are performed when the computer program is executed by the processing device 501.
The names of messages or information interacted between the various devices in the embodiments of the present disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.
The electronic device provided by the embodiment of the present disclosure and the panoramic video caching method provided by the foregoing embodiment belong to the same inventive concept, and technical details not described in detail in the present embodiment may be referred to the foregoing embodiment, and the present embodiment has the same beneficial effects as the foregoing embodiment.
The embodiment of the present disclosure provides a computer storage medium having stored thereon a computer program which, when executed by a processor, implements the panoramic video caching method provided by the above embodiment.
It should be noted that the computer readable medium described in the present disclosure may be a computer readable signal medium or a computer readable storage medium, or any combination of the two. The computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples of the computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this disclosure, a computer-readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In the present disclosure, however, the computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, with the computer-readable program code embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, fiber optic cables, RF (radio frequency), and the like, or any suitable combination of the foregoing.
In some implementations, the clients, servers may communicate using any currently known or future developed network protocol, such as HTTP (HyperText Transfer Protocol ), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), the internet (e.g., the internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed networks.
The computer readable medium may be contained in the electronic device; or may exist alone without being incorporated into the electronic device.
The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: determining current playing delay information of each client for playing the target panoramic video, and determining a target client meeting a preset low delay condition based on the current playing delay information; acquiring a first view angle stream played by the target client in a historical time period and a viewing view angle offset corresponding to the first view angle stream, wherein the first view angle stream is a video stream under a target view angle in the target panoramic video; determining a buffer priority corresponding to each first view stream based on the viewing view offset; and determining a second view stream to be cached based on the cache priority corresponding to the first view stream, and caching the second view stream in the edge server.
Computer program code for carrying out operations of the present disclosure may be written in one or more programming languages, including, but not limited to, an object oriented programming language such as Java, smalltalk, C ++ and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider).
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units involved in the embodiments of the present disclosure may be implemented by means of software, or may be implemented by means of hardware. The name of the unit does not in any way constitute a limitation of the unit itself, for example the first acquisition unit may also be described as "unit acquiring at least two internet protocol addresses".
The functions described above herein may be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: a Field Programmable Gate Array (FPGA), an Application Specific Integrated Circuit (ASIC), an Application Specific Standard Product (ASSP), a system on a chip (SOC), a Complex Programmable Logic Device (CPLD), and the like.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
According to one or more embodiments of the present disclosure, there is provided a panoramic video caching method applied to an edge server connected to a plurality of clients, the method including:
determining current playing delay information of each client for playing the target panoramic video, and determining a target client meeting a preset low delay condition based on the current playing delay information;
acquiring a first view angle stream played by the target client in a historical time period and a viewing view angle offset corresponding to the first view angle stream, wherein the first view angle stream is a video stream under a target view angle in the target panoramic video;
determining a buffer priority corresponding to each first view stream based on the viewing view offset;
and determining a second view stream to be cached based on the cache priority corresponding to the first view stream, and caching the second view stream in the edge server.
According to one or more embodiments of the present disclosure, there is provided a panoramic video caching method, further comprising:
optionally, the determining the current playing delay information of the target panoramic video played by each client includes:
Acquiring a current playing time stamp of each client playing the target panoramic video;
and determining the current playing delay information of each client for playing the target panoramic video according to the current recording time stamp and the current playing time stamp of the target panoramic video.
According to one or more embodiments of the present disclosure, there is provided a panoramic video caching method, further comprising:
optionally, the determining, based on the current playing delay information, the target client that meets the preset low delay condition includes:
determining the client with the current playing delay information smaller than or equal to a preset delay threshold as a target client meeting a preset low delay condition; or alternatively, the process may be performed,
and arranging the clients in ascending order based on the current playing delay information, and determining the clients with the preset number in the obtained client sequence as target clients meeting preset low delay conditions.
According to one or more embodiments of the present disclosure, there is provided a panoramic video caching method, further comprising:
optionally, the obtaining the first view angle stream played by the target client in the history period and the view angle offset corresponding to the first view angle stream includes:
Receiving a first view angle stream played in a history time period and sent by the target client and a viewing view angle offset corresponding to the first view angle stream;
wherein the viewing perspective offset is determined by the target client based on a center perspective and an actual viewing perspective of the first perspective stream.
According to one or more embodiments of the present disclosure, there is provided a panoramic video caching method, further comprising:
optionally, the determining, based on the viewing angle offset, a buffer priority corresponding to each of the first view streams includes:
determining the playing times corresponding to each first view angle stream;
and determining the buffer priority corresponding to each first view angle stream based on the play times and the viewing view angle offset corresponding to each first view angle stream.
According to one or more embodiments of the present disclosure, there is provided a panoramic video caching method, further comprising:
optionally, the determining, based on the number of plays and the viewing angle offset corresponding to each first view stream, a buffer priority corresponding to each first view stream includes:
For each first view angle stream, determining an average viewing angle offset corresponding to the first view angle stream based on the viewing angle offset and the number of plays each time the first view angle stream is played;
and determining the buffer priority corresponding to the first view angle stream based on the average view angle offset corresponding to the first view angle stream and the playing times.
According to one or more embodiments of the present disclosure, there is provided a panoramic video caching method, further comprising:
optionally, the determining, based on the buffer priority corresponding to the first view stream, the second view stream to be buffered includes:
determining the first view angle stream with the caching priority being greater than or equal to a preset priority as a second view angle stream to be cached; or alternatively, the process may be performed,
and arranging the first view streams in a descending order based on the caching priority, and determining the first view streams with the preset quantity in the obtained first view stream sequence as second view streams to be cached.
According to one or more embodiments of the present disclosure, there is provided a panoramic video caching method, further comprising:
optionally, the caching, in the edge server, the second view stream includes:
And based on the second view stream, carrying out cache update on the current view stream cached in the edge server so as to cache the second view stream in the edge server.
According to one or more embodiments of the present disclosure, there is provided a panoramic video caching method, further comprising:
optionally, the performing cache update on the current view stream cached in the edge server based on the second view stream includes:
if the uncached target second view stream exists in the edge server, acquiring the target second view stream from a media server, and caching the acquired target second view stream in the edge server;
and if other view streams except the second view stream are cached in the edge server, deleting the other view streams.
According to one or more embodiments of the present disclosure, there is provided a panoramic video caching apparatus integrated with an edge server, the edge server being connected to a plurality of clients, the apparatus comprising:
the target client determining module is used for determining current playing delay information of each client playing the target panoramic video and determining target clients meeting preset low delay conditions based on the current playing delay information;
The viewing angle offset acquisition module is used for acquiring a first viewing angle stream played by the target client in a historical time period and viewing angle offset corresponding to the first viewing angle stream, wherein the first viewing angle stream is a video stream under a target viewing angle in the target panoramic video;
the buffer priority determining module is used for determining buffer priorities corresponding to each first view angle stream based on the viewing view angle offset;
and the second view stream caching module is used for determining a second view stream to be cached based on the caching priority corresponding to the first view stream and caching the second view stream in the edge server.
The foregoing description is only of the preferred embodiments of the present disclosure and description of the principles of the technology being employed. It will be appreciated by persons skilled in the art that the scope of the disclosure referred to in this disclosure is not limited to the specific combinations of features described above, but also covers other embodiments which may be formed by any combination of features described above or equivalents thereof without departing from the spirit of the disclosure. Such as those described above, are mutually substituted with the technical features having similar functions disclosed in the present disclosure (but not limited thereto).
Moreover, although operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of the present disclosure. Certain features that are described in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are example forms of implementing the claims.

Claims (12)

1. A panoramic video caching method, applied to an edge server, the edge server being connected to a plurality of clients, the method comprising:
Determining current playing delay information of each client for playing the target panoramic video, and determining a target client meeting a preset low delay condition based on the current playing delay information;
acquiring a first view angle stream played by the target client in a historical time period and a viewing view angle offset corresponding to the first view angle stream, wherein the first view angle stream is a video stream under a target view angle in the target panoramic video;
determining a buffer priority corresponding to each first view stream based on the viewing view offset;
and determining a second view stream to be cached based on the cache priority corresponding to the first view stream, and caching the second view stream in the edge server.
2. The panoramic video caching method according to claim 1, wherein said determining current playback delay information of each client for playing the target panoramic video comprises:
acquiring a current playing time stamp of each client playing the target panoramic video;
and determining the current playing delay information of each client for playing the target panoramic video according to the current recording time stamp and the current playing time stamp of the target panoramic video.
3. The panoramic video caching method according to claim 1, wherein determining, based on the current playback delay information, a target client that satisfies a preset low delay condition comprises:
determining the client with the current playing delay information smaller than or equal to a preset delay threshold as a target client meeting a preset low delay condition; or alternatively, the process may be performed,
and arranging the clients in ascending order based on the current playing delay information, and determining the clients with the preset number in the obtained client sequence as target clients meeting preset low delay conditions.
4. The panoramic video caching method according to claim 1, wherein the obtaining a first view angle stream played by the target client in a history period and a view angle offset corresponding to the first view angle stream includes:
receiving a first view angle stream played in a history time period and sent by the target client and a viewing view angle offset corresponding to the first view angle stream;
wherein the viewing perspective offset is determined by the target client based on a center perspective and an actual viewing perspective of the first perspective stream.
5. The panoramic video caching method of claim 1, wherein said determining a caching priority for each of said first view streams based on said viewing view offset comprises:
Determining the playing times corresponding to each first view angle stream;
and determining the buffer priority corresponding to each first view angle stream based on the play times and the viewing view angle offset corresponding to each first view angle stream.
6. The panoramic video caching method of claim 5, wherein said determining a caching priority for each of said first view streams based on said number of plays and said viewing view offset for each of said first view streams comprises:
for each first view angle stream, determining an average viewing angle offset corresponding to the first view angle stream based on the viewing angle offset and the number of plays each time the first view angle stream is played;
and determining the buffer priority corresponding to the first view angle stream based on the average view angle offset corresponding to the first view angle stream and the playing times.
7. The panoramic video caching method according to claim 1, wherein the determining the second view stream to be cached based on the cache priority corresponding to the first view stream includes:
determining the first view angle stream with the caching priority being greater than or equal to a preset priority as a second view angle stream to be cached; or alternatively, the process may be performed,
And descending order arrangement is carried out on all the first view streams based on the caching priority, and the first view streams with the preset quantity in the obtained first view stream sequence are determined to be second view streams to be cached.
8. The panoramic video caching method of any one of claims 1-7, wherein said caching said second view stream in said edge server comprises:
and based on the second view stream, carrying out cache update on the current view stream cached in the edge server so as to cache the second view stream in the edge server.
9. The panoramic video caching method of claim 8, wherein said caching the current view stream cached in the edge server based on the second view stream comprises:
if the uncached target second view stream exists in the edge server, acquiring the target second view stream from a media server, and caching the acquired target second view stream in the edge server;
and if other view streams except the second view stream are cached in the edge server, deleting the other view streams.
10. A panoramic video caching device integrated with an edge server, said edge server being connected to a plurality of clients, said device comprising:
the target client determining module is used for determining current playing delay information of each client playing the target panoramic video and determining target clients meeting preset low delay conditions based on the current playing delay information;
the viewing angle offset acquisition module is used for acquiring a first viewing angle stream played by the target client in a historical time period and viewing angle offset corresponding to the first viewing angle stream, wherein the first viewing angle stream is a video stream under a target viewing angle in the target panoramic video;
the buffer priority determining module is used for determining buffer priorities corresponding to each first view angle stream based on the viewing view angle offset;
and the second view stream caching module is used for determining a second view stream to be cached based on the caching priority corresponding to the first view stream and caching the second view stream in the edge server.
11. An electronic device, the electronic device comprising:
one or more processors;
Storage means for storing one or more programs,
the one or more programs, when executed by the one or more processors, cause the one or more processors to implement the panoramic video caching method of any one of claims 1-9.
12. A storage medium containing computer executable instructions which, when executed by a computer processor, are for performing the panoramic video caching method of any one of claims 1-9.
CN202310159914.1A 2023-02-14 2023-02-14 Panoramic video caching method, device, equipment and storage medium Pending CN116347115A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310159914.1A CN116347115A (en) 2023-02-14 2023-02-14 Panoramic video caching method, device, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310159914.1A CN116347115A (en) 2023-02-14 2023-02-14 Panoramic video caching method, device, equipment and storage medium

Publications (1)

Publication Number Publication Date
CN116347115A true CN116347115A (en) 2023-06-27

Family

ID=86893910

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310159914.1A Pending CN116347115A (en) 2023-02-14 2023-02-14 Panoramic video caching method, device, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN116347115A (en)

Similar Documents

Publication Publication Date Title
CN112135169B (en) Media content loading method, device, equipment and medium
CN111147606A (en) Data transmission method, device, terminal and storage medium
CN111225209A (en) Video data plug flow method, device, terminal and storage medium
CN113905257A (en) Video code rate switching method and device, electronic equipment and storage medium
CN113794942B (en) Method, apparatus, system, device and medium for switching view angle of free view angle video
CN113542856B (en) Method, device, equipment and computer readable medium for reverse playing of online video
WO2024099314A1 (en) Viewing angle prediction method and apparatus, device, and storage medium
CN114979762B (en) Video downloading and transmitting method and device, terminal equipment, server and medium
CN113259729B (en) Data switching method, server, system and storage medium
CN114584826B (en) Video dynamic downloading method and device, electronic equipment and storage medium
CN114827750B (en) Viewing angle prediction method, device, equipment and storage medium
CN116347115A (en) Panoramic video caching method, device, equipment and storage medium
CN115695917A (en) Video playing method, device, equipment and storage medium
CN112153322B (en) Data distribution method, device, equipment and storage medium
CN115103023B (en) Video caching method, device, equipment and storage medium
CN115348460B (en) Video preloading method, device, equipment and storage medium
CN114915849B (en) Video preloading method, device, equipment and medium
CN117528173A (en) Streaming media playing method, device, equipment and storage medium
CN112653691B (en) Data processing method, device, equipment and storage medium
CN116208787A (en) Video downloading control method, device, equipment and storage medium
CN112887742B (en) Live stream processing method, device, equipment and storage medium
CN117857849A (en) Bandwidth allocation method, device, equipment and storage medium
CN117528157A (en) Video playing method, device, system, equipment and storage medium
CN118233400A (en) Self-adaptive adjustment method, device, equipment and medium for congestion window
CN118214710A (en) Path selection method, device, equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination