WO2022095502A1 - 视频获取方法及终端 - Google Patents

视频获取方法及终端 Download PDF

Info

Publication number
WO2022095502A1
WO2022095502A1 PCT/CN2021/106169 CN2021106169W WO2022095502A1 WO 2022095502 A1 WO2022095502 A1 WO 2022095502A1 CN 2021106169 W CN2021106169 W CN 2021106169W WO 2022095502 A1 WO2022095502 A1 WO 2022095502A1
Authority
WO
WIPO (PCT)
Prior art keywords
video
data
terminal
download request
starting position
Prior art date
Application number
PCT/CN2021/106169
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 EP21870555.6A priority Critical patent/EP4024876A4/en
Priority to US17/724,131 priority patent/US20220239973A1/en
Publication of WO2022095502A1 publication Critical patent/WO2022095502A1/zh

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/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/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/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/433Content storage operation, e.g. storage operation in response to a pause request, 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/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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • 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/85406Content authoring involving a specific file format, e.g. MP4 format

Definitions

  • the present disclosure relates to the technical field of streaming media, and in particular, to a video acquisition method and terminal.
  • Network video services provide users with rich video resources and a convenient viewing experience, and are more and more widely used.
  • the network video service is realized by the video playback system, and the video playback system is mainly composed of a film source library system, a streaming media service system, a movie cabinet system, a transmission and switching network, a user terminal (such as a set-top box + TV, or a personal computer, or smartphone) composition.
  • the implementation process of video playback generally includes: when a user terminal sends a video-on-demand request, the streaming media service system retrieves the video resources stored in the video source library according to the on-demand information, and transmits them in the form of video and audio streaming files through high-speed transmission. network to the user terminal.
  • the present disclosure provides a video acquisition method and terminal.
  • the technical solutions of the present disclosure are as follows:
  • a video acquisition method including:
  • the first download request is used to download the first video data, the first video data starts with the first starting position, and the data amount of the first video data is not greater than the video fragmentation threshold;
  • the first video data is stored as a first video slice.
  • a terminal comprising:
  • a determination module configured to determine the first starting position of the target video in response to the video playback operation
  • a sending module configured to send a first download request, where the first download request is used to download first video data, the first video data starts with the first starting position, and the data volume of the first video data is not greater than the video data Fragmentation threshold;
  • the storage module is configured to store the first video data as a first video slice.
  • a terminal comprising: a processor; a memory for storing instructions executable by the processor; wherein the processor is configured to execute the instructions to implement the above-mentioned first The video acquisition method of any one of the aspects.
  • a computer-readable storage medium when instructions in the computer-readable storage medium are executed by a processor of a terminal, the terminal can execute any of the above-mentioned first aspect.
  • a video acquisition method in one.
  • a computer program product that, when the computer program product runs on a terminal, causes the terminal to execute the video acquisition in any one of the above-mentioned first aspects of the embodiments of the present disclosure method.
  • a download request is sent to download the video data starting from the starting position and the amount of data is not greater than the video fragmentation threshold, and after receiving the video data, the video The data is stored as a video segment, and a video segment starting from the starting position is obtained, so that the video data can be downloaded from the playback starting position, thereby saving network bandwidth and storage space.
  • FIG. 1 is a schematic diagram of a system architecture for video playback according to an exemplary embodiment
  • Fig. 2 is a flow block diagram showing a kind of video acquisition according to an exemplary embodiment
  • FIG. 3 is a flowchart of another video playback shown according to an exemplary embodiment
  • FIG. 4 is a schematic structural diagram of a terminal according to an exemplary embodiment
  • FIG. 5 is a schematic structural diagram of another terminal according to an exemplary embodiment
  • FIG. 6 is a schematic structural diagram of another terminal according to an exemplary embodiment.
  • FIG. 1 exemplarily shows a schematic structural diagram of a video playback system to which an embodiment of the present disclosure is applicable.
  • the video playback system includes servers (101a, 101b), a transmission network 102, and terminals (103a, 103b, 103c).
  • the server 101a is a video server.
  • the video server is mainly composed of a storage device, a cache and a control management unit. It mainly realizes the compression and storage of media data, and retrieves and transmits media information based on received requests.
  • the video server can support the needs of video services, such as: media data retrieval, real-time transmission of information streams, and encryption and decryption of information.
  • the video server can implement functions such as corresponding processing of real-time requests from terminals, and access permission control.
  • the server 101b is a file management server, and is mainly responsible for tasks such as user information management, billing, arrangement of video materials, and security and confidentiality.
  • the network 102 includes both a backbone network and a local network.
  • the terminals (103a, 103b, 103c) include user equipment with network communication functions and video playback functions, such as smart phones, smart TVs, and personal computers.
  • the terminal can send a video playing request to the video server to request to play the target video.
  • the figure only exemplarily shows video servers (101a, 101b) and terminals (103a, 103b, 103c), and the embodiments of the present disclosure do not limit the number and types of video servers and terminals.
  • the terminal downloads video data by sending a download request to the video server based on the video fragmentation threshold, and each download request is used to download video data whose data volume does not exceed the video fragmentation threshold, wherein , the video fragmentation threshold is configured in the terminal by default, or the video fragmentation threshold is determined by the terminal, for example, the video fragmentation threshold is determined by the terminal based on the video fragmentation rule, and the video fragmentation rule is configured in the terminal by default, Or, the video segmentation rule is determined by the terminal.
  • the video slicing threshold is defined by video slicing rules.
  • one video can be stored as a corresponding number of video slices on the terminal side (in some embodiments, one video slice is stored as one video slice file).
  • the data size of a video fragment does not exceed the video fragment threshold. For example, when the video fragment threshold is 1M bytes, the size of a video fragment does not exceed 1M bytes. In other embodiments, the video fragmentation threshold is other data size, which is not limited in the embodiments of the present disclosure.
  • the terminal can send 5 download requests, and each download request is used to download 1M-byte video data (that is, the amount of data does not video data exceeding the video slice threshold), so that the 5M-byte video is stored as 5 video slices on the terminal side.
  • each video fragment has a size of 1M bytes.
  • the download request sent by the terminal for the first time is used to download the 1 Mbyte video data
  • the downloaded 1 Mbyte video data is stored as the first video segment file
  • the terminal second The download request sent for the second time is used to download the video data of the 2M byte
  • the downloaded video data of the 2M byte is stored as the second video segment file
  • the download request sent by the terminal for the third time is used to download the video data of the first 3M bytes of video data, and store the downloaded 3M bytes of video data as the third video segment file
  • the fourth download request sent by the terminal is used to download the 4M bytes of video data
  • the downloaded video data of the 4th Mbyte is stored as the fourth video segment file
  • the download request sent by the terminal for the fifth time is used to download the 5th Mbyte of video data, and the downloaded video of the 5th Mbyte will be downloaded.
  • the data is stored as the fifth video segment file.
  • the data is stored as the fifth video segment file.
  • the video server for a 5.5M-byte video, according to the video fragmentation threshold, six download requests are sent to the video server, so that the 5.5M-byte video is stored as 6 video fragmentation files.
  • the first to fifth video fragment files correspond to the 1st Mbyte to the 5th Mbyte respectively, and the last video fragment file corresponds to the remaining 0.5M bytes.
  • video segmentation rules or video segmentation thresholds are configured in the terminal by default. Further, the default configured video segmentation rules or video segmentation thresholds can be known by the video server. In other embodiments, the video fragmentation rule or the video fragmentation threshold is set by the terminal, for example, the terminal can provide a video fragmentation rule setting interface, and the user sets the video fragmentation threshold.
  • the video fragmentation rules or the video fragmentation thresholds are set by the terminal based on the data volume of the requested video, or the video fragmentation rules or the video fragmentation thresholds are set by the terminal based on locally stored storage space information , or, the video fragmentation rule or the video fragmentation threshold is set by the terminal based on the requested video data volume and locally stored storage space information.
  • the terminal can set a matching video segmentation threshold based on the data volume of the requested target video, set a smaller video segmentation threshold for a target video with a small amount of data, and set a smaller video segmentation threshold for a video with a large amount of data.
  • a large video fragmentation threshold for another example, the terminal can set a matching video fragmentation threshold based on the locally stored storage space information (that is, the size of the local storage space). If the local storage space is large, set a larger video fragmentation threshold. Fragmentation threshold, if the local storage space is small, set a small video fragmentation threshold, so that when the user only requests to play part of the video data of the target video, the local storage space can be saved.
  • FIG. 2 a schematic flowchart of a video acquisition method is shown according to an exemplary embodiment. As shown in the figure, the process may include the following steps:
  • S201 The terminal determines the first starting position of the target video in response to the video playing operation.
  • the video playback operation is used to trigger the playback of the target video.
  • the video playback operation is a user operation for requesting to watch the target video.
  • the video playback operation is used to control the playback of the video being played during the playback process.
  • the function option for controlling the video playback progress in the video playback interface is triggered ( For example, clicking the fast-forward button or dragging the slider on the progress bar) can trigger the playback of the target video from the corresponding position or at the corresponding speed.
  • the terminal After acquiring the video playback operation for the target video, the terminal can determine the first starting position of the target video.
  • the determined first starting position may be the starting position of the target video (for example, the position of the first frame or the first byte), or may be other positions.
  • the terminal acquires the play start position of the target video, and determines the first start position of the target video based on the play start position and the video segment threshold.
  • the playback start position is determined based on the video playback operation. For example, if the video playback operation is a request to play the video from the start position of the video (for example, the user clicks the "play" control key), the playback start position is the start position of the video.
  • the position in the middle of the video is is the playback start position.
  • the terminal can determine the first starting position based on the fact that the function option is triggered. For example, if the slider on the progress bar for controlling the video playback progress is dragged to the middle position of the target video, the terminal determines the first starting position based on the middle position and the video fragmentation threshold.
  • the terminal determines the start position or the end position of the interval corresponding to the video slice as the first start position. For example, taking the video fragmentation threshold of 1M bytes as an example, when the terminal obtains a target video of 5M bytes, it can determine that the 5M-byte video corresponds to 5 video fragments (that is, the target video The video is stored as 5 video slices or video slice files), corresponding to the 1st Mbyte to the 5th Mbyte respectively, and each video slice is 1M bytes in size. When the user drags the slider on the progress bar to a position between the 3M byte and the 4M byte, such as the position of the 3.5M byte, the terminal can determine that the first starting position is the 3M byte The starting position of the byte.
  • the terminal can obtain the data size of the target video in the following manner: when the user chooses to play the target video, the terminal sends a request to the video server in response to the above-mentioned video playing operation to obtain the data of the target video.
  • the information of the target video includes the data size of the target video.
  • the terminal first sends a download request to download video data of the size of a video segment (such as the video data of the 1 Mbyte), and the video server can carry the target in the video data returned to the terminal.
  • the data size of the video is a download request to download video data of the size of a video segment (such as the video data of the 1 Mbyte), and the video server can carry the target in the video data returned to the terminal. The data size of the video.
  • the first starting position of the target video is identified by using a time parameter, a video frame number, or a byte position (eg, the Xth byte or the Yth video slice divided by the terminal). These parameters used to identify the first starting position can be converted to each other based on the relevant parameters of the target video (such as total length, frame rate, video data volume of one frame, etc.) Algorithms are not limited.
  • the terminal sends a first download request based on the first start position of the target video, where the first download request is used to download the first video data, the first video data starts at the first start position, and the first video data is The amount of data is not greater than the video fragmentation threshold.
  • the terminal sends a first download request to the video server based on the first starting position of the target video.
  • the data amount of the video data to be downloaded by the first download request is not greater than the video fragmentation threshold. Since the video fragmentation threshold is set by the terminal (for example, the video fragmentation threshold is defined by the video fragmentation rule on the terminal), the first video data obtained based on the first download request satisfies the video fragmentation rule defined by the video fragmentation rule.
  • the requirements of the video fragment threshold that is to say, based on the first download request, the first video fragment that meets the data volume required by the terminal can be downloaded, and the starting position of the first video fragment is the above-mentioned first starting position. Location.
  • the data amount of the last video segment of the target video may be smaller than the video segment threshold.
  • the terminal downloaded is The video data of the 1M byte of the target video (that is, the first video segment divided by the terminal); in other scenarios, if the user drags the slider in the playback progress bar in this step, so that the slider is located in the The starting position of the 3M byte of the target video, then the starting position of the 3M byte is the first starting position, then what the terminal downloads is the 3M byte of the target video (that is, the third video segment divided by the terminal).
  • the terminal downloads 0.5M bytes of video data starting from the 5th Mbyte in the target video data (that is, the sixth video segment divided by the terminal).
  • the first download request carries the indication information of the video segment starting from the first starting position of the target video.
  • the indication information enables the video server to know the video segment requested by the terminal, so that the video segment requested by the terminal can be sent to the terminal.
  • the method is suitable for the situation where the video server can know the video segmentation rules on the terminal side, the video server can determine the video segmentation threshold based on the video segmentation rules on the terminal side, and then based on the download request sent by the terminal, the corresponding position in the target video And the video data that satisfies the video fragmentation threshold (that is, the amount of data is not greater than the video fragmentation threshold) is sent to the terminal.
  • the indication information of the video segment in the first download request includes an index of the video segment in all video segments corresponding to the target video. For example, take the video fragment size of 1M bytes and the length of the target video as 5M bytes as an example, the target video corresponds to 5 video fragments, and the index values are 1-5 respectively.
  • the first download request carries the index value 2 of the second video fragment to indicate that the first download request is used to download the second video fragment.
  • Video slices Through the index of the video segment, the video server can obtain the corresponding video segment of the target video, so as to send the video segment to the terminal.
  • the method is suitable for the situation where the video server can know the video segmentation rules on the terminal side, the video server can determine the video segmentation threshold according to the video segmentation rules on the terminal side, and based on the download request sent by the terminal, the corresponding position in the target video and satisfying
  • the video data required by the video fragmentation threshold (that is, the data amount is not greater than the video fragmentation threshold) is sent to the terminal.
  • the indication information of the video segment in the first download request includes indication information of the first starting position and video segment threshold information. For example, take the video fragmentation threshold as 1M bytes and the length of the target video as 5M bytes as an example, in the current request to download the video fragment with the starting position of the 2M byte as the first starting position Next, the parameter (2,1) is carried in the first download request, where "2" indicates that the starting position to be downloaded in this request is the starting position of the 2M byte, and "1" indicates that the starting position indicated by "2" position to start downloading 1M bytes of video data.
  • the video server can obtain the video data of the corresponding position in the target video according to the starting position and the video fragmentation threshold, so as to send the video data to the terminal.
  • This method can be applied to the situation where the video segmentation threshold has not changed, or the method can be applied to the situation where the video segmentation threshold has been updated.
  • the video server can use the starting position The video data that starts and meets the video fragmentation threshold requirement is sent to the terminal.
  • the indication information of the video segment in the first download request includes indication information of a first start position and indication information of a first end position, the first start position and the video indicated by the first end position
  • the data volume of the data meets the video fragmentation threshold requirement, that is, the data volume is not greater than the video fragmentation threshold.
  • the first download request carries the parameter (2,3), where "2" indicates that the starting position of the requested download is the starting position of the 2M byte, and "3" indicates the ending position of the current download request is the starting position of the 3M byte (that is, the cut-off position of the 2M byte), and the interval corresponding to the starting position and the cut-off position corresponds to the second video slice of the target video, and the second video slice corresponds to The size of the slice is 1M bytes.
  • This method is suitable for the situation that the video server can know or cannot know the video segmentation rules on the terminal side.
  • the above-mentioned indication information for indicating the first start position and the first end position is a timestamp, a video frame number, or a byte position (such as the number of bytes), which is not limited in the present disclosure .
  • These types of parameters can be converted into each other, for example, the video frame number can be converted into a byte position based on parameters such as playback rate, frame rate, and data amount of a video frame.
  • the above only exemplarily lists the indication information that may be carried in the first download request, so that the video server can determine the indication information of the location and size of the video data to be downloaded based on the first download request, all of which are protected by the present disclosure. within the range.
  • the terminal stores the first video data as a first video segment.
  • the terminal receives the first video data sent by the video server, and then stores the first video data as the first video segment. Since the first video data starts at the first starting position, the first video Video slices also start at the first starting position.
  • the first video data received by the terminal from the video server is also buffered in the buffer of the player, so that the player can obtain the video data from the buffer, and then play the video data in the play window.
  • the terminal stores the first video segment in a compressed format to obtain a corresponding first video segment file, thereby saving storage space.
  • the terminal before acquiring the first video data, detects whether a video segment starting from the first starting position is stored in the local storage, and the local storage stores a video segment starting with the first starting position. In the case of the video fragment starting from the starting position, the terminal obtains the video fragment locally, and in the case that the video fragment starting from the above-mentioned first starting position is not stored in the local storage, it then requests to obtain the first video fragment from the network side.
  • Video data the first video data starts with a first starting position, and the data amount of the first video data is not greater than the video slice threshold.
  • the terminal before S202, can obtain the locally stored video segment starting with the first starting position according to the first starting position of the target video; the video segment starting with the above-mentioned first starting position is not obtained in the local storage.
  • the terminal sends a first download request to the video server based on the first starting position, and stores the first video data obtained based on the first download request as the first video fragment; in the local storage
  • the terminal plays the locally acquired video segment.
  • the terminal currently needs to obtain the video data of the 3M byte of the target video (that is, the third video fragment divided by the terminal), then the terminal first searches the local storage whether There is a video fragment file corresponding to the video fragment (that is, the file used to store the third video fragment), and when the video fragment file is stored locally, the terminal loads the video fragment file into the memory (such as loading into the buffer of the player), so as to play the video fragment file; if the video fragment file is not stored locally, the terminal sends a download request to obtain the 3M byte of the target video from the video server
  • the video data that is, the 3rd video slice divided by the terminal
  • the received The video data is cached in the buffer of the player, and the received video data is saved locally to obtain a corresponding video segment file.
  • the terminal After obtaining the video segment file corresponding to the video segment starting from the first starting position according to the above process, if the conditions for ending playback are not met (for example, the user does not trigger the stop playback control operation or the target video is not finished playing), Based on the second start position of the target video, the terminal sends a second download request to the video server, where the second download request is used to download second video data, the second video data starts with the second start position, and the second download request is used to download the second video data.
  • the amount of video data is not greater than the video fragmentation threshold.
  • the terminal receives the second video data sent by the video server based on the second download request, and stores the second video data as the second video segment.
  • the first The second video slice also starts at the second starting position.
  • the second start position is the end position of the first video segment.
  • the terminal After the terminal downloads the video data of the 3M byte of the target video from the video server, and the target video has not been played, the terminal sends a download request to the video server again.
  • the terminal To download the video data of the 4M byte of the target video (that is, the fourth video fragment divided by the terminal), and then after receiving the fourth video fragment, store the fourth video fragment as a Video segment file.
  • the starting position in the re-sent download request is the ending position of the third video fragment downloaded by the previous download request, wherein the ending position of the third video fragment is the end position of the fourth video fragment starting point.
  • the start position of the target video requested by the previous download request is the start position of the 3M byte
  • the target position is the end position of the 3M byte. Therefore, it can be determined that when the download request is sent again, from Start from the starting position of the 4M byte to obtain video data.
  • the terminal can send a video download request based on the buffer state of the player. For example, after the terminal sends the first download request, and the occupancy rate of the buffer of the player is 50%, which is higher than the set threshold (eg, the threshold is 20%), the second video download request is not sent temporarily. As time goes by, the data in the buffer of the player is played by the player, and the occupancy rate of the buffer gradually decreases. When it drops to the threshold or below (for example, to 20% or below), then Send a second video download request.
  • the threshold or below for example, to 20% or below
  • the terminal before sending the second download request to the video server, can also, based on the second starting position of the target video, search the local storage for whether there is a video segment starting from the second starting position, and then locally When there is no video segment starting with the second starting position in the storage, the terminal sends a second download request to the video server based on the second starting position; there is a video starting with the second starting position in the local storage In the case of fragmentation, the terminal obtains the corresponding video fragment from the local storage, and then plays the video fragment obtained from the local storage. By this method, network overhead can be saved.
  • video data is acquired and played according to the above process, and when the video data is downloaded from the network side, the video data is further stored as a video segment file , until the end playback condition is met.
  • the video data of this target video is stored as 5 video slice files, and these 5 video slice files store the corresponding video slice 1 to video slice 5 of this target video respectively, each video Fragmentation is 1M bytes.
  • the size of one video segment file may be less than 1M bytes.
  • the video data of the target video is stored as 3 video slice files, and the 3 video slice files store the 3rd to 5th video slices of the 5 video slices corresponding to the target video respectively. slices, each video slice is 1M bytes.
  • the size of one video segment file may be less than 1M bytes.
  • the terminal sends a download request to the video server based on the playback start position of the target video, which is used to download the video data that starts at the start position and whose data volume is not greater than the video fragmentation threshold, and sends a download request to the video server after receiving the video data.
  • the video server After the video server sends the video data based on the download request, it stores the received video data as a video segment or a video segment file. Compared with downloading data from the starting position of the target video, it can save network bandwidth and storage space, and can improve the response speed, thereby improving the playback performance and providing users with a better viewing experience. .
  • the filename of the video segment file can indicate the corresponding video and the location of the video segment in the video.
  • the file name of a video segment file includes video indication information and video segment location information, and further includes indication information of the total number of video segments.
  • the video indication information is used to indicate the video to which the video fragment file belongs.
  • a video is identified using a uniform resource locator (URL) for the video.
  • the length of the URL is usually long.
  • a set algorithm (such as a digest algorithm) is used to calculate the URL of the video to obtain a corresponding string of fixed length (the length of the string is less than the length of the URL). length), and use this string as the video indication information in the file name of the video segment file. Since the character string used to indicate the video in the file name of the video segment file has a corresponding relationship with the URL of the video, the character string can be used to identify the corresponding video.
  • the embodiments of the present disclosure do not limit the above algorithms.
  • the location information of the video segment is used to indicate the location of the video segment in the video to which it belongs, such as the number of video segments corresponding to the video.
  • the location information of the video slice is represented by a location index of the video slice, and the location index of the video slice is used to indicate the location of the video slice in all video slices corresponding to the target video.
  • the position information of a video slice is represented by a number, which is used to represent a sequence number (ie, an index) of a video slice.
  • the location information of the video segment in the file name of a video segment file is "10_3", where "10” indicates the total number of video segments contained in the video according to the video segmenting rules of the terminal, and "3" Indicates that the video segment is the third of the 10 video segments.
  • the file name of the video segment file also includes indication information of the total number of video segments corresponding to the target video, and the indication information of the total number of video segments corresponding to the target video can indicate the total length information of the video.
  • Each component in the file name of a video segment file is separated by a delimiter (such as an underscore, or other similar delimiters).
  • a delimiter such as an underscore, or other similar delimiters.
  • “1234ABCD” is the instruction information of the video, which is obtained by using the digest algorithm to calculate the URL of the video; "10” indicates that the number of video segments of the video is 10, and "3” indicates that the video segment is the video 3rd of 10 shards.
  • the storage structure and naming rules of the video fragment files are defined, so that the storage structure and naming rules of the video fragment files can indicate the corresponding video and the position of the video fragment in the video.
  • video segment files of the same video are stored in a corresponding folder, and video segment files of different videos are stored in different folders.
  • the naming of the folder includes the indication information of the video (the indication information corresponds to the URL of the video, and in some embodiments, the indication information is calculated according to the method of the foregoing embodiment), and the file name of the video segment file of the video also includes The location information of the video segment.
  • the rules of video fragmentation may need to be updated, for example, the size of the video fragmentation threshold needs to be updated, that is, the data amount of video data included in one video fragmentation needs to be updated.
  • the file name of the video fragmentation file further includes version number information, which is used to identify the corresponding video fragmentation rule or video fragmentation threshold, and the video fragmentation rule is used to indicate the data amount of the video fragmentation. For example, in the video fragmentation rule corresponding to the version number v1, the video fragmentation threshold is 1M bytes, and in the video fragmentation rule corresponding to the version number v2, the video fragmentation threshold is 2M bytes.
  • the video slicing rule (such as the video slicing threshold) indicated by the version number information in the file name of the obtained video slicing file corresponding to the corresponding position of the target video is different from the current video slicing rule (such as video segmentation threshold) is different, according to the starting position of the target video, according to the currently used video segmentation rules (such as video segmentation threshold), obtain from the video server the currently used video segmentation rules (such as video segmentation threshold) Video segment threshold), store the acquired video data, obtain the corresponding video segment, and play the acquired video data.
  • the currently used video segmentation rules such as video segmentation threshold
  • the data size of each video fragment does not exceed the current video fragmentation threshold, and when storing the video fragment file, the version number information in the file name of the video fragment file is the current video fragmentation rule (such as The version number information corresponding to the video fragmentation threshold).
  • the currently used video fragmentation threshold is indicated in the download request.
  • the video segment files are stored in the terminal local file system.
  • a video slice file is stored in a non-volatile storage medium such as a disk.
  • S301 The terminal acquires the starting position of the target video in response to the video playing operation.
  • S302 The terminal inquires, according to the starting position of the target video, whether a video fragment starting from the starting position is stored in the local storage, and in the case that the video fragment starting from the starting position is not stored in the local storage, Go to S303, otherwise go to S305.
  • the terminal in the case where the video segment starting from the starting position is not stored in the local storage, correspondingly, the terminal cannot acquire the corresponding video segment from the local storage, so that the terminal cannot acquire the video segment in the local storage.
  • the reason for reaching the corresponding video segment may be that the target video is played for the first time this time, or it may be that the target video has been played before, but due to the long interval, the previously stored video segments of the target video are cleared. .
  • the video fragment threshold indicated by the version number information is different from the current video fragment threshold, go to S303 to re-download the video fragment target video data, so that the target video is fragmented according to the current video fragmentation threshold.
  • the video segment file corresponding to the target video is queried, and the video segment corresponding to the video segment file is determined. For example, taking the target video as 5M bytes and a video segment file as 1M bytes as an example, the terminal currently needs to obtain the third video segment of the target video, and the local storage stores the 2 videos corresponding to the target video Segment files, one of which has a file name including "5_4" (representing the 4th video segment among 5 video segments), and the other video segment file whose file name includes "5_5" (representing 5 video segments) The 5th video fragment in the video fragment), then the terminal judges that only the 4th and video fragment and the 5th video of the target video are stored in the local storage according to the file names of the 2 video fragment files segment, the third video segment is not stored, therefore, the terminal obtains the third video segment of the target video from the video server.
  • the terminal judges that only the 4th and video fragment and the 5th video of the target video are stored in the local storage according to the file names of the 2 video fragment files segment,
  • the terminal sends a download request according to the starting position of the target video, the download request is used to download the video data starting from the starting position and the data amount is not greater than the video fragmentation threshold, and stores the acquired video data, and obtains the following: The video segment that starts at this starting position.
  • S304 The terminal buffers the acquired video segments in the buffer of the player, so as to provide the player for playback.
  • S305 The terminal loads the video segment obtained from the local storage into the buffer of the player, so as to provide the player for playback.
  • an embodiment of the present disclosure further provides a terminal, which can implement the video acquisition process provided by the above embodiment.
  • the terminal includes: a location determination module 41 , a download request module 42 , and a storage module 43 .
  • the determining module 41 is configured to determine the first starting position of the target video in response to the video playback operation
  • the sending module 42 is configured to send a first download request, where the first download request is used to download the first video data, the first video data starts with the first starting position, and the data volume of the first video data is not greater than Video fragmentation threshold;
  • the storage module 43 is configured to store the first video data as a first video segment.
  • the determining module 41 is configured to: in response to the video playback operation, obtain the playback start position of the target video, and determine the first start position of the target video based on the playback start position and the video segment threshold .
  • the sending module 42 is configured to send the first download request when the video segment starting from the first starting position is not stored in the local storage.
  • the sending module 42 is further configured to send a second download request when the condition for ending playing is not satisfied, where the second download request is used to download second video data, and the second video data starts with The second starting position starts, and the data amount of the second video data is not greater than the video slice threshold; wherein, the second starting position is the end position of the first video slice; the storage module 43 is further configured to : Store the second video data as a second video slice.
  • the sending module 42 is configured to send the second download request when the video segment starting from the second starting position is not stored in the local storage.
  • the video fragmentation threshold is determined in any of the following ways:
  • the video fragmentation threshold is determined by the terminal based on the data volume of the target video
  • the video fragmentation threshold is determined by the terminal based on locally stored storage space information
  • the video fragmentation threshold is determined by the terminal based on the data volume of the target video and locally stored storage space information.
  • the filename of the video segment file includes the following information:
  • the location index of the video slice where the location index of the video slice is used to indicate the location of the video slice in all video slices corresponding to the target video.
  • the file name of the video segment file further includes: indication information of the total number of video segments corresponding to the target video.
  • the file name of the video fragmentation file further includes: version number information, where the version number information is used to identify the corresponding video fragmentation rule, and the video fragmentation rule is used to indicate the data volume of the video fragmentation .
  • an embodiment of the present disclosure also provides a terminal.
  • FIG. 5 is a block diagram of a terminal 500 according to an exemplary embodiment.
  • the terminal includes: a processor 501 and a memory 502 for storing instructions executable by the processor 501 .
  • the processor 501 is configured to execute instructions to implement any video acquisition method in the embodiments of the present disclosure.
  • An embodiment of the present disclosure also provides a terminal, the structure of which is shown in FIG. 6 .
  • An embodiment of the present disclosure provides a terminal device 800, including: a radio frequency (Radio Frequency, RF) circuit 810, a power supply 820, a processing 830, memory 840, input unit 850, display unit 860, camera 870, communication interface 880, and wireless fidelity (Wireless Fidelity, Wi-Fi) module 890 and other components.
  • RF Radio Frequency
  • RF Radio Frequency
  • RF Radio Frequency
  • power supply 820 including: a radio frequency (Radio Frequency, RF) circuit 810, a power supply 820, a processing 830, memory 840, input unit 850, display unit 860, camera 870, communication interface 880, and wireless fidelity (Wireless Fidelity, Wi-Fi) module 890 and other components.
  • RF Radio Frequency
  • memory 840 input unit 850
  • display unit 860 input unit
  • Each component of the terminal device 800 will be specifically introduced below with reference to FIG. 6 :
  • the RF circuit 810 is used for data reception and transmission during communication or conversation. In some embodiments, after receiving the downlink data of the base station, the RF circuit 810 sends it to the processor 830 for processing; in addition, the RF circuit 810 sends the uplink data to be sent to the base station.
  • the RF circuit 810 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a Low Noise Amplifier (LNA), a duplexer, and the like.
  • LNA Low Noise Amplifier
  • the RF circuit 810 can also communicate with the network and other terminals through wireless communication.
  • Wireless communication can use any communication standard or protocol, including but not limited to Global System of Mobile communication (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (Code Division Multiple) Access, CDMA), Wideband Code Division Multiple Access (Wideband Code Division Multiple Access, WCDMA), Long Term Evolution (Long Term Evolution, LTE), email, Short Messaging Service (Short Messaging Service, SMS), etc.
  • GSM Global System of Mobile communication
  • GPRS General Packet Radio Service
  • CDMA Code Division Multiple Access
  • WCDMA Wideband Code Division Multiple Access
  • LTE Long Term Evolution
  • SMS Short Messaging Service
  • the Wi-Fi technology belongs to the short-distance wireless transmission technology, and the terminal device 800 can connect to an access point (Access Point, AP) through the Wi-Fi module 890, so as to realize the access to the data network.
  • the Wi-Fi module 890 can be used for data reception and transmission in the communication process.
  • the terminal device 800 can be physically connected with other terminals through the communication interface 880 .
  • the communication interface 880 is connected with the communication interface of other terminals through a cable, so as to realize data transmission between the terminal device 800 and other terminals.
  • the terminal device 800 can request to watch live web video by interacting with the network side, and pull live web data from the network side, so the terminal device 800 has a data transmission function, that is, the terminal device 800 Internally contains the communication module.
  • FIG. 6 shows communication modules such as the RF circuit 810 , the Wi-Fi module 890 , and the communication interface 880 , it can be understood that at least one of the above components or other communication modules for implementing communication exist in the terminal device 800 (such as a Bluetooth module) to achieve data transmission.
  • the terminal device 800 when the terminal device 800 is a mobile phone, the terminal device 800 includes an RF circuit 810 and a Wi-Fi module 890; when the terminal device 800 is a computer, the terminal device 800 includes a communication interface 880 and a Wi-Fi module. Fi module 890; when the terminal device 800 is a tablet computer, the terminal device 800 includes a Wi-Fi module.
  • Memory 840 can be used to store software programs and modules.
  • the processor 830 executes various functional applications and data processing of the terminal device 800 by running the software programs and modules stored in the memory 840, and when the processor 830 executes the program codes in the memory 840, the present disclosure can be implemented. Embodiment Part or all of the process in FIG. 2 or FIG. 3 .
  • the memory 840 mainly includes a stored program area and a stored data area.
  • the storage program area can store the operating system, various application programs (such as communication applications) and face recognition modules, etc.;
  • the storage data area can store data created according to the use of the terminal (such as various pictures, video files and other multimedia files). , and face information template) and so on.
  • memory 840 includes high-speed random access memory, but also non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
  • the input unit 850 can be used to receive numeric or character information input by the user, and generate key signal input related to user settings and function control of the terminal device 800 .
  • the input unit 850 includes a touch panel 851 and other input terminals 852 .
  • the touch panel 85 can collect the user's touch operations on or near it (for example, the user uses any suitable objects or accessories such as a finger, a stylus, etc., on the touch panel 851 or on the touch panel 851), and drive the corresponding connection device according to the preset program.
  • the touch panel 851 includes two parts, a touch detection device and a touch controller.
  • the touch detection device detects the user's touch orientation, detects the signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts it into contact coordinates, and then sends it to the touch controller.
  • the touch panel 851 is implemented by various types of resistive, capacitive, infrared, and surface acoustic waves.
  • other input terminals 852 include, but are not limited to, one or more of a physical keyboard, function keys (eg, volume control keys, switch keys, etc.), trackball, mouse, joystick, and the like.
  • function keys eg, volume control keys, switch keys, etc.
  • trackball e.g., mouse, joystick, and the like.
  • the display unit 860 can be used to display information input by the user, information provided to the user, and various menus of the terminal device 800 .
  • the display unit 860 is the display system of the terminal device 800, and is used for presenting an interface and realizing human-computer interaction.
  • the display unit 860 includes a display panel 861 .
  • the display panel 861 is configured in the form of a liquid crystal display (Liquid Crystal Display, LCD), an organic light-emitting diode (Organic Light-Emitting Diode, OLED) or the like.
  • the touch panel 851 can cover the display panel 861, and when the touch panel 851 detects a touch operation on or near it, it is transmitted to the processor 830 to determine the type of the touch event, and then the processor 830 determines the type of the touch event according to the The type of touch event, the corresponding visual output is provided on the display panel 861 .
  • the touch panel 851 and the display panel 861 are used as two independent components to realize the input and input functions of the terminal device 800, in some embodiments, the touch panel 851 and the display panel 861 integrated to realize the input and output functions of the terminal device 800 .
  • the processor 830 is the control center of the terminal device 800, uses various interfaces and lines to connect various components, executes the terminal by running or executing the software programs and/or modules stored in the memory 840, and calling the data stored in the memory 840. Various functions of the device 800 and processing data, thereby realizing various terminal-based services.
  • processor 830 includes one or more processing units.
  • the processor 830 can integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface and application programs, etc., and the modem processor mainly handles wireless communication. It can be understood that, in other embodiments, the above-mentioned modem processor is not integrated into the processor 830 .
  • the camera 870 is used for realizing the shooting function of the terminal device 800, and shooting pictures or videos.
  • the camera 870 can also be used to implement the scanning function of the terminal device 800 to scan the scanned object (two-dimensional code/barcode).
  • the terminal device 800 also includes a power source 820 (eg, a battery) for powering the various components.
  • a power source 820 eg, a battery
  • the power supply 820 can be logically connected to the processor 830 through a power management system so as to manage charging, discharging, and power consumption functions through the power management system.
  • the processor 830 can perform the functions of the processor 501 in FIG. 5 , and the memory 840 stores the content in the memory 502 .
  • a computer-readable storage medium including instructions is also provided, and the above-mentioned instructions can be executed by the processor 501 of the terminal 500 to complete the above-mentioned method.
  • the computer-readable storage medium is a non-transitory computer-readable storage medium, for example, the non-transitory computer-readable storage medium is a read only memory (Read Only Memory image, ROM), a random access memory (Random Access Memory) Memory, RAM), Compact Disc Read Only Memory (CD-ROM), magnetic tapes, floppy disks and optical data storage devices, etc.
  • Embodiments of the present disclosure also provide a computer program product, which, when the computer program product runs on a terminal, enables the terminal to execute any of the above-mentioned video acquisition methods or possible methods involved in the embodiments of the present disclosure.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本公开是关于视频获取方法及终端,涉及流媒体技术领域。本公开方法包括:响应于视频播放操作,确定目标视频的第一起始位置;发送第一下载请求,第一下载请求用于下载第一视频数据,第一视频数据以第一起始位置开始,且第一视频数据的数据量不大于视频分片阈值;将第一视频数据存储为第一视频分片。

Description

视频获取方法及终端
本公开要求于2020年11月4日提交的申请号为202011217632.5、发明名称为“视频获取方法、终端及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本公开中。
技术领域
本公开涉及流媒体技术领域,尤其涉及视频获取方法及终端。
背景技术
网络视频服务为用户提供了丰富的视频资源以及便捷的观看体验,得到越来越广泛的应用。通常,网络视频服务通过视频播放系统实现,而视频播放系统主要由片源库系统、流媒体服务系统、影柜系统、传输及交换网络、用户终端(比如机顶盒+电视机,或个人计算机,或智能手机)组成。视频播放的实现过程一般包括:当用户终端发出视频点播请求时,流媒体服务系统根据点播信息,将存放在片源库中的视频资源检索出来,以视频和音频流文件的形式,通过高速传输网络传送到用户终端。
发明内容
本公开提供了视频获取方法及终端。本公开的技术方案如下:
根据本公开的实施例的第一方面,提供一种视频获取方法,包括:
响应于视频播放操作,确定目标视频的第一起始位置;
发送第一下载请求,该第一下载请求用于下载第一视频数据,该第一视频数据以该第一起始位置开始,且该第一视频数据的数据量不大于视频分片阈值;
将该第一视频数据存储为第一视频分片。
根据本公开的实施例的第二方面,提供一种终端,包括:
确定模块,被配置为响应于视频播放操作,确定目标视频的第一起始位置;
发送模块,被配置为发送第一下载请求,该第一下载请求用于下载第一视频数据,该第一视频数据以该第一起始位置开始,且该第一视频数据的数据量不大于视频分片阈值;
存储模块,被配置为将该第一视频数据存储为第一视频分片。
根据本公开的实施例的第三方面,提供一种终端,包括:处理器;用于存储该处理器可执行指令的存储器;其中,该处理器被配置为执行该指令,以实现如上述第一方面的任一项中的视频获取方法。
根据本公开的实施例的第四方面,提供一种计算机可读存储介质,当该计算机可读存储介质中的指令由终端的处理器执行时,使得该终端能够执行如上述第一方面的任一项中的视频获取方法。
根据本公开的实施例的第五方面,提供一种计算机程序产品,当计算机程序产品在终端上运行时,使得该终端执行实现本公开的实施例上述第一方面的任一项中的视频获取方法。
本公开提供的方案,基于目标视频的播放起始位置,发送下载请求,用于下载从该起始位置开始且数据量不大于视频分片阈值的视频数据,并在接收视频数据后,将视频数据存储为视频分片,得到以该起始位置开始的视频分片,实现了从播放起始位置开始下载视频数据,因而能够节省网络带宽,并节省存储空间。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种视频播放的系统架构示意图;
图2是根据一示例性实施例示出的一种视频获取的流程框图;
图3是根据一示例性实施例示出的另一种视频播放的流程框图;
图4是根据一示例性实施例示出的一种终端的结构示意图;
图5是根据一示例性实施例示出的另一种终端的结构示意图;
图6是根据一示例性实施例示出的另一种终端的结构示意图。
具体实施方式
下面结合附图对本公开的实施例进行详细描述。
图1示例性示出了本公开的实施例所适用的视频播放系统的结构示意图。如图所示,该视频播放系统包括服务器(101a,101b)、传输网络102以及终端(103a,103b,103c)。
服务器101a是视频服务器。视频服务器主要由存储设备、高速缓存和控制管理单元组成,主要实现对媒体数据的压缩和存储,以及基于接收到的请求检索媒体信息,并传输媒体信息。视频服务器能够支持视频服务的需求,例如:媒体数据检索、信息流的实时传输以及信息的加密和解密等。对于交互式的视频点播来说,视频服务器能够实现对终端的实时请求进行相应处理、访问许可控制等功能。
服务器101b是档案管理服务器,主要承担用户信息管理、计费、影视材料的整理和安全保密等任务。
网络102包括主干网络和本地网络两部分。
终端(103a,103b,103c)包括智能手机、智能电视、个人计算机等具有网络通信功能以及视频播放功能的用户设备。终端能够向视频服务器发送视频播放请求,以请求播放目标视频。
图中仅示例性示出了视频服务器(101a,101b),以及终端(103a,103b,103c),本公开的实施例对视频服务器以及终端的数量和种类不做限制。
本公开的实施例中,终端基于视频分片阈值,通过向视频服务器发送下载请求,来下载视频数据,每次的下载请求均用于下载数据量不超过该视频分片阈值的视频数据,其中,该视频分片阈值默认配置在终端中,或者,该视频分片阈值由终端确定,例如,该视频分片阈值由终端基于视频分片规则确定,该视频分片规则默认配置在终端中,或者,该视频分片规则由终端确定。在一些实施例中,视频分片阈值由视频分片规则所定义。基于视频分片阈值,一个视频在终端侧能够被存储为相应数量的视频分片(在一些实施例中,一个视频分片被存储为一个视频分片文件)。一个视频分片的数据量大小不超过视频分片阈值,比如,在视频分片阈值为1M字节的情况下,一个视频分片的大小不超过1M字节。在另一些实施例中,视频分片阈值是其他数据量大小,本公开的实施例对此不做限制。
比如,以视频分片阈值为1M字节为例,对于一个5M字节的视频,终端能够通过发送5次下载请求,且每次下载请求用于下载1M字节的视频数据(即数据量不超过该视频分片阈值的视频数据),从而将该5M字节的视频在终端侧存储为5个视频分片。其中,每个视频分片为1M字节的大小。在一些实施例中,终端第一次发送的下载请求用于下载第1M字节的视频数据,并将下载得到的第1M字节的视频数据存储为第一个视频分片文件,终端第二次发送的下载请求用于下载第2M字节的视频数据,并将下载得到的第2M字节的视频数据存储为第二个视频分片文件,终端第三次发送的下载请求用于下载第3M字节的视频数据,并将下载得到的第3M字节的视频数据存储为第三个视频分片文件,终端发送的第四次下载请求用于下载第4M字节的视频数据,并将下载得到的第4M字节的视频数据存储为第四个视频分片文件,终端第五次发送的下载请求用于下载第5M字节的视频数据,并将下载得到的第5M字节的视频数据存储为第五个视频分片文件。再例如,在一些实施例中,对于一个5.5M字节的视频,按照视频分片阈值,向视频服务器发送6次下载请求,从而将该5.5M字节的视频存储为6个视频分片文件,其中第一个至第五个视频分片文件分别对应第1M字节到第5M字节,最后一个视频分片文件对应剩余的0.5M字节。
本公开的一些实施例中,视频分片规则或视频分片阈值默认配置在终端中,进一步地,该默认配置的视频分片规则或视频分片阈值能够被视频服务器所知。在另一些实施例中,视 频分片规则或视频分片阈值由终端设置,比如终端能够提供视频分片规则设置界面,由用户设置视频分片阈值。
在另一些实施例中,视频分片规则或视频分片阈值由终端基于所请求的视频的数据量大小设置,或者,视频分片规则或视频分片阈值由终端基于本地存储的存储空间信息设置,或者,视频分片规则或视频分片阈值由终端基于所请求的视频的数据量大小以及本地存储的存储空间信息设置。比如,终端能够基于所请求的目标视频的数据量大小来设置相匹配的视频分片阈值,对于数据量较小的目标视频设置较小的视频分片阈值,对于数据量较大的视频设置较大的视频分片阈值;再比如,终端能够基于本地存储的存储空间信息(即本地存储空间的大小)来设置相匹配的视频分片阈值,若本地存储空间较大,则设置较大的视频分片阈值,若本地存储空间较小,则设置较小的视频分片阈值,这样,在用户仅请求播放目标视频的部分视频数据的情况下,能够节省本地存储空间。
参见图2,根据一示例性实施例示出的一种视频获取方法的流程示意图,如图所示,该流程可包括如下步骤:
S201:终端响应于视频播放操作,确定目标视频的第一起始位置。
其中,该视频播放操作用于触发目标视频的播放,比如,该视频播放操作是用于请求观看目标视频的用户操作,比如,在一些场景中,当终端的应用程序界面中所显示的视频资源图标被触发后(比如用户点击了该视频资源图标),能够触发对该目标视频的播放。在另一些实现方式中,该视频播放操作用于在播放过程中对播放的视频进行播放控制,比如,在一些场景中,当视频播放界面中用于控制视频播放进度的功能选项被触发后(比如点击快进按钮或者拖动进度条上的滑块),则能够触发从相应位置或者以相应倍速播放目标视频。
终端获取到针对目标视频的视频播放操作后,能够确定该目标视频第一起始位置。
其中,确定得到的第一起始位置有可能是目标视频的起始位置(比如第一个帧或第一个字节的位置),也可能是其他位置。在一些实施例中,终端获取目标视频的播放起始位置,基于该播放起始位置和视频分片阈值,确定目标视频的第一起始位置。其中,播放起始位置基于视频播放操作确定,比如,在视频播放操作是请求从视频开始位置播放视频的情况下(如用户点击“播放”控制键),则播放起始位置为该视频的起始位置;再比如,在视频播放操作是请求从视频中间的某个位置开始播放的情况下(如用户拖动视频播放进度条上的滑块到某一位置),则视频中间的这个位置即为播放起始位置。
以视频播放操作为用户拖动视频播放进度条上的滑块为例,在视频播放界面中用于控制视频播放进度的功能选项被触发的情况下(比如点击快进按钮或者拖动进度条上的滑块), 终端能够基于该功能选项被触发的情况,来确定第一起始位置。举例来说,如果用于控制视频播放进度的进度条上的滑块被拖动到目标视频的中间位置,则终端基于该中间位置以及视频分片阈值,来确定第一起始位置。
在一些实施例中,在基于用户拖动进度条上的滑块所得到的位置以及视频分片阈值,来确定目标视频的第一起始位置时,该滑块所在的位置可能位于一个视频分片所对应的区间内,这种情况下,终端将该视频分片所对应的区间的起始位置或截止位置确定为第一起始位置。比如,以视频分片阈值为1M字节为例,终端在获取到目标视频为5M字节的情况下,能够确定该5M字节大小的视频对应5个视频分片(也即是,该目标视频被存储为5个视频分片或视频分片文件),分别对应于第1M字节到第5M字节,每个视频分片为1M字节大小。在用户拖动进度条上的滑块到第3M字节和第4M字节之间的某个位置的情况下,比如第3.5M字节的位置,则终端能够确定第一起始位置为第3M字节的起始位置。
其中,在一些实施例中,终端能够通过以下方式获取到目标视频的数据量大小:当用户选择播放目标视频时,终端响应于上述视频播放操作,向视频服务器发送请求,以获取该目标视频的信息,目标视频的信息包括该目标视频的数据量大小。在另一些实施例中,终端先发送一个下载请求,以下载一个视频分片大小的视频数据(比如第1M字节的视频数据),视频服务器能够在返回给终端的视频数据中,携带该目标视频的数据量大小。
在本公开的一些实施例中,目标视频的第一起始位置,使用时间参数、视频帧编号或者字节所在位置(比如第X个字节或终端划分的第Y个视频分片)来标识。这几种用于标识第一起始位置的参数之间,能够基于目标视频的相关参数(比如总长度、帧率、一帧的视频数据量等),进行相互转换,本公开的实施例对转换算法不做限制。
S202:终端基于目标视频的第一起始位置,发送第一下载请求,该第一下载请求用于下载第一视频数据,该第一视频数据以第一起始位置开始,且该第一视频数据的数据量不大于视频分片阈值。
在一些实施例中,终端基于目标视频的第一起始位置,向视频服务器发送第一下载请求。
其中,第一下载请求所要下载的视频数据的数据量不大于视频分片阈值。由于视频分片阈值由终端设置(比如,视频分片阈值由终端上的视频分片规则定义),因此,基于该第一下载请求所得到的第一视频数据满足该视频分片规则所定义的视频分片阈值的要求,也就是说,基于该第一下载请求,能够下载得到满足终端要求的数据量大小的第一视频分片,该第一视频分片的起始位置为上述第一起始位置。
需要说明的是,目标视频的最后一个视频分片的数据量可能小于该视频分片阈值。
以视频分片阈值等于1M字节,该目标视频的长度为5.5M字节为例,在一些场景中,如 果该步骤中的第一起始位置为目标视频的起始位置,则终端下载的是该目标视频的第1M字节的视频数据(即终端划分的第一个视频分片);在另一些场景中,如果该步骤中用户拖动播放进度条中的滑块,以使滑块位于目标视频的第3M字节的起始位置,则第3M字节的起始位置为第一起始位置,则终端下载的是该目标视频的第3M字节(即终端划分的第三个视频分片);在另一些场景中,如果用户拖动播放进度条中的滑块,以使滑块位于目标视频的第5M字节的起始位置,则第5M字节的起始位置为第一起始位置,则终端下载的是该目标视频数据中从第5M字节开始的0.5M字节的视频数据(即终端划分的第六个视频分片)。
在一些实施例中,第一下载请求携带有以该目标视频的第一起始位置开始的视频分片的指示信息。通过该指示信息能够使得视频服务器获知终端所请求的视频分片,从而能够将终端所请求的视频分片发送给该终端。该方法适用于视频服务器能够获知终端侧的视频分片规则的情况,视频服务器能够基于终端侧的视频分片规则,确定视频分片阈值,进而基于终端发送的下载请求,将目标视频中相应位置且满足该视频分片阈值(即数据量不大于该视频分片阈值)的视频数据发送给终端。
在一些实施例中,第一下载请求中的视频分片的指示信息包括该视频分片在目标视频对应的所有视频分片中的索引。比如,以视频分片大小为1M字节,目标视频的长度为5M字节为例,该目标视频对应5个视频分片,索引值分别为1-5,在当前请求要下载的是以第2M字节的起始位置为第一起始位置的视频分片的情况下,第一下载请求中携带第二个视频分片的索引值2,以指示该第一下载请求用于下载第二个视频分片。通过该视频分片的索引,使得视频服务器能够获得该目标视频的相应视频分片,从而将该视频分片发送给该终端。该方法适用于视频服务器能够获知终端侧的视频分片规则的情况,视频服务器能够根据终端侧的视频分片规则确定视频分片阈值,基于终端发送的下载请求,将目标视频中相应位置且满足该视频分片阈值要求(即数据量不大于该视频分片阈值)的视频数据发送给终端。
在一些实施例中,第一下载请求中的视频分片的指示信息包括第一起始位置的指示信息以及视频分片阈值信息。比如,以视频分片阈值为1M字节,目标视频的长度为5M字节为例,在当前请求要下载的是以第2M字节的起始位置为第一起始位置的视频分片的情况下,第一下载请求中携带参数(2,1),其中,“2”表示本次请求要下载的起始位置为第2M字节的起始位置,“1”表示从“2”所指示的位置开始下载1M字节的视频数据。通过第一起始位置的指示信息以及视频分片阈值信息,使得视频服务器能够根据该起始位置以及视频分片阈值,获取目标视频中相应位置的视频数据,从而将该视频数据发送给该终端。该方法能够应用于视频分片阈值未发生变化的情况,或者,该方法能够应用于视频分片阈值发生更新的情况,通过下载请求中的视频分片阈值,视频服务器能够将以该起始位置开始且满足该视频 分片阈值要求的视频数据发送给终端。
在一些实施例中,第一下载请求中的视频分片的指示信息包括第一起始位置的指示信息和第一截止位置的指示信息,该第一起始位置和该第一截止位置所指示的视频数据的数据量满足视频分片阈值要求,即数据量不大于视频分片阈值。比如,以视频分片大小为1M字节,目标视频的长度为5M字节为例,在当前请求要下载的是以第2M字节的起始位置为第一起始位置的视频分片的情况下,第一下载请求中携带参数(2,3),其中,“2”表示本次请求下载的起始位置为第2M字节的起始位置,“3”表示本次请求下载的截止位置为第3M字节的起始位置(也即第2M字节的截止位置),该起始位置和截止位置对应的区间与该目标视频的第2个视频分片对应,该第2个视频分片的大小为1M字节。该方法适用于视频服务器能够获知或者无法获知终端侧的视频分片规则的情况。
在一些实施例中,上述用于指示第一起始位置和第一截止位置的指示信息,是时间戳、视频帧号或字节位置(如第几个字节),本公开对此不做限制。这些类型的参数之间能够相互转化,比如能够基于播放速率、帧率、一个视频帧的数据量等参数,将视频帧号转化为字节位置。
以上仅示例性列出了第一下载请求中可能携带的指示信息,使得视频服务器能够基于根据第一下载请求,确定出要下载的视频数据的位置和大小的指示信息,均在本公开的保护范围内。
S203:终端将第一视频数据存储为第一视频分片。
在一些实施例中,终端接收视频服务器发送的第一视频数据,进而将该第一视频数据存储为第一视频分片,由于第一视频数据是以第一起始位置开始的,因而,第一视频分片也是以第一起始位置开始的。
该步骤中,终端从视频服务器接收的第一视频数据,还被缓存到播放器的缓冲区中,以便播放器能够从缓冲区中获取视频数据,进而在播放窗口中播放视频数据。
该步骤中,终端获得第一视频分片后,采用压缩格式存储该第一视频分片,以得到对应的第一视频分片文件,从而节省存储空间。
在本公开的一些实施例中,为了节省网络开销,终端在获取第一视频数据之前,检测本地存储中是否存储有以第一起始位置开始的视频分片,在本地存储中存储有以第一起始位置开始的视频分片的情况下,终端从本地获取该视频分片,在本地存储中未存储有以上述第一起始位置开始的视频分片的情况下,再请求从网络侧获取第一视频数据,该第一视频数据以第一起始位置开始,且该第一视频数据的数据量不大于视频分片阈值。
在一些实施例中,在S202之前,终端能够根据目标视频的第一起始位置,获取本地存储 的以第一起始位置开始的视频分片;在本地存储中未获取到以上述第一起始位置开始的视频分片的情况下,终端基于第一起始位置,向视频服务器发送第一下载请求,并将基于第一下载请求获取到的第一视频数据存储为第一视频分片;在本地存储中获取到以上述第一起始位置开始的视频分片的情况下,终端播放从本地获取到的视频分片。
例如,以一个视频分片为1M字节为例,终端当前需要获取目标视频的第3M字节的视频数据(即终端划分的第3个视频分片),则终端首先从本地存储中查找是否存在该视频分片对应的视频分片文件(即用于存储第3个视频分片的文件),在本地存储有该视频分片文件的情况下,终端将该视频分片文件加载到内存(如加载到播放器的缓冲区),以便播放该视频分片文件;在本地未存储有该视频分片文件的情况下,终端发送下载请求,以便从视频服务器获取该目标视频的第3M字节的视频数据(即终端划分的第3个视频分片),在接收到该目标视频的第3M字节的视频数据(即终端划分的第3个视频分片)的情况下,将接收到的视频数据缓存到播放器的缓冲区,并将接收到的视频数据保存到本地,得到对应的一个视频分片文件。
根据上述流程获得以第一起始位置开始的视频分片所对应的视频分片文件后,在未满足结束播放条件(比如用户未触发停止播放控制操作或者该目标视频未播放完成)的情况下,终端基于目标视频的第二起始位置,向视频服务器发送第二下载请求,第二下载请求用于下载第二视频数据,该第二视频数据以该第二起始位置开始,且该第二视频数据的数据量不大于视频分片阈值。终端接收视频服务器基于第二下载请求所发送的第二视频数据,并将该第二视频数据存储为第二视频分片,由于第二视频数据是以第二起始位置开始的,因而,第二视频分片也是以第二起始位置开始的。其中,第二起始位置为该第一视频分片的结束位置。通过该处理操作,能够持续从网络侧获取视频数据,且每次获取的视频数据的数据量与视频分片阈值匹配,在保证目标视频播放的情况下,能够将下载得到的视频数据存储为一个一个的视频分片文件。
例如,以一个视频分片文件为1M字节为例,终端从视频服务器下载得到目标视频的第3M字节的视频数据后,该目标视频尚未播放完成,则终端再次向视频服务器发送下载请求,以下载该目标视频的第4M字节的视频数据(即终端划分的第四个视频分片),进而在接收到该第四个视频分片后,将该第四个视频分片存储为一个视频分片文件。其中,再次发送的下载请求中的起始位置是上一个下载请求所下载的第三个视频分片的结束位置,其中,第三个视频分片的结束位置也即第四个视频分片的起始位置。在本例子中,上一个下载请求所请求获取的目标视频的起始位置为第3M字节的起始位置,目标位置为第3M字节的结束位置,因此能够确定再次发送下载请求时,从第4M字节的起始位置开始,来获取视频数据。
上述过程中,终端能够基于播放器的缓冲区状态发送视频下载请求。比如,终端在发送第一下载请求后,播放器的缓冲区的占用率为50%,高于设定的门限(比如该门限为20%),则暂时不发送第二视频下载请求。随着时间推移,播放器的缓冲区内的数据被播放器播放,该缓冲区的占用率逐渐下降,当下降到该门限或该门限以下时(比如下降到20%或20%以下),则发送第二视频下载请求。
在一些实施例中,终端向视频服务器发送第二下载请求之前,还能够基于目标视频的第二起始位置,在本地存储中查找是否存在以第二起始位置开始的视频分片,再本地存储中不存在以第二起始位置开始的视频分片的情况下,终端基于第二起始位置,向视频服务器发送第二下载请求;在本地存储中存在以第二起始位置开始的视频分片的情况下,终端从本地存储中获取相应的视频分片,进而播放从本地存储中获取到的视频分片。通过该方法能够节省网络开销。
在一些实施例中,在未满足结束播放条件之前,按照上述流程,获取视频数据并播放视频数据,并在视频数据是从网络侧下载得到的情况下,进一步将视频数据存储为视频分片文件,直到满足结束播放条件为止。
根据上述流程,以目标视频的长度为5M字节为例,如果用户从该目标视频的起始位置开始播放直到播放完成,且播放期间没有触发任何操作(比如拖动播放进度条上的滑块),则根据上述流程,该目标视频的视频数据被存储为5个视频分片文件,该5个视频分片文件分别存储该目标视频对应的视频分片1到视频分片5,每个视频分片为1M字节。在一些实施例中,在视频分片文件采用压缩格式的情况下,一个视频分片文件的大小可能小于1M字节。
仍以目标视频的长度为5M字节为例,在用户从该目标视频的第3M字节开始播放(比如用户通过拖动进度条上的滑块到第3M字节的位置)的情况下,根据上述流程,该目标视频的视频数据被存储为3个视频分片文件,该3个视频分片文件分别存储该目标视频对应的5个视频分片中的第3个到第5个视频分片,每个视频分片为1M字节。在一些实施例中,在视频分片文件采用压缩格式的情况下,一个视频分片文件的大小可能小于1M字节。
通过上述流程能够看出,终端基于目标视频的播放起始位置,向视频服务器发送下载请求,用于下载以该起始位置开始、且数据量不大于视频分片阈值的视频数据,并在接收视频服务器基于该下载请求所发送的视频数据后,将接收到的视频数据存储为视频分片或视频分片文件,该视频分片或视频分片文件以起始位置开始,实现了从播放起始位置开始下载数据,与从目标视频的起始位置开始下载数据相比,能够节省网络带宽,还能够省存储空间,并且能够提高响应速度,进而提高播放性能,为用户提供更好的观看感受。
在本公开的一些实施例中,能够定义视频分片文件的命名规则,使得视频分片文件的文 件名能够指示相应的视频以及视频分片在该视频中的位置。其中,一个视频分片文件的文件名称中包含视频的指示信息以及视频分片的位置信息,进一步地,还包括视频分片总个数的指示信息。
其中,视频的指示信息,用于指示视频分片文件所属的视频。在一些实施例中,一个视频使用该视频的统一资源定位标识符(uniform resource locator,URL)进行标识。URL的长度通常较长,本公开的一些实施例中,采用设定的算法(比如摘要算法),对视频的URL进行运算,得到对应的固定长度的字符串(该字符串的长度小于URL的长度),并将该字符串作为视频分片文件的文件名称中视频的指示信息。由于视频分片文件的文件名中用于指示视频的字符串与视频的URL存在对应关系,因此该字符串能够用于标识对应的视频。本公开的实施例对于上述算法不做限制。
视频分片的位置信息,用来指示视频分片在其所属的视频中的位置,比如是视频对应的第几个视频分片。在一些实施例中,视频分片的位置信息用视频分片的位置索引表示,该视频分片的位置索引用于指示视频分片在该目标视频对应的所有视频分片中的位置。例如,视频分片的位置信息用数字表示,用于表示一个视频分片的序号(即索引)。比如,一个视频分片文件的文件名中视频分片的位置信息为“10_3”,其中,“10”表示根据终端的视频分片规则,该视频中包含的视频分片的总数,“3”表示该视频分片是该10个视频分片中的第三个。
进一步地,视频分片文件的文件名中还包括该目标视频对应的视频分片总个数的指示信息,该目标视频对应的视频分片总个数的指示信息能够指示视频的总长度信息。
一个视频分片文件的文件名中的各组成部分之间用分隔符(比如下划线,或其他类似的分隔符)进行分隔。举例来说,一个视频分片文件的文件名称为:
1234ABCD_10_3
其中,“1234ABCD”是视频的指示信息,是采用摘要算法对该视频的URL进行运算得到的;“10”表示该视频的视频分片数量为10,“3”表示该视频分片是该视频的10个分片中的第3个。
在另一些实施例中,定义视频分片文件的存储结构以及命名规则,使得视频分片文件的存储结构以及命名规则,能够指示出相应的视频以及视频分片在该视频中的位置。比如,同一视频的视频分片文件存储在对应的一个文件夹中,不同视频的视频分片文件存储在不同的文件夹中。文件夹的命名包括视频的指示信息(该指示信息与视频的URL对应,在一些实施例中,该指示信息根据前述实施例的方式计算得到),视频的视频分片文件的文件名中还包括视频分片的位置信息。
在一些实施例中,视频分片的规则可能需要更新,比如需要更新视频分片阈值的大小,即更新一个视频分片所包含的视频数据的数据量。相应的,视频分片文件的文件名中还包括版本号信息,用于标识对应的视频分片规则或视频分片阈值,该视频分片规则用于指示视频分片的数据量。比如,版本号v1对应的视频分片规则中,视频分片阈值为1M字节,版本号v2对应的视频分片规则中,视频分片阈值为2M字节。
在一些实施例中,在获取到的目标视频相应位置对应的视频分片文件的文件名中的版本号信息所指示的视频分片规则(如视频分片阈值),与当前的视频分片规则(如视频分片阈值)不同的情况下,根据目标视频的起始位置,按照当前使用的视频分片规则(如视频分片阈值),从视频服务器获取满足当前使用的视频分片规则(如视频分片阈值)要求的视频数据,存储获取到的视频数据,得到对应的视频分片,并播放获取到的视频数据。其中每个视频分片的数据量大小不超过当前的视频分片阈值,并在存储视频分片文件时,使得视频分片文件的文件名中的版本号信息为当前的视频分片规则(如视频分片阈值)对应的版本号信息。在一些实施例中,在下载请求中指示出当前使用的视频分片阈值。
在本公开的一些实施例中,将视频分片文件存储到终端本地文件系统中。例如,将视频分片文件存储到非易失性存储介质(比如磁盘)中。
在本公开的另一些实施例中,基于上述图2所示的流程,示出了一种应用场景下的实现流程。如图3所示,该流程包括如下步骤:
S301:终端响应于视频播放操作,获取目标视频的起始位置。
该步骤的具体实现方式参见前述实施例,在此不再重复。
S302:终端根据目标视频的起始位置,查询本地存储中是否存储有以该起始位置开始的视频分片,在本地存储中未存储有以该起始位置开始的视频分片的情况下,转入S303,否则转入S305。
其中,在本地存储中未存储有以该起始位置开始的视频分片的情况下,相应地,终端无法从本地存储中获取到相应的视频分片,而导致终端未能在本地存储中获取到相应视频分片的原因,可能是本次为初次播放该目标视频,也可能是之前已经播放过该目标视频,但由于间隔时间较长,曾经存储的该目标视频的视频分片被清除掉了。
在一些实施例中,在本地存储中存储有相应的视频分片,但其版本号信息所指示的视频分片阈值与当前的视频分片阈值不同的情况下,转入S303,以便重新下载该目标视频数据,从而按照当前的视频分片阈值,对该目标视频进行分片。
在一些实施例中,该步骤中根据视频分片文件的命名,查询目标视频对应的视频分片文件,并确定视频分片文件所对应的视频分片。比如,以目标视频为5M字节,一个视频分片 文件为1M字节为例,终端当前需要获取目标视频的第3个视频分片,而本地存储中存储有该目标视频对应的2个视频分片文件,其中一个分片文件的文件名包括“5_4”(表示5个视频分片中的第4个视频分片),另一个视频分片文件的文件名包括“5_5”(表示5个视频分片中的第5个视频分片),则终端根据该2个视频分片文件的文件名,判断出本地存储中仅存储有该目标视频的第4和视频分片和第5个视频分片,未存储有第3个视频分片,因此,终端从视频服务器获取该目标视频的第3个视频分片。
S303:终端根据目标视频的起始位置,发送下载请求,该下载请求用于下载以该起始位置开始、且数据量不大于视频分片阈值的视频数据,存储获取到的视频数据,得到以该起始位置开始的视频分片。
该步骤的具体实现方式可参见前述实施例,在此不再重复。
S304:终端将获取到的视频分片缓存到播放器的缓冲区,以提供给播放器播放。
S305:终端将从本地存储中获取到的视频分片加载到播放器的缓冲区,以提供给播放器播放。
基于相同的发明构思,本公开的实施例还提供一种终端,该终端可实现上述实施例提供的视频获取流程。
如图4所示,该终端包括:位置确定模块41、下载请求模块42、存储模块43。
确定模块41,被配置为响应于视频播放操作,确定目标视频的第一起始位置;
发送模块42,被配置为发送第一下载请求,该第一下载请求用于下载第一视频数据,该第一视频数据以该第一起始位置开始,且该第一视频数据的数据量不大于视频分片阈值;
存储模块43,被配置为将该第一视频数据存储为第一视频分片。
在一些实施例中,该确定模块41被配置为:响应于视频播放操作,获取目标视频的播放起始位置,基于该播放起始位置和视频分片阈值,确定该目标视频的第一起始位置。
在一些实施例中,该发送模块42被配置为:在本地存储中未存储有以该第一起始位置开始的视频分片的情况下,发送该第一下载请求。
在一些实施例中,该发送模块42还被配置为:在未满足结束播放条件的情况下,发送第二下载请求,该第二下载请求用于下载第二视频数据,该第二视频数据以该第二起始位置开始,且该第二视频数据的数据量不大于视频分片阈值;其中,该第二起始位置为该第一视频分片的结束位置;存储模块43被进一步配置为:将该第二视频数据存储为第二视频分片。
在一些实施例中,该发送模块42被配置为:在本地存储中未存储有以该第二起始位置开始的视频分片的情况下,发送该第二下载请求。
在一些实施例中,该视频分片阈值通过以下任意一种方式确定:
该视频分片阈值由该终端基于目标视频的数据量大小确定;
该视频分片阈值由该终端基于本地存储的存储空间信息确定;
该视频分片阈值由该终端基于目标视频的数据量大小和本地存储的存储空间信息确定。
在一些实施例中,该视频分片文件的文件名包括以下信息:
该目标视频的指示信息;
视频分片的位置索引,该视频分片的位置索引用于指示视频分片在该目标视频对应的所有视频分片中的位置。
在一些实施例中,该视频分片文件的文件名中还包括:该目标视频对应的视频分片总个数的指示信息。
在一些实施例中,该视频分片文件的文件名中还包括:版本号信息,该版本号信息用于标识对应的视频分片规则,该视频分片规则用于指示视频分片的数据量。
关于上述图4所示的终端,其中各个组成部分所执行的操作以及所实现的功能的具体内容,参见上述实施例中所提供的视频获取流程中的相关描述,此处将不做详细阐述说明。
基于相同的技术构思,本公开的实施例还提供了一种终端。
图5是根据一示例性实施例示出的一种终端500的框图,该终端包括:处理器501、用于存储处理器501可执行指令的存储器502。其中,处理器501被配置为执行指令,以实现本公开的实施例中任意一种视频获取方法。
在本公开的实施例中还提供一种终端,其结构如图6所示,本公开的实施例给出一种终端设备800,包括:射频(Radio Frequency,RF)电路810、电源820、处理器830、存储器840、输入单元850、显示单元860、摄像头870、通信接口880、以及无线保真(Wireless Fidelity,Wi-Fi)模块890等部件。本领域技术人员能够理解,图6中示出的终端的结构并不构成对终端的限定,在一些实施例中,本公开的实施例提供的终端包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图6对终端设备800的各个构成部件进行具体的介绍:
RF电路810用于通信或通话过程中,数据的接收和发送。在一些实施例中,RF电路810在接收到基站的下行数据后,发送给处理器830处理;另外,RF电路810将待发送的上行数据发送给基站。通常,RF电路810包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。
此外,RF电路810还能够通过无线通信与网络和其他终端通信。无线通信能够使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division  Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
Wi-Fi技术属于短距离无线传输技术,终端设备800通过Wi-Fi模块890能够连接接入点(Access Point,AP),从而实现数据网络的访问。Wi-Fi模块890能够用于通信过程中,数据的接收和发送。
终端设备800能够通过通信接口880与其他终端实现物理连接。在一些实施例中,通信接口880与其他终端的通信接口通过电缆连接,实现终端设备800和其他终端之间的数据传输。
由于在本公开的实施例中,终端设备800能够通过与网络侧的交互,来请求观看网络视频直播,并从网络侧拉取网络直播数据,因此终端设备800具有数据传输功能,即终端设备800内部包含通信模块。虽然图6示出了RF电路810、Wi-Fi模块890、和通信接口880等通信模块,但是能够理解的是,终端设备800中存在上述部件中的至少一个或者其他用于实现通信的通信模块(如蓝牙模块),以实现数据传输。
例如,在终端设备800为手机的情况下,终端设备800包含RF电路810,还包含Wi-Fi模块890;在终端设备800为计算机的情况下,终端设备800包含通信接口880,还包含Wi-Fi模块890;在终端设备800为平板电脑的情况下,终端设备800包含Wi-Fi模块。
存储器840能够用于存储软件程序以及模块。处理器830通过运行存储在存储器840的软件程序以及模块,从而执行终端设备800的各种功能应用以及数据处理,并且在处理器830执行存储器840中的程序代码的情况下,能够实现本公开的实施例图2或图3中的部分或全部过程。
在一些实施例中,存储器840主要包括存储程序区和存储数据区。其中,存储程序区能够存储操作系统、各种应用程序(比如通信应用)以及人脸识别模块等;存储数据区能够存储根据终端的使用所创建的数据(比如各种图片、视频文件等多媒体文件,以及人脸信息模板)等。
此外,存储器840包括高速随机存取存储器,还包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元850能够用于接收用户输入的数字或字符信息,以及产生与终端设备800的用户设置以及功能控制有关的键信号输入。
在一些实施例中,输入单元850包括触控面板851以及其他输入终端852。
其中,触控面板851,也称为触摸屏,能够收集用户在其上或附近的触摸操作(比如用 户使用手指、触笔等任何适合的物体或附件,在触控面板851上或在触控面板851附近的操作),并根据预先设定的程式驱动相应的连接装置。在一些实施例中,触控面板851包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器830,并能接收处理器830发来的命令并加以执行。此外,在一些实施例中,采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板851。
在一些实施例中,其他输入终端852包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一个或多个。
显示单元860能够用于显示由用户输入的信息、提供给用户的信息以及终端设备800的各种菜单。显示单元860即为终端设备800的显示系统,用于呈现界面,实现人机交互。
显示单元860包括显示面板861。在一些实施例中,显示面板861采用液晶显示屏(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置。
进一步的,触控面板851能够覆盖显示面板861,在触控面板851检测到在其上或附近的触摸操作的情况下,传送给处理器830,以确定触摸事件的类型,随后处理器830根据触摸事件的类型,在显示面板861上提供相应的视觉输出。
虽然在图6中,触控面板851与显示面板861是作为两个独立的部件,来实现终端设备800的输入和输入功能,但是在某些实施例中,将触控面板851与显示面板861集成,以实现终端设备800的输入和输出功能。
处理器830是终端设备800的控制中心,利用各种接口和线路连接各个部件,通过运行或执行存储在存储器840内的软件程序和/或模块,以及调用存储在存储器840内的数据,执行终端设备800的各种功能和处理数据,从而实现基于终端的多种业务。
在一些实施例中,处理器830包括一个或多个处理单元。在一些实施例中,处理器830能够集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。能够理解的是,在另一些实施例中,上述调制解调处理器不集成到处理器830中。
摄像头870,用于实现终端设备800的拍摄功能,拍摄图片或视频。摄像头870还能够用于实现终端设备800的扫描功能,对扫描对象(二维码/条形码)进行扫描。
终端设备800还包括用于给各个部件供电的电源820(比如电池)。在一些实施例中,电源820能够通过电源管理系统与处理器830逻辑相连,从而通过电源管理系统实现管理充 电、放电、以及功耗等功能。
需要说明的是,本公开的实施例处理器830能够执行图5中处理器501的功能,存储器840存储存储器502中的内容。
在本公开的示例性实施例中,还提供了一种包括指令的计算机可读存储介质,上述指令能够由终端500的处理器501执行以完成上述方法。在一些实施例中,计算机可读存储介质是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质是只读存储器(Read Only Memory image,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
本公开的实施例还提供一种计算机程序产品,当计算机程序产品在终端上运行时,使得该终端执行实现本公开的实施例上述任意一项的视频获取方法或其可能涉及的方法。
本公开所有实施例均能够单独被执行,还能够与其他实施例相结合被执行,均视为本公开要求的保护范围。

Claims (20)

  1. 一种视频获取方法,包括:
    响应于视频播放操作,确定目标视频的第一起始位置;
    发送第一下载请求,所述第一下载请求用于下载第一视频数据,所述第一视频数据以所述第一起始位置开始,且所述第一视频数据的数据量不大于视频分片阈值;
    将所述第一视频数据存储为第一视频分片。
  2. 如权利要求1所述的方法,其中,所述响应于视频播放操作,确定目标视频的第一起始位置,包括:
    响应于视频播放操作,获取目标视频的播放起始位置,基于所述播放起始位置和视频分片阈值,确定所述第一起始位置。
  3. 如权利要求1所述的方法,其中,所述发送第一下载请求,包括:
    在本地存储中未存储有以所述第一起始位置开始的视频分片的情况下,发送所述第一下载请求。
  4. 如权利要求1所述的方法,其中,还包括:
    在未满足结束播放条件的情况下,发送第二下载请求,所述第二下载请求用于下载第二视频数据,所述第二视频数据以第二起始位置开始,且所述第二视频数据的数据量不大于视频分片阈值,其中,所述第二起始位置为所述第一视频分片的结束位置;
    将所述第二视频数据存储为第二视频分片。
  5. 如权利要求4所述的方法,其中,所述发送第二下载请求,包括:
    在本地存储中未存储有以所述第二起始位置开始的视频分片的情况下,发送所述第二下载请求。
  6. 根据权利要求1-5任一项所述的方法,其中,所述视频分片阈值通过以下任意一种方式确定:
    所述视频分片阈值由所述终端基于目标视频的数据量大小确定;
    所述视频分片阈值由所述终端基于本地存储的存储空间信息确定;
    所述视频分片阈值由所述终端基于目标视频的数据量大小和本地存储的存储空间信息确定。
  7. 一种终端,其中,包括:
    确定模块,被配置为响应于视频播放操作,确定目标视频的第一起始位置;
    发送模块,被配置为发送第一下载请求,所述第一下载请求用于下载第一视频数据,所 述第一视频数据以所述第一起始位置开始,且所述第一视频数据的数据量不大于视频分片阈值;
    存储模块,被配置为将所述第一视频数据存储为第一视频分片。
  8. 如权利要求7所述的终端,其中,所述确定模块被配置为:
    响应于视频播放操作,获取目标视频的播放起始位置,基于所述播放起始位置和视频分片阈值,确定所述第一起始位置。
  9. 如权利要求7所述的终端,其中,所述发送模块被配置为:
    在本地存储中未存储有以所述第一起始位置开始的视频分片的情况下,发送所述第一下载请求。
  10. 如权利要求7所述的终端,其中,所述发送模块还被配置为:
    在未满足结束播放条件的情况下,发送第二下载请求,所述第二下载请求用于下载第二视频数据,所述第二视频数据以所述第二起始位置开始,且所述第二视频数据的数据量不大于视频分片阈值;其中,所述第二起始位置为所述第一视频分片的结束位置;
    所述存储模块还被配置为:
    将所述第二视频数据存储为第二视频分片。
  11. 如权利要求10所述的终端,其中,所述发送模块被配置为:
    在本地存储中未存储有以所述第二起始位置开始的视频分片的情况下,发送所述第二下载请求。
  12. 根据权利要求7-11任一项所述的终端,其中,所述视频分片阈值通过以下任意一种方式确定:
    所述视频分片阈值由所述终端基于目标视频的数据量大小确定;
    所述视频分片阈值由所述终端基于本地存储的存储空间信息确定;
    所述视频分片阈值由所述终端基于目标视频的数据量大小和本地存储的存储空间信息确定。
  13. 一种终端,其中,包括:
    处理器;
    用于存储所述处理器可执行指令的存储器;
    其中,所述处理器被配置为执行所述指令,以实现下述步骤:
    响应于视频播放操作,确定目标视频的第一起始位置;
    发送第一下载请求,所述第一下载请求用于下载第一视频数据,所述第一视频数据以所 述第一起始位置开始,且所述第一视频数据的数据量不大于视频分片阈值;
    将所述第一视频数据存储为第一视频分片。
  14. 如权利要求13所述的终端,其中,所述处理器被配置为执行所述指令,以实现下述步骤:
    响应于视频播放操作,获取目标视频的播放起始位置,基于所述播放起始位置和视频分片阈值,确定所述第一起始位置。
  15. 如权利要求13所述的终端,其中,所述处理器被配置为执行所述指令,以实现下述步骤:
    在本地存储中未存储有以所述第一起始位置开始的视频分片的情况下,发送所述第一下载请求。
  16. 如权利要求13所述的终端,其中,所述处理器被配置为执行所述指令,以实现下述步骤:
    在未满足结束播放条件的情况下,发送第二下载请求,所述第二下载请求用于下载第二视频数据,所述第二视频数据以第二起始位置开始,且所述第二视频数据的数据量不大于视频分片阈值,其中,所述第二起始位置为所述第一视频分片的结束位置;
    将所述第二视频数据存储为第二视频分片。
  17. 如权利要求16所述的终端,其中,所述处理器被配置为执行所述指令,以实现下述步骤:
    在本地存储中未存储有以所述第二起始位置开始的视频分片的情况下,发送所述第二下载请求。
  18. 如权利要求13-16任一项所述的终端,其中,所述处理器被配置为执行所述指令,以确定所述视频分片阈值;
    其中,所述视频分片阈值通过以下任意一种方式确定:
    所述视频分片阈值由所述终端基于目标视频的数据量大小确定;
    所述视频分片阈值由所述终端基于本地存储的存储空间信息确定;
    所述视频分片阈值由所述终端基于目标视频的数据量大小和本地存储的存储空间信息确定。
  19. 一种计算机可读存储介质,其中,当所述计算机可读存储介质中的指令由终端的处理器执行时,使得所述终端执行下述步骤:
    响应于视频播放操作,确定目标视频的第一起始位置;
    发送第一下载请求,所述第一下载请求用于下载第一视频数据,所述第一视频数据以所述第一起始位置开始,且所述第一视频数据的数据量不大于视频分片阈值;
    将所述第一视频数据存储为第一视频分片。
  20. 一种计算机程序产品,其中,当所述计算机程序产品在终端上运行时,使得终端执行下述步骤:
    响应于视频播放操作,确定目标视频的第一起始位置;
    发送第一下载请求,所述第一下载请求用于下载第一视频数据,所述第一视频数据以所述第一起始位置开始,且所述第一视频数据的数据量不大于视频分片阈值;
    将所述第一视频数据存储为第一视频分片。
PCT/CN2021/106169 2020-11-04 2021-07-14 视频获取方法及终端 WO2022095502A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP21870555.6A EP4024876A4 (en) 2020-11-04 2021-07-14 VIDEO RECORDING METHOD AND APPARATUS
US17/724,131 US20220239973A1 (en) 2020-11-04 2022-04-19 Method for acquiring videos, and terminal thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011217632.5 2020-11-04
CN202011217632.5A CN112104897B (zh) 2020-11-04 2020-11-04 视频获取方法、终端及存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/724,131 Continuation US20220239973A1 (en) 2020-11-04 2022-04-19 Method for acquiring videos, and terminal thereof

Publications (1)

Publication Number Publication Date
WO2022095502A1 true WO2022095502A1 (zh) 2022-05-12

Family

ID=73784564

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/106169 WO2022095502A1 (zh) 2020-11-04 2021-07-14 视频获取方法及终端

Country Status (4)

Country Link
US (1) US20220239973A1 (zh)
EP (1) EP4024876A4 (zh)
CN (1) CN112104897B (zh)
WO (1) WO2022095502A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112104897B (zh) * 2020-11-04 2021-03-12 北京达佳互联信息技术有限公司 视频获取方法、终端及存储介质
CN112911385B (zh) * 2021-01-12 2021-12-07 平安科技(深圳)有限公司 待识别图片的提取方法、装置、设备以及存储介质
CN113329238B (zh) * 2021-08-03 2021-11-30 武汉中科通达高新技术股份有限公司 视频文件管理方法、装置及服务器
CN114745572B (zh) * 2022-04-14 2023-06-13 中国联合网络通信集团有限公司 视频缓存控制方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103581243A (zh) * 2012-07-27 2014-02-12 永泰软件有限公司 一种海量流媒体存储的系统和方法
CN106559677A (zh) * 2015-09-30 2017-04-05 华为技术有限公司 终端、缓存服务器及获取视频分片的方法及装置
CN107809678A (zh) * 2016-09-09 2018-03-16 阿里巴巴集团控股有限公司 多媒体文件的处理方法、装置和设备
US20190174114A1 (en) * 2017-12-04 2019-06-06 Kt Corporation Generating time slice video
CN112104897A (zh) * 2020-11-04 2020-12-18 北京达佳互联信息技术有限公司 视频获取方法、终端及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100717712B1 (ko) * 2005-11-07 2007-05-11 중앙대학교 산학협력단 다양한 단말기환경에 대한 효과적인 엔브이오디 서비스방법
CN101217638B (zh) * 2007-12-28 2012-10-24 深圳市迅雷网络技术有限公司 视频文件分段下载的方法、系统及装置
CN103826159B (zh) * 2013-12-04 2017-12-19 Tcl集团股份有限公司 一种m3u8格式视频的本地离线播放方法和终端
CN105430425B (zh) * 2015-11-18 2018-11-16 深圳Tcl新技术有限公司 单分片视频播放加速方法及装置
CN105898535A (zh) * 2015-12-30 2016-08-24 乐视致新电子科技(天津)有限公司 提高起播速度的方法、视频播放器及电子装置
CN108668179B (zh) * 2017-03-27 2021-05-14 华为技术有限公司 媒体索引文件的传输方法及相关设备
CN107360254A (zh) * 2017-08-22 2017-11-17 北京奇艺世纪科技有限公司 一种文件下载方法、装置、服务器及终端
CN109640113B (zh) * 2018-12-28 2021-08-27 网宿科技股份有限公司 一种拖拉视频数据的处理方法及代理服务器
CN110213672B (zh) * 2019-07-04 2021-06-18 腾讯科技(深圳)有限公司 视频生成、播放方法、系统、装置、存储介质和设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103581243A (zh) * 2012-07-27 2014-02-12 永泰软件有限公司 一种海量流媒体存储的系统和方法
CN106559677A (zh) * 2015-09-30 2017-04-05 华为技术有限公司 终端、缓存服务器及获取视频分片的方法及装置
CN107809678A (zh) * 2016-09-09 2018-03-16 阿里巴巴集团控股有限公司 多媒体文件的处理方法、装置和设备
US20190174114A1 (en) * 2017-12-04 2019-06-06 Kt Corporation Generating time slice video
CN112104897A (zh) * 2020-11-04 2020-12-18 北京达佳互联信息技术有限公司 视频获取方法、终端及存储介质

Also Published As

Publication number Publication date
EP4024876A4 (en) 2023-01-04
US20220239973A1 (en) 2022-07-28
CN112104897B (zh) 2021-03-12
CN112104897A (zh) 2020-12-18
EP4024876A1 (en) 2022-07-06

Similar Documents

Publication Publication Date Title
WO2022095502A1 (zh) 视频获取方法及终端
KR102301637B1 (ko) 컨텐츠 재생을 위한 클라이언트, 컨텐츠 재생 방법, 컨텐츠 접속 제공 방법, 전자 장치의 컨텐츠 재생 선택 방법 및 컴퓨터 판독가능 기록매체
EP3373587B1 (en) Method, apparatus, and system for switching video live stream to video-on-demand data
CN108737908B (zh) 一种媒体播放方法、装置及存储介质
CN107454416B (zh) 视频流发送方法和装置
JP5650143B2 (ja) ユーザインターフェースの構成
US11153620B2 (en) Media broadcasting method, server, terminal device, and storage medium
EP2075714B1 (en) Apparatus and methods for retrieving/downloading content on a communication device
WO2018184488A1 (zh) 视频配音方法及装置
WO2015096648A1 (zh) 智能电视中的视频分享方法及系统
CN104506937A (zh) 音视频的分享处理方法和系统
CN110753098B (zh) 下载请求执行方法及装置、服务器和存储介质
WO2017185605A1 (zh) 文件管理方法及电子设备
EP3651421B1 (en) Multimedia display method, apparatus, and device
CN113141524B (zh) 资源传输方法、装置、终端及存储介质
JP2016525754A (ja) ウェブページアクセス方法、装置、サーバ、端末、プログラム、及び記録媒体
CN108900855B (zh) 直播内容录制方法、装置、计算机可读存储介质及服务器
WO2014032559A1 (zh) 下载文件的方法和装置
CN109151494A (zh) 多媒体数据传输方法、多媒体采集设备及服务器
EP2990961A1 (en) Method, apparatus, and electronic device for establishing virtual directory
CN112565907A (zh) 视频获取方法、电子设备及存储介质
CN111741352A (zh) 一种投屏控制的方法、投屏播放的方法以及相关装置
US20220095020A1 (en) Method for switching a bit rate, and electronic device
CN109429076B (zh) 多媒体数据的播放卡顿处理方法以及装置
CN110750743A (zh) 一种动画播放方法、装置、设备及存储介质

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2021870555

Country of ref document: EP

Effective date: 20220331

NENP Non-entry into the national phase

Ref country code: DE