WO2022134997A1 - 视频跳转播放方法、装置、终端设备及存储介质 - Google Patents

视频跳转播放方法、装置、终端设备及存储介质 Download PDF

Info

Publication number
WO2022134997A1
WO2022134997A1 PCT/CN2021/132557 CN2021132557W WO2022134997A1 WO 2022134997 A1 WO2022134997 A1 WO 2022134997A1 CN 2021132557 W CN2021132557 W CN 2021132557W WO 2022134997 A1 WO2022134997 A1 WO 2022134997A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
jump
information
playback
play
Prior art date
Application number
PCT/CN2021/132557
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 US18/259,028 priority Critical patent/US20240233767A1/en
Publication of WO2022134997A1 publication Critical patent/WO2022134997A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/005Reproducing at a different information rate from the information rate of recording
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • G06F3/04855Interaction with scrollbars

Definitions

  • the embodiments of the present disclosure relate to the field of computer technologies, and in particular, to a method, an apparatus, a terminal device, a storage medium, and a computer program product for video jump playback.
  • the device buffers a certain amount of video frame data and suspends decoding.
  • the buffered data is consumed by the upper-layer application until there are free buffer bits, the decoding is restarted.
  • the decoder decodes and caches it until the buffer pool is full. This process repeats itself repeatedly, ensuring that the upper layer always has video frame data available.
  • Embodiments of the present disclosure provide a video jump playback method, device, terminal device, storage medium, and computer program product, so as to overcome the problem of video freezes occurring during jump operations and affecting normal video playback.
  • an embodiment of the present disclosure provides a video jump playback method, including:
  • the target video frame is cached in the buffer pool, wherein the second playback node is behind the first playback node; the second jump information input by the user is obtained, if the playback node indicated by the second jump information is The second playing node plays the target video frame in the buffer pool.
  • an embodiment of the present disclosure provides a video jump playback device, including:
  • an acquisition unit configured to acquire the first jump information input by the user, and determine the first play node indicated by the first jump information
  • a prediction unit configured to predict a second play node according to the first jump information, and cache the target video frame corresponding to the second play node in a buffer pool, wherein the second play node is in the After the first play node;
  • a playback unit configured to acquire second jump information input by a user, and if the playback node indicated by the second jump information is the second playback node, play the target video frame in the buffer pool.
  • embodiments of the present disclosure provide a terminal device, including a touch screen, a controller, and a memory, wherein:
  • the touch screen is used to obtain the first jump information input by the user
  • the controller is used to determine the first play node indicated by the first jump information; predict the second play node according to the first jump information, and convert the target video frame corresponding to the second play node. Cached in the memory, wherein the second playback node is after the first playback node;
  • the touch screen is further configured to acquire second jump information input by the user, and if the play node indicated by the second jump information is the second play node, play the target video frame in the memory.
  • embodiments of the present disclosure provide an electronic device, including: at least one processor and a memory;
  • the memory stores computer-executable instructions
  • the at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor executes the video skip playback method described in the first aspect and various possible designs of the first aspect.
  • embodiments of the present disclosure provide a computer-readable storage medium, where computer-executable instructions are stored in the computer-readable storage medium, and when a processor executes the computer-executable instructions, the first aspect and the first The video jump playback method described in the aspect of various possible designs.
  • embodiments of the present disclosure provide a computer program product, including a computer program, which, when executed by a processor, implements the video jump playback method described in the first aspect and various possible designs of the first aspect.
  • an embodiment of the present disclosure provides a computer program that, when executed by a processor, implements the video jump playback method described in the first aspect and various possible designs of the first aspect.
  • the method obtains the first jump information input by the user; determines the first playback information indicated by the first jump information node; according to the first jump information, predict the second playback node, and cache the target video frame corresponding to the second playback node in the buffer pool, wherein the second playback node is in the first playback node After the node; obtain the second jump information input by the user, and if the playback node indicated by the second jump information is the second playback node, play the target video frame in the buffer pool.
  • the target video frame is pre-cached in the buffer pool, when performing video jump playback according to the second jump information, there is no need to perform a real-time decoding process, and the target video frame that has been cached can be directly called for video playback, avoiding the need to perform video playback. It solves the video freeze problem during the jump operation, improves the video playback fluency during video jump playback, and optimizes the user experience.
  • Fig. 1 is an example diagram of a kind of video normal playing process in the prior art
  • Fig. 2 is a kind of example diagram of video jump playing process in the prior art
  • FIG. 3 is a schematic flowchart 1 of a video jump playback method provided by an embodiment of the present disclosure
  • FIG. 4 is a UI schematic diagram of an application program provided by an embodiment of the present disclosure.
  • FIG. 5 is a UI schematic diagram of another application program provided by an embodiment of the present disclosure.
  • FIG. 6 is a second schematic flowchart of a video jump playback method provided by an embodiment of the present disclosure.
  • FIG. 7 is a possible implementation manner of step S203 provided by an embodiment of the present disclosure.
  • FIG. 8 is a schematic diagram of node time information of a jump node according to an embodiment of the present disclosure.
  • FIG. 9 is a schematic diagram of determining a second playback node according to a jump node according to an embodiment of the present disclosure.
  • FIG. 10 is a possible implementation of step S2032 provided by an embodiment of the present disclosure.
  • FIG. 11 is a schematic diagram of determining a second playback node according to an embodiment of the present disclosure.
  • FIG. 12 is a schematic UI diagram of an application program including a preview window according to an embodiment of the present disclosure
  • FIG. 13 is a structural block diagram of a video jump playback device provided by an embodiment of the present disclosure.
  • FIG. 14 is a structural block diagram of a terminal device provided by an embodiment of the present disclosure.
  • FIG. 15 is a structural block diagram of an electronic device provided by an embodiment of the present disclosure.
  • FIG. 1 is an example diagram of a normal video playback process in the prior art.
  • the original video data needs to be decoded before being played.
  • the application usually decodes and plays the video. That is, after the decoder is started, the device will buffer a certain amount of video frame data and suspend decoding. When the buffered data is consumed by the upper-layer application to the point where there are free buffer bits, the decoder will be restarted to decode and buffer until the buffer pool is full. This process is repeated, ensuring that the upper-layer application always has video frame data available.
  • FIG. 2 is an example diagram of a video jump playback process in the prior art.
  • a video needs to be jumped quickly, because the jump operation speed is fast, it takes a certain time for the decoder to decode the video data. , so that the device cannot complete the decoding of the video jumped to the target playback position in time. Therefore, a video freeze occurs after the video jumps, which affects the normal playback or preview of the video, reduces the smoothness of the video playback, and reduces the user experience.
  • Embodiments of the present disclosure provide a video jump playback method to solve the above problems.
  • FIG. 3 is a schematic flow chart 1 of a video jump playback method provided by an embodiment of the present disclosure. The method of this embodiment can be applied to a terminal device.
  • the video jump playback method includes:
  • S101 Obtain first jump information input by a user.
  • the first jump information refers to the instruction information input by the user to the terminal device to adjust the video playback progress during the video playback process, for example, adjust the video playback progress forward to 50%, or, for example, Return the video playback progress to 3 minutes 05 seconds, etc.
  • the specific implementation content of the first jump information is not limited here, and will not be described in detail.
  • the terminal device includes a touch screen, and an application program for playing a video runs on the terminal device.
  • a touch operation is performed on the designated position of the device to control the application to jump to the video playback progress, and the terminal device obtains the control instruction corresponding to the touch operation input by the user through the touch screen, which is the first jump information.
  • performing a touch operation includes dragging or sliding a playback progress bar.
  • FIG. 4 is a schematic UI diagram of an application program provided by an embodiment of the present disclosure. Referring to FIG. 4 , on the UI of the application program A progress bar is provided, and the user can realize the jump of the video by dragging the progress bar forward or backward on the touch screen. The terminal device acquires the corresponding first jump information through the touch screen.
  • performing a touch operation includes clicking a jump button such as "fast forward” or “fast rewind”.
  • FIG. 5 is a schematic UI diagram of another application provided by an embodiment of the present disclosure, with reference to FIG. 5 , the UI of the application is provided with “fast forward” and “rewind” buttons, the user can realize the jump of the video by clicking the "fast forward” or “rewind” button on the touch screen. Specifically, each time the user clicks the "fast forward” or “rewind” button, the video is fixed to jump backward or forward by a preset time. The faster the user taps the "Fast Forward” or “Rewind” button, the further the video jumps backwards or forwards.
  • the terminal device obtains the corresponding jump information through the touch screen.
  • S102 Determine the first play node indicated by the first jump information.
  • the first jump information refers to the instruction information input by the user to the terminal device to adjust the video playback progress during the video playback process, and the terminal device jumps the video according to the first jump information to the target position, That is, the first playback node. More specifically, for example, when the user drags the progress bar forward or backward on the touch screen to realize the jump of the video, in the process of the user dragging operation, the dragged progress bar has reached or passed the video position, That is, the first playback node.
  • S103 Predict the second playback node according to the first jump information, and cache the target video frame corresponding to the second playback node in the buffer pool, where the second playback node is behind the first playback node.
  • the target video frame refers to a video frame that needs to be played or previewed on the terminal device. Playing the target video frame may be only the target video frame, or the target video frame and the subsequent video frames. The video frames are played continuously, which is not specifically limited here.
  • the first jump information may be obtained by the user performing a touch operation on the terminal device, etc. Since the user's operation behavior has a certain purpose, the jump operation performed by the user, such as sliding the progress bar, also has regularity sex. Therefore, the position to be jumped can be predicted according to the change rule of the jump operation corresponding to the first jump information, such as the change rule of speed, the change rule of pitch, etc., and the position to be jumped is the second playback node , and decode and cache the video data at the predicted second playback node, that is, the target video frame in advance. When the target video frame needs to be played later, it can be played directly without real-time decoding. resulting in Caton.
  • the predicted video data at the second playback node is decoded and then buffered in a preset buffer pool.
  • the cache pool can be a storage medium such as a hard disk and a memory in the terminal device, and is cached through wired transmission such as a bus; the cache pool can also be a storage medium such as a cloud server or a hard disk in a network device, memory, etc., and communicated through wireless communication. It is not limited here, and can be set according to specific needs.
  • S104 Acquire second jump information input by the user, and if the playback node indicated by the second jump information is the second playback node, play the target video frame in the buffer pool.
  • the second jump information is similar to the first jump information, and also refers to the instruction information input by the user to the terminal device to adjust the video playback progress during the video playback process.
  • the video position indicated by the predicted second play node is the target position where the terminal device jumps the video according to the second jump information.
  • the second jump information is information received after the first jump information.
  • the first jump information and the second jump information occur continuously.
  • the video jump is realized by dragging the progress bar forward or backward. During the user's drag operation, the first jump information and the second jump information are generated successively according to the drag track of the progress bar.
  • the terminal device are respectively used to instruct the terminal device to jump to the first playback node and the target playback node, wherein, if the target playback node is the predicted second playback node, the target playback node corresponding to the second playback node is cached in the buffer pool. video frame to play. Since the target video frame has already been decompressed and cached, no additional real-time decompression processing is required, so it takes less time.
  • the first jump information input by the user is obtained; the first play node indicated by the first jump information is determined; the second play node is predicted according to the first jump information, and the second play node is The corresponding target video frame is cached in the buffer pool, wherein the second playback node is after the first playback node; the second jump information input by the user is obtained, and if the playback node indicated by the second jump information is the second playback node, Plays the target video frame in the buffer pool.
  • the target video frame is pre-cached in the buffer pool, when performing video jump playback according to the second jump information, there is no need to perform a real-time decoding process, and the target video frame that has been cached can be directly called for video playback, avoiding the need to perform video playback. It solves the video freeze problem during the jump operation, improves the video playback fluency during video jump playback, and optimizes the user experience.
  • FIG. 6 is a second schematic flowchart of a video jump playback method according to an embodiment of the present disclosure. This embodiment further refines step S103 on the basis of the video jump playback method provided by the embodiment shown in FIG. 3 , and the video jump playback method includes:
  • Step S201 Obtain the first jump information input by the user.
  • Step S202 Determine the first play node indicated by the first jump information.
  • Step S203 Predict the second play node according to the first jump information.
  • the first jump information includes a plurality of jump nodes, and the jump nodes have a one-to-one mapping relationship with the playback nodes of the video data.
  • the play node is information used to represent the play position of the video data. According to the play node, the corresponding play position of the video data, that is, the video frame, can be determined.
  • FIG. 7 is a possible implementation manner of step S203 provided in an embodiment of the present disclosure, wherein step S203 includes:
  • Step S2031 Obtain node time information of each jump node.
  • the node time information of the jump node is the description information about the time of the jump node. For example, if the jump node A corresponds to the 12th minute and 3rd second of the video, the node time information of the jump node A includes the moment of 12 minutes and 03 seconds.
  • FIG. 8 is a schematic diagram of node time information of a jump node provided by an embodiment of the present disclosure.
  • the jump nodes correspond to a node time information, and the node time information can be used to represent the playback position of the video, as shown in FIG. 8, the jump node A1 corresponds to 12 minutes and 15 seconds, and the jump node A2 corresponds to 1 hour, 13 minutes and 22 seconds.
  • Step S2032 Determine the second playback node according to the variation between the time information of each node.
  • the jumping node includes at least a first jumping node and a second jumping node, wherein the sliding track corresponding to the first jumping information passes through the first jumping node and the second jumping node in sequence.
  • FIG. 9 is a schematic diagram of determining a second playback node according to a jump node according to an embodiment of the present disclosure. Referring to FIG.
  • the first jump information input by the user corresponds to a sliding track, and as the sliding track extends, The sliding track passes through the first jump node and the second jump node in turn, and after the sliding track reaches the position of the second jump node, the node time information is obtained at the positions of the first jump node and the second jump node, according to at least
  • the change of the node time information between the two jump nodes can predict the next jump node on the sliding trajectory, such as the node time information of the third jump node, and then use the third jump node as the predicted first node. Second play node.
  • FIG. 10 is a possible implementation manner of step S2032 provided by an embodiment of the present disclosure, wherein step S2032 includes:
  • Step S2032A Obtain node time information of the first jump node and the second jump node.
  • the first jump node and the second jump node are two jump nodes that pass through successively after the sliding track starts.
  • the first jump node passes through the first preset pixel unit of the sliding track.
  • the first jump node and the second jump node respectively correspond to a node time information, for example, the first jump node corresponds to the first minute 03 seconds of the video, and the second jump node corresponds to the first minute 06 seconds of the video.
  • Step S2032B Determine the node acceleration information according to the node time information of the first jump node and the second jump node.
  • the node time information includes system time and display time stamp.
  • the system time is the operating system time of the terminal device that executes the video jump playback method provided by the embodiment of the present disclosure, for example, at 16:21:12 on July 15, 2020.
  • the display timestamp is the time when the displayed video was played, such as 30 minutes and 03 seconds.
  • the difference between the display timestamps of the first jump node and the second jump node is equivalent to the length of the video playback after the sliding track passes through the first jump node and the second jump node; the first jump node
  • the difference from the system time of the second jump node is equivalent to the objective time elapsed after the sliding track passes through the first jump node and the second jump node. Therefore, the ratio of the length of the video playing to the objective duration is the speed of the sliding track at the second jump node, that is, the video jump speed at the second jump node.
  • the instantaneous speed information of the second jump node determines the acceleration information of the second jump node, so as to realize a more accurate prediction of the sliding trajectory, thereby realizing a more accurate prediction of the second play node.
  • Step S2032C Determine the second play node according to the node time information and the node acceleration information of the second jump node.
  • the instantaneous speed information of the second play node is determined; according to the instantaneous speed information of the second play node and the relationship between the first jump node and the second jump node determine the target movement amount; according to the display time stamp of the second jump node and the target movement amount, determine the second play node.
  • FIG. 11 is a schematic diagram of determining a second playback node according to an embodiment of the present disclosure.
  • the user adjusts the video playback progress by sliding the track on the touch screen of the terminal device, and the terminal device receives the first page corresponding to the sliding track.
  • a jump information and according to the first jump information, the second playback node is predicted, the second playback node is determined, and the video data within the preset range before and after the second playback node is determined as the target video frame.
  • the video can be in the state of playing, stopping or fast forwarding.
  • the user performs the jump operation by sliding the video playback progress bar.
  • the corresponding sliding track first passes through the jump node A.
  • the terminal device Record the system time sys_time_t0 of the jump node A and the display timestamp video_time_x0.
  • the terminal device After passing through the jump node B along the sliding track, the terminal device records the system time sys_time_t1 of the jump node B and the display time stamp video_time_x1.
  • the instantaneous speed information spd_v1 of the jump node B is determined as:
  • spd_v1 (video_time_x1-video_time_x0)/(sys_time_t1-sys_time_t0) (1)
  • the instantaneous speed information of the next jump node can be recursively obtained.
  • the instantaneous speed information of the first jump node may be 0 or a preset speed value.
  • the instantaneous speed information spd_v0 of the jump node A may be determined according to the node time information of a jump node on the jump node A, or the instantaneous speed information of the jump node A may be 0 or a preset speed value.
  • the acceleration information of the jump node B can be determined. Specifically, as shown in equation (2), the acceleration of the jump node B
  • the information acc_a1 is:
  • the instantaneous speed information predict_spd_v2 of the jump node C after the jump node can be predicted.
  • the instantaneous speed information predict_spd_v2 of the jump node C for:
  • predict_spd_v2 acc_a1*(sys_time_t1-sys_time_t0)+spd_v1 (3)
  • predict_delta_x (spd_v1+predict_spd_v2)/2*(sys_time_t1-sys_time_t0) (4)
  • the display timestamp video_time_x1 of the jump node B and the prediction time interval predict_delta_x can be used to obtain the display timestamp position predict_Pts of the jump node C.
  • the display timestamp of the jump node C The location predict_Pts is:
  • predict_Pts video_time_x1+predict_delta_x (5)
  • the jump node C is the predicted second playback node, and the distance between the jump node C and the jump node B may be the same as or different from the distance between the jump node B and the jump node A.
  • the position of the jump node C can be predicted, and then the jump Node C performs decoding and buffering as the second playback node.
  • the playback can be performed directly without decoding in real time, avoiding the need for real-time decoding. There is a freeze, which improves the smoothness of video playback.
  • the distance between the jump node A and the jump node B can be regarded as the minimum jump distance.
  • the amount of prediction, calculation and decoding required by the system The larger the amount, the larger the system burden; on the contrary, the larger the minimum jump distance, the rougher the video jump, and accordingly, the smaller the amount of prediction, calculation and decoding required by the system, the smaller the system burden.
  • the terminal device determines the distance between the jump node A and the jump node B according to preset device load information. According to the load of the device, determine the distance between the matching jump node A and jump node B, so that the resource consumption during the calculation and prediction of the video jump will not exceed the load capacity of the device, causing the video to appear stuck. Dayton's situation.
  • Step S204 Buffer the target video frame corresponding to the second playback node into a preset buffer pool.
  • the second playback node includes playback time information, where the playback time information is used to represent the time position of the target video frame in all video data.
  • buffering the target video frame into the preset buffer pool includes: according to the preset play time mapping table, from all video data, determining the identification information corresponding to the playing time information; according to the identification information, Determine the target video frame; decode the target video frame, and cache the decoded video data to be played in the buffer pool.
  • the second playback node includes playback scale information, where the playback scale information is used to represent the scale position of the target video frame in all video data.
  • Buffering the target video frame into the preset buffer pool includes: according to the preset playback ratio mapping table, from all video data, determine the identification information corresponding to the playback ratio information; according to the identification information, determine the target video frame; The video frame is decoded, and the decoded video data to be played is buffered in the buffer pool.
  • Step S205 Down-sampling the target video frame to obtain a down-sampled video.
  • the target video frame is first subjected to down-sampling processing to reduce the amount of data to obtain lower-quality video frame data, that is, the down-sampled video, and then the down-sampled video is decoded and decoded.
  • Cache can reduce system load and improve data processing efficiency.
  • Step S206 If the playback node indicated by the second jump information is the second playback node, play the down-sampled video in the preset preview window.
  • the compressed down-sampled video is played in the preview window. Since the preview window is not the main way for the user to watch the video, high display is not required. Therefore, it will affect the user's preview video, and at the same time, because the video volume is compressed, the system load is reduced, and the data processing efficiency is improved.
  • FIG. 12 is a schematic UI diagram of an application program including a preview window according to an embodiment of the present disclosure. 12 , after buffering the down-sampled target video frame, when the video jumps to the second playback node corresponding to the target video frame, the down-sampled buffer target video frame is played in the preview window of the application.
  • the purpose of the user's video jump operation is to locate the video clip of interest, not to watch the specific content in the jump process, and in the preview window, it is generally a small video preview function for the user. window, so it better matches the purpose of the user's jump operation. In the preview window, even if the quality of the video is high, it cannot be fully reflected in the preview window.
  • the high-quality video needs to be processed, which causes a large load of the system and wastes system resources. Therefore, in the process of video jump playback, by downsampling or compressing the target video frame and playing it in the preview window, the processing pressure and comprehensive load of the system during the video jump playback process can be reduced, and the video jump can be improved.
  • the jumping fluency in the process can better achieve the purpose of positioning and finding interesting video clips when the user performs video jumping.
  • step S201 is the same as step S101 in the above-mentioned embodiment.
  • step S101 for a detailed discussion, please refer to the discussion of step S101, which will not be repeated here.
  • FIG. 13 is a structural block diagram of a video jump playback apparatus provided by an embodiment of the present disclosure. For convenience of explanation, only the parts related to the embodiments of the present disclosure are shown.
  • the video jump playback device 300 includes:
  • the obtaining unit 301 is configured to obtain the first jump information input by the user, and determine the first play node indicated by the first jump information.
  • the prediction unit 302 is configured to predict a second play node according to the first jump information, and cache the target video frame corresponding to the second play node in a buffer pool, where the second play node is after the first play node.
  • the playing unit 303 is configured to obtain the second jump information input by the user, and if the playback node indicated by the second jump information is the second playback node, play the target video frame in the buffer pool.
  • the first jump information includes a plurality of jump nodes
  • the prediction unit 302 is specifically configured to: acquire node time information of each jump node; Determine the second play node.
  • the multiple jump nodes include a first jump node and a second jump node, and the second jump node is after the first jump node; the prediction unit 302 is based on the time information of each node When determining the second play node, it is specifically used for: obtaining the node time information of the first jump node and the node time information of the second jump node; according to the node time information of the first jump node and the first jump node The node time information of the second jump node determines the node acceleration information of the second jump node; the second play node is determined according to the node time information of the second jump node and the node acceleration information of the second jump node.
  • the node time information includes a system time and a display time stamp
  • the prediction unit 302 determines the second jump according to the node time information of the first jump node and the node time information of the second jump node
  • the node acceleration information of the node it is specifically used for: according to the difference between the display time stamp of the second jump node and the display time stamp of the first jump node, and the system time of the second jump node and the time stamp of the first jump node.
  • the ratio of the difference between the system times determines the instantaneous speed information of the second jump node; and determines the acceleration information of the second jump node according to the instantaneous speed information of the second jump node.
  • the prediction unit 302 when determining the second play node according to the node time information and the node acceleration information of the second jump node, is specifically configured to: according to the acceleration information and the instantaneous speed of the second jump node speed information, determine the instantaneous speed information of the second playback node; according to the difference between the system time of the first jump node and the system time of the second jump node, and the product of the instantaneous speed information of the second playback node, determine The target movement amount; the second play node is determined according to the display time stamp of the second jump node and the target movement amount.
  • the second playback node includes playback time information
  • the playback time information is used to represent the time position of the target video frame in all the video data
  • the prediction unit 302 assigns the target video frame corresponding to the second playback node
  • the buffer pool it is specifically used to: determine the identification information corresponding to the playback time information from all the video data according to the preset play time mapping table; determine the target video frame according to the identification information; decoded and cached in the buffer pool.
  • the second playback node includes playback scale information
  • the playback scale information is used to represent the proportional position of the target video frame in all video data
  • the prediction unit 302 assigns the target video frame corresponding to the second playback node
  • it is specifically used for: according to the preset playback ratio mapping table, from all video data, determine the identification information corresponding to the playback ratio information; according to the identification information, determine the target video frame; Video frames are decoded and buffered into the buffer pool.
  • the playback unit 303 is further configured to: downsample the target video frame to obtain a downsampled video; when playing the target video frame in the buffer pool, the playback unit 303 is specifically configured to: downsample the target video frame The video plays in a preset preview window.
  • the video jumping and playing device 300 provided in this embodiment can be used to implement the technical solutions of the foregoing method embodiments, and the implementation principles and technical effects thereof are similar, and are not repeated here in this embodiment.
  • FIG. 14 is a structural block diagram of a terminal device provided by an embodiment of the present disclosure. For convenience of explanation, only the parts related to the embodiments of the present disclosure are shown. 14 , the terminal device 400 includes a touch screen 401 , a controller 402 and a memory 403 .
  • the touch screen 401 is used for acquiring the first jump information input by the user.
  • the controller 402 is used for determining the first play node indicated by the first jump information; predicting the second play node according to the first jump information, and buffering the target video frame corresponding to the second play node in the memory 403, Wherein, the second play node is after the first play node.
  • the touch screen 401 is further configured to acquire second jump information input by the user, and if the play node indicated by the second jump information is the second play node, play the target video frame in the memory.
  • the first jump information includes multiple jump nodes
  • the controller 402 is specifically configured to: acquire node time information of each jump node; Determine the second play node.
  • the plurality of jump nodes include a first jump node and a second jump node, and the second jump node is after the first jump node; the controller 402 is based on the time information of each node When determining the second play node, it is specifically used for: obtaining the node time information of the first jump node and the node time information of the second jump node; according to the node time information of the first jump node and the first jump node The node time information of the second jump node determines the node acceleration information of the second jump node; the second play node is determined according to the node time information of the second jump node and the node acceleration information of the second jump node.
  • the node time information includes a system time and a display time stamp
  • the controller 402 determines the second jump according to the node time information of the first jump node and the node time information of the second jump node
  • the node acceleration information of the node it is specifically used for: according to the difference between the display time stamp of the second jump node and the display time stamp of the first jump node, and the system time of the second jump node and the time stamp of the first jump node.
  • the ratio of the difference between the system times determines the instantaneous speed information of the second jump node; and determines the acceleration information of the second jump node according to the instantaneous speed information of the second jump node.
  • the controller 402 when the controller 402 determines the second playback node according to the node time information and the node acceleration information of the second jump node, the controller 402 is specifically configured to: according to the acceleration information and the instantaneous acceleration information of the second jump node speed information, determine the instantaneous speed information of the second playback node; according to the difference between the system time of the first jump node and the system time of the second jump node, and the product of the instantaneous speed information of the second playback node, determine The target movement amount; the second play node is determined according to the display time stamp of the second jump node and the target movement amount.
  • the second playback node includes playback time information, and the playback time information is used to represent the time position of the target video frame in all video data.
  • the controller 402 is playing the target video frame corresponding to the second playback node.
  • it is specifically used for: according to the preset play time mapping table, from all the video data, determine the identification information corresponding to the play time information; according to the identification information, determine the target video frame; decoded and buffered in the memory 403 .
  • the second playback node includes playback scale information
  • the playback scale information is used to represent the proportional position of the target video frame in all video data.
  • it is specifically used for: according to the preset playback scale mapping table, from all video data, determine the identification information corresponding to the playback scale information; according to the identification information, determine the target video frame; decoded and buffered in the memory 403 .
  • the controller 402 is further configured to: downsample the target video frame to obtain a downsampled video; when the touch screen 401 plays the target video frame in the buffer pool, it is specifically configured to: downsample the video frame Play within the preset preview window.
  • the terminal device 400 provided in this embodiment can be used to execute the technical solutions of the foregoing method embodiments, and the implementation principles and technical effects thereof are similar, and details are not described herein again in this embodiment.
  • the electronic device 500 may be a terminal device or a server.
  • the terminal device may include, but is not limited to, such as mobile phones, notebook computers, digital broadcast receivers, personal digital assistants (Personal Digital Assistant, referred to as PDA), tablet computers, portable multimedia players (Portable Media Player, referred to as PMP), vehicle Mobile terminals such as terminals such as in-vehicle navigation terminals, etc., and stationary terminals such as digital TVs, desktop computers, and the like.
  • PDA Personal Digital Assistant
  • PMP portable multimedia players
  • vehicle Mobile terminals such as terminals such as in-vehicle navigation terminals, etc.
  • stationary terminals such as digital TVs, desktop computers, and the like.
  • the electronic device shown in FIG. 15 is only an example, and should not impose any limitation on the function and scope of use of the embodiments of the present disclosure.
  • the electronic device 500 may include a processing device (such as a central processing unit, a graphics processor, etc.) 501, which may be stored in a read only memory (Read Only Memory, ROM for short) 502 according to a program or from a storage device 508 is a program loaded into a random access memory (Random Access Memory, RAM for short) 503 to execute various appropriate actions and processes.
  • a processing device such as a central processing unit, a graphics processor, etc.
  • ROM Read Only Memory
  • RAM Random Access Memory
  • various programs and data required for the operation of the electronic device 500 are also stored.
  • the processing device 501, the ROM 502, and the RAM 503 are connected to each other through a bus 504.
  • An input/output (I/O) interface 505 is also connected to bus 504 .
  • I/O interface 505 the following devices can be connected to the I/O interface 505: input devices 506 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; including, for example, a Liquid Crystal Display (LCD for short) ), speaker, vibrator, etc. output device 507; storage device 508 including, eg, magnetic tape, hard disk, etc.; and communication device 509. Communication means 509 may allow electronic device 500 to communicate wirelessly or by wire with other devices to exchange data. While FIG. 14 shows electronic device 500 having various means, it should be understood that not all of the illustrated means are required to be implemented or provided. More or fewer devices may alternatively be implemented or provided.
  • input devices 506 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.
  • LCD Liquid Crystal Display
  • speaker vibrator
  • storage device 508 including, eg, magnetic tape,
  • embodiments of the present disclosure include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the method illustrated in the flowchart.
  • the computer program may be downloaded and installed from the network via the communication device 509, or from the storage device 508, or from the ROM 502.
  • the processing apparatus 501 When the computer program is executed by the processing apparatus 501, the above-mentioned functions defined in the methods of the embodiments of the present disclosure are executed.
  • Embodiments of the present disclosure also include a computer program, which, when executed by a processor, is configured to perform the above-mentioned functions defined in the methods of the embodiments of the present disclosure.
  • the computer-readable medium mentioned above in the present disclosure may be a computer-readable signal medium or a computer-readable storage medium, or any combination of the above two.
  • the computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus or device, or a combination of any of the above. More specific examples of computer readable storage media may include, but are not limited to, electrical connections with one or more wires, portable computer disks, hard disks, random access memory (RAM), read only memory (ROM), erasable Programmable Read Only Memory (EPROM), flash memory, optical fiber, portable Compact Disc-Read Only Memory (CD-ROM), optical storage device, magnetic storage device, or any suitable of the above The combination.
  • a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
  • a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave with computer-readable program code embodied thereon. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing.
  • a computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device .
  • Program code embodied on a computer readable medium may be transmitted using any suitable medium including, but not limited to, electrical wire, optical fiber cable, RF (radio frequency), etc., or any suitable combination of the foregoing.
  • the above-mentioned computer-readable medium may be included in the above-mentioned electronic device; or may exist alone without being assembled into the electronic device.
  • the aforementioned computer-readable medium carries one or more programs, and when the aforementioned one or more programs are executed by the electronic device, causes the electronic device to execute the methods shown in the foregoing embodiments.
  • Computer program code for carrying out operations of the present disclosure may be written in one or more programming languages, including object-oriented programming languages—such as Java, Smalltalk, C++, but also conventional Procedural programming language - such as the "C" language or similar programming language.
  • the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server.
  • the remote computer can be connected to the user's computer through any kind of network—including a Local Area Network (LAN) or a Wide Area Network (WAN)—or, can be connected to an external A computer (eg using an internet service provider to connect via the internet).
  • LAN Local Area Network
  • WAN Wide Area Network
  • each block in the flowchart or block diagrams may represent a module, segment, or portion of code that contains one or more logical functions for implementing the specified functions executable instructions.
  • the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
  • each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations can be implemented in dedicated hardware-based systems that perform the specified functions or operations , or can be implemented in a combination of dedicated hardware and computer instructions.
  • the units involved in the embodiments of the present disclosure may be implemented in a software manner, and may also be implemented in a hardware manner.
  • the name of the unit does not constitute a limitation of the unit itself under certain circumstances, for example, the first obtaining unit may also be described as "a unit that obtains at least two Internet Protocol addresses".
  • exemplary types of hardware logic components include: Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (Application Specific Standard Products) Standard Product, ASSP), system on chip (System On Chip, SOC), complex programmable logic device (Complex Programmable Logic Device, CPLD) and so on.
  • FPGAs Field Programmable Gate Arrays
  • ASICs Application Specific Integrated Circuits
  • ASSP Application Specific Standard Products
  • ASOC System On Chip
  • complex programmable logic device Complex Programmable Logic Device, CPLD
  • a machine-readable medium may be a tangible medium that may contain or store a program for use by or in connection with the instruction execution system, apparatus or device.
  • the machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium.
  • Machine-readable media may include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or devices, or any suitable combination of the foregoing.
  • machine-readable storage media would include one or more wire-based electrical connections, portable computer disks, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM), flash memory, optical fiber, portable compact disk read only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
  • RAM random access memory
  • ROM read only memory
  • EPROM erasable programmable read only memory
  • flash memory optical fiber
  • CD-ROM portable compact disk read only memory
  • optical storage devices magnetic storage devices, or any suitable combination of the foregoing.
  • a video jump playback method including:
  • the target video frame is cached in the buffer pool, wherein the second playback node is behind the first playback node; the second jump information input by the user is obtained, if the playback node indicated by the second jump information is The second playing node plays the target video frame in the buffer pool.
  • the first jump information includes a plurality of jump nodes
  • predicting the second play node according to the first jump information includes: acquiring the information of each jump node. Node time information; determine the second playback node according to the amount of change between the time information of each node.
  • the plurality of jump nodes include a first jump node and a second jump node, and the second jump node is after the first jump node; according to Determining the second play node by the amount of change between the time information of each node includes: acquiring the node time information of the first jump node and the node time information of the second jump node; according to the first jump node node time information of the jump node and node time information of the second jump node, determining the node acceleration information of the second jump node; according to the node time information of the second jump node and the second jump node The node acceleration information of the jump node is used to determine the second play node.
  • the node time information includes a system time and a display time stamp, and is determined according to the node time information of the first jump node and the node time information of the second jump node
  • the node acceleration information of the second jump node includes: according to the difference between the display time stamp of the second jump node and the display time stamp of the first jump node, and the display time stamp of the second jump node The ratio of the difference between the system time and the system time of the first jump node, to determine the instantaneous speed information of the second jump node; according to the instantaneous speed information of the second jump node, to determine the second jump node acceleration information.
  • determining the second play node according to the node time information of the second jump node and the node acceleration information includes: according to the acceleration information of the second jump node and Instantaneous speed information, determine the instantaneous speed information of the second playback node; according to the difference between the system time of the first jump node and the system time of the second jump node, and the second playback node
  • the product of the instantaneous speed information is used to determine the target movement amount; the second play node is determined according to the display time stamp of the second jump node and the target movement amount.
  • the second playback node includes playback time information, where the playback time information is used to represent the time position of the target video frame in all video data, and the second playback node Buffering the target video frame corresponding to the node in the buffer pool includes: according to a preset play time mapping table, from all the video data, determining the identification information corresponding to the playing time information; according to the identification information, determining the target video frame; the target video frame is decoded and buffered into a buffer pool.
  • the second playback node includes playback scale information, where the playback scale information is used to represent the proportional position of the target video frame in all video data, and the second playback node corresponds to Buffering the target video frame into a preset buffer pool, including: according to a preset playing ratio mapping table, from the whole video data, determine the identification information corresponding to the playing ratio information; according to the identification information, determining the target video frame; decoding the target video frame, and buffering the target video frame into a buffer pool.
  • the method further includes: down-sampling the target video frame to obtain a down-sampled video; playing the target video frame in the buffer pool, including: down-sampling the target video frame The video plays in a preset preview window.
  • a video jump playback device including:
  • An obtaining unit configured to obtain the first jump information input by the user, and determine the first play node indicated by the first jump information.
  • a prediction unit configured to predict a second play node according to the first jump information, and cache the target video frame corresponding to the second play node in a buffer pool, wherein the second play node is in the After the first play node.
  • a playback unit configured to acquire second jump information input by a user, and if the playback node indicated by the second jump information is the second playback node, play the target video frame in the buffer pool.
  • the first jump information includes a plurality of jump nodes
  • a prediction unit is specifically configured to: acquire node time information of each of the jump nodes; The amount of change between them determines the second play node.
  • the plurality of jump nodes include a first jump node and a second jump node, the second jump node is after the first jump node;
  • the prediction unit is When determining the second playback node according to the amount of change between the time information of each node, it is specifically used for: acquiring the node time information of the first jump node and the node time information of the second jump node; The node time information of the first jump node and the node time information of the second jump node, determine the node acceleration information of the second jump node; according to the node time information of the second jump node and The node acceleration information of the second jump node determines the second play node.
  • the node time information includes a system time and a display time stamp
  • the prediction unit is based on the node time information of the first jump node and the node time information of the second jump node
  • the prediction unit is based on the node time information of the first jump node and the node time information of the second jump node
  • the prediction unit when determining the second play node according to the node time information and the node acceleration information of the second jump node, is specifically configured to: according to the second jump node Determine the instantaneous speed information of the second playback node; according to the difference between the system time of the first jump node and the system time of the second jump node, and the first jump node
  • the target movement amount is determined by multiplying the instantaneous speed information of the two playback nodes; the second playback node is determined according to the display time stamp of the second jump node and the target movement amount.
  • the second playback node includes playback time information, where the playback time information is used to represent the time position of the target video frame in all video data, and the prediction unit is When the target video frame corresponding to the playback node is buffered in the buffer pool, it is specifically used for: determining the identification information corresponding to the playback time information from the entire video data according to the preset playback time mapping table; The identification information is used to determine the target video frame; the target video frame is decoded and buffered into a buffer pool.
  • the second playback node includes playback scale information, where the playback scale information is used to represent the proportional position of the target video frame in all video data, and the prediction unit is used to assign the second playback node to the second playback node.
  • the corresponding target video frame is buffered in the preset buffer pool, it is specifically used for: according to the preset play ratio mapping table, from the all video data, determine the identification information corresponding to the play ratio information; The identification information is used to determine the target video frame; the target video frame is decoded and cached in a buffer pool.
  • the playback unit is further configured to: downsample the target video frame to obtain a downsampled video; when the playback unit plays the target video frame in the buffer pool, specifically Used for: playing the down-sampled video in a preset preview window.
  • a terminal device including a touch screen, a controller and a memory.
  • the touch screen is used to obtain the first jump information input by the user.
  • the controller is used to determine the first play node indicated by the first jump information; predict the second play node according to the first jump information, and convert the target video frame corresponding to the second play node. buffering into the memory, wherein the second play node is after the first play node.
  • the touch screen is further configured to acquire second jump information input by the user, and if the play node indicated by the second jump information is the second play node, play the target video frame in the memory.
  • the first jump information includes multiple jump nodes
  • the controller is specifically configured to: acquire node time information of each of the jump nodes; The amount of change between them determines the second play node.
  • the plurality of jump nodes include a first jump node and a second jump node, the second jump node is after the first jump node; the controller is in When determining the second playback node according to the amount of change between the time information of each node, it is specifically used for: acquiring the node time information of the first jump node and the node time information of the second jump node; The node time information of the first jump node and the node time information of the second jump node, determine the node acceleration information of the second jump node; according to the node time information of the second jump node and The node acceleration information of the second jump node determines the second play node.
  • the node time information includes a system time and a display time stamp
  • the controller is based on the node time information of the first jump node and the node time information of the second jump node
  • the controller is based on the node time information of the first jump node and the node time information of the second jump node
  • the controller is based on the node time information of the first jump node and the node time information of the second jump node
  • the controller is based on the node time information of the first jump node and the node time information of the second jump node
  • the controller is based on the node time information of the first jump node and the node time information of the second jump node
  • the controller is based on the node time information of the first jump node and the node time information of the second jump node
  • the controller when the controller determines the second play node according to the node time information of the second jump node and the node acceleration information, the controller is specifically configured to: according to the second jump node Determine the instantaneous speed information of the second playback node; according to the difference between the system time of the first jump node and the system time of the second jump node, and the first jump node
  • the target movement amount is determined by multiplying the instantaneous speed information of the two playback nodes; the second playback node is determined according to the display time stamp of the second jump node and the target movement amount.
  • the second play node includes play time information, where the play time information is used to represent the time position of the target video frame in all video data, and the controller is playing the second
  • the target video frame corresponding to the playback node is buffered in the memory, it is specifically used for: according to the preset playback time mapping table, from the whole video data, determine the identification information corresponding to the playback time information; according to the identification information to determine the target video frame; decode the target video frame, and buffer the target video frame into a memory.
  • the second playback node includes playback scale information, where the playback scale information is used to represent the proportional position of the target video frame in all video data, and the controller is putting the second playback node
  • the controller is putting the second playback node
  • the corresponding target video frame is buffered in the memory, it is specifically used to: determine the identification information corresponding to the playback scale information from the whole video data according to the preset playback scale mapping table; according to the identification information, determining the target video frame; decoding the target video frame, and buffering the target video frame into a memory.
  • the controller is further configured to: downsample the target video frame to obtain a downsampled video; when the touch screen plays the target video frame in the buffer pool, specifically use To: play the down-sampled video in a preset preview window.
  • an electronic device comprising: at least one processor and a memory; the memory stores computer-executable instructions; at least one processor executes the computer-executable instructions stored in the memory, such that At least one processor executes the above first aspect and various possible designs of the video skip playback method of the first aspect.
  • a computer-readable storage medium where computer-executable instructions are stored in the computer-readable storage medium, and when the processor executes the computer-executable instructions, the above first Aspects and various possible designs of video jumping and playing methods in the first aspect.
  • embodiments of the present disclosure provide a computer program product, including a computer program, which, when executed by a processor, implements the video jump playback method described in the first aspect and various possible designs of the first aspect.
  • an embodiment of the present disclosure provides a computer program that, when executed by a processor, implements the video jump playback method described in the first aspect and various possible designs of the first aspect.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本公开实施例提供一种视频跳转播放方法、装置、终端设备、存储介质及计算机程序产品,该方法包括:获取用户输入的第一跳转信息;确定第一跳转信息所指示的第一播放节点;根据第一跳转信息,预测第二播放节点,并将第二播放节点对应的目标视频帧缓存至缓存池中,其中,第二播放节点在第一播放节点之后;获取用户输入的第二跳转信息,若第二跳转信息指示的播放节点为第二播放节点,播放缓存池中的目标视频帧。由于目标视频帧被预先缓存在缓存池中,因此,在根据第二跳转信息进行视频跳转播放时,无需进行实时的解码过程,可以直接调用已被缓存的目标视频帧进行视频播放,避免了跳转操作时的视频卡顿问题,提高视频跳转播放时的视频播放流畅度。

Description

视频跳转播放方法、装置、终端设备及存储介质
本申请要求于2020年12月23日提交的申请号为202011540293.4、名称为“视频跳转播放方法、装置、终端设备及存储介质”的中国专利申请的优先权,此申请的内容通过引用并入本文。
技术领域
本公开实施例涉及计算机技术领域,尤其涉及一种视频跳转播放方法、装置、终端设备、存储介质及计算机程序产品。
背景技术
随着移动互联网的发展,在移动端进行视频播放等需要视频解码的需求正日益扩大。然而由于移动端设备性能有限,在解码器的设计方案中并不能缓存大量的视频帧裸数据用于提供给上层使用。
现有技术中,一种通常的情形是,在解码器启动后,设备会缓存一定量的视频帧数据并暂停解码,当缓存的数据被上层应用消耗至有空余缓存位的时候,再启动解码器进行解码并缓存至缓存池满,该过程循环往复,保证了上层始终有视频帧数据可用。
然而,除正常播放以外,用户还经常会有跳转播放的需求,即手动改变视频播放的节点,在需要对视频进行快速跳转时,由于跳转操作速度快,设备无法及时解码跳转至目标播放位置的视频,因此,造成跳转操作时出现视频卡顿,影响视频正常播放的问题,降低用户体验。
发明内容
本公开实施例提供一种视频跳转播放方法、装置、终端设备、存储介质及计算机程序产品,以克服跳转操作时出现的视频卡顿,影响视频正常播放的问题。
第一方面,本公开实施例提供一种视频跳转播放方法,包括:
获取用户输入的第一跳转信息;确定所述第一跳转信息所指示的第一播放节点;根据所述第一跳转信息,预测第二播放节点,并将所述第二播放节点对应的目标视频帧缓存至缓存池中,其中,所述第二播放节点在所述第一播放节点之后;获取用户输入的第二跳转信息,若所述第二跳转信息指示的播放节点为所述第二播放节点,播放所述缓存池中的目标视频帧。
第二方面,本公开实施例提供一种视频跳转播放装置,包括:
获取单元,用于获取用户输入的第一跳转信息,并确定所述第一跳转信息所指示的第一播放节点;
预测单元,用于根据所述第一跳转信息,预测第二播放节点,并将所述第二播放节点对应的目标视频帧缓存至缓存池中,其中,所述第二播放节点在所述第一播放节点之后;
播放单元,用于获取用户输入的第二跳转信息,若所述第二跳转信息指示的播放节点为所述第二播放节点,播放所述缓存池中的目标视频帧。
第三方面,本公开实施例提供一种终端设备,包括触摸屏、控制器和存储器,其中:
所述触摸屏用于,获取用户输入的第一跳转信息;
所述控制器用于,确定所述第一跳转信息所指示的第一播放节点;根据所述第一跳转信息,预测第二播放节点,并将所述第二播放节点对应的目标视频帧缓存至所述存储器中,其中,所述第二播放节点在所述第一播放节点之后;
所述触摸屏还用于,获取用户输入的第二跳转信息,若所述第二跳转信息指示的播放节点为所述第二播放节点,播放所述存储器中的目标视频帧。
第四方面,本公开实施例提供一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的视频跳转播放方法。
第五方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的视频跳转播放方法。
第六方面,本公开实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上第一方面以及第一方面各种可能的设计所述的视频跳转播放方法。
第七方面,本公开实施例提供一种计算机程序,所述计算机程序被处理器执行时实现如上第一方面以及第一方面各种可能的设计所述的视频跳转播放方法。
本实施例提供的视频跳转播放方法、装置、终端设备、存储介质及计算机程序产品,该方法通过获取用户输入的第一跳转信息;确定所述第一跳转信息所指示的第一播放节点;根据所述第一跳转信息,预测第二播放节点,并将所述第二播放节点对应的目标视频帧缓存至缓存池中,其中,所述第二播放节点在所述第一播放节点之后;获取用户输入的第二跳转信息,若所述第二跳转信息指示的播放节点为所述第二播放节点,播放所述缓存池中的目标视频帧。由于目标视频帧被预先缓存在缓存池中,因此,在根据第二跳转信息进行视频跳转播放时,无需进行实时的解码过程,可以直接调用已被缓存的目标视频帧进行视频播放,避免了跳转操作时的视频卡顿问题,提高视频跳转播放时的视频播放流畅度,优化用户体验。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中一种视频正常播放过程的示例图;
图2为现有技术中一种视频跳转播放过程的示例图;
图3为本公开实施例提供的视频跳转播放方法流程示意图一;
图4为本公开实施例提供的一种应用程序的UI示意图;
图5为本公开实施例提供的另一种应用程序的UI示意图;
图6为本公开实施例提供的视频跳转播放方法流程示意图二;
图7为本公开实施例提供的步骤S203的一种可能的实现方式;
图8为本公开实施例提供的一种跳转节点的节点时间信息的示意图;
图9为本公开实施例提供的一种根据跳转节点确定第二播放节点的示意图;
图10为本公开实施例提供的步骤S2032的一种可能的实现方式;
图11为本公开实施例提供的确定第二播放节点的示意图;
图12为本公开实施例提供的一种包含预览窗口的应用程序UI示意图;
图13为本公开实施例提供的视频跳转播放装置的结构框图;
图14为本公开实施例提供的终端设备的结构框图;
图15为本公开实施例提供的电子设备的结构框图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
图1为现有技术中一种视频正常播放过程的示例图。参考图1,现有技术中,在原始视频数据进行播放前,需要进行解码。在应用程序调用解码器进行视频播放的过程中,通常是边解码,边播放。即在解码器启动后,设备会缓存一定量的视频帧数据并暂停解码,当缓存的数据被上层应用程序消耗至有空余缓存位的时候,再启动解码器进行解码并缓存至缓存池满,该过程循环往复,保证了上层应用始终有视频帧数据可用。
然而,除正常播放以外,用户还经常会有跳转播放的需求,即手动改变视频播放的节点。图2为现有技术中一种视频跳转播放过程的示例图,参考图2,在需要对视频进行快速跳转时,由于跳转操作速度快,而解码器进行视频数据解码需要一定的时间,导致设备无法及时完成对跳转至目标播放位置的视频的解码。因此,造成视频跳转后出现视频卡顿,影响视频正常播放或预览,降低视频播放的流畅度,降低用户体验。
本公开实施例提供一种视频跳转播放方法以解决上述问题。
图3为本公开实施例提供的视频跳转播放方法流程示意图一,本实施例的方法可以应用在终端设备中,参考图3,该视频跳转播放方法包括:
S101:获取用户输入的第一跳转信息。
在本实施例中,第一跳转信息是指在视频播放过程中,用户向终端设备输入的用于调整视频播放进度的指令信息,例如,向前调整视频播放进度至50%,再例如,退回视频播放进度至3分05秒等。对于第一跳转信息的具体实现内容,此处不进行限定,也不再一一赘述。
获取用户输入的第一跳转信息的方式有多种,终端设备包括触摸屏,终端设备上运行有用于播放视频的应用程序,用户根据该应用程序的用户交互界面(User Interface,UI),在触摸屏的指定位置上进行触摸操作,以控制应用程序对视频播放进度进行跳转,进而,终端设备通过触摸屏获得用户输入的触摸操作对应的控制指令,即为第一跳转信息。
具体地,在一种可能的实现方式中,进行触摸操作包括拖动或滑动播放进度条,图4为本公开实施例提供的一种应用程序的UI示意图,参考图4,应用程序的UI上设置有进度条,用户在触摸屏上通过向前或向后拖动进度条,可以实现视频的跳转。终端设备通过触摸屏,获取对应的第一跳转信息。
在另一种可能的实现方式中,进行触摸操作包括点击“快进”或“快退”等跳转按钮,图5为本公开实施例提供的另一种应用程序的UI示意图,参考图5,应用程序的UI上设置有“快进”和“快退”按钮,用户在触摸屏上通过点击“快进”或“快退”按钮,可以实现视频的跳转。具体地,用户每点击一次“快进”或“快退”按钮,则视频固定向后或向前跳转预设时间。用户点击“快进”或“快退”按钮的速度越快,则视频向后或向前跳转的距离越远。例如,以用户点击“快进”为例,用户点击“快进”的频率为1次/秒时,视频每次快进5s;用户点击“快进”的频率为3次/秒时,视频每次快进10s。终端设备通过触摸屏,获取对应的跳转信息。
S102:确定第一跳转信息所指示的第一播放节点。
示例性地,第一跳转信息是指在视频播放过程中,用户向终端设备输入的用于调整视频播放进度的指令信息,终端设备根据第一跳转信息对视频进行跳转的目标位置,即为第一播放节点。更具体地,例如,用户在触摸屏上通过向前或向后拖动进度条,实现视频的跳转,在用户进行拖拽操作的过程中,拖拽的进度条已到达或经过的视频位置,即为第一播放节点。
S103:根据第一跳转信息,预测第二播放节点,并将第二播放节点对应的目标视频帧缓存至缓存池中,其中,第二播放节点在第一播放节点之后。
在本实施例中,目标视频帧是指需要在终端设备上进行播放或预览的视频帧,播放目标视频帧,可以是只对目标视频帧进行播放,也可以是对目标视频帧以及其之后的视频帧进行连续播放,此处不进行具体限定。
具体地,第一跳转信息可以是通过用户对终端设备进行触摸操作等方式获得的,由于用户的操作行为具有一定的目的性,因此用户进行的跳转操作,例如滑动进度条,也具有规律性。因此,可以根据第一跳转信息对应的跳转操作的变化规律,例如速度变化规律、节凑变化规律等,对将要跳转的位置进行预测,该将要跳转的位置即为第二播放节点,并将预测的第二播放节点处的视频数据,即目标视频帧进行提前解码和缓存,在之后需要对该目标视频帧进行播放时,即可直接播放,无需再进行实时解码,避免由于解码而导致的卡顿。
其中,预测的第二播放节点处的视频数据进行解码后,缓存在预设的缓存池中。该缓存池可以是终端设备内的硬盘、内存等存储介质,并通过总线等有线传输方式进行缓存;该缓存池也可以是云端服务器、网络设备内的硬盘、内存等存储介质,并通过无线通信的方式进行缓存,此处,不对此进行具体限定,可以根据具体需要进行设置。
S104:获取用户输入的第二跳转信息,若第二跳转信息指示的播放节点为第二播放节点,播放缓存池中的目标视频帧。
示例性地,第二跳转信息与第一跳转信息类似,也是指在视频播放过程中,用户向终端设备输入的用于调整视频播放进度的指令信息。上述预测的第二播放节点所指示的视频位置,即为终端设备根据第二跳转信息对视频进行跳转的目标位置。其中,第二跳转信息是在第一跳转信息之后接收到的信息,在一种可能的实现方式中,第一跳转信息和第二跳转信息是连续发生的,例如,用户在触摸屏上通过向前或向后拖动进度条,实现视频的跳转,在用户进行拖拽操作的过程中,根据进度条的拖拽轨迹,先后生成第一跳转信息和第二跳转信息,分别用于向终端设备指示跳转至第一播放节点和目标播放节点,其中,若该目标播放节点为预测的第二播放节点,则对缓存池中缓存的,与第二播放节点对应的目标视频帧进行播放。由于该目标视频帧已被解压和缓存,所以无需在进行额外的实时解压处理,因此耗时更短。
本公开实施例中,通过获取用户输入的第一跳转信息;确定第一跳转信息所指示的第一播放节点;根据第一跳转信息,预测第二播放节点,并将第二播放节点对应的目标视频帧缓存至缓存池中,其中,第二播放节点在第一播放节点之后;获取用户输入的第二跳转信息,若第二跳转信息指示的播放节点为第二播放节点,播放缓存池中的目标视频帧。由于目标视频帧被预先缓存在缓存池中,因此,在根据第二跳转信息进行视频跳转播放时,无需进行实时的解码过程,可以直接调用已被缓存的目标视频帧进行视频播放,避免了跳转操作时的视频卡顿问题,提高视频跳转播放时的视频播放流畅度,优化用户体验。
参考图6,图6为本公开实施例提供的视频跳转播放方法流程示意图二。本实施例在图3所示实施例提供的视频跳转播放方法的基础上,对步骤S103进一步细化,该视频跳转播放方法包括:
步骤S201:获取用户输入的第一跳转信息。
步骤S202:确定第一跳转信息所指示的第一播放节点。
步骤S203:根据第一跳转信息,预测第二播放节点。
具体地,第一跳转信息包括多个跳转节点,跳转节点与视频数据的播放节点具有一一映射关系。播放节点为用于表征视频数据的播放位置的信息,根据播放节点,可以确定对应的视频数据播放位置,也即视频帧。
参考图7,图7为本公开实施例提供的步骤S203的一种可能的实现方式,其中,步骤S203包括:
步骤S2031:获取各跳转节点的节点时间信息。
本公开实施例中,跳转节点的节点时间信息即跳转节点关于时间的描述信息。例如,跳转节点A对应视频第12分03秒,则跳转节点A的节点时间信息包括12分03秒这个时刻。
具体地,跳转节点在进度条上的位置,与跳转节点的节点时间信息具有预设的映射关系。图8为本公开实施例提供的一种跳转节点的节点时间信息的示意图,参考图8,跳转节点分别对应一个节点时间信息,该节点时间信息可以用于表征视频的播放位置,如图8所示,跳转节点A1对应12分15秒,跳转节点A2对应1小时13分22秒。
步骤S2032:根据各节点时间信息之间的变化量,确定第二播放节点。
本公开实施例中,跳转节点至少包括第一跳转节点和第二跳转节点,其中,第一跳转信息对应的滑动轨迹依次经过第一跳转节点和第二跳转节点。具体地,图9为本公开实施例提供的一种根据跳转节点确定第二播放节点的示意图,参考图9,用户输入的第一跳转信息对应一个滑动轨迹,随着滑动轨迹的延伸,滑动轨迹依次经过第一跳转节点和第二跳转节点,在滑动轨迹到达第二跳转节点位置后,通过在第一跳转节点和第二跳转节点位置处获得节点时间信息,根据至少两个跳转节点之间的节点时间信息的变化情况,可以预测在滑动轨迹上的下一个跳转节点,例如第三跳转节点的节点时间信息,进而将第三跳转节点作为预测的第二播放节点。
参考图10,图10为本公开实施例提供的步骤S2032的一种可能的实现方式,其中,步骤S2032包括:
步骤S2032A:获取第一跳转节点和第二跳转节点的节点时间信息。
本公开实施例中,第一跳转节点和第二跳转节点为滑动轨迹开始后先后经过的两个跳转节点,例如,第一跳转节点在滑动轨迹经过的第1个预设像素单位,第二跳转节点在滑动轨 迹经过的的第20个预设像素单位。第一跳转节点和第二跳转节点分别对应一个节点时间信息,例如第一跳转节点对应视频的第1分03秒,第二跳转节点对应视频的第1分06秒。
步骤S2032B:根据第一跳转节点和第二跳转节点的节点时间信息,确定节点加速度信息。
本公开实施例中,节点时间信息包括系统时间、显示时间戳。其中,系统时间为执行本公开实施例提供的视频跳转播放方法的终端设备的操作系统时间,例如2020年7月15日16点21分12秒。显示时间戳为显示的视频播放的时间,例如30分03秒。其中,第一跳转节点与第二跳转节点的显示时间戳的差值,相当于在滑动轨迹经过第一跳转节点和第二跳转节点后,视频播放的长度;第一跳转节点与第二跳转节点的系统时间的差值,相当于在滑动轨迹经过第一跳转节点和第二跳转节点后,经过的客观时长。因此,视频播放的长度与客观时长的比值,即为滑动轨迹在第二跳转节点处的速度,也即,第二跳转节点处的视频跳转速度。
具体地,根据第二跳转节点的显示时间戳与第一跳转节点的显示时间戳的差,与第二跳转节点的系统时间与第一跳转节点的系统时间的差的比值,确定第二跳转节点的瞬时速度信息。
由于用户在进行滑动轨迹以跳转视频播放进度时,并不是匀速进行的,在一定时间范围内,会进行加速或减速移动,因此,在确定第二跳转节点的瞬时速度信息后,再根据第二跳转节点的瞬时速度信息,确定第二跳转节点的加速度信息,以实现对滑动轨迹更准确的预测,进而实现对第二播放节点更准确的预测。
步骤S2032C:根据第二跳转节点的节点时间信息和节点加速度信息,确定第二播放节点。
具体地,根据第二跳转节点的加速度信息和瞬时速度信息,确定第二播放节点的瞬时速度信息;根据第二播放节点的瞬时速度信息与第一跳转节点、第二跳转节点之间的系统时间,确定目标移动量;根据第二跳转节点的显示时间戳和目标移动量,确定第二播放节点。
为了更好地公开确定第二播放节点的过程,下面以一个更加具体地实施例进行说明。
图11为本公开实施例提供的确定第二播放节点的示意图,参考图11所示,用户通过在终端设备的触摸屏上进行滑动轨迹,调节视频播放进度,终端设备接收到该滑动轨迹对应的第一跳转信息,并根据该第一跳转信息,对第二播放节点进行预测,确定第二播放节点,并将第二播放节点前后预设范围内的视频数据,确定为目标视频帧。
例如,用户进行滑动轨迹过程前,视频可以处于播放、停止或快进的状态,用户通过滑动视频播放进度条,进行跳转操作,对应的滑动轨迹首先经过跳转节点A,此时,终端设备记录跳转节点A的系统时间sys_time_t0和显示时间戳video_time_x0。之后,沿着滑动轨迹经过跳转节点B,终端设备再记录跳转节点B的系统时间sys_time_t1和显示时间戳video_time_x1。此时,根据式(1)确定跳转节点B的瞬时速度信息spd_v1为:
spd_v1=(video_time_x1-video_time_x0)/(sys_time_t1-sys_time_t0)   (1)
由此可知,在滑动轨迹上,根据前一跳转节点的节点时间信息和后一跳转节点的节点时间信息,可以递推得到后一跳转节点的瞬时速度信息。可选地,首个跳转节点的瞬时速度信息可以为0或者预设的速度值。
因此,跳转节点A的瞬时速度信息spd_v0可以根据跳转节点A上一个跳转节点的节点时间信息确定,或者,跳转节点A的瞬时速度信息可以为0或者预设的速度值。
进一步地,根据跳转节点A的瞬时速度信息,和跳转节点B的瞬时速度信息,可以确定跳转节点B的加速度信息,具体地,如式(2)所示,跳转节点B的加速度信息acc_a1为:
acc_a1=(spd_v1-spd_v0)/(sys_time_t1-sys_time_t0)      (2)
进一步地,根据跳转节点B的加速度信息,可以预测在跳转节点之后的跳转节点C的瞬时速度信息predict_spd_v2,具体地,如式(3)所示,跳转节点C的瞬时速度信息predict_spd_v2为:
predict_spd_v2=acc_a1*(sys_time_t1-sys_time_t0)+spd_v1     (3)
之后,对跳转节点C与跳转节点B之间的时间间隔进行预测,得到预测时间间隔predict_delta_x,具体地,如式(4)所示,对跳转节点C与跳转节点B之间的预测时间间隔predict_delta_x为:
predict_delta_x=(spd_v1+predict_spd_v2)/2*(sys_time_t1-sys_time_t0)    (4)
最后,跳转节点B的显示时间戳video_time_x1,以及预测时间间隔predict_delta_x,可以得到跳转节点C的显示时间戳位置predict_Pts,具体地,如式(5)所示,跳转节点C的显示时间戳位置predict_Pts为:
predict_Pts=video_time_x1+predict_delta_x       (5)
其中,跳转节点C即为预测的第二播放节点,跳转节点C与跳转节点B之间的距离,可以和跳转节点B与跳转节点A之间的距离相同或不同。本公开实施例中,通过第一跳转信息,在第一跳转信息对应的滑动轨迹移动到的跳转节点B处时,即可预测得到跳转节点C处的位置,进而,将跳转节点C作为第二播放节点进行解码和缓存,在接收到第二跳转信息,且第二跳转信息所指示的播放节点为第二播放节点时,可以直接进行播放,无需实时进行解码,避免出现卡顿,提高视频播放流畅度。
其中,跳转节点A与跳转节点B之间的距离,可以视为最小跳转距离,最小跳转距离越小,视频跳转越精确,相应的,系统需要的预测量、计算量和解码量越大,系统负担越大;相反的,最小跳转距离越大,视频跳转越粗糙,相应的,系统需要的预测量、计算量和解码量越小,系统负担越小。可选地,终端设备根据预设的设备负载信息,确定跳转节点A与跳转节点B之间的距离。根据设备的负载情况,确定匹配的跳转节点A与跳转节点B之间的距离,可以使视频跳转时的计算和预测时的资源消耗,不会超出设备的负载能力,导致视频出现卡顿的情况。
步骤S204:将第二播放节点对应的目标视频帧缓存至预设的缓存池中。
在一种可能的实现方式中,第二播放节点包括播放时间信息,播放时间信息用于表征目标视频帧在全部视频数据中的时间位置。
在本公开实施例中,将目标视频帧缓存至预设的缓存池中包括:根据预设的播放时间映射表,从全部视频数据中,确定与播放时间信息对应的标识信息;根据标识信息,确定目标视频帧;对目标视频帧进行解码,并将解码后的待播放视频数据缓存至缓存池中。
在另一种可能的实现方式中,第二播放节点包括播放比例信息,播放比例信息用于表征目标视频帧在全部视频数据中的比例位置。将目标视频帧缓存至预设的缓存池中包括:根据预设的播放比例映射表,从全部视频数据中,确定与播放比例信息对应的标识信息;根据标识信息,确定目标视频帧;对目标视频帧进行解码,并将解码后的待播放视频数据缓存至缓存池中。
步骤S205:对目标视频帧进行降采样,得到降采样视频。
在本公开实施例中,在确定目标视频帧后,首先对目标视频帧进行降采样处理,降低数据量,得到较低质量的视频帧数据,即降采样视频,之后对降采样视频进行解码和缓存,可以降低系统负载,提高数据处理效率。
步骤S206:若第二跳转信息指示的播放节点为第二播放节点,则,将降采样视频在预设的预览窗口内播放。
示例性地,在判断第二跳转信息指示的播放节点为第二播放节点时,在预览窗口内播放经过压缩的降采样视频,由于预览窗口并不是用户观看视频的主要途径,不需要高显示精度的视频,因此,对用户预览视频造成影响,同时由于压缩了视频体积,降低了系统负载,提高数据处理效率。
图12为本公开实施例提供的一种包含预览窗口的应用程序UI示意图。参考图12,将降采样后的目标视频帧缓冲后,在视频跳转至目标视频帧对应的第二播放节点时,在应用程序的预览窗口内对降采样后的缓存目标视频帧进行播放。通常情况下,用户进行视频跳转的操作目的,是为了定位感兴趣的视频片段,而不是为了观看跳转过程中的具体内容,而在预览窗口内,一般是为用户提供视频预览功能的小窗口,因此更加匹配用户进行跳转操作的目的。在预览窗口内,即使视频的质量较高,在预览窗口内也无法充分体现,反而由于需要对高质量视频进行处理,而造成了系统的较大负载,导致系统资源的浪费。因此,在视频跳转播放的过程中,通过将目标视频帧进行降采样或压缩,并在预览窗口内播放,可以降低视频跳转播放过程中,系统的处理压力和综合负载,提高视频跳转过程中的跳转流畅性,进而能够更好的实现用户进行视频跳转时定位、寻找感兴趣视频片段的目的。
在本实施例中,步骤S201与上述实施例中步骤S101的一致,详细论述请参考步骤S101的论述,这里不再赘述。
对应于上文实施例的视频跳转播放方法,图13为本公开实施例提供的视频跳转播放装置的结构框图。为了便于说明,仅示出了与本公开实施例相关的部分。参照图13,视频跳转播放装置300包括:
获取单元301,用于获取用户输入的第一跳转信息,并确定第一跳转信息所指示的第一播放节点。
预测单元302,用于根据第一跳转信息,预测第二播放节点,并将第二播放节点对应的目标视频帧缓存至缓存池中,其中,第二播放节点在第一播放节点之后。
播放单元303,用于获取用户输入的第二跳转信息,若第二跳转信息指示的播放节点为第二播放节点,播放缓存池中的目标视频帧。
在本公开的一个实施例中,第一跳转信息包括多个跳转节点,预测单元302,具体用于:获取各跳转节点的节点时间信息;根据各节点时间信息之间的变化量,确定第二播放节点。
在本公开的一个实施例中,多个跳转节点中包括第一跳转节点和第二跳转节点,第二跳转节点在第一跳转节点之后;预测单元302在根据各节点时间信息之间的变化量,确定第二播放节点时,具体用于:获取第一跳转节点的节点时间信息和第二跳转节点的节点时间信息;根据第一跳转节点的节点时间信息和第二跳转节点的节点时间信息,确定第二跳转节点的节点加速度信息;根据第二跳转节点的节点时间信息和第二跳转节点的节点加速度信息,确定第二播放节点。
在本公开的一个实施例中,节点时间信息包括系统时间和显示时间戳,预测单元302在根据第一跳转节点的节点时间信息和第二跳转节点的节点时间信息,确定第二跳转节点的节点加速度信息时,具体用于:根据第二跳转节点的显示时间戳与第一跳转节点的显示时间戳的差,与第二跳转节点的系统时间与第一跳转节点的系统时间的差的比值,确定第二跳转节点的瞬时速度信息;根据第二跳转节点的瞬时速度信息,确定第二跳转节点的加速度信息。
在本公开的一个实施例中,预测单元302在根据第二跳转节点的节点时间信息和节点加速度信息,确定第二播放节点时,具体用于:根据第二跳转节点的加速度信息和瞬时速度信息,确定第二播放节点的瞬时速度信息;根据第一跳转节点的系统时间与第二跳转节点的系统时间之间的差值,与第二播放节点的瞬时速度信息的乘积,确定目标移动量;根据第二跳转节点的显示时间戳和目标移动量,确定第二播放节点。
在本公开的一个实施例中,第二播放节点包括播放时间信息,播放时间信息用于表征目标视频帧在全部视频数据中的时间位置,预测单元302在将第二播放节点对应的目标视频帧缓存至缓存池中时,具体用于:根据预设的播放时间映射表,从全部视频数据中,确定与播放时间信息对应的标识信息;根据标识信息,确定目标视频帧;对目标视频帧进行解码,并缓存至缓存池中。
在本公开的一个实施例中,第二播放节点包括播放比例信息,播放比例信息用于表征目标视频帧在全部视频数据中的比例位置,预测单元302在将第二播放节点对应的目标视频帧缓存至预设的缓存池中时,具体用于:根据预设的播放比例映射表,从全部视频数据中,确定与播放比例信息对应的标识信息;根据标识信息,确定目标视频帧;对目标视频帧进行解码,并缓存至缓存池中。
在本公开的一个实施例中,播放单元303还用于:对目标视频帧进行降采样,得到降采样视频;播放单元303在播放缓存池中的目标视频帧时,具体用于:将降采样视频在预设的预览窗口内播放。
本实施例提供的视频跳转播放装置300,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图14为本公开实施例提供的终端设备的结构框图。为了便于说明,仅示出了与本公开实施例相关的部分。参照图14,终端设备400包括:包括触摸屏401、控制器402和存储器403。
其中,触摸屏401用于,获取用户输入的第一跳转信息。
控制器402用于,确定第一跳转信息所指示的第一播放节点;根据第一跳转信息,预测第二播放节点,并将第二播放节点对应的目标视频帧缓存至存储器403中,其中,第二播放节点在第一播放节点之后。
触摸屏401还用于,获取用户输入的第二跳转信息,若第二跳转信息指示的播放节点为第二播放节点,播放存储器中的目标视频帧。
在本公开的一个实施例中,第一跳转信息包括多个跳转节点,控制器402,具体用于:获取各跳转节点的节点时间信息;根据各节点时间信息之间的变化量,确定第二播放节点。
在本公开的一个实施例中,多个跳转节点中包括第一跳转节点和第二跳转节点,第二跳转节点在第一跳转节点之后;控制器402在根据各节点时间信息之间的变化量,确定第二播放节点时,具体用于:获取第一跳转节点的节点时间信息和第二跳转节点的节点时间信息;根据第一跳转节点的节点时间信息和第二跳转节点的节点时间信息,确定第二跳转节点的节 点加速度信息;根据第二跳转节点的节点时间信息和第二跳转节点的节点加速度信息,确定第二播放节点。
在本公开的一个实施例中,节点时间信息包括系统时间和显示时间戳,控制器402在根据第一跳转节点的节点时间信息和第二跳转节点的节点时间信息,确定第二跳转节点的节点加速度信息时,具体用于:根据第二跳转节点的显示时间戳与第一跳转节点的显示时间戳的差,与第二跳转节点的系统时间与第一跳转节点的系统时间的差的比值,确定第二跳转节点的瞬时速度信息;根据第二跳转节点的瞬时速度信息,确定第二跳转节点的加速度信息。
在本公开的一个实施例中,控制器402在根据第二跳转节点的节点时间信息和节点加速度信息,确定第二播放节点时,具体用于:根据第二跳转节点的加速度信息和瞬时速度信息,确定第二播放节点的瞬时速度信息;根据第一跳转节点的系统时间与第二跳转节点的系统时间之间的差值,与第二播放节点的瞬时速度信息的乘积,确定目标移动量;根据第二跳转节点的显示时间戳和目标移动量,确定第二播放节点。
在本公开的一个实施例中,第二播放节点包括播放时间信息,播放时间信息用于表征目标视频帧在全部视频数据中的时间位置,控制器402在将第二播放节点对应的目标视频帧缓存至存储器403中时,具体用于:根据预设的播放时间映射表,从全部视频数据中,确定与播放时间信息对应的标识信息;根据标识信息,确定目标视频帧;对目标视频帧进行解码,并缓存至存储器403中。
在本公开的一个实施例中,第二播放节点包括播放比例信息,播放比例信息用于表征目标视频帧在全部视频数据中的比例位置,控制器402在将第二播放节点对应的目标视频帧缓存至存储器403中时,具体用于:根据预设的播放比例映射表,从全部视频数据中,确定与播放比例信息对应的标识信息;根据标识信息,确定目标视频帧;对目标视频帧进行解码,并缓存至存储器403中。
在本公开的一个实施例中,控制器402还用于:对目标视频帧进行降采样,得到降采样视频;触摸屏401在播放缓存池中的目标视频帧时,具体用于:将降采样视频在预设的预览窗口内播放。
本实施例提供的终端设备400,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
参考图15,其示出了适于用来实现本公开实施例的电子设备500的结构示意图,该电子设备500可以为终端设备或服务器。其中,终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(Personal Digital Assistant,简称PDA)、平板电脑、便携式多媒体播放器(Portable Media Player,简称PMP)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图15示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图15所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(Read Only Memory,简称ROM)502中的程序或者从存储装置508加载到随机访问存储器(Random Access Memory,简称RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
通常,以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(Liquid Crystal Display,简称LCD)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图14示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从ROM 502被安装。在该计算机程序被处理装置501执行时,执行本公开实施例的方法中限定的上述功能。本公开的实施例还包括一种计算机程序,所述计算机程序被处理器执行时,用于执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Electrically Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc-Read Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(Local Area Network,简 称LAN)或广域网(Wide Area Network,简称WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(Field Programmable Gate Array,FPGA)、专用集成电路(Application Specific Integrated Circuit,ASIC)、专用标准产品(Application Specific Standard Product,ASSP)、片上系统(System On Chip,SOC)、复杂可编程逻辑设备(Complex Programmable Logic Device,CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、快闪存储器、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
第一方面,根据本公开的一个或多个实施例,提供了一种视频跳转播放方法,包括:
获取用户输入的第一跳转信息;确定所述第一跳转信息所指示的第一播放节点;根据所述第一跳转信息,预测第二播放节点,并将所述第二播放节点对应的目标视频帧缓存至缓存池中,其中,所述第二播放节点在所述第一播放节点之后;获取用户输入的第二跳转信息,若所述第二跳转信息指示的播放节点为所述第二播放节点,播放所述缓存池中的目标视频帧。
根据本公开的一个或多个实施例,所述第一跳转信息包括多个跳转节点,根据所述第一跳转信息,预测第二播放节点,包括:获取各所述跳转节点的节点时间信息;根据各所述节点时间信息之间的变化量,确定第二播放节点。
根据本公开的一个或多个实施例,所述多个跳转节点中包括第一跳转节点和第二跳转节点,所述第二跳转节点在所述第一跳转节点之后;根据各所述节点时间信息之间的变化量,确定第二播放节点,包括:获取所述第一跳转节点的节点时间信息和所述第二跳转节点的节点时间信息;根据所述第一跳转节点的节点时间信息和所述第二跳转节点的节点时间信息, 确定所述第二跳转节点的节点加速度信息;根据所述第二跳转节点的节点时间信息和所述第二跳转节点的节点加速度信息,确定所述第二播放节点。
根据本公开的一个或多个实施例,所述节点时间信息包括系统时间和显示时间戳,根据所述第一跳转节点的节点时间信息和所述第二跳转节点的节点时间信息,确定所述第二跳转节点的节点加速度信息,包括:根据所述第二跳转节点的显示时间戳与所述第一跳转节点的显示时间戳的差,与所述第二跳转节点的系统时间与第一跳转节点的系统时间的差的比值,确定所述第二跳转节点的瞬时速度信息;根据所述第二跳转节点的瞬时速度信息,确定所述第二跳转节点的加速度信息。
根据本公开的一个或多个实施例,根据所述第二跳转节点的节点时间信息和所述节点加速度信息,确定第二播放节点,包括:根据所述第二跳转节点的加速度信息和瞬时速度信息,确定第二播放节点的瞬时速度信息;根据所述第一跳转节点的系统时间与所述第二跳转节点的系统时间之间的差值,与所述第二播放节点的瞬时速度信息的乘积,确定目标移动量;根据所述第二跳转节点的显示时间戳和所述目标移动量,确定所述第二播放节点。
根据本公开的一个或多个实施例,所述第二播放节点包括播放时间信息,所述播放时间信息用于表征所述目标视频帧在全部视频数据中的时间位置,将所述第二播放节点对应的目标视频帧缓存至缓存池中,包括:根据预设的播放时间映射表,从所述全部视频数据中,确定与所述播放时间信息对应的标识信息;根据所述标识信息,确定所述目标视频帧;对所述目标视频帧进行解码,并缓存至缓存池中。
根据本公开的一个或多个实施例,所述第二播放节点包括播放比例信息,所述播放比例信息用于表征目标视频帧在全部视频数据中的比例位置,将所述第二播放节点对应的目标视频帧缓存至预设的缓存池中,包括:根据预设的播放比例映射表,从所述全部视频数据中,确定与所述播放比例信息对应的标识信息;根据所述标识信息,确定所述目标视频帧;对所述目标视频帧进行解码,并缓存至缓存池中。
根据本公开的一个或多个实施例,所述方法还包括:对所述目标视频帧进行降采样,得到降采样视频;播放所述缓存池中的目标视频帧,包括:将所述降采样视频在预设的预览窗口内播放。
第二方面,根据本公开的一个或多个实施例,提供了一种视频跳转播放装置,包括:
获取单元,用于获取用户输入的第一跳转信息,并确定所述第一跳转信息所指示的第一播放节点。
预测单元,用于根据所述第一跳转信息,预测第二播放节点,并将所述第二播放节点对应的目标视频帧缓存至缓存池中,其中,所述第二播放节点在所述第一播放节点之后。
播放单元,用于获取用户输入的第二跳转信息,若所述第二跳转信息指示的播放节点为所述第二播放节点,播放所述缓存池中的目标视频帧。
在本公开的一个实施例中,所述第一跳转信息包括多个跳转节点,预测单元,具体用于:获取各所述跳转节点的节点时间信息;根据各所述节点时间信息之间的变化量,确定第二播放节点。
在本公开的一个实施例中,所述多个跳转节点中包括第一跳转节点和第二跳转节点,所述第二跳转节点在所述第一跳转节点之后;预测单元在根据各所述节点时间信息之间的变化量,确定第二播放节点时,具体用于:获取所述第一跳转节点的节点时间信息和所述第二跳 转节点的节点时间信息;根据所述第一跳转节点的节点时间信息和所述第二跳转节点的节点时间信息,确定所述第二跳转节点的节点加速度信息;根据所述第二跳转节点的节点时间信息和所述第二跳转节点的节点加速度信息,确定所述第二播放节点。
在本公开的一个实施例中,所述节点时间信息包括系统时间和显示时间戳,预测单元在根据所述第一跳转节点的节点时间信息和所述第二跳转节点的节点时间信息,确定所述第二跳转节点的节点加速度信息时,具体用于:根据所述第二跳转节点的显示时间戳与所述第一跳转节点的显示时间戳的差,与所述第二跳转节点的系统时间与第一跳转节点的系统时间的差的比值,确定所述第二跳转节点的瞬时速度信息;根据所述第二跳转节点的瞬时速度信息,确定所述第二跳转节点的加速度信息。
在本公开的一个实施例中,预测单元在根据所述第二跳转节点的节点时间信息和所述节点加速度信息,确定第二播放节点时,具体用于:根据所述第二跳转节点的加速度信息和瞬时速度信息,确定第二播放节点的瞬时速度信息;根据所述第一跳转节点的系统时间与所述第二跳转节点的系统时间之间的差值,与所述第二播放节点的瞬时速度信息的乘积,确定目标移动量;根据所述第二跳转节点的显示时间戳和所述目标移动量,确定所述第二播放节点。
在本公开的一个实施例中,所述第二播放节点包括播放时间信息,所述播放时间信息用于表征所述目标视频帧在全部视频数据中的时间位置,预测单元在将所述第二播放节点对应的目标视频帧缓存至缓存池中时,具体用于:根据预设的播放时间映射表,从所述全部视频数据中,确定与所述播放时间信息对应的标识信息;根据所述标识信息,确定所述目标视频帧;对所述目标视频帧进行解码,并缓存至缓存池中。
在本公开的一个实施例中,所述第二播放节点包括播放比例信息,所述播放比例信息用于表征目标视频帧在全部视频数据中的比例位置,预测单元在将所述第二播放节点对应的目标视频帧缓存至预设的缓存池中时,具体用于:根据预设的播放比例映射表,从所述全部视频数据中,确定与所述播放比例信息对应的标识信息;根据所述标识信息,确定所述目标视频帧;对所述目标视频帧进行解码,并缓存至缓存池中。
在本公开的一个实施例中,所述播放单元还用于:对所述目标视频帧进行降采样,得到降采样视频;所述播放单元在播放所述缓存池中的目标视频帧时,具体用于:将所述降采样视频在预设的预览窗口内播放。
第三方面,根据本公开的一个或多个实施例,提供了一种终端设备,包括触摸屏、控制器和存储器。
其中,所述触摸屏用于,获取用户输入的第一跳转信息。
所述控制器用于,确定所述第一跳转信息所指示的第一播放节点;根据所述第一跳转信息,预测第二播放节点,并将所述第二播放节点对应的目标视频帧缓存至所述存储器中,其中,所述第二播放节点在所述第一播放节点之后。
所述触摸屏还用于,获取用户输入的第二跳转信息,若所述第二跳转信息指示的播放节点为所述第二播放节点,播放所述存储器中的目标视频帧。
在本公开的一个实施例中,所述第一跳转信息包括多个跳转节点,控制器,具体用于:获取各所述跳转节点的节点时间信息;根据各所述节点时间信息之间的变化量,确定第二播放节点。
在本公开的一个实施例中,所述多个跳转节点中包括第一跳转节点和第二跳转节点,所述第二跳转节点在所述第一跳转节点之后;控制器在根据各所述节点时间信息之间的变化量,确定第二播放节点时,具体用于:获取所述第一跳转节点的节点时间信息和所述第二跳转节点的节点时间信息;根据所述第一跳转节点的节点时间信息和所述第二跳转节点的节点时间信息,确定所述第二跳转节点的节点加速度信息;根据所述第二跳转节点的节点时间信息和所述第二跳转节点的节点加速度信息,确定所述第二播放节点。
在本公开的一个实施例中,所述节点时间信息包括系统时间和显示时间戳,控制器在根据所述第一跳转节点的节点时间信息和所述第二跳转节点的节点时间信息,确定所述第二跳转节点的节点加速度信息时,具体用于:根据所述第二跳转节点的显示时间戳与所述第一跳转节点的显示时间戳的差,与所述第二跳转节点的系统时间与第一跳转节点的系统时间的差的比值,确定所述第二跳转节点的瞬时速度信息;根据所述第二跳转节点的瞬时速度信息,确定所述第二跳转节点的加速度信息。
在本公开的一个实施例中,控制器在根据所述第二跳转节点的节点时间信息和所述节点加速度信息,确定第二播放节点时,具体用于:根据所述第二跳转节点的加速度信息和瞬时速度信息,确定第二播放节点的瞬时速度信息;根据所述第一跳转节点的系统时间与所述第二跳转节点的系统时间之间的差值,与所述第二播放节点的瞬时速度信息的乘积,确定目标移动量;根据所述第二跳转节点的显示时间戳和所述目标移动量,确定所述第二播放节点。
在本公开的一个实施例中,所述第二播放节点包括播放时间信息,所述播放时间信息用于表征所述目标视频帧在全部视频数据中的时间位置,控制器在将所述第二播放节点对应的目标视频帧缓存至存储器中时,具体用于:根据预设的播放时间映射表,从所述全部视频数据中,确定与所述播放时间信息对应的标识信息;根据所述标识信息,确定所述目标视频帧;对所述目标视频帧进行解码,并缓存至存储器中。
在本公开的一个实施例中,所述第二播放节点包括播放比例信息,所述播放比例信息用于表征目标视频帧在全部视频数据中的比例位置,控制器在将所述第二播放节点对应的目标视频帧缓存至存储器中时,具体用于:根据预设的播放比例映射表,从所述全部视频数据中,确定与所述播放比例信息对应的标识信息;根据所述标识信息,确定所述目标视频帧;对所述目标视频帧进行解码,并缓存至存储器中。
在本公开的一个实施例中,所述控制器还用于:对所述目标视频帧进行降采样,得到降采样视频;所述触摸屏在播放所述缓存池中的目标视频帧时,具体用于:将所述降采样视频在预设的预览窗口内播放。
第四方面,根据本公开的一个或多个实施例,提供了一种电子设备,包括:至少一个处理器和存储器;存储器存储计算机执行指令;至少一个处理器执行存储器存储的计算机执行指令,使得至少一个处理器执行如上第一方面以及第一方面各种可能的设计的视频跳转播放方法。
第五方面,根据本公开的一个或多个实施例,提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计的视频跳转播放方法。
第六方面,本公开实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上第一方面以及第一方面各种可能的设计所述的视频跳转播放方法。
第七方面,本公开实施例提供一种计算机程序,所述计算机程序被处理器执行时实现如上第一方面以及第一方面各种可能的设计所述的视频跳转播放方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (13)

  1. 一种视频跳转播放方法,其特征在于,包括:
    获取用户输入的第一跳转信息;
    确定所述第一跳转信息所指示的第一播放节点;
    根据所述第一跳转信息,预测第二播放节点,并将所述第二播放节点对应的目标视频帧缓存至缓存池中,其中,所述第二播放节点在所述第一播放节点之后;
    获取用户输入的第二跳转信息,若所述第二跳转信息指示的播放节点为所述第二播放节点,播放所述缓存池中的目标视频帧。
  2. 根据权利要求1所述的方法,其特征在于,所述第一跳转信息包括多个跳转节点,根据所述第一跳转信息,预测第二播放节点,包括:
    获取各所述多个跳转节点的节点时间信息;
    根据各所述节点时间信息之间的变化量,确定所述第二播放节点。
  3. 根据权利要求2所述的方法,其特征在于,所述多个跳转节点中包括第一跳转节点和第二跳转节点,所述第二跳转节点在所述第一跳转节点之后;根据各所述节点时间信息之间的变化量,确定所述第二播放节点,包括:
    获取所述第一跳转节点的节点时间信息和所述第二跳转节点的节点时间信息;
    根据所述第一跳转节点的节点时间信息和所述第二跳转节点的节点时间信息,确定所述第二跳转节点的节点加速度信息;
    根据所述第二跳转节点的节点时间信息和所述第二跳转节点的节点加速度信息,确定所述第二播放节点。
  4. 根据权利要求3所述的方法,其特征在于,所述节点时间信息包括系统时间和显示时间戳,根据所述第一跳转节点的节点时间信息和所述第二跳转节点的节点时间信息,确定所述第二跳转节点的节点加速度信息,包括:
    根据所述第二跳转节点的显示时间戳与所述第一跳转节点的显示时间戳的差,与所述第二跳转节点的系统时间与所述第一跳转节点的系统时间的差的比值,确定所述第二跳转节点的瞬时速度信息;
    根据所述第二跳转节点的瞬时速度信息,确定所述第二跳转节点的加速度信息。
  5. 根据权利要求4所述的方法,其特征在于,根据所述第二跳转节点的节点时间信息和所述第二跳转节点的节点加速度信息,确定所述第二播放节点,包括:
    根据所述第二跳转节点的加速度信息和瞬时速度信息,确定所述第二播放节点的瞬时速度信息;
    根据所述第一跳转节点的系统时间与所述第二跳转节点的系统时间之间的差值,与所述第二播放节点的瞬时速度信息的乘积,确定目标移动量;
    根据所述第二跳转节点的显示时间戳和所述目标移动量,确定所述第二播放节点。
  6. 根据权利要求1-5任一项所述的方法,其特征在于,所述第二播放节点包括播放时间信息,所述播放时间信息用于表征所述目标视频帧在全部视频数据中的时间位置,将所述第二播放节点对应的目标视频帧缓存至缓存池中,包括:
    根据预设的播放时间映射表,从所述全部视频数据中,确定与所述播放时间信息对应的 标识信息;
    根据所述标识信息,确定所述目标视频帧;
    对所述目标视频帧进行解码,并缓存至缓存池中。
  7. 根据权利要求1-5任一项所述的方法,其特征在于,所述第二播放节点包括播放比例信息,所述播放比例信息用于表征目标视频帧在全部视频数据中的比例位置,将所述第二播放节点对应的目标视频帧缓存至预设的缓存池中,包括:
    根据预设的播放比例映射表,从所述全部视频数据中,确定与所述播放比例信息对应的标识信息;
    根据所述标识信息,确定所述目标视频帧;
    对所述目标视频帧进行解码,并缓存至缓存池中。
  8. 根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
    对所述目标视频帧进行降采样,得到降采样视频;
    播放所述缓存池中的目标视频帧,包括:
    将所述降采样视频在预设的预览窗口内播放。
  9. 一种视频跳转播放装置,其特征在于,包括:
    获取单元,用于获取用户输入的第一跳转信息,并确定所述第一跳转信息所指示的第一播放节点;
    预测单元,用于根据所述第一跳转信息,预测第二播放节点,并将所述第二播放节点对应的目标视频帧缓存至缓存池中,其中,所述第二播放节点在所述第一播放节点之后;
    播放单元,用于获取用户输入的第二跳转信息,若所述第二跳转信息指示的播放节点为所述第二播放节点,播放所述缓存池中的目标视频帧。
  10. 一种终端设备,其特征在于,包括触摸屏、控制器和存储器,其中,
    所述触摸屏用于,获取用户输入的第一跳转信息;
    所述控制器用于,确定所述第一跳转信息所指示的第一播放节点;根据所述第一跳转信息,预测第二播放节点,并将所述第二播放节点对应的目标视频帧缓存至所述存储器中,其中,所述第二播放节点在所述第一播放节点之后;
    所述触摸屏还用于,获取用户输入的第二跳转信息,若所述第二跳转信息指示的播放节点为所述第二播放节点,播放所述存储器中的目标视频帧。
  11. 一种电子设备,其特征在于,包括:至少一个处理器和存储器;
    所述存储器存储计算机执行指令;
    所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1-8任一项所述的视频跳转播放方法。
  12. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1-8任一项所述的视频跳转播放方法。
  13. 一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如权利要求1-8任一项所述的视频跳转播放方法。
PCT/CN2021/132557 2020-12-23 2021-11-23 视频跳转播放方法、装置、终端设备及存储介质 WO2022134997A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/259,028 US20240233767A1 (en) 2020-12-23 2021-11-23 Method and apparatus for video seeking and playing, terminal device and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011540293.4A CN114666666B (zh) 2020-12-23 2020-12-23 视频跳转播放方法、装置、终端设备及存储介质
CN202011540293.4 2020-12-23

Publications (1)

Publication Number Publication Date
WO2022134997A1 true WO2022134997A1 (zh) 2022-06-30

Family

ID=82025473

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/132557 WO2022134997A1 (zh) 2020-12-23 2021-11-23 视频跳转播放方法、装置、终端设备及存储介质

Country Status (3)

Country Link
US (1) US20240233767A1 (zh)
CN (1) CN114666666B (zh)
WO (1) WO2022134997A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115278349B (zh) * 2022-07-21 2023-05-23 北京邮电大学 一种在无线通信环境下的处理拖拽观看视频的方法
CN116996631B (zh) * 2023-09-26 2023-12-08 牡丹江师范学院 一种制作实时显示演唱视频的系统及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140026052A1 (en) * 2012-07-18 2014-01-23 Verimatrix, Inc. Systems and methods for rapid content switching to provide a linear tv experience using streaming content distribution
CN104469519A (zh) * 2014-12-18 2015-03-25 北京元心科技有限公司 一种视频播放方法及装置
CN109743617A (zh) * 2018-12-03 2019-05-10 清华大学 一种视频播放的跳转导航方法和设备
CN110166817A (zh) * 2019-06-24 2019-08-23 北京奇艺世纪科技有限公司 一种数据缓存方法及相关设备
CN110719524A (zh) * 2019-10-16 2020-01-21 腾讯科技(深圳)有限公司 一种视频播放方法、装置、智能播放设备和存储介质
CN110740373A (zh) * 2018-07-20 2020-01-31 北京搜狗科技发展有限公司 一种音/视频文件的缓冲方法及相关装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8472783B2 (en) * 2010-11-30 2013-06-25 Echostar Technologies L.L.C. Systems and methods for digital video high accuracy fast forward, rewind and skip
US9628833B2 (en) * 2014-05-30 2017-04-18 Apple Inc. Media requests for trickplay
CA2997355A1 (en) * 2016-12-30 2019-06-14 Tivo Solutions Inc. Advanced trick-play modes for streaming video

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140026052A1 (en) * 2012-07-18 2014-01-23 Verimatrix, Inc. Systems and methods for rapid content switching to provide a linear tv experience using streaming content distribution
CN104469519A (zh) * 2014-12-18 2015-03-25 北京元心科技有限公司 一种视频播放方法及装置
CN110740373A (zh) * 2018-07-20 2020-01-31 北京搜狗科技发展有限公司 一种音/视频文件的缓冲方法及相关装置
CN109743617A (zh) * 2018-12-03 2019-05-10 清华大学 一种视频播放的跳转导航方法和设备
CN110166817A (zh) * 2019-06-24 2019-08-23 北京奇艺世纪科技有限公司 一种数据缓存方法及相关设备
CN110719524A (zh) * 2019-10-16 2020-01-21 腾讯科技(深圳)有限公司 一种视频播放方法、装置、智能播放设备和存储介质

Also Published As

Publication number Publication date
US20240233767A1 (en) 2024-07-11
CN114666666A (zh) 2022-06-24
CN114666666B (zh) 2023-05-30

Similar Documents

Publication Publication Date Title
US10705709B2 (en) Playing media
WO2020253806A1 (zh) 展示视频的生成方法、装置、设备及存储介质
WO2023011142A1 (zh) 视频的处理方法、装置、电子设备和存储介质
WO2022134997A1 (zh) 视频跳转播放方法、装置、终端设备及存储介质
WO2020233142A1 (zh) 多媒体文件播放方法、装置、电子设备和存储介质
WO2022105597A1 (zh) 视频倍速播放方法、装置、电子设备及存储介质
WO2021218518A1 (zh) 视频的处理方法、装置、设备及介质
US12112772B2 (en) Method and apparatus for video production, device and storage medium
WO2022121753A1 (zh) 直播界面显示方法及设备
WO2023284437A1 (zh) 媒体文件处理方法、装置、设备、可读存储介质及产品
WO2023024801A1 (zh) 视频解码方法、设备、存储介质及程序产品
WO2022242482A1 (zh) 播放控制方法、设备、存储介质及程序产品
WO2020107627A1 (zh) 音量调节方法、装置、电子设备及计算机可读存储介质
WO2023035884A1 (zh) 动态画质视频播放方法、装置、电子设备及存储介质
WO2024139852A1 (zh) 媒体播放方法及设备
WO2024046284A1 (zh) 绘制动画生成方法、装置、设备、可读存储介质及产品
US20240195937A1 (en) Method, device, storage medium and program product for video recording
WO2020238241A1 (zh) 媒体对象的播放方法、装置、电子设备及存储介质
WO2022218109A1 (zh) 交互方法, 装置, 电子设备及计算机可读存储介质
US11908490B2 (en) Video recording method and device, electronic device and storage medium
WO2023179404A1 (zh) 直播启播方法、设备及程序产品
WO2023197811A1 (zh) 视频下载、传输方法、装置、终端设备、服务器及介质
WO2023155708A1 (zh) 视角的切换方法、装置、电子设备、存储介质和程序产品
WO2023029821A1 (zh) 视频缓存播放方法、装置、电子设备及存储介质
WO2023151682A1 (zh) 应用启动方法、装置、电子设备、存储介质和程序产品

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18259028

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 20.10.2023)

122 Ep: pct application non-entry in european phase

Ref document number: 21908996

Country of ref document: EP

Kind code of ref document: A1