WO2022134997A1 - 视频跳转播放方法、装置、终端设备及存储介质 - Google Patents
视频跳转播放方法、装置、终端设备及存储介质 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000004590 computer program Methods 0.000 claims abstract description 20
- 239000000872 buffer Substances 0.000 claims description 62
- 230000001133 acceleration Effects 0.000 claims description 42
- 238000013507 mapping Methods 0.000 claims description 16
- 230000008859 change Effects 0.000 claims description 13
- 230000009191 jumping Effects 0.000 claims description 12
- 238000005070 sampling Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 22
- 238000010586 diagram Methods 0.000 description 26
- 230000003139 buffering effect Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 238000013461 design Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 description 1
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 description 1
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 description 1
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/34—Indicating arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/005—Reproducing at a different information rate from the information rate of recording
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing 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/23805—Controlling the feeding rate to the network, e.g. by controlling the video pump
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/0485—Scrolling or panning
- G06F3/04855—Interaction 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
Claims (13)
- 一种视频跳转播放方法,其特征在于,包括:获取用户输入的第一跳转信息;确定所述第一跳转信息所指示的第一播放节点;根据所述第一跳转信息,预测第二播放节点,并将所述第二播放节点对应的目标视频帧缓存至缓存池中,其中,所述第二播放节点在所述第一播放节点之后;获取用户输入的第二跳转信息,若所述第二跳转信息指示的播放节点为所述第二播放节点,播放所述缓存池中的目标视频帧。
- 根据权利要求1所述的方法,其特征在于,所述第一跳转信息包括多个跳转节点,根据所述第一跳转信息,预测第二播放节点,包括:获取各所述多个跳转节点的节点时间信息;根据各所述节点时间信息之间的变化量,确定所述第二播放节点。
- 根据权利要求2所述的方法,其特征在于,所述多个跳转节点中包括第一跳转节点和第二跳转节点,所述第二跳转节点在所述第一跳转节点之后;根据各所述节点时间信息之间的变化量,确定所述第二播放节点,包括:获取所述第一跳转节点的节点时间信息和所述第二跳转节点的节点时间信息;根据所述第一跳转节点的节点时间信息和所述第二跳转节点的节点时间信息,确定所述第二跳转节点的节点加速度信息;根据所述第二跳转节点的节点时间信息和所述第二跳转节点的节点加速度信息,确定所述第二播放节点。
- 根据权利要求3所述的方法,其特征在于,所述节点时间信息包括系统时间和显示时间戳,根据所述第一跳转节点的节点时间信息和所述第二跳转节点的节点时间信息,确定所述第二跳转节点的节点加速度信息,包括:根据所述第二跳转节点的显示时间戳与所述第一跳转节点的显示时间戳的差,与所述第二跳转节点的系统时间与所述第一跳转节点的系统时间的差的比值,确定所述第二跳转节点的瞬时速度信息;根据所述第二跳转节点的瞬时速度信息,确定所述第二跳转节点的加速度信息。
- 根据权利要求4所述的方法,其特征在于,根据所述第二跳转节点的节点时间信息和所述第二跳转节点的节点加速度信息,确定所述第二播放节点,包括:根据所述第二跳转节点的加速度信息和瞬时速度信息,确定所述第二播放节点的瞬时速度信息;根据所述第一跳转节点的系统时间与所述第二跳转节点的系统时间之间的差值,与所述第二播放节点的瞬时速度信息的乘积,确定目标移动量;根据所述第二跳转节点的显示时间戳和所述目标移动量,确定所述第二播放节点。
- 根据权利要求1-5任一项所述的方法,其特征在于,所述第二播放节点包括播放时间信息,所述播放时间信息用于表征所述目标视频帧在全部视频数据中的时间位置,将所述第二播放节点对应的目标视频帧缓存至缓存池中,包括:根据预设的播放时间映射表,从所述全部视频数据中,确定与所述播放时间信息对应的 标识信息;根据所述标识信息,确定所述目标视频帧;对所述目标视频帧进行解码,并缓存至缓存池中。
- 根据权利要求1-5任一项所述的方法,其特征在于,所述第二播放节点包括播放比例信息,所述播放比例信息用于表征目标视频帧在全部视频数据中的比例位置,将所述第二播放节点对应的目标视频帧缓存至预设的缓存池中,包括:根据预设的播放比例映射表,从所述全部视频数据中,确定与所述播放比例信息对应的标识信息;根据所述标识信息,确定所述目标视频帧;对所述目标视频帧进行解码,并缓存至缓存池中。
- 根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:对所述目标视频帧进行降采样,得到降采样视频;播放所述缓存池中的目标视频帧,包括:将所述降采样视频在预设的预览窗口内播放。
- 一种视频跳转播放装置,其特征在于,包括:获取单元,用于获取用户输入的第一跳转信息,并确定所述第一跳转信息所指示的第一播放节点;预测单元,用于根据所述第一跳转信息,预测第二播放节点,并将所述第二播放节点对应的目标视频帧缓存至缓存池中,其中,所述第二播放节点在所述第一播放节点之后;播放单元,用于获取用户输入的第二跳转信息,若所述第二跳转信息指示的播放节点为所述第二播放节点,播放所述缓存池中的目标视频帧。
- 一种终端设备,其特征在于,包括触摸屏、控制器和存储器,其中,所述触摸屏用于,获取用户输入的第一跳转信息;所述控制器用于,确定所述第一跳转信息所指示的第一播放节点;根据所述第一跳转信息,预测第二播放节点,并将所述第二播放节点对应的目标视频帧缓存至所述存储器中,其中,所述第二播放节点在所述第一播放节点之后;所述触摸屏还用于,获取用户输入的第二跳转信息,若所述第二跳转信息指示的播放节点为所述第二播放节点,播放所述存储器中的目标视频帧。
- 一种电子设备,其特征在于,包括:至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1-8任一项所述的视频跳转播放方法。
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1-8任一项所述的视频跳转播放方法。
- 一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如权利要求1-8任一项所述的视频跳转播放方法。
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)
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)
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)
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 |
-
2020
- 2020-12-23 CN CN202011540293.4A patent/CN114666666B/zh active Active
-
2021
- 2021-11-23 WO PCT/CN2021/132557 patent/WO2022134997A1/zh active Application Filing
- 2021-11-23 US US18/259,028 patent/US20240233767A1/en active Pending
Patent Citations (6)
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 |