WO2020155960A1 - 视频播放方法、系统、计算机设备及计算机可读存储介质 - Google Patents

视频播放方法、系统、计算机设备及计算机可读存储介质 Download PDF

Info

Publication number
WO2020155960A1
WO2020155960A1 PCT/CN2019/128452 CN2019128452W WO2020155960A1 WO 2020155960 A1 WO2020155960 A1 WO 2020155960A1 CN 2019128452 W CN2019128452 W CN 2019128452W WO 2020155960 A1 WO2020155960 A1 WO 2020155960A1
Authority
WO
WIPO (PCT)
Prior art keywords
loading
video
segment
fragment
request
Prior art date
Application number
PCT/CN2019/128452
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 上海哔哩哔哩科技有限公司
Priority to EP19914121.9A priority Critical patent/EP3886440B1/en
Publication of WO2020155960A1 publication Critical patent/WO2020155960A1/zh
Priority to US17/304,725 priority patent/US11503347B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/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/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/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • H04N21/2225Local VOD servers
    • 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/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • 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/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • 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/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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/26258Content 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 for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • 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/437Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
    • 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]

Definitions

  • This application relates to the field of computer technology, and in particular to a video playback method, system, computer equipment, and computer-readable storage medium.
  • the inventor found that the prior art has at least the following shortcomings: when loading video fragments from the source site, it is necessary to filter from a huge group of nodes, which results in the video start-up speed being too slow and users waiting The time is too long, causing the loss of users.
  • the purpose of this application is to provide a video playback method, system, computer equipment, and computer-readable storage medium, which are used to solve the problem that the loading of video fragments from the source station in the prior art may cause slow video start speed and users Defects such as long waiting time that cause loss of users.
  • This application provides a video playback method applied to a user terminal.
  • the above method includes: obtaining a video loading instruction and sending a loading request to a cache server, wherein the above loading request is used to request loading data, and the above loading data includes Instruct at least one segment of the video corresponding to the instruction; receive the loading data returned by the cache server; and play the at least one segment according to the loading data.
  • the present application also provides a video playback method applied to a cache server.
  • the above method includes: receiving a loading request sent by a user terminal, and obtaining loading data corresponding to the loading request, wherein the loading data includes the user At least one segment of the video triggered by the client; and return the loading data to the client, so that the client can play the at least one segment according to the loading data.
  • a video playback system including a client and a cache server, wherein: the client obtains a video loading instruction, and sends a loading request to the cache server, wherein the loading request uses When requesting to load data, the loading data includes at least one video segment corresponding to the video loading instruction; the cache server receives the loading request sent by the client, obtains the loading data corresponding to the loading request, and sends it to the client Return the loading data; the client receives the loading data returned by the cache server, and plays the at least one segment according to the loading data.
  • this application also provides a computer device, including a memory, a processor, and computer readable instructions stored in the memory and running on the processor.
  • the processor is used for executing the computer readable instructions. Implement the steps of the method described above.
  • another aspect of the present application provides a computer-readable storage medium having computer-readable instructions stored thereon, and the foregoing computer-readable instructions are used to implement the steps of the foregoing method when executed by a processor. .
  • the user triggers the loading signal of the video through the user terminal, and the user terminal sends a loading request for requesting loading data to the cache server.
  • the loading data includes at least one video segment.
  • the cache server receives the loading After the request, the locally stored loading data can be obtained and returned to the user terminal. Further, the user terminal can play at least one segment according to the loading data.
  • the video segment can be obtained from the cache server first when the video is played on the user side, thereby avoiding loading the video from the origin site in the prior art Fragmentation is easy to cause defects such as slow start-up speed of the video, long waiting time for users, etc., which leads to the loss of users, and realizes the technical effect of speeding up the start-up speed.
  • Fig. 1 schematically shows a flowchart of a video playback method applied to a user terminal according to an embodiment of the present application
  • FIG. 2 schematically shows a flowchart of a video playing method applied to a cache server according to an embodiment of the present application
  • Fig. 3 schematically shows a schematic diagram of a video playback solution according to an embodiment of the present application
  • Fig. 4 schematically shows a block diagram of a user terminal according to an embodiment of the present application
  • Fig. 5 schematically shows a block diagram of a cache server according to an embodiment of the present application
  • FIG. 6 schematically shows a schematic diagram of the hardware architecture of a computer device suitable for implementing a video playback method applied to a user end or a video playback method applied to a cache server according to an embodiment of the present application.
  • the user terminal obtains a video loading instruction, and sends a loading request for requesting loading data to a cache server.
  • the loading data includes at least one segment of the video.
  • the cache server can obtain the loading request after receiving the loading request.
  • the locally stored loading data is returned to the user terminal, and further, the user terminal can play at least one segment according to the loading data.
  • the video segment can be obtained from the cache server first when the video is played on the user side, thereby avoiding loading the video from the origin site in the prior art Fragmentation is easy to cause defects such as slow start-up speed of the video, long waiting time for users, etc., which leads to the loss of users, and realizes the technical effect of speeding up the start-up speed.
  • Fig. 1 schematically shows a flowchart of a video playing method applied to a user terminal according to an embodiment of the present application.
  • the video playback method applied to the user terminal may include steps S101 to S103, wherein:
  • Step S101 Obtain a video loading instruction, and send a loading request to the cache server, where the loading request is used to request to load data, and the loading data includes at least one video segment corresponding to the video loading instruction.
  • the embodiment of the present application can store the MPD (Media Presentation Description) file of the popular video and at least one segment of the most popular definition of the popular video in the cache server, and store other segments of the popular video Stored in the source server.
  • the at least one segment includes the first segment, and the at least one segment is a segment that is sequentially and uninterruptedly arranged in a sequence of the segments.
  • the selection can be sorted regularly, and correspondingly, the most popular definition of the popular videos can also be sorted and selected regularly.
  • video A, video B, video C, and video D they are sorted into video A, video B, video C, and video D according to the number of views. If the top two videos are specified as the top two, then both video A and video B are hot video.
  • the definition of each video is divided into standard definition, high definition, ultra-definition, and Blu-ray, and high-definition is the most popular definition corresponding to video A, and ultra-definition is the most popular definition corresponding to video B. Then you can change the MPD of video A Files, the first few fragments of video A with high definition, MPD files of video B, and the first few fragments of video B with super definition are stored in the cache server.
  • the video loading instruction may be an instruction sent by the user to the user terminal through a mouse, a button, a touch screen, or the like.
  • the "click" operation is to issue a video loading instruction, which corresponds to the video on the display screen.
  • the user terminal can obtain the video The loading instruction is to respond to the video loading instruction.
  • the loading data also includes related data of a playback interface for playing a video.
  • the relevant data can be, for example, a title bar, a user account, a synopsis of the story, and so on.
  • the client can include but is not limited to the web and the client. If the user terminal is a web terminal, the playback interface may be a playback webpage for the web terminal to play a video; if the client terminal is a client, the playback interface may be a playback interface of a video playback software installed on the client.
  • a load request for requesting to load data may be sent to the cache server.
  • the load request may include a video tag such as a video ID
  • the load data may include at least one segment of the video.
  • the cache server can determine whether there is at least one segment corresponding to the video tag locally based on the video tag, and if so, it can return the above-mentioned loading data to the user terminal.
  • Step S102 Receive loading data returned by the cache server.
  • the cache server determines that at least one segment of the video is stored locally, it can return the corresponding loading data to the user terminal.
  • Step S103 playing at least one segment according to the loaded data.
  • playing at least one segment based on the loaded data may include: playing at least one segment on a playback interface, and displaying related data on the playback interface. Specifically, when at least one segment is played on the playback interface, relevant data may be displayed on the corresponding position of the playback interface.
  • the loading data may also include the MPD file of the video
  • the video playback method may further include: parsing the MPD file to obtain a parsing result; according to the parsing result, determining the fragment of the next fragment of at least one fragment Information; and according to the fragment information, send the first fragment loading request for requesting the next fragment to the origin server, where the origin server divides the video into multiple fragments through DASH (Dynamic Adaptive Streaming over HTTP) technology ,
  • the multiple fragments include at least one fragment, and at least one fragment in the cache server is obtained through the origin server.
  • DASH is a dynamic adaptive streaming based on HTTP, similar to the HLS protocol.
  • DASH uses an adaptive bit rate streaming technology to enable high-quality streaming media to be transmitted through the HTTP protocol.
  • DASH technology decomposes streaming media content into a series of small HTTP-based file fragments, each file fragment contains a short length of playable content, and the total length of the file content may be as long as several hours (such as live movies or sports events).
  • the content of the file will be made into candidate fragments of multiple bit rates to provide multiple bit rate versions for selection.
  • the client will automatically select which alternative to download and play according to the current network conditions.
  • the client will select the clip with the highest bit rate that can be downloaded in time for playback, so as to avoid playback jams or rebuffering events. Because of this, the client can seamlessly adapt to changing network conditions and provide a high-quality playback experience, with fewer stalls and rebuffering.
  • the source server can divide the video content into multiple segments through the DASH technology, and the length of each segment can be customized, such as 2s, 5s, 10s, etc.
  • the MPD file is the description file of the video, which can be used to describe the composition of the entire MPEG DASH (also known as DASH) stream, which is equivalent to the M3U8 (M3U8) of the HLS (HTTP Live Streaming) protocol.
  • the MPD file is an XML (Extensible Markup Language, Extensible Markup Language) Document (Document is a computer terminology, each HTML (Hyper Text Markup Language, Hyper Text Markup Language) document loaded into the browser will become Document object), the URL (Uniform Resource Locator, Uniform Resource Locator) download for HTTP GET request (HTTP GET request is a method of HTTP request) can be constructed through the content of the MPD file.
  • the MPD file can describe the segmentation information of each segment of the video, such as the definition, the length of the segment, and so on.
  • the MPD file after receiving the MPD file returned by the cache server, the MPD file can be parsed to determine the slice information of the next slice of at least one slice, because other slices of the video are stored in the source In the server, therefore, according to the above fragment information, the first fragment loading request for requesting the next fragment can be sent to the origin server, and the origin server can return the next fragment according to the request, and the user can continue playing The video.
  • sending a first fragment loading request for requesting the next fragment to the source server may include: determining the first definition of the first fragment; determining the definition of the next fragment Is the first definition; and according to the fragment information, sending a first fragment loading request for requesting the next fragment whose definition is the first definition to the source server.
  • the first slice loading request sent to the source server may include definition information.
  • the definition of the next segment may be the same as the definition of at least one segment.
  • the next segment is required, especially when the resolution of at least one segment is higher, the next segment may not be loaded late due to poor network signal. If it succeeds, the user can no longer watch the video.
  • the following methods can be used, namely:
  • sending a first fragment loading request for requesting the next fragment to the source server may include: determining the target CDN (Content Delivery Network) corresponding to the video ); and according to the fragment information, send a first fragment loading request for requesting the next fragment to the source server, where the first fragment loading request includes the target CDN, and the source server is used to determine the next fragment according to the target CDN The clarity of the film.
  • the source server includes multiple correspondences, and each correspondence includes a CDN and the historical network speed corresponding to the CDN. The source server is used to determine the historical network speed corresponding to the target CDN according to the multiple correspondences, and according to the target CDN The corresponding historical network speed determines the definition of the next segment.
  • the embodiment of the present application since at least one segment is loaded from the cache server with the load request, there is no network speed for loading the segment at this time, that is, the embodiment of the present application cannot be based on this average
  • the speed of the network determines the clarity of the next segment.
  • the resolution of the next segment can be determined by the historical network speed corresponding to the target CDN.
  • the historical network speed corresponding to the target CDN may include the historical network speed when the client uses the target CDN to play videos.
  • it may be the average network speed when the client used the target CDN to play the video last time.
  • multiple historical network speeds and CDNs corresponding to each historical network speed may have been stored in the source server, and they can be stored in a map.
  • the stored data format map includes 3 CDNs and historical network speeds corresponding to each CND, which are:'cdna.acgvideo.com': 400KB/s;'cdnb.acgvideo.com': 500KB/s;' cdnc.acgvideo.com': 900KB/s. If the video is scheduled to cdnb.acgvideo.com (that is, the target CDN), the historical network speed corresponding to the target CDN can be 500KB/s.
  • the source server may determine the resolution of the next segment according to the historical network speed corresponding to the target CDN. Specifically, the source server also stores multiple preset resolutions and the playback bit rate corresponding to each preset resolution. The source server can first calculate the maximum supported playback bitrate according to the preset formula, and then determine the maximum supported playback bitrate from the multiple playback bitrates, and set the maximum supported playback bitrate to be greater than or equal to The preset resolution corresponding to the maximum playback bit rate is used as the resolution of the next segment.
  • the preset formula for calculating the maximum supported playback bit rate is:
  • the maximum supported playback bit rate K 3600kbps.
  • the corresponding relationship between the preset definition of the video and the playback bit rate is: 1080P+: 8000kbps; 1080P: 4000kbps; 720P: 2000kbps; 480P: 1000kbps: 360P: 500kbps. Since the calculated maximum supported playback bit rate is 3600kbps, the maximum playback bit rate greater than or equal to 2000kbps, and the preset resolution corresponding to the playback bit rate 2000kbps is 720P, 720P can be used as the next segment of the video The clarity.
  • the video playback method may further include: if the cache server does not store at least one segment, creating a second segment loading request for requesting at least one segment from the source server; and adding the first segment
  • the two-segment loading request is sent to the origin server, so that the origin server returns at least one segment based on the second segment loading request.
  • the cache server determines that at least one segment is not stored locally, the cache server can only return the relevant data of the playback interface to the user end, and the user end can re-create a second separate request for at least one segment.
  • a fragment loading request is sent, and the second fragment loading request is sent to the origin server so that the origin server can return the at least one fragment.
  • Fig. 2 schematically shows a flowchart of a video playback method applied to a cache server according to an embodiment of the present application.
  • the video playback method applied to the cache server may include steps S201-S202, where:
  • Step S201 Receive a load request sent by a user terminal, and obtain load data corresponding to the load request, where the load data includes at least one segment of a video triggered by the user terminal.
  • acquiring the load data corresponding to the load request may include: determining whether at least one segment is stored; if at least one segment is stored, acquiring the load data corresponding to the load request.
  • the loading request may also include a video tag
  • the loading data may also include related data of a playback interface used to play the video and an MPD file of the video.
  • At least one segment in the cache server is obtained through the origin server, and the origin server divides the video into multiple segments through the DASH technology, and the multiple segments include at least one segment.
  • the staff can periodically send at least one segment of the popular video and the MPD file of the popular video from the source server to the cache server, or the cache server can actively obtain at least one segment of the popular video and the popular video from the source server.
  • the MPD files of popular videos are not specifically limited in the embodiments of this application.
  • Step S202 Return the loading data to the client, so that the client can play at least one segment according to the loading data.
  • the cache server may send the loading data to the user terminal, and after receiving the loading data, the user terminal may play at least one segment according to the loading data.
  • the user terminal may play at least one segment on the playback interface, and display related data on the playback interface.
  • the user terminal obtains a video loading instruction, and sends a loading request for requesting loading data to a cache server.
  • the loading data includes at least one segment of the video.
  • the cache server can obtain the loading request after receiving the loading request.
  • the locally stored loading data is returned to the user terminal, and further, the user terminal can play at least one segment according to the loading data.
  • the video segment can be obtained from the cache server first when the video is played on the user side, thereby avoiding loading the video from the origin site in the prior art Fragmentation is easy to cause defects such as slow start-up speed of the video, long waiting time for users, etc., which leads to the loss of users, and realizes the technical effect of speeding up the start-up speed.
  • Fig. 3 schematically shows a schematic diagram of a video playback solution according to an embodiment of the present application.
  • the origin server can schedule a program to obtain a list of popular videos, and add MPD files of popular videos and at least one segment of the most popular definition of popular videos to the cache server, and can also remove the unpopular ones in the cache server.
  • the video is removed to prevent unpopular videos from occupying the resources of the cache server.
  • a popular video When a popular video is played on the user side, it can first interact with the cache server.
  • the cache server determines whether at least one segment of the video is stored locally. If so, it returns at least one segment and the corresponding MPD file to the user side.
  • the end can use the cache and load the subsequent part of the default video stream, that is, the subsequent fragments.
  • the client can request at least one segment from the source server, that is, load the video stream from the beginning. After the user terminal obtains at least one segment, the video can be played.
  • the prefetched video data can be directly returned when the client requests to load the video.
  • the embodiment of this application By using cached data, it can be played faster, and based on the DASH feature and all subsequent definition video splicing, the video of any definition can be played quickly.
  • the DASH feature of the embodiment of the present application is, for example, that a video includes multiple slices, and each slice corresponds to multiple definitions, and slices of any definition can be spliced.
  • Fig. 4 schematically shows a block diagram of a user terminal according to an embodiment of the present application.
  • the client 400 may include a first sending module 410, a receiving module 420, and a playing module 430, where:
  • the first sending module 410 is configured to send a loading request to the cache server in response to a triggered video loading signal, where the loading request is used to request loading data, and the loading data includes at least one segment of the triggered video.
  • the receiving module 420 is configured to receive the loading data returned by the cache server.
  • the playing module 430 is used for playing at least one segment according to the loaded data.
  • the loading data may also include related data of a playback interface used to play the video, and the playback module may also be used to: play at least one segment on the playback interface, and display related data on the playback interface.
  • the loaded data may also include the MPD file of the video
  • the user terminal may also include: a parsing module for parsing the MPD file to obtain a parsing result; a determining module for determining at least one The fragment information of the next fragment of the fragment; the second sending module is used to send the first fragment loading request for requesting the next fragment to the origin server according to the fragment information, wherein the origin server adopts DASH technology
  • the video is divided into multiple segments, the multiple segments include at least one segment, and at least one segment in the cache server is obtained through the origin server.
  • the second sending module may include: a first determining unit, configured to determine the first resolution of the first segment; a second determining unit, configured to determine the resolution of the next segment It is determined to be the first definition; the first sending unit is configured to send a first segment loading request for requesting the next segment with the first definition to the source server according to the segment information.
  • the second sending module may include: a third determining unit, configured to determine the target CDN corresponding to the video; and the second sending unit, configured to send a request for downloading to the source server according to the fragment information A first segment loading request of a segment, where the first segment loading request includes a target CDN, and the source server is used to determine the definition of the next segment according to the target CDN.
  • the source server may include multiple correspondences. Each correspondence includes a CDN and the historical network speed corresponding to the CDN. The source server is used to determine the historical network corresponding to the target CDN according to the multiple correspondences. Speed, and determine the definition of the next segment according to the historical network speed corresponding to the target CDN.
  • the user side may further include: a creation module, which is used to create a first shard that is used to request the source server for the first shard when the cache server does not store the first shard.
  • a creation module which is used to create a first shard that is used to request the source server for the first shard when the cache server does not store the first shard.
  • Two-segment loading request the third sending module is used to send the second segment loading request to the origin server, so that the origin server returns the first segment based on the second segment loading request.
  • Fig. 5 schematically shows a block diagram of a cache server according to an embodiment of the present application.
  • the cache server 500 may include a processing module 510 and a returning module 520, where:
  • the processing module 510 is configured to receive a loading request sent by the client, and obtain loading data corresponding to the loading request, where the loading data includes at least one segment of a video triggered by the client.
  • the returning module 520 is used to return the loading data to the user terminal, so that the user terminal plays at least one segment according to the loading data.
  • the loading data may also include related data of the playback interface used to play the video and the MPD file of the video.
  • the processing module may include: a judging unit, configured to determine whether at least one segment is stored; and an acquiring unit, configured to acquire the load corresponding to the load request when at least one segment is stored data.
  • At least one segment in the cache server is obtained through an origin server, and the origin server divides the video into multiple segments through DASH technology, and the multiple segments include at least one segment.
  • This application also provides a video playback system, including a client and a cache server.
  • the client obtains a video loading instruction and sends a loading request to the cache server.
  • the loading request is used to request to load data, and the loading data includes the video loading At least one segment of the video corresponding to the instruction;
  • the cache server receives the loading request sent by the client, obtains the loading data corresponding to the loading request, and returns the loading data to the client;
  • the client receives the loading data returned by the cache server, and plays according to the loading data At least one shard.
  • FIG. 6 schematically shows a schematic diagram of the hardware architecture of a computer device suitable for implementing a video playback method applied to a user end or a video playback method applied to a cache server according to an embodiment of the present application.
  • the computer device 600 is a device that can automatically perform numerical calculation and/or information processing according to pre-set or stored instructions.
  • it can be a smart phone, a tablet computer, a notebook computer, a desktop computer, a rack server, a blade server, a tower server, or a rack server (including an independent server or a server cluster composed of multiple servers).
  • the computer device 600 includes at least but is not limited to: a memory 610, a processor 620, and a network interface 630 that can communicate with each other through a system bus. among them:
  • the memory 610 includes at least one type of computer-readable storage medium.
  • the readable storage medium includes flash memory, hard disk, multimedia card, card-type memory (for example, SD or DX memory, etc.), random access memory (RAM), and static random access memory.
  • SRAM read only memory
  • ROM read only memory
  • EEPROM electrically erasable programmable read only memory
  • PROM programmable read only memory
  • magnetic memory magnetic disks, optical disks, etc.
  • the memory 610 may be an internal storage module of the computer device 600, such as a hard disk or memory of the computer device 600.
  • the memory 610 may also be an external storage device of the computer device 600, such as a plug-in hard disk equipped on the computer device 600, a smart memory card (Smart Media Card, SMC for short), and a secure digital (Secure Digital) Digital, abbreviated as SD) card, flash card (Flash Card), etc.
  • the memory 610 may also include both an internal storage module of the computer device 600 and an external storage device thereof.
  • the memory 610 is generally used to store an operating system and various application software installed in the computer device 600, for example, program code of a video playback method applied to a user terminal or a program code of a video playback method applied to a cache server.
  • the memory 610 can also be used to temporarily store various types of data that have been output or will be output.
  • the processor 620 may be a central processing unit (Central Processing Unit, referred to as CPU for short) in some embodiments, a controller, a microcontroller, a microprocessor, or other data processing chips.
  • the processor 620 is generally used to control the overall operation of the computer device 600, such as performing data interaction or communication-related control and processing with the computer device 600.
  • the processor 620 is configured to run program codes stored in the memory 610 or process data.
  • the network interface 630 may include a wireless network interface or a wired network interface, and the network interface 630 is generally used to establish a communication connection between the computer device 600 and other computer devices.
  • the network interface 630 is used to connect the computer device 600 to an external terminal through a network, and to establish a data transmission channel and a communication connection between the computer device 600 and the external terminal.
  • the network can be Intranet, Internet, Global System of Mobile communication (GSM), Wideband Code Division Multiple Access (WCDMA), 4G network , 5G network, Bluetooth (Bluetooth), Wi-Fi and other wireless or wired networks.
  • FIG. 6 only shows a computer device with components 610-630, but it should be understood that it is not required to implement all the components shown, and more or fewer components may be implemented instead.
  • the video playback method applied to the user end or the video playback method applied to the cache server stored in the memory 610 may also be divided into one or more program modules, and are composed of one or more processors (this The embodiment is executed by the processor 420) to complete the application.
  • This embodiment also provides a computer-readable storage medium on which computer-readable instructions are stored.
  • the computer-readable instructions When the computer-readable instructions are executed by a processor, the following steps are implemented:
  • the computer-readable storage medium includes flash memory, hard disk, multimedia card, card-type memory (for example, SD or DX memory, etc.), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, magnetic disk, optical disk, etc.
  • the computer-readable storage medium may be an internal storage unit of a computer device, such as a hard disk or memory of the computer device.
  • the computer-readable storage medium may also be an external storage device of the computer device, such as a plug-in hard disk equipped on the computer device, a smart memory card (Smart Media Card, referred to as SMC), a secure digital ( Secure Digital, referred to as SD card, Flash Card, etc.
  • the computer-readable storage medium may also include both the internal storage unit and the external storage device of the computer device.
  • the computer-readable storage medium is generally used to store the operating system and various application software installed in the computer device, such as the program code of the video playback method applied to the user side in the embodiment or the video playback applied to the cache server Method program code, etc.
  • the computer-readable storage medium can also be used to temporarily store various types of data that have been output or will be output.
  • This embodiment also provides a computer-readable storage medium on which computer-readable instructions are stored.
  • the computer-readable instructions When the computer-readable instructions are executed by a processor, the following steps are implemented:
  • the computer-readable storage medium includes flash memory, hard disk, multimedia card, card-type memory (for example, SD or DX memory, etc.), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, magnetic disk, optical disk, etc.
  • the computer-readable storage medium may be an internal storage unit of a computer device, such as a hard disk or memory of the computer device.
  • the computer-readable storage medium may also be an external storage device of the computer device, such as a plug-in hard disk equipped on the computer device, a smart memory card (Smart Media Card, referred to as SMC), a secure digital ( Secure Digital, referred to as SD card, Flash Card, etc.
  • the computer-readable storage medium may also include both the internal storage unit and the external storage device of the computer device.
  • the computer-readable storage medium is generally used to store the operating system and various application software installed in the computer device, such as the program code of the video playback method applied to the user side in the embodiment or the video playback applied to the cache server Method program code, etc.
  • the computer-readable storage medium can also be used to temporarily store various types of data that have been output or will be output.
  • modules or steps of the above-mentioned embodiments of the present application can be implemented by a general computing device, and they can be concentrated on a single computing device or distributed among multiple computing devices.
  • they can be implemented with program codes executable by a computing device, so that they can be stored in a storage device for execution by the computing device, and in some cases, can be different from here
  • the steps shown or described are performed in the order of, or they are respectively fabricated into individual integrated circuit modules, or multiple modules or steps of them are fabricated into a single integrated circuit module to achieve. In this way, the embodiments of the present application are not limited to any specific hardware and software combination.

Abstract

本申请提供了一种视频播放方法,应用于用户端,该视频播放方法包括:获取视频加载指令,向缓存服务器发送加载请求,其中,加载请求用于请求加载数据,加载数据包括与视频加载指令对应的视频的至少一个分片;接收缓存服务器返回的加载数据;根据加载数据,播放至少一个分片。本申请还提供了另一种视频播放方法、一种视频播放系统、一种计算机设备及一种计算机可读存储介质。

Description

视频播放方法、系统、计算机设备及计算机可读存储介质
本申请要求于2019年1月30日提交中国专利局、申请号为201910091820.9、发明名称为“视频播放方法、系统、计算机设备及计算机可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机技术领域,尤其涉及一种视频播放方法、系统、计算机设备及计算机可读存储介质。
背景技术
随着互联网技术的发展,网络视频逐渐成为当前最热门的互联网应用之一。目前,现有技术是将视频对应的所有分片存储在源站,在通过web端播放视频时,web端需要从源站加载该视频的分片然后播放。
然而,在实现本申请构思的过程中,发明人发现现有技术中至少存在如下缺陷:从源站加载视频分片时需要从庞大的节点群进行筛选,导致视频起播速度过慢且用户等待时间过长,从而造成用户流失。
发明内容
有鉴于此,本申请的目的是提供一种视频播放方法、系统、计算机设备及计算机可读存储介质,用于解决现有技术中从源站加载视频分片容易造成视频起播速度慢、用户等待时间过长等从而导致用户流失的缺陷。
本申请提供了一种视频播放方法,应用于用户端,上述方法包括:获取视频加载指令,向缓存服务器发送加载请求,其中,上述加载请求用于请求加载数据,上述加载数据包括与上述视频加载指令对应的视频的至少一个分片;接收上述缓存服务器返回的上述加载数据;根据上述加载数据,播放上述至少一个分片。
为实现上述目的,本申请还提供了一种视频播放方法,应用于缓存服务器,上述方法包括:接收用户端发送的加载请求,获取上述加载请求对应的加载数据,其中,上述加载数据包括上述用户端触发的视频的至少一个分片;向上述用户端返回上述加载数据,以便上述用户端根据上述加载数据播放上述至少一个分片。
为实现上述目的,本申请的再一个方面提供了一种视频播放系统,包括用户端和缓存 服务器,其中:上述用户端获取视频加载指令,向上述缓存服务器发送加载请求,其中,上述加载请求用于请求加载数据,上述加载数据包括与上述视频加载指令对应的视频的至少一个分片;上述缓存服务器接收上述用户端发送的上述加载请求,获取上述加载请求对应的上述加载数据,向上述用户端返回上述加载数据;上述用户端接收上述缓存服务器返回的上述加载数据,根据上述加载数据,播放上述至少一个分片。
为实现上述目的,本申请还提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机可读指令,上述处理器执行上述计算机可读指令时用于实现如上所述的方法的步骤。
为实现上述目的,本申请的又一个方面提供了一种计算机可读存储介质,其上存储有计算机可读指令,上述计算机可读指令被处理器执行时用于实现如上所述的方法的步骤。
本申请提供的视频播放方法,用户通过用户端触发视频的加载信号,用户端向缓存服务器发送用于请求加载数据的加载请求,该加载数据包括视频的至少一个分片,缓存服务器在接收到加载请求之后,可以获取本地存储的加载数据并向用户端返回该加载数据,进一步,用户端根据可以根据加载数据播放至少一个分片。由于本申请的实施例将视频的至少一个分片预先存储在缓存服务器中,在用户端播放视频时可以先从缓存服务器中获取视频的分片,进而可以避免现有技术中从源站加载视频分片容易造成视频起播速度慢、用户等待时间过长等从而导致用户流失的缺陷,实现了加快起播速度的技术效果。
附图说明
图1示意性示出了根据本申请实施例的应用于用户端的视频播放方法的流程图;
图2示意性示出了根据本申请实施例的应用于缓存服务器的视频播放方法的流程图;
图3示意性示出了根据本申请实施例的视频播放方案的示意图;
图4示意性示出了根据本申请实施例的用户端的框图;
图5示意性示出了根据本申请实施例的缓存服务器的框图;
图6示意性示出了根据本申请实施例的适于实现应用于用户端的视频播放方法或者应用于缓存服务器的视频播放方法的计算机设备的硬件架构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前 提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供的视频播放方法,用户端获取视频加载指令,向缓存服务器发送用于请求加载数据的加载请求,该加载数据包括视频的至少一个分片,缓存服务器在接收到加载请求之后,可以获取本地存储的加载数据并向用户端返回该加载数据,进一步,用户端根据可以根据加载数据播放至少一个分片。由于本申请的实施例将视频的至少一个分片预先存储在缓存服务器中,在用户端播放视频时可以先从缓存服务器中获取视频的分片,进而可以避免现有技术中从源站加载视频分片容易造成视频起播速度慢、用户等待时间过长等从而导致用户流失的缺陷,实现了加快起播速度的技术效果。
图1示意性示出了根据本申请实施例的应用于用户端的视频播放方法的流程图。
如图1所示,该应用于用户端的视频播放方法可以包括步骤S101-步骤S103,其中:
步骤S101,获取视频加载指令,向缓存服务器发送加载请求,其中,加载请求用于请求加载数据,加载数据包括与视频加载指令对应的视频的至少一个分片。
需要说明的是,本申请的实施例可以将热门视频的MPD(Media Presentation Description)文件和该热门视频的最热门清晰度的至少一个分片存储在缓存服务器中,并将热门视频的其他分片存储在源服务器中。优选地,至少一个分片包括第一个分片且至少一个分片为按照分片顺序依次不间断排列的分片。在本申请的实施例中,对于热门视频的选择,可以定期排序选择,相应的,对于热门视频的最热门清晰度,也可以是定期排序选择。
例如,对于视频A、视频B、视频C、视频D,根据观看次数排序为视频A、视频B、视频C、视频D,若规定热门视频为前两名,则视频A、视频B均为热门视频。对于每个视频的清晰度均分为标清、高清、超清、蓝光,且高清为视频A对应的最热门清晰度,超清为视频B对应的最热门清晰度,则可以将视频A的MPD文件、视频A中清晰度为高清的前几个分片、视频B的MPD文件、视频B中清晰度为超清的前几个分片,相对应的存储在缓存服务器中。
根据本申请的实施例,视频加载指令可以是用户通过鼠标、按键、触摸屏等向用户端发送的指令。例如,用户通过鼠标点击用户端显示屏幕上的视频,此时,“点击”操作即为发出了视频加载指令,该视频加载指令与显示屏幕上的该视频对应,进一步,用户端可以获取该视频加载指令,也就是响应该视频加载指令。
根据本申请的实施例,加载数据还包括用于播放视频的播放界面的相关数据。其中,相关数据例如可以为标题栏、用户账号、剧情简介等等。用户端可以包括但不限于web端、客户端。若用户端为web端,播放界面可以为web端播放视频的播放网页;若用户端为客户端,播放界面可以是客户端上安装的视频播放软件的播放界面。
根据本申请的实施例,在用户端播放视频前,可以向缓存服务器发送用于请求加载数据的加载请求,该加载请求可以包括视频标签例如视频ID,该加载数据可以包括视频的至少一个分片和用于播放视频的播放界面的相关数据,缓存服务器可以基于该视频标签判断本地是否存储有与该视频标签对应的至少一个分片,若有,则可以将上述加载数据返回用户端。
步骤S102,接收缓存服务器返回的加载数据。
在本申请的实施例中,若是缓存服务器判断出本地存储有视频的至少一个分片,则可以向用户端返回对应的加载数据。
步骤S103,根据加载数据,播放至少一个分片。
在本申请的实施例中,根据加载数据,播放至少一个分片,可以包括:在播放界面播放至少一个分片,且在播放界面展示相关数据。具体地,在播放界面播放至少一个分片时,可以将相关数据展示在播放界面的对应位置上。
根据本申请的实施例,加载数据还可以包括视频的MPD文件,该视频播放方法还可以包括:解析MPD文件,得到解析结果;根据解析结果,确定至少一个分片的下一个分片的分片信息;以及根据分片信息,向源服务器发送用于请求下一个分片的第一分片加载请求,其中,源服务器通过DASH(Dynamic Adaptive Streaming over HTTP)技术将视频切分为多个分片,多个分片包括至少一个分片,缓存服务器中的至少一个分片通过源服务器获得。
需要说明的是,DASH是基于HTTP的动态自适应流,类似HLS协议,DASH通过一种自适应的比特率流技术,使高质量的流媒体可以通过HTTP协议进行传输。DASH技术会将流媒体内容分解成一系列小型的基于HTTP的文件片段,每个文件片段包含很短长度的可播放内容,而文件内容总长度可能长达数小时(例如电影或体育赛事直播)。文件内容将被制成多种比特率的备选片段,以提供多种比特率的版本供选用。当文件内容被用户端回放时,用户端将根据当前网络条件自动选择下载和播放哪一个备选方案。用户端将选择可及时下载的最高比特率片段进行播放,从而避免播放卡顿或重新缓冲事件。也因如此,用户端可以无缝适应不断变化的网络条件并提供高质量的播放体验,拥有更少的卡顿与重新缓冲发生率。在本申请的实施例,源服务器可以通过DASH技术将视频内容切分为多个分片,每个分片的长度可以自定义,例如2s、5s、10s等。根据本申请的实施例,MPD文件是视频的描述文件,可以用于描述整个MPEG DASH(又称为DASH)码流的构成,相当于HLS(HTTP Live Streaming)协议的M3U8(M3U8是视频的一种格式)文件,MPD文件是一个XML(Extensible Markup Language,可扩展标记语言)Document(Document是计算机专业术语,每个载入浏览器的HTML(Hyper Text Markup Language,超级文本标记语言)文档都会成为Document对象), 通过MPD文件的内容可以构造出用于HTTP GET请求(HTTP GET请求是HTTP请求的一种方式)下载的URL(Uniform Resource Locator,统一资源定位符)。MPD文件可以描述有视频的每一个分片的分片信息,例如有哪些清晰度、分片的长度等等。
在本申请的实施例中,在接收到缓存服务器返回的MPD文件之后,可以通过解析MPD文件,确定至少一个分片的下一个分片的分片信息,由于视频的其他分片是存储在源服务器中的,因此,可以根据上述分片信息,向源服务器发送用于请求下一个分片的第一分片加载请求,源服务器可以根据该请求返回下一个分片,进而用户端可以继续播放该视频。
其中,根据分片信息,向源服务器发送用于请求下一个分片的第一分片加载请求,可以包括:确定第一个分片的第一清晰度;将下一个分片的清晰度确定为第一清晰度;以及根据分片信息,向源服务器发送用于请求清晰度为第一清晰度的下一个分片的第一分片加载请求。
在本申请的实施例中,由于源服务器中存储的每一个分片可能对应有多个清晰度,因此向源服务器发送的该第一分片加载请求可以包括清晰度信息。例如,为了保证用户观看的视觉效果,下一个分片的清晰度可以与至少一个分片的清晰度相同。
但是,若是采用与至少一个分片相同的清晰度取要求下一个分片,尤其是至少一个分片的清晰度较高时,可能会由于网络信号差等原因导致下一个分片迟迟加载不成功,用户也就无法继续观看该视频。此时,可以采用下述方法,即:
作为一种可选的实施例,根据分片信息,向源服务器发送用于请求下一个分片的第一分片加载请求,可以包括:确定视频对应的目标CDN(Content Delivery Network,内容分发网络);以及根据分片信息,向源服务器发送用于请求下一个分片的第一分片加载请求,其中,第一分片加载请求包括目标CDN,源服务器用于根据目标CDN确定下一个分片的清晰度。其中,源服务器包括多条对应关系,每条对应关系包括一个CDN和该CDN对应的历史网速,源服务器用于根据多条对应关系确定目标CDN对应的历史网速,并根据所述目标CDN对应的历史网速确定所述下一个分片的清晰度。
根据本申请的实施例,由于至少一个分片是随着加载请求从缓存服务器中加载过来的,此时还未有加载分片的网速存在,即本申请的实施例无法根据本次的平均网速确定下一个分片的清晰度。此时,可以通过目标CDN对应的历史网速确定下一个分片的清晰度。对于同一用户而言,目标CDN对应的历史网速可以包括历史上客户端使用该目标CDN播放视频时的网速。优选地,可以是上一次客户端使用该目标CDN播放视频时的平均网速。
需要说明的是,在应用本申请的实施例之前,源服务器中可能已经存储了多个历史网速和每一个历史网速对应的CDN,并且可以把它们存储在一个map中。例如,已存储的数据 格式map包括3个CDN和每个CND对应的历史网速,分别为:'cdna.acgvideo.com':400KB/s;'cdnb.acgvideo.com':500KB/s;'cdnc.acgvideo.com':900KB/s。若视频被调度到cdnb.acgvideo.com(即目标CDN),则该目标CDN对应的历史网速可以为500KB/s。
进一步,源服务器可以根据目标CDN对应的历史网速确定下一个分片的清晰度,具体地,源服务器中还存储有多个预设清晰度和每一个预设清晰度对应的播放码率,源服务器可以先根据预设公式计算最大可支撑播放码率,然后从多个播放码率中确定出最大可支撑播放码率大于等于的最大播放码率,并将最大可支撑播放码率大于等于的最大播放码率对应的预设清晰度作为下一个分片的清晰度。
其中,计算最大可支撑播放码率的预设公式为:
K=S×8×N
其中,K表示最大可支撑播放码率,S表示CDN对应的历史网速,N表示预设安全加权值。
例如,目标CDN对应的历史网速为500KB/s,预设安全加权值为0.9,则最大可支撑播放码率K=3600kbps。视频的预设清晰度与播放码率的对应关系为:1080P+:8000kbps;1080P:4000kbps;720P:2000kbps;480P:1000kbps:360P:500kbps。由于计算出的最大可支撑播放码率为3600kbps,其大于等于的最大的播放码率为2000kbps,且播放码率2000kbps对应的预设清晰度为720P,则可以将720P作为视频的下一个分片的清晰度。
作为一种可选的实施例,该视频播放方法还可以包括:若缓存服务器没有存储至少一个分片,则创建用于向源服务器请求至少一个分片的第二分片加载请求;以及将第二分片加载请求发送给源服务器,以使得源服务器基于第二分片加载请求返回至少一个分片。具体地,若是缓存服务器判断出本地没有存储有至少一个分片,则缓存服务器可以只向用户端返回播放界面的相关数据,且用户端可以重新创建一个单独用于请求至少一个分片的第二分片加载请求,并将第二分片加载请求发送给源服务器,以便源服务器可以返回该至少一个分片。
图2示意性示出了根据本申请实施例的应用于缓存服务器的视频播放方法的流程图。
如图2所示,该应用于缓存服务器的视频播放方法可以包括步骤S201-步骤S202,其中:
步骤S201,接收用户端发送的加载请求,获取加载请求对应的加载数据,其中,加载数据包括用户端触发的视频的至少一个分片。
在本申请的实施例中,获取加载请求对应的加载数据,可以包括:判断是否存储有至少一个分片;若存储有至少一个分片,则获取加载请求对应的加载数据。其中,加载请求还可以包括视频标签,加载数据还可以包括用于播放视频的播放界面的相关数据和视频的MPD文件。缓存服务器接收到用户端发送的加载请求之后,可以根据加载请求中的视频标签 查找对应的至少一个分片,若能够查找到,则获取至少一个分片、MPD文件和相关数据,并将至少一个分片、MPD文件和相关数据返回给用户端。
需要说明的是,缓存服务器中的至少一个分片通过源服务器获得,源服务器通过DASH技术将视频切分为多个分片,该多个分片包括至少一个分片。其中,工作人员可以定期将热门视频的至少一个分片和该热门视频的MPD文件从源服务器主送发送给缓存服务器,或者缓存服务器可以主动从源服务器中获取热门视频的至少一个分片和该热门视频的MPD文件,本申请的实施例不做具体限定。
步骤S202,向用户端返回加载数据,以便用户端根据加载数据播放至少一个分片。
根据本申请的实施例,缓存服务器可以将加载数据发送给用户端,用户端接收到加载数据之后,可以根据加载数据播放至少一个分片。例如用户端可以在播放界面播放至少一个分片,并在播放界面展示相关数据。
本申请提供的视频播放方法,用户端获取视频加载指令,向缓存服务器发送用于请求加载数据的加载请求,该加载数据包括视频的至少一个分片,缓存服务器在接收到加载请求之后,可以获取本地存储的加载数据并向用户端返回该加载数据,进一步,用户端根据可以根据加载数据播放至少一个分片。由于本申请的实施例将视频的至少一个分片预先存储在缓存服务器中,在用户端播放视频时可以先从缓存服务器中获取视频的分片,进而可以避免现有技术中从源站加载视频分片容易造成视频起播速度慢、用户等待时间过长等从而导致用户流失的缺陷,实现了加快起播速度的技术效果。
图3示意性示出了根据本申请实施例的视频播放方案的示意图。
如图3所示,源服务器可以定时调度程序获取热门视频列表,并向缓存服务器加入热门视频的MPD文件和热门视频的最热门清晰度的至少一个分片,并且还可以将缓存服务器中的冷门视频移除,以免冷门视频占用缓存服务器的资源。在用户端播放热门视频时,可以先与缓存服务器交互,缓存服务器判断本地是否存储有该视频的至少一个分片,若有,则将至少一个分片和对应的MPD文件返回给用户端,用户端可以使用缓存并且加载默认视频流的后续部分,即后续的分片。若缓存服务器中没有存储至少一个分片,则用户端可以向源服务器请求至少一个分片,也即从头开始加载视频流。待用户端获取到至少一个分片后,可以开始播放视频。
本申请的实施例,通过将热门视频的MPD文件和最热门清晰度的至少一个分片存储到缓存服务器中,当用户端请求加载视频时可以直接返回预取的视频数据,本申请的实施例通过使用缓存数据可以更快播放,并且基于DASH特性能和后续所有清晰度的视频拼接,因此使用任何清晰度的视频都可以快速起播。其中,本申请实施例的DASH特性例如为,一个视 频包括多个分片,每个分片对应多个清晰度,任意清晰度的分片可以拼接。
图4示意性示出了根据本申请实施例的用户端的框图。
如图4所示,该用户端400可以包括第一发送模块410、接收模块420和播放模块430,其中:
第一发送模块410用于响应于触发的视频加载信号,向缓存服务器发送加载请求,其中,加载请求用于请求加载数据,加载数据包括触发的视频的至少一个分片。
接收模块420用于接收缓存服务器返回的加载数据。
播放模块430用于根据加载数据,播放至少一个分片。
作为一种可选的实施例,加载数据还可以包括用于播放视频的播放界面的相关数据,播放模块还可以用于:在播放界面播放至少一个分片,且在播放界面展示相关数据。
作为一种可选的实施例,加载数据还可以包括视频的MPD文件,用户端还可以包括:解析模块,用于解析MPD文件,得到解析结果;确定模块,用于根据解析结果,确定至少一个分片的下一个分片的分片信息;第二发送模块,用于根据分片信息,向源服务器发送用于请求下一个分片的第一分片加载请求,其中,源服务器通过DASH技术将视频切分为多个分片,多个分片包括至少一个分片,缓存服务器中的至少一个分片通过源服务器获得。
作为一种可选的实施例,第二发送模块可以包括:第一确定单元,用于确定第一个分片的第一清晰度;第二确定单元,用于将下一个分片的清晰度确定为第一清晰度;第一发送单元,用于根据分片信息,向源服务器发送用于请求清晰度为第一清晰度的下一个分片的第一分片加载请求。
作为一种可选的实施例,第二发送模块可以包括:第三确定单元,用于确定视频对应的目标CDN;第二发送单元,用于根据分片信息,向源服务器发送用于请求下一个分片的第一分片加载请求,其中,第一分片加载请求包括目标CDN,源服务器用于根据目标CDN确定下一个分片的清晰度。
作为一种可选的实施例,源服务器可以包括多条对应关系,每条对应关系包括一个CDN和该CDN对应的历史网速,源服务器用于根据多条对应关系确定目标CDN对应的历史网速,并根据目标CDN对应的历史网速确定下一个分片的清晰度。
作为一种可选的实施例,该用户端还可以包括:创建模块,用于在缓存服务器没有存储第一个分片的情况下,则创建用于向源服务器请求第一个分片的第二分片加载请求;第三发送模块,用于将第二分片加载请求发送给源服务器,以使得源服务器基于第二分片加载请求返回第一个分片。
图5示意性示出了根据本申请实施例的缓存服务器的框图。
如图5所示,该缓存服务器500可以包括处理模块510和返回模块520,其中:
处理模块510用于接收用户端发送的加载请求,获取加载请求对应的加载数据,其中,加载数据包括用户端触发的视频的至少一个分片。
返回模块520用于向用户端返回加载数据,以便用户端根据加载数据播放至少一个分片。
作为一种可选的实施例,加载数据还可以包括用于播放视频的播放界面的相关数据和视频的MPD文件。
作为一种可选的实施例,处理模块可以包括:判断单元,用于判断是否存储有至少一个分片;获取单元,用于在存储有至少一个分片的情况下,获取加载请求对应的加载数据。
作为一种可选的实施例,缓存服务器中的至少一个分片通过源服务器获得,源服务器通过DASH技术将视频切分为多个分片,多个分片包括至少一个分片。
本申请还提供了一种视频播放系统,包括用户端和缓存服务器,其中:用户端获取视频加载指令,向缓存服务器发送加载请求,其中,加载请求用于请求加载数据,加载数据包括与视频加载指令对应的视频的至少一个分片;缓存服务器接收用户端发送的加载请求,获取加载请求对应的加载数据,向用户端返回加载数据;用户端接收缓存服务器返回的加载数据,根据加载数据,播放至少一个分片。
图6示意性示出了根据本申请实施例的适于实现应用于用户端的视频播放方法或者应用于缓存服务器的视频播放方法的计算机设备的硬件架构示意图。本实施例中,计算机设备600是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图6所示,计算机设备600至少包括但不限于:可通过系统总线相互通信连接存储器610、处理器620、网络接口630。其中:
存储器610至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器610可以是计算机设备600的内部存储模块,例如该计算机设备600的硬盘或内存。在另一些实施例中,存储器610也可以是计算机设备600的外部存储设备,例如该计算机设备600上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器610还可以既包括计算机设备600的内部 存储模块也包括其外部存储设备。本实施例中,存储器610通常用于存储安装于计算机设备600的操作系统和各类应用软件,例如应用于用户端的视频播放方法的程序代码或者应用于缓存服务器的视频播放方法的程序代码等。此外,存储器610还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器620在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器620通常用于控制计算机设备600的总体操作,例如执行与计算机设备600进行数据交互或者通信相关的控制和处理等。本实施例中,处理器620用于运行存储器610中存储的程序代码或者处理数据。
网络接口630可包括无线网络接口或有线网络接口,该网络接口630通常用于在计算机设备600与其他计算机设备之间建立通信连接。例如,网络接口630用于通过网络将计算机设备600与外部终端相连,在计算机设备600与外部终端之间的建立数据传输通道和通信连接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code Division Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图6仅示出了具有部件610-630的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器610中的应用于用户端的视频播放方法或者应用于缓存服务器的视频播放方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器420)所执行,以完成本申请。
本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机可读指令,计算机可读指令被处理器执行时实现以下步骤:
获取视频加载指令,向缓存服务器发送加载请求,其中,所述加载请求用于请求加载数据,所述加载数据包括与所述视频加载指令对应的视频的至少一个分片;
接收所述缓存服务器返回的所述加载数据;
根据所述加载数据,播放所述至少一个分片。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设 备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中的应用于用户端的视频播放方法的程序代码或者应用于缓存服务器的视频播放方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机可读指令,计算机可读指令被处理器执行时实现以下步骤:
接收用户端发送的加载请求,获取所述加载请求对应的加载数据,其中,所述加载数据包括所述用户端触发的视频的至少一个分片;
向所述用户端返回所述加载数据,以便所述用户端根据所述加载数据播放所述至少一个分片。本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中的应用于用户端的视频播放方法的程序代码或者应用于缓存服务器的视频播放方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (20)

  1. 一种视频播放方法,应用于用户端,所述方法包括:
    获取视频加载指令,向缓存服务器发送加载请求,其中,所述加载请求用于请求加载数据,所述加载数据包括与所述视频加载指令对应的视频的至少一个分片;
    接收所述缓存服务器返回的所述加载数据;
    根据所述加载数据,播放所述至少一个分片。
  2. 根据权利要求1所述的方法,所述加载数据还包括用于播放所述视频的播放界面的相关数据,所述根据所述加载数据,播放所述至少一个分片,包括:
    在所述播放界面播放所述至少一个分片,且在所述播放界面展示所述相关数据。
  3. 根据权利要求1所述的方法,所述加载数据还包括所述视频的MPD文件,所述方法还包括:
    解析所述MPD文件,得到解析结果;
    根据所述解析结果,确定所述至少一个分片的下一个分片的分片信息;
    根据所述分片信息,向源服务器发送用于请求所述下一个分片的第一分片加载请求,其中,所述源服务器通过DASH技术将所述视频切分为多个分片,所述多个分片包括所述至少一个分片,所述缓存服务器中的所述至少一个分片通过所述源服务器获得。
  4. 根据权利要求3所述的方法,所述根据所述分片信息,向源服务器发送用于请求所述下一个分片的第一分片加载请求,包括:
    确定所述第一个分片的第一清晰度;
    将所述下一个分片的清晰度确定为所述第一清晰度;
    根据所述分片信息,向所述源服务器发送用于请求清晰度为所述第一清晰度的所述下一个分片的第一分片加载请求。
  5. 根据权利要求3所述的方法,所述根据所述分片信息,向源服务器发送用于请求所述下一个分片的第一分片加载请求,包括:
    确定所述视频对应的目标CDN;
    根据分片信息,向所述源服务器发送用于请求所述下一个分片的第一分片加载请求,其中,所述第一分片加载请求包括所述目标CDN,所述源服务器用于根据所述目标CDN确定所述下一个分片的清晰度。
  6. 根据权利要求5所述的方法,所述源服务器包括多条对应关系,每条所述对应关系包括一个CDN和该CDN对应的历史网速,所述源服务器用于根据所述多条对应关系确定所 述目标CDN对应的历史网速,并根据所述目标CDN对应的历史网速确定所述下一个分片的清晰度。
  7. 一种视频播放方法,应用于缓存服务器,所述方法包括:
    接收用户端发送的加载请求,获取所述加载请求对应的加载数据,其中,所述加载数据包括所述用户端触发的视频的至少一个分片;
    向所述用户端返回所述加载数据,以便所述用户端根据所述加载数据播放所述至少一个分片。
  8. 根据权利要求7所述的方法,所述加载数据还包括用于播放所述视频的播放界面的相关数据和所述视频的MPD文件。
  9. 根据权利要求7所述的方法,所述获取所述加载请求对应的加载数据,包括:
    判断是否存储有所述至少一个分片;
    若存储有所述至少一个分片,则获取所述加载请求对应的所述加载数据。
  10. 根据权利要求7所述的方法,所述缓存服务器中的所述至少一个分片通过源服务器获得,所述源服务器通过DASH技术将所述视频切分为多个分片,所述多个分片包括所述至少一个分片。
  11. 一种视频播放系统,包括用户端和缓存服务器,其中:
    所述用户端获取视频加载指令,向所述缓存服务器发送加载请求,其中,所述加载请求用于请求加载数据,所述加载数据包括与所述视频加载指令对应的视频的至少一个分片;
    所述缓存服务器接收所述用户端发送的所述加载请求,获取所述加载请求对应的所述加载数据,向所述用户端返回所述加载数据;
    所述用户端接收所述缓存服务器返回的所述加载数据,根据所述加载数据,播放所述至少一个分片。
  12. 一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时用于实现以下步骤:
    获取视频加载指令,向缓存服务器发送加载请求,其中,所述加载请求用于请求加载数据,所述加载数据包括与所述视频加载指令对应的视频的至少一个分片;
    接收所述缓存服务器返回的所述加载数据;
    根据所述加载数据,播放所述至少一个分片。
  13. 根据权利要求12所述的计算机设备,所述加载数据还包括用于播放所述视频的播放界面的相关数据,所述处理器执行所述计算机可读指令时用于实现以下步骤:
    在所述播放界面播放所述至少一个分片,且在所述播放界面展示所述相关数据。
  14. 根据权利要求12所述的计算机设备,所述加载数据还包括所述视频的MPD文件,所述处理器执行所述计算机可读指令时用于实现以下步骤:
    解析所述MPD文件,得到解析结果;
    根据所述解析结果,确定所述至少一个分片的下一个分片的分片信息;
    根据所述分片信息,向源服务器发送用于请求所述下一个分片的第一分片加载请求,其中,所述源服务器通过DASH技术将所述视频切分为多个分片,所述多个分片包括所述至少一个分片,所述缓存服务器中的所述至少一个分片通过所述源服务器获得。
  15. 根据权利要求14所述的计算机设备,所述处理器执行所述计算机可读指令时用于实现以下步骤:
    确定所述第一个分片的第一清晰度;
    将所述下一个分片的清晰度确定为所述第一清晰度;
    根据所述分片信息,向所述源服务器发送用于请求清晰度为所述第一清晰度的所述下一个分片的第一分片加载请求。
  16. 根据权利要求14所述的计算机设备,所述处理器执行所述计算机可读指令时用于实现以下步骤:
    确定所述视频对应的目标CDN;
    根据分片信息,向所述源服务器发送用于请求所述下一个分片的第一分片加载请求,其中,所述第一分片加载请求包括所述目标CDN,所述源服务器用于根据所述目标CDN确定所述下一个分片的清晰度。
  17. 一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时用于实现以下步骤:
    接收用户端发送的加载请求,获取所述加载请求对应的加载数据,其中,所述加载数据包括所述用户端触发的视频的至少一个分片;
    向所述用户端返回所述加载数据,以便所述用户端根据所述加载数据播放所述至少一个分片。
  18. 根据权利要求17所述的计算机设备,所述处理器执行所述计算机可读指令时用于实现以下步骤:
    判断是否存储有所述至少一个分片;
    若存储有所述至少一个分片,则获取所述加载请求对应的所述加载数据。
  19. 一种计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令被处理器执行时用于实现以下步骤:
    获取视频加载指令,向缓存服务器发送加载请求,其中,所述加载请求用于请求加载数据,所述加载数据包括与所述视频加载指令对应的视频的至少一个分片;
    接收所述缓存服务器返回的所述加载数据;
    根据所述加载数据,播放所述至少一个分片。
  20. 一种计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令被处理器执行时用于实现以下步骤:
    接收用户端发送的加载请求,获取所述加载请求对应的加载数据,其中,所述加载数据包括所述用户端触发的视频的至少一个分片;
    向所述用户端返回所述加载数据,以便所述用户端根据所述加载数据播放所述至少一个分片。
PCT/CN2019/128452 2019-01-30 2019-12-25 视频播放方法、系统、计算机设备及计算机可读存储介质 WO2020155960A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP19914121.9A EP3886440B1 (en) 2019-01-30 2019-12-25 Video playback method and system, computer device, and computer readable storage medium
US17/304,725 US11503347B2 (en) 2019-01-30 2021-06-24 Method of playing video, computing device, and computer program product

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910091820.9A CN111510789B (zh) 2019-01-30 2019-01-30 视频播放方法、系统、计算机设备及计算机可读存储介质
CN201910091820.9 2019-01-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/304,725 Continuation US11503347B2 (en) 2019-01-30 2021-06-24 Method of playing video, computing device, and computer program product

Publications (1)

Publication Number Publication Date
WO2020155960A1 true WO2020155960A1 (zh) 2020-08-06

Family

ID=71839937

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/128452 WO2020155960A1 (zh) 2019-01-30 2019-12-25 视频播放方法、系统、计算机设备及计算机可读存储介质

Country Status (4)

Country Link
US (1) US11503347B2 (zh)
EP (1) EP3886440B1 (zh)
CN (1) CN111510789B (zh)
WO (1) WO2020155960A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11457053B2 (en) * 2019-02-20 2022-09-27 Dazn Media Israel Ltd. Method and system for transmitting video
CN111935507A (zh) * 2020-08-19 2020-11-13 上海连尚网络科技有限公司 视频切换方法和设备
CN112437352B (zh) * 2020-11-11 2023-02-17 连尚(新昌)网络科技有限公司 视频合并播放方法和设备
CN113613032A (zh) * 2021-08-04 2021-11-05 杭州梦视网络科技有限公司 一种嵌入式远程教学实验系统的视频传输方法
CN115623236A (zh) * 2022-10-20 2023-01-17 上海哔哩哔哩科技有限公司 礼物特效资源播放方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110080940A1 (en) * 2009-10-06 2011-04-07 Microsoft Corporation Low latency cacheable media streaming
CN102447973A (zh) * 2011-10-10 2012-05-09 华为技术有限公司 一种缓存调整的方法、装置和系统
CN104025604A (zh) * 2012-07-02 2014-09-03 索尼公司 传输设备、传输方法、以及网络装置
CN105376218A (zh) * 2015-10-21 2016-03-02 上海思华科技股份有限公司 一种快速响应用户请求的流媒体系统和方法
CN106331898A (zh) * 2016-09-09 2017-01-11 三星电子(中国)研发中心 一种基于dash的多媒体内容插入播放的方法和设备
CN106559677A (zh) * 2015-09-30 2017-04-05 华为技术有限公司 终端、缓存服务器及获取视频分片的方法及装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6928526B1 (en) * 2002-12-20 2005-08-09 Datadomain, Inc. Efficient data storage system
CN101741730B (zh) * 2009-12-02 2012-05-30 成都市华为赛门铁克科技有限公司 文件下载方法及设备、提供文件下载服务的方法及系统
CN102801690B (zh) * 2011-05-25 2015-09-30 华为技术有限公司 流媒体的处理方法、分发服务器、客户端及系统
CN102217322B (zh) * 2011-05-27 2013-10-09 华为技术有限公司 媒体发送方法、媒体接收方法和客户端及系统
US10218756B2 (en) * 2012-01-06 2019-02-26 Comcast Cable Communications, Llc Streamlined delivery of video content
WO2014026352A1 (zh) * 2012-08-16 2014-02-20 华为技术有限公司 一种流媒体业务的发送方法、播放方法及装置
CN104125516B (zh) * 2013-04-24 2018-09-28 华为技术有限公司 媒体文件接收、媒体文件发送方法和装置及系统
JP2014230055A (ja) * 2013-05-22 2014-12-08 ソニー株式会社 コンテンツ供給装置、コンテンツ供給方法、プログラム、およびコンテンツ供給システム
CN104469433B (zh) * 2013-09-13 2018-09-07 深圳市腾讯计算机系统有限公司 一种视频直播回看方法及装置
CN104184741A (zh) * 2014-09-05 2014-12-03 重庆市汇链信息科技有限公司 音频视频海量数据在分发服务器中的分发方法
CN104506493B (zh) * 2014-12-04 2018-02-27 武汉市烽视威科技有限公司 一种实现hls内容回源和缓存的方法
GB2540632B (en) * 2015-07-24 2018-05-16 Canon Kk Methods, devices and computer programs for pushing data in a network environment comprising cache servers
CN106993014B (zh) * 2016-01-20 2020-12-18 中兴通讯股份有限公司 缓存内容的调整方法、装置及系统
KR20180109890A (ko) * 2016-02-12 2018-10-08 소니 주식회사 정보 처리 장치 및 정보 처리 방법
US10277669B1 (en) * 2016-06-06 2019-04-30 Amazon Technologies, Inc. Communication channel between device and CDN during playback
US10601946B2 (en) * 2017-02-23 2020-03-24 The Directv Group, Inc. Edge cache segment prefetching
EP3687178B1 (en) * 2017-09-26 2023-03-15 LG Electronics Inc. Overlay processing method in 360 video system, and device thereof
US11290757B2 (en) * 2018-09-28 2022-03-29 Comcast Cable Communications, Llc Per-segment parameters for content

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110080940A1 (en) * 2009-10-06 2011-04-07 Microsoft Corporation Low latency cacheable media streaming
CN102447973A (zh) * 2011-10-10 2012-05-09 华为技术有限公司 一种缓存调整的方法、装置和系统
CN104025604A (zh) * 2012-07-02 2014-09-03 索尼公司 传输设备、传输方法、以及网络装置
CN106559677A (zh) * 2015-09-30 2017-04-05 华为技术有限公司 终端、缓存服务器及获取视频分片的方法及装置
CN105376218A (zh) * 2015-10-21 2016-03-02 上海思华科技股份有限公司 一种快速响应用户请求的流媒体系统和方法
CN106331898A (zh) * 2016-09-09 2017-01-11 三星电子(中国)研发中心 一种基于dash的多媒体内容插入播放的方法和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3886440A4 *

Also Published As

Publication number Publication date
US11503347B2 (en) 2022-11-15
CN111510789B (zh) 2021-09-21
EP3886440A4 (en) 2021-11-24
CN111510789A (zh) 2020-08-07
EP3886440B1 (en) 2023-08-02
US20210321149A1 (en) 2021-10-14
EP3886440A1 (en) 2021-09-29

Similar Documents

Publication Publication Date Title
WO2020155960A1 (zh) 视频播放方法、系统、计算机设备及计算机可读存储介质
JP6557380B2 (ja) メディアアプリケーションのバックグラウンド処理
US8473628B2 (en) Dynamically altering playlists
US9060207B2 (en) Adaptive video streaming over a content delivery network
US9542501B2 (en) System and method for presenting content in a client/server environment
US8510644B2 (en) Optimization of web page content including video
WO2020155959A1 (zh) 切换清晰度的方法、装置、计算机设备及可读存储介质
US20150172353A1 (en) Method and apparatus for interacting with a media presentation description that describes a summary media presentation and an original media presentation
US20160191598A1 (en) System and methods that enable embedding, streaming, and displaying video advertisements and content on internet webpages accessed via mobile devices
US20130151934A1 (en) Video display method
US9356821B1 (en) Streaming content delivery system and method
US20120166667A1 (en) Streaming media
JP2022553996A (ja) ビデオ再生方法、装置、機器及びコンピュータプログラム
CN107690093B (zh) 一种视频播放方法及装置
US20210320957A1 (en) Method of requesting video, computing device, and computer-program product
WO2020155963A1 (zh) 视频清晰度确定方法、系统、计算机设备及存储介质
WO2023284428A1 (zh) 直播视频的播放方法、装置、电子设备、存储介质及程序产品
US20150095964A1 (en) Bumper video carousel for digital video delivery
US20230239328A1 (en) Computer implemented method for processing streaming requests and responses
WO2020155957A1 (zh) 播放音视频的方法、装置、计算机设备及可读存储介质
US20120063507A1 (en) System and method for remote presentation provision

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019914121

Country of ref document: EP

Effective date: 20210622

NENP Non-entry into the national phase

Ref country code: DE