[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN115967842A - Video seek method, system, video playing server and storage medium - Google Patents

Video seek method, system, video playing server and storage medium Download PDF

Info

Publication number
CN115967842A
CN115967842A CN202211652158.8A CN202211652158A CN115967842A CN 115967842 A CN115967842 A CN 115967842A CN 202211652158 A CN202211652158 A CN 202211652158A CN 115967842 A CN115967842 A CN 115967842A
Authority
CN
China
Prior art keywords
video
playing
time
data packet
frame data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211652158.8A
Other languages
Chinese (zh)
Inventor
姚梦琳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Afirstsoft Co Ltd
Original Assignee
Afirstsoft Co Ltd
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 Afirstsoft Co Ltd filed Critical Afirstsoft Co Ltd
Priority to CN202211652158.8A priority Critical patent/CN115967842A/en
Publication of CN115967842A publication Critical patent/CN115967842A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

The invention provides a video seek method, a system, a video playing server and a storage medium, wherein when a key frame data packet is not in a first time range near the playing time corresponding to a dragging operation drop point position, the video seek method of the invention collects all decoded video frames in the time range from the drop point position to a starting point position of the dragging operation to generate a temporarily played video segment; the current picture is switched to play the video segment of the pause playing, so that a user can know that the decoding operation is still normally carried out, the user is prevented from waiting anxiety caused by the long-time immobility of the video picture, meanwhile, each video frame data packet outside a first time range near the playing time is scanned, a key frame data packet closest to the playing time is found, the video frame at the position of a drop point and a subsequent video frame at a certain time length are decoded after the key frame data packet is found, the playing switching is carried out, and the problem that the user experience is poor when the key frame is far away from the position of the seek in the conventional video seek method is solved.

Description

Video seek method, system, video playing server and storage medium
Technical Field
The present invention relates to the field of video decoding and playing technologies, and in particular, to a video seek method, a video seek system, a video playing server, and a storage medium.
Background
With the development of multimedia technology, more and more people can watch videos by using devices such as mobile phones and computers, sometimes need to go back to watch a certain segment repeatedly, sometimes need to drag a progress bar to find a certain interesting picture or segment, therefore, it is an important and fundamental function to change the playing position in real time to display a corresponding picture, the function operation is called seek, and for audio and video playing devices, it is very important to accurately respond to seek operation at high speed.
In the existing video seek method, if the key frame is far away from the seek position, the video frame to be decoded will increase, and the time consumption will also increase accordingly, the corresponding playing picture will be in a pause state for a long time, and if the pause time is long, the user may feel that the device or the network is abnormal, the video will be refreshed frequently, and the user experience is poor.
Accordingly, the prior art is yet to be improved and developed.
Disclosure of Invention
The present invention is directed to a video seek method, system, device and storage medium, so as to solve the problems of the prior art described in the background.
The invention provides a video seek method in a first aspect, which comprises the following steps:
receiving a dragging operation of a user on a video playing progress bar, pausing the playing of a current picture and acquiring a drop point position of the dragging operation;
judging whether the position of the drop point is in a decoded segment area;
if the drop point position is not in the decoded segment area, acquiring the playing time of the drop point position;
scanning each video frame data packet in a first time range near the playing time, and collecting all decoded video frames in the time range from the falling point position to the starting point position of the dragging operation to generate a temporarily played video clip if no key frame data packet is found in each video frame data packet in the first time range near the playing time;
switching the current picture to play the temporarily played video clip, scanning each video frame data packet outside the first time range near the playing time, and finding out a key frame data packet closest to the playing time;
starting decoding from the key frame data packet to obtain a target video frame and a subsequent video frame of the playing time, wherein only the video frame data packet with the attribute of a reference frame is decoded for each video data packet between the key frame data packet and the target video frame;
and when the continuous playing time of the subsequent video frame reaches a first time length, switching the current picture to play the target video frame and sequentially playing the subsequent video frame.
In an optional implementation manner of the first aspect of the present invention, after the collecting all decoded video frames in a time range from the drop point position to the start point position of the dragging operation to generate a paused video segment, before the switching the current picture to play the paused video segment includes:
acquiring the total playing time of the temporarily played video clip;
judging whether the total playing time length is greater than or equal to a first threshold value;
if the total playing time length is smaller than the first threshold value, reducing the video playing frame rate to a first calculated value, wherein the first calculated value is a target frame rate value calculated when the total playing time length of the temporarily played video clip is prolonged to be larger than or equal to the first threshold value.
In an alternative implementation manner of the first aspect of the present invention, after finding the key frame data packet closest to the playing time, before decoding the key frame data packet to obtain the target video frame and the subsequent video frame of the playing time, the method includes:
acquiring a timestamp of the key frame data packet;
acquiring all video frame data packets needing to be decoded from the timestamp to the playing time, wherein all the video frame data packets needing to be decoded comprise the key frame data packet, all the video frame data packets with the attributes of the timestamp to the playing time being reference frames and all the video frame data packets with the playing time;
calculating and obtaining decoding time values of all video frame data packets needing to be decoded based on the decoding rate;
adding a preset additional value to the decoding time value to obtain a total decoding time value;
acquiring a residual playing time value of the temporarily played video clip;
if the total time value is less than the remaining playing time value, performing multiple playing on the temporarily played video clip to reduce the remaining playing time value so that the remaining playing time value and the total time value are approximately equal;
if the total time value is greater than the remaining playing time value, performing frame rate reduction playing on the temporarily played video segment to increase the remaining playing time value so that the remaining playing time value is approximately equal to the total time value.
In an optional implementation manner of the first aspect of the present invention, the determining whether the drop point position is located in a decoded segment region further includes:
if the position of the drop point is in the decoded segment area, acquiring the starting time and the ending time of the decoded segment area;
calculating a first difference between the play time and the end time of the drop point position;
judging whether the first difference value is larger than or equal to a second threshold value or not;
if the first difference value is smaller than the second threshold value, decoding each video frame data packet after the termination time in sequence to prolong the termination time of the decoded segment region so that the first difference value is larger than or equal to the second threshold value.
And when the first difference value is greater than or equal to the second threshold value, starting to play each decoded video frame from the decoded video frame of the starting time.
In an alternative implementation manner of the first aspect of the present invention, the scanning each video frame data packet in a first time range around the playing time includes:
creating a forward scanning process and a reverse scanning process;
and taking the video frame data packet corresponding to the playing time as a starting point, and simultaneously scanning each video frame data packet in the first time range through the forward scanning process and the reverse scanning process.
In an optional implementation manner of the first aspect of the present invention, the switching the current picture to play the temporarily played video segment, and scanning each video frame data packet outside the first time range near the playing time, and finding a key frame data packet closest to the playing time includes:
and switching the current picture to play the temporarily played video clip, and scanning each video frame data packet outside the first time range near the playing time through the reverse scanning process to find out the key frame data packet closest to the playing time.
In an optional implementation manner of the first aspect of the present invention, if the key frame data packets are obtained by scanning in the first time range through the forward scanning process, the drop point position is adjusted to another playing time determined by the key frame data packets; and decoding each video frame data packet from the other playing time to obtain video playing data, and switching the current picture to play the video playing data when the playing time of the video playing data is greater than a third threshold value.
A second aspect of the present invention provides a video seek system, which includes:
the system comprises a dragging position acquisition module, a video playing progress bar acquisition module and a display module, wherein the dragging position acquisition module is used for receiving dragging operation of a user on the video playing progress bar and acquiring a drop point position of the dragging operation;
a drop point position judging module, configured to judge whether the drop point position is in a decoded segment region, and if the drop point position is not in the decoded segment region, obtain a playing time of the drop point position;
a video frame scanning and temporarily playing video segment generating module, configured to scan each video frame data packet within a first time range near the playing time, and if no key frame data packet is found in each video frame data packet within the first time range near the playing time, collect all decoded video frames within a time range from the drop point position to the start point position of the dragging operation to generate a temporarily playing video segment;
the video temporary playing and key frame searching module is used for switching the current playing picture into playing the temporary playing video clip, scanning each video frame data packet outside the first time range near the playing time and finding out the key frame data packet closest to the playing time;
a decoding module, configured to decode from the key frame data packet to obtain a target video frame and a subsequent video frame of the playing time, where, for each video data packet between the key frame data packet and the target video frame, only a video frame data packet with an attribute of a reference frame is decoded;
and the playing picture switching module is used for switching the current playing picture to play the target video frame and sequentially playing the subsequent video frames when the continuous playing time of the subsequent video frames reaches a first time length.
A third aspect of the present invention provides a video playback server, including: a memory having instructions stored therein and at least one processor, the memory and the at least one processor interconnected by a line;
the at least one processor invokes the instructions in the memory to cause the video playback server to perform the video seek method as described in any of the above.
A fourth aspect of the present invention provides a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements the video seek method as defined in any one of the above.
Has the beneficial effects that: the invention provides a video seek method, a system, a video playing server and a storage medium, wherein when a key frame data packet is not in a first time range near the playing time corresponding to the position of a dragging operation falling point, the video seek method can collect all decoded video frames in the time range from the falling point position to the starting point position of the dragging operation to generate a temporarily played video segment; the current picture is switched to play the video segment of the pause playing, so that a user can know that the decoding operation is still normally carried out, the user is prevented from waiting anxiety caused by the long-time immobility of the video picture, meanwhile, each video frame data packet outside a first time range near the playing time is scanned, a key frame data packet closest to the playing time is found, the video frame at the position of a drop point and a subsequent video frame at a certain time length are decoded after the key frame data packet is found, the playing switching is carried out, and the problem that the user experience is poor when the key frame is far away from the position of the seek in the conventional video seek method is solved.
Drawings
FIG. 1 is a schematic diagram of a video seek method according to an embodiment of the present invention;
FIG. 2 is a schematic diagram of a video seek system according to an embodiment of the present invention;
fig. 3 is a schematic diagram of a video playing server according to an embodiment of the present invention.
Detailed Description
The embodiment of the invention provides a video seek method, a video seek system, a video playing server and a storage medium. The terms "first," "second," "third," "fourth," and the like in the description and in the claims, as well as in the drawings, if any, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It should be understood that the data so used may be interchanged under appropriate circumstances such that embodiments described herein may be capable of operation other than as shown in the figures.
Or in an order other than that described. Furthermore, the terms "comprises," "comprising," or "having," and any variations thereof, are intended to cover non-exclusive inclusions, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
Referring to fig. 1, a first aspect of the present invention provides a video seek method, including the following steps:
s100, receiving a dragging operation of a user on a video playing progress bar, pausing the playing of a current picture and acquiring a drop point position of the dragging operation; in the invention, the video seek refers to a situation for dragging a progress bar to find a certain interesting picture or segment in a video, the purpose of the dragging operation is to pause the playing of the current picture so as to enable a user to more intuitively perceive that the action of dragging the progress bar is effective, the video playing mainly involves decoding the video after the playing progress bar is dragged, and a video frame data packet to be decoded is determined according to a drop point position before decoding;
s200, judging whether the position of the drop point is in a decoded segment area; in the invention, the drop point position dragged by the playing progress bar generally has two situations, one is that the drop point position is a decoded segment area, the situation is well done and the playing is carried out directly, and the other is that the drop point position is not a decoded segment area, a video frame of the drop point position obtained by decoding needs to be found at the moment, and the video frame of the drop point position may not be an independent frame and needs to depend on other video frames;
s300, if the drop point position is not in the decoded segment area, acquiring the playing time of the drop point position; in the invention, when the position of the drop point is not in the decoded segment area, the video frame of the position of the drop point is decoded, and the video frame of the position of the drop point is not a key frame, so that the playing time of the position of the drop point is required to be acquired firstly, and then each video frame data packet near the playing time is scanned to determine whether the key frame data packet is related;
s400, scanning each video frame data packet in a first time range near the playing time, and collecting all decoded video frames in the time range from the falling point position to the starting point position of the dragging operation to generate a temporarily played video clip if no key frame data packet is found in each video frame data packet in the first time range near the playing time; in the invention, the main solution is that the position of a key frame data packet is difficult to determine in the video decoding process, which may cause the long-time stop of a video picture, and the solution is that when a long waiting time is needed, the picture is restored as soon as possible, and whether the waiting time is too long is judged according to the fact that whether the key frame data packet can be found in the first time range near the playing time, and if not, a section of video between the starting position and the falling position of the dragging operation needs to be collected first for playing first, generally speaking, the video playing is performed with advanced decoding, and the section of video can be a video frame decoded in advance, and also can be a video frame obtained by performing multi-point simultaneous segmented decoding on the video;
s500, switching a current picture to play the temporarily played video clip, scanning each video frame data packet outside the first time range near the playing time, and finding out a key frame data packet closest to the playing time; in the invention, the video frame of the position of the drop point is not decoded within a certain time, the playing system can firstly play the video segment of the temporarily played video segment and simultaneously scan the video frame data packet outside the first time range near the playing time;
s600, starting decoding from the key frame data packet to obtain a target video frame and a subsequent video frame of the playing time, wherein only a video frame data packet with a reference frame attribute is decoded for each video data packet between the key frame data packet and the target video frame; in the invention, after finding out a key frame data packet, decoding is started from the key frame data packet, and then, a video frame data packet is not obtained, whether the video frame data packet is a reference frame data packet is judged, if yes, the decoding is carried out, if not, the decoding is carried out, the decoding is discarded till a target video frame of the playing time is decoded, for each video frame data packet behind the target video frame, each video frame data packet is decoded, and the mode of judging whether each video data packet between the key frame data packet and the target video frame is a reference frame data packet is that: taking a video frame data packet with an AVPacket structure as an example, the video frame data packet has a variable of FLAGs, which can be used to determine whether the video frame data packet is a reference frame, and the result of the and operation (&) of the FLAGs and the AV _ PKT _ FLAG _ dispasable is not 0, which indicates that the video frame data packet is a non-reference frame.
S700, when the continuous playing time of the subsequent video frame reaches a first time length, switching the current picture to play the target video frame and playing the subsequent video frames in sequence. In the invention, the video is played without directly obtaining the target video frame, because the playing is started directly after the target video frame is obtained, the video playing may be jammed due to the fact that the decoding speed cannot be kept up, and the playing is started when the continuous playing time of the decoded subsequent video frame reaches the first time.
In an optional implementation manner of the first aspect of the present invention, after the collecting all decoded video frames in a time range from the drop point position to the start point position of the dragging operation to generate a paused video segment, before the switching the current picture to play the paused video segment includes:
acquiring the total playing time of the temporarily played video clip; in the invention, because the specific time for acquiring the key frame data packet is not determined, the enough playing time length is preferably reserved for the temporarily played video clip, and therefore, after the temporarily played video clip is generated, whether the time length of the temporarily played video clip meets the requirement or not needs to be judged;
judging whether the total playing time length is greater than or equal to a first threshold value; in the invention, the first threshold value can be 1-2 minutes, so that sufficient time can be ensured to find the key frame data packet and the target video frame of the playing time from the beginning decoding of the key frame data packet to the position of the drop point;
and if the total playing time length is smaller than the first threshold value, reducing the video playing frame rate to a first calculated value, wherein the first calculated value is a target frame rate value calculated when the total playing time length of the temporarily played video clip is prolonged to be larger than or equal to the first threshold value. In the present invention, if the total playing time is less than the first threshold, the video playing frame rate of the video needs to be adjusted, and by reducing the video playing frame rate, the video segment can be played for a longer time temporarily, and the first calculated value is obtained by first obtaining the total frame number, specifically, obtaining the total playing frame number by first multiplying the total playing time by the default playing frame rate of the video, and then dividing the total playing frame number by the playing time to be extended, so as to obtain the first calculated value.
In an optional implementation manner of the first aspect of the present invention, after finding the key frame data packet closest to the playing time, before decoding the key frame data packet to obtain the target video frame and the subsequent video frame of the playing time, the method includes:
acquiring a timestamp of the key frame data packet; in the invention, after the position of the key frame data packet is determined, an adaptation needs to be made to the remaining playing time of the temporarily played video clip, so that the temporarily played video clip is not excessively abrupt when being switched to the playing position of the drop point and the video frames behind the drop point;
acquiring all video frame data packets needing to be decoded from the timestamp to the playing time, wherein all the video frame data packets needing to be decoded comprise the key frame data packet, all the video frame data packets with the attributes of the timestamp to the playing time being reference frames and all the video frame data packets with the playing time; in the invention, in order to improve the efficiency of obtaining the target video frame of the playing time by starting decoding from the key frame data packet, the video frame data packet between the key frame data packet and the target video frame is only decoded with the video frame data packet with the attribute of a reference frame;
calculating and obtaining decoding time values of all video frame data packets needing to be decoded based on the decoding rate; in the invention, the step of calculating the decoding time value is to divide the size of all video frame data packets needing to be decoded from the time stamp to the playing time by the decoding rate to obtain the required decoding time value;
adding a preset additional value to the decoding time value to obtain a total decoding time value; in the invention, for subsequent smooth playing, the target video frame is not directly played after being decoded to the playing time, and an additional value is added to all the decoding time values after decoding for a period of time;
acquiring a residual playing time value of the temporarily played video clip; after the total decoding time value is obtained, comparing the remaining playing time value of the temporarily played video clip with the total decoding time value, so as to obtain the remaining playing time value of the temporarily played video clip;
if the total time value is less than the remaining playing time value, performing multiple playing on the temporarily played video clip so as to reduce the remaining playing time value and enable the remaining playing time value to be approximately equal to the total time value; in the invention, if the total time value is less than the remaining playing time value, the further fast-forward playing is carried out on the temporarily-played video segment, so that the temporarily-played video segment collected from the starting position of the dragging operation to the dropping point position can be fully played without causing the special abrupt connection of the image content, and the calculation of the multiple is also to obtain the total remaining frame number by multiplying the remaining playing time value by the current playing frame rate and then dividing by the total time value to obtain the frame rate required to be adjusted;
if the total time value is greater than the remaining playing time value, performing frame rate reduction playing on the temporarily played video segment to increase the remaining playing time value so that the remaining playing time value is approximately equal to the total time value. In the invention, if the remaining playing time value of the temporarily played video clip is too long, the playing needs to be accelerated, and if the remaining playing time value is too long, the delayed playing needs to be performed so as to cause the problem of playing a black screen, the frame number calculation of the frame rate reduction playing and the frame rate calculation principle of the multiple playing are the same, and the invention is not detailed herein.
In an optional implementation manner of the first aspect of the present invention, the determining whether the drop point position is located in a decoded segment region further includes:
if the falling point position is in a decoded segment area, acquiring the starting time and the ending time of the decoded segment area; in the present invention, there is a possibility that the position of the drop point falls into the decoded segment region, because there exists a decoded video frame, the video frame can be directly played, but in order to avoid pause after playing, it is necessary to determine whether the time length between the playing time of the drop point position and the ending time of the decoded segment region meets a certain length requirement;
calculating a first difference between the play time and the end time of the drop point position; in the invention, a first difference value between the playing time and the termination time is required to be obtained before judging whether the time length between the playing time and the termination time meets the requirement;
judging whether the first difference value is larger than or equal to a second threshold value or not; in the present invention, the second threshold may be equal to the aforementioned additional value, and if the first difference is greater than or equal to the second threshold, the time length between the playing time and the ending time is considered to satisfy the requirement, otherwise, the time length does not satisfy the requirement;
if the first difference value is smaller than the second threshold value, decoding each video frame data packet after the termination time in sequence to prolong the termination time of the decoded segment region so that the first difference value is larger than or equal to the second threshold value; in the present invention, when the time length between the playing time and the ending time does not meet the requirement, each video frame data packet after the ending time needs to be further decoded to prolong the ending time of the decoded segment region to meet the requirement;
and when the first difference value is larger than or equal to the second threshold value, starting to play each decoded video frame from the decoded video frame of the starting time. In the present invention, the condition of preference is that the first difference is greater than or equal to the second threshold, and when the first difference is greater than or equal to the second threshold, the video of the decoded segment area starts to be played.
In an alternative implementation manner of the first aspect of the present invention, the scanning each video frame data packet in a first time range around the playing time includes:
creating a forward scanning process and a reverse scanning process; in the invention, bidirectional scanning is adopted when the time attachment for playing at the drop point position scans each video frame data packet in a first time range, if a forward scanning process scans key frame data packets firstly, decoding and playing are preferentially carried out by the time of moving the drop point position to the key frame data packets, and if a reverse scanning process scans firstly, the drop point position is not moved;
and taking the video frame data packet corresponding to the playing time as a starting point, and simultaneously scanning each video frame data packet in the first time range through the forward scanning process and the reverse scanning process. In the invention, in the first time range, the video playing is generally obtained by collecting how long the daily video of the user stops and refreshing the video, and the key frame data packet can be found near the drop point position more quickly by adopting a bidirectional scanning mode.
In an optional implementation manner of the first aspect of the present invention, the switching the current picture to play the paused video segment, and scanning each video frame data packet outside the first time range near the playing time, and finding a key frame data packet closest to the playing time includes:
and switching the current picture to play the temporarily played video clip, and scanning each video frame data packet outside the first time range near the playing time through the reverse scanning process to find a key frame data packet closest to the playing time. In the invention, if the key video frame data packet is not scanned in the first time range near the playing time, the forward scanning process is cancelled, only the reverse scanning process is reserved, when the reverse scanning process scans, the reverse scanning is directly continued by taking the scanning termination time recorded last time as the starting point until the key frame data packet is scanned, and the reverse scanning is stopped until the key frame data packet is scanned, and whether the video frame data is the key frame data packet is judged mainly according to the data packet identifier (for example, the data packet identifier is an I frame) carried by the video frame data packet.
In an optional implementation manner of the first aspect of the present invention, if a key frame data packet is obtained by scanning in the first time range through the forward scanning process, the location of the drop point is adjusted to another playing time determined by the key frame data packet; and decoding each video frame data packet from the other playing time to obtain video playing data, and switching the current picture to play the video playing data when the playing time of the video playing data is greater than a third threshold value. In the present invention, if the key frame data packet is found within the first time range in the forward direction of the playing time, in order to perform faster playing, the playing time is directly moved to the playing time point corresponding to the key frame data packet, and data decoding is performed from the playing time point corresponding to the key frame data packet.
Referring to fig. 2, a second aspect of the present invention provides a video seek system, including:
the dragging position acquiring module 10 is configured to receive a dragging operation of a user on a video playing progress bar, and acquire a drop point position of the dragging operation;
a drop point position determining module 20, configured to determine whether the drop point position is in a decoded segment region;
a playing time obtaining module 30, configured to obtain a playing time of the drop point position if the drop point position is not in the decoded segment region;
a video frame scanning and temporarily playing video clip generating module 40, configured to scan each video frame data packet in a first time range near the playing time, and if no key frame data packet is found in each video frame data packet in the first time range near the playing time, collect all decoded video frames in a time range from the falling point position to the start point position of the dragging operation to generate a temporarily playing video clip;
a video playing temporarily and key frame searching module 50, configured to switch a currently played picture to play the temporarily played video clip, scan each video frame data packet outside the first time range near the playing time, and find a key frame data packet closest to the playing time;
a decoding module 60, configured to decode, from the key frame data packet, to obtain a target video frame of the playing time and subsequent video frames, where, for each video data packet between the key frame data packet and the target video frame, only a video frame data packet with a reference frame as an attribute is decoded;
a playing frame switching module 70, configured to switch the current playing frame to play the target video frame and sequentially play the subsequent video frames when the continuous playing time of the subsequent video frame reaches a first time length.
In an optional implementation manner of the second aspect of the present invention, the video seek system further includes:
a total playing time length obtaining module, configured to obtain a total playing time length of the temporarily played video segment;
the total playing time length judging module is used for judging whether the total playing time length is greater than or equal to a first threshold value;
and the total playing time length extension module is used for reducing the video playing frame rate to a first calculated value if the total playing time length is less than the first threshold value, wherein the first calculated value is a target frame rate value calculated when the total playing time length of the temporarily played video clip is extended to be greater than or equal to the first threshold value.
In an optional implementation manner of the second aspect of the present invention, the video seek system further includes:
a key frame timestamp acquisition module, configured to acquire a timestamp of the key frame data packet;
a to-be-decoded video frame data packet acquisition module, configured to acquire all video frame data packets needing to be decoded from the timestamp to the playing time, where all video frame data packets needing to be decoded include the key frame data packet, all video frame data packets with the attribute of a reference frame from the timestamp to the playing time, and the video frame data packet at the playing time;
the decoding time calculation module is used for calculating and obtaining the decoding time values of all video frame data packets needing to be decoded based on the decoding rate;
the total time value calculating module is used for adding a preset additional value to the decoding time value to obtain a total decoding time value;
a residual playing time obtaining module, configured to obtain a residual playing time value of the paused video segment;
the playing adjusting module is used for performing multiple playing on the temporarily played video clip if the total time value is smaller than the remaining playing time value so as to reduce the remaining playing time value and enable the remaining playing time value to be approximately equal to the total time value; and the controller is used for performing frame rate reduction playing on the temporarily played video segment if the total time value is greater than the remaining playing time value so as to increase the remaining playing time value and enable the remaining playing time value to be approximately equal to the total time value.
In an optional implementation manner of the second aspect of the present invention, the video seek system further includes:
a starting and ending time obtaining module, configured to obtain a starting time and an ending time of a decoded segment region if the drop point position is in the decoded segment region;
a first difference calculation module, configured to calculate a first difference between the playing time and the ending time of the drop point position;
the first difference value judging module is used for judging whether the first difference value is larger than or equal to a second threshold value or not;
a decoding segment extending module, configured to, if the first difference is smaller than the second threshold, sequentially decode each video frame data packet after the termination time to extend the termination time of the decoded segment region so that the first difference is greater than or equal to the second threshold;
and the video playing module is used for playing each decoded video frame from the decoded video frame of the starting time when the first difference value is greater than or equal to the second threshold value.
In an alternative embodiment of the second aspect of the present invention, the transient video segment generating module 40 includes:
the process creating unit is used for creating a forward scanning process and a reverse scanning process;
and the bidirectional scanning unit is used for scanning each video frame data packet in the first time range simultaneously through the forward scanning process and the reverse scanning process by taking the video frame data packet corresponding to the playing time as a starting point.
In an optional implementation manner of the second aspect of the present invention, the video pause and key frame search module 50 is specifically configured to switch the current picture to play the video pause, and scan each video frame data packet outside the first time range near the play time through the reverse scanning process, so as to find a key frame data packet closest to the play time.
In an optional implementation manner of the second aspect of the present invention, if the key frame data packets are obtained by scanning in the first time range through the forward scanning process, the drop point position is adjusted to another playing time determined by the key frame data packets; and decoding each video frame data packet from the other playing time to obtain video playing data, and switching the current picture to play the video playing data when the playing time of the video playing data is greater than a third threshold value.
Fig. 3 is a schematic diagram of a video playback server according to an embodiment of the present invention, which may have a relatively large difference due to different configurations or performances, and may include one or more processors 110 (CPUs) (e.g., one or more processors) and a memory 120, and one or more storage media 130 (e.g., one or more mass storage devices) for storing applications or data. The memory and storage medium may be, among other things, transient or persistent storage. The program stored on the storage medium may include one or more modules (not shown), each of which may include a sequence of instruction operations for the video playback server. Still further, the processor may be configured to communicate with the storage medium to execute a series of instruction operations in the storage medium on the video playback server.
The video playback server of the present invention may also include one or more power supplies 140, one or more wired or wireless network interfaces 150, one or more input-output interfaces 160, and/or one or more operating systems, such as Windows Server, mac OS X, unix, linux, freeBSD, and the like. Those skilled in the art will appreciate that the video playback server architecture shown in fig. 3 does not constitute a specific limitation of the video playback server of the present invention, and may include more or fewer components than those shown, or some components may be combined, or a different arrangement of components.
The present invention also provides a computer-readable storage medium, which may be a non-volatile computer-readable storage medium, and which may also be a volatile computer-readable storage medium, having stored therein instructions, which, when executed on a computer, cause the computer to perform the steps of the video seek method.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described system or system and unit may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may substantially or partially contribute to the prior art, or all or part of the technical solution may be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a video playing server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a portable hard disk, a read-only memory (ROM), a Random Access Memory (RAM), a magnetic disk, an optical disk, or other various media capable of storing program codes.
The above-mentioned embodiments are only used for illustrating the technical solutions of the present invention, and not for limiting the same; although the present invention has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.

Claims (10)

1. A video seek method is characterized by comprising the following steps:
receiving a dragging operation of a user on a video playing progress bar, pausing the playing of a current picture and acquiring a drop point position of the dragging operation;
judging whether the falling point position is in a decoded segment area;
if the falling point position is not in the decoded segment area, acquiring the playing time of the falling point position;
scanning each video frame data packet in a first time range near the playing time, and collecting all decoded video frames in the time range from the falling point position to the starting point position of the dragging operation to generate a temporarily played video clip if no key frame data packet is found in each video frame data packet in the first time range near the playing time;
switching the current picture to play the temporarily played video clip, scanning each video frame data packet outside the first time range near the playing time, and finding out a key frame data packet closest to the playing time;
decoding from the key frame data packet to obtain a target video frame and a subsequent video frame of the playing time, wherein only a video frame data packet with a reference frame attribute is decoded for each video data packet between the key frame data packet and the target video frame;
and when the continuous playing time of the subsequent video frame reaches a first time length, switching the current picture to play the target video frame and sequentially playing the subsequent video frame.
2. The video seek method as claimed in claim 1, wherein the collecting all decoded video frames in the time range from the falling point location to the start location of the drag operation to generate a paused video segment, and before the switching the current picture to play the paused video segment comprises:
acquiring the total playing time length of the temporarily played video clip;
judging whether the total playing time length is greater than or equal to a first threshold value;
and if the total playing time length is smaller than the first threshold value, reducing the video playing frame rate to a first calculated value, wherein the first calculated value is a target frame rate value calculated when the total playing time length of the temporarily played video clip is prolonged to be larger than or equal to the first threshold value.
3. The video seek method as claimed in claim 1, wherein after the finding the key frame data packet closest to the playing time, the decoding from the key frame data packet to obtain the target video frame and the subsequent video frame at the playing time comprises:
acquiring a timestamp of the key frame data packet;
acquiring all video frame data packets needing to be decoded from the timestamp to the playing time, wherein all the video frame data packets needing to be decoded comprise the key frame data packet, all the video frame data packets with the attribute of a reference frame from the timestamp to the playing time and the video frame data packets of the playing time;
calculating and obtaining decoding time values of all video frame data packets needing to be decoded based on the decoding rate;
adding a preset additional value to the decoding time value to obtain a total decoding time value;
acquiring a residual playing time value of the temporarily played video clip;
if the total time value is less than the remaining playing time value, performing multiple playing on the temporarily played video clip to reduce the remaining playing time value so that the remaining playing time value and the total time value are approximately equal;
if the total time value is larger than the remaining playing time value, performing frame rate reduction playing on the temporarily played video clip so as to increase the remaining playing time value and enable the remaining playing time value to be approximately equal to the total time value.
4. The video seek method as claimed in claim 1, wherein said determining whether the landing position is located after the decoded segment region further comprises:
if the position of the drop point is in the decoded segment area, acquiring the starting time and the ending time of the decoded segment area;
calculating a first difference between the play time and the end time of the drop point position;
judging whether the first difference value is larger than or equal to a second threshold value or not;
if the first difference value is smaller than the second threshold value, decoding each video frame data packet after the termination time in sequence to prolong the termination time of the decoded segment region so that the first difference value is larger than or equal to the second threshold value;
and when the first difference value is larger than or equal to the second threshold value, starting to play each decoded video frame from the decoded video frame of the starting time.
5. The video seek method according to claim 1, wherein said scanning each video frame data packet in a first time range around the playing time comprises:
creating a forward scanning process and a reverse scanning process;
and taking the video frame data packet corresponding to the playing time as a starting point, and simultaneously scanning each video frame data packet in the first time range through the forward scanning process and the reverse scanning process.
6. The video seek method as claimed in claim 5, wherein the switching the current frame to play the temporarily played video segment while scanning each video frame data packet outside the first time range around the playing time, and the finding the key frame data packet closest to the playing time includes:
and switching the current picture to play the temporarily played video clip, and scanning each video frame data packet outside the first time range near the playing time through the reverse scanning process to find out the key frame data packet closest to the playing time.
7. The video seek method of claim 5, wherein if a key frame data packet is obtained by scanning in the first time range through the forward scanning process, the drop point position is adjusted to another playing time determined by the key frame data packet; and decoding each video frame data packet from the other playing time to obtain video playing data, and switching the current picture to play the video playing data when the playing time of the video playing data is greater than a third threshold value.
8. A video seek system, the video seek system comprising:
the system comprises a dragging position acquisition module, a display module and a display module, wherein the dragging position acquisition module is used for receiving dragging operation of a user on a video playing progress bar and acquiring a drop point position of the dragging operation;
the device comprises a falling point position judging module, a segment decoding module and a segment decoding module, wherein the falling point position judging module is used for judging whether the falling point position is in a decoded segment region;
a playing time obtaining module, configured to obtain a playing time of the drop point position if the drop point position is not in the decoded segment region;
a video frame scanning and temporarily playing video clip generating module, configured to scan each video frame data packet in a first time range near the playing time, and if no key frame data packet is found in each video frame data packet in the first time range near the playing time, collect all decoded video frames in a time range from the falling point position to the start point position of the dragging operation to generate a temporarily playing video clip;
the video temporary playing and key frame searching module is used for switching the current playing picture into playing the temporary playing video clip, scanning each video frame data packet outside the first time range near the playing time and finding out the key frame data packet closest to the playing time;
a decoding module, configured to decode from the key frame data packet to obtain a target video frame and a subsequent video frame of the playing time, where, for each video data packet between the key frame data packet and the target video frame, only a video frame data packet with an attribute of a reference frame is decoded;
and the playing picture switching module is used for switching the current playing picture to play the target video frame and sequentially playing the subsequent video frames when the continuous playing time of the subsequent video frames reaches a first time length.
9. A video playback server, comprising: a memory having instructions stored therein and at least one processor, the memory and the at least one processor interconnected by a line;
the at least one processor invoking the instructions in the memory to cause the video playback server to perform the video seek method of any of claims 1-7.
10. A computer-readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out the video seek method according to any one of claims 1 to 7.
CN202211652158.8A 2022-12-21 2022-12-21 Video seek method, system, video playing server and storage medium Pending CN115967842A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211652158.8A CN115967842A (en) 2022-12-21 2022-12-21 Video seek method, system, video playing server and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211652158.8A CN115967842A (en) 2022-12-21 2022-12-21 Video seek method, system, video playing server and storage medium

Publications (1)

Publication Number Publication Date
CN115967842A true CN115967842A (en) 2023-04-14

Family

ID=87354356

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211652158.8A Pending CN115967842A (en) 2022-12-21 2022-12-21 Video seek method, system, video playing server and storage medium

Country Status (1)

Country Link
CN (1) CN115967842A (en)

Similar Documents

Publication Publication Date Title
CN112291627B (en) Video editing method and device, mobile terminal and storage medium
CN108174280B (en) Audio and video online playing method and system
CN106534952B (en) Source switching back-film source continuous playing method and smart television
JP2006174309A (en) Animation reproducing apparatus, program, and record medium
EP2860968B1 (en) Information processing device, information processing method, and program
CA2908718C (en) System and method for streaming a media file from a server to a client device
JP2005217791A (en) Image display method, device, and program
CN110198494B (en) Video playing method, device, equipment and storage medium
JP5282383B2 (en) Content reproduction apparatus, content reproduction method, program, and content reproduction system
CN113225585B (en) Video definition switching method and device, electronic equipment and storage medium
US11341096B2 (en) Presenting and editing recent content in a window during an execution of a content application
CN105791987B (en) media data playing method and terminal
EP3860129A1 (en) Quick start method and device for live video
WO2015018119A1 (en) Multimedia file generation method and multimedia device
CN115103146A (en) Video playback method, device, equipment and storage medium
CN107040826B (en) Video loading method and device, computer device and computer readable storage medium
CN115967842A (en) Video seek method, system, video playing server and storage medium
JPH09139913A (en) Video display method and device therefor
CN114302180B (en) Video single-frame playing method, device, server, system and storage medium
CN113271487B (en) Audio and video synchronous playing method, device, system, program product and storage medium
CN114827724A (en) Video playing method and related equipment
WO2022170731A1 (en) Video display method and system for driving recorder, and computer storage medium
CN112423059B (en) Gesture-based video control method, television, and computer-readable storage medium
JP4938384B2 (en) Moving image data distribution system, moving image data providing method, moving image data distribution program, moving image data providing program, and computer-readable recording medium on which those programs are recorded
CN114827646A (en) Method, device and equipment for preloading live broadcast room in video stream and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Country or region after: China

Address after: 1301-1310, Building 2, Jinlitong Financial Center Building, No. 1100 Xingye Road, Haiwang Community, Xin'an Street, Bao'an District, Shenzhen City, Guangdong Province

Applicant after: Shenzhen Ruan Niu Technology Group Co.,Ltd.

Address before: No. 15-3 Haitian Road, Building C, Excellence Times Square, N23 Haiwang Community, Xin'an Street, Bao'an District, Shenzhen City, Guangdong Province, China 2903

Applicant before: AFIRSTSOFT CO.,LTD.

Country or region before: China