CN110446117B - Video playing method, device and system - Google Patents

Video playing method, device and system Download PDF

Info

Publication number
CN110446117B
CN110446117B CN201910717815.4A CN201910717815A CN110446117B CN 110446117 B CN110446117 B CN 110446117B CN 201910717815 A CN201910717815 A CN 201910717815A CN 110446117 B CN110446117 B CN 110446117B
Authority
CN
China
Prior art keywords
video data
data segment
video
playing
position information
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.)
Active
Application number
CN201910717815.4A
Other languages
Chinese (zh)
Other versions
CN110446117A (en
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.)
Beijing Calorie Information Technology Co ltd
Original Assignee
Beijing Calorie Information Technology 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 Beijing Calorie Information Technology Co ltd filed Critical Beijing Calorie Information Technology Co ltd
Priority to CN201910717815.4A priority Critical patent/CN110446117B/en
Publication of CN110446117A publication Critical patent/CN110446117A/en
Application granted granted Critical
Publication of CN110446117B publication Critical patent/CN110446117B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL

Landscapes

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

Abstract

The application discloses a video playing method, device and system. Wherein, the method comprises the following steps: acquiring position information of a progress mark, wherein the progress mark is used for indicating the playing progress of a currently played video data stream, and the video data stream comprises a plurality of video data segments; sending the video data segment identifier corresponding to the position information to a server; receiving a first video data segment fed back by the server according to the video data segment identifier; and playing the first video data segment. The application solves the technical problem that in the prior art, the user can watch the whole body-building video after the video is downloaded, and the time is wasted.

Description

Video playing method, device and system
Technical Field
The present application relates to the field of application programs, and in particular, to a video playing method, device and system.
Background
In the prior art, a user needs to finish downloading a video in advance and store the video in a terminal if needing to watch a training course in the process of body building; if the user does not watch the video for a long time after downloading the video, the waste of terminal storage resources is caused; in addition, if the video is played after the downloading is completed, the user may not be trained, the video needs to be searched again, the playing process of the training information consumes more time, and the efficiency is low.
In view of the above problems, no effective solution has been proposed.
Disclosure of Invention
The embodiment of the application provides a video playing method, a video playing device and a video playing system, and at least solves the technical problem that in the prior art, the whole body-building video can only be watched by a user after being downloaded, and more time is wasted.
According to an aspect of an embodiment of the present application, there is provided a video playing method, including: acquiring position information of a progress mark, wherein the progress mark is used for indicating the playing progress of a currently played video data stream, and the video data stream comprises a plurality of video data segments; sending the video data segment identifier corresponding to the position information to a server; receiving a first video data segment fed back by the server according to the video data segment identifier; and playing the first video data segment.
Optionally, before sending the video data segment identifier corresponding to the location information to a server, the method further includes: determining the video data segment identification corresponding to the position information; wherein determining the video data segment identifier corresponding to the location information comprises: determining a first relative distance between the current position of the progress mark and the initial playing position of the video data stream according to the position information; calculating a first ratio between the first relative distance and a second relative distance, wherein the second relative distance is a distance between an initial playing position and an end playing position of the video data stream; determining the corresponding video data segment identification based on the first ratio.
Optionally, before sending the video data segment identifier corresponding to the location information to a server, the method further includes: determining the video data segment identification corresponding to the position information; wherein determining the video data segment identifier corresponding to the location information comprises: acquiring the played time length corresponding to the position information; calculating a second ratio of the played time length to the total time length of the video data stream; determining the corresponding video data segment identification based on the second ratio.
Optionally, after receiving the first video data segment fed back by the server according to the video data segment identifier, the method further includes: and acquiring a second video data segment fed back by the server based on the video data segment identifier, wherein the playing time corresponding to the second video data segment is later than the playing time corresponding to the first video data segment.
Optionally, after obtaining the location information of the progress identifier, the method further includes: acquiring a thumbnail of a video frame corresponding to the position information; and displaying the thumbnail.
According to an aspect of an embodiment of the present application, there is provided a method for processing video data, including: receiving a video data segment identification; determining a first video data segment of a currently played video data stream corresponding to the video data segment identifier, wherein the video data stream comprises a plurality of video data segments; and sending the first video data segment to a terminal.
Optionally, before receiving the video data segment identifier, the method further comprises: and establishing and storing a corresponding relation between the plurality of video data segments and a plurality of video data segment identifications, wherein the plurality of video data segments correspond to the plurality of video data segment identifications one to one.
Optionally, after the first video data segment is sent to the terminal, the method further includes: determining a second video data segment based on the video data segment identification, wherein the playing time corresponding to the second video data segment is later than the playing time corresponding to the first video data segment; and sending the second video data segment to the terminal.
According to an aspect of an embodiment of the present application, there is provided a video playback system, including: the device comprises a first device, a second device and a third device, wherein the first device is used for obtaining position information of a progress mark, and the progress mark is used for indicating the playing progress of a currently played video data stream, and the video data stream comprises a plurality of video data segments; sending the video data segment identifier corresponding to the position information to a server; receiving a first video data segment fed back by the server according to the video data segment identifier; playing the first video data segment; a second device for receiving said video data segment identification; determining the first video data segment corresponding to the video data segment identification; and sending the first video data segment to a terminal.
Optionally, the system further comprises: third equipment, configured to generate a plurality of nodes in response to a node setting instruction, where the plurality of nodes are used to indicate a segmentation position obtained by segmenting the video data stream; segmenting the video data stream according to the node to obtain a plurality of video data segments; sending the plurality of video data segments to the server.
According to an aspect of an embodiment of the present application, there is provided a video playback apparatus including: the device comprises an acquisition module, a display module and a display module, wherein the acquisition module is used for acquiring position information of a progress mark, and the progress mark is used for indicating the playing progress of a currently played video data stream, and the video data stream comprises a plurality of video data segments; the sending module is used for sending the video data segment identifier corresponding to the position information to a server; the receiving module is used for receiving a first video data segment fed back by the server according to the video data segment identifier; and the playing module is used for playing the first video data segment.
According to an aspect of the embodiments of the present application, there is provided a storage medium, where the storage medium includes a stored program, and when the program runs, a device where the storage medium is located is controlled to execute the above-mentioned video playing method.
According to an aspect of the embodiments of the present application, there is provided a processor, configured to execute a program, where the program executes the video playing method described above.
In the embodiment of the application, position information of a progress mark is obtained, wherein the progress mark is used for indicating the playing progress of a currently played video data stream, and the video data stream comprises a plurality of video data segments; sending the video data segment identifier corresponding to the position information to a server; receiving a first video data segment fed back by the server according to the video data segment identifier; the mode of playing the first video data segment achieves the purposes of segmenting the video data stream and playing the video data stream simultaneously, so that when a user drags the progress bar, the corresponding video data segment can be obtained from the server according to the dragging position of the progress bar, the technical effect of improving the downloading speed of the training information is achieved, and the technical problem that in the prior art, the user can watch the whole body-building video after the whole body-building video is downloaded is solved, and more time is wasted.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the application and together with the description serve to explain the application and not to limit the application. In the drawings:
fig. 1 is a schematic flow chart of an alternative video playing method according to an embodiment of the present application;
fig. 2 is a schematic flow chart of an alternative video data processing method according to an embodiment of the present application;
FIG. 3 is a schematic diagram of an alternative video playback system according to an embodiment of the present application;
fig. 4 is a schematic structural diagram of an alternative video playing apparatus according to an embodiment of the present application.
Detailed Description
In order to make the technical solutions better understood by those skilled in the art, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only partial embodiments of the present application, but not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
It should be noted that the terms "first," "second," and the like in the description and claims of this application and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the application described herein are capable of operation in sequences other than those illustrated or described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, 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.
In accordance with an embodiment of the present application, there is provided a video playback method embodiment, it should be noted that the steps shown in the flowchart of the figure may be performed in a computer system such as a set of computer executable instructions, and that while a logical order is shown in the flowchart, in some cases the steps shown or described may be performed in an order different than here.
Fig. 1 is a schematic flowchart of a video playing method according to an embodiment of the present application, and as shown in fig. 1, the method at least includes the following steps:
step S102, obtaining position information of a progress mark, wherein the progress mark is used for indicating the playing progress of a currently played video data stream, and the video data stream comprises a plurality of video data segments;
in some optional embodiments of the present application, the progress identifier may be an identifier of a progress node on a progress bar during video playing, the video data stream corresponds to the entire training video, and the plurality of video data segments are a plurality of video segments into which the entire training video is divided.
Step S104, sending the video data segment identification corresponding to the position information to a server;
alternatively, the video data segment identifier may be a web address of the video data segment, or a playing time of the video data segment.
Step S106, receiving a first video data segment fed back by the server according to the video data segment identifier;
in some optional embodiments of the present application, the client requests the server to send the first video data segment to the terminal through the video data segment identifier, and the server feeds back the URL address of the video resource and/or the time information of the first video data segment to the client.
Optionally, the server receives a video data segment identifier sent by the terminal, and determines a first video data segment of the currently played video data stream corresponding to the video data segment identifier.
After the server determines the first video data segment, the server sends the first video data segment to the terminal, wherein the terminal can be an intelligent terminal used for watching a fitness video by a user.
Before the server receives the video data segment identification, the corresponding relation between a plurality of video data segments and a plurality of video data segment identifications needs to be established and stored, and the plurality of video data segments correspond to the plurality of video data segment identifications one to one.
In some optional embodiments of the application, before the server sends the first video data segment to the terminal, the editing device may obtain the entire video data stream, the editing device may generate a plurality of nodes in response to a node setting instruction of an administrator, the plurality of nodes are used to instruct the editing device to segment the video data stream to obtain a segment position, and the editing device segments the video data stream according to the nodes to obtain a plurality of video data segments and sends the plurality of video data segments to the server.
Step S108, playing the first video data segment.
Specifically, the video resource of the application can be analyzed through FFMPEG, and after the terminal acquires the first video data segment, the first video data segment is played.
In some optional embodiments of the present application, before sending the video data segment identifier corresponding to the location information to the server, the following steps are further performed: determining a video data segment identifier corresponding to the position information;
specifically, determining the video data segment identifier corresponding to the position information may be implemented by: determining a first relative distance between the current position of the progress mark and the initial playing position of the video data stream according to the position information; calculating a first ratio between the first relative distance and a second relative distance, wherein the second relative distance is a distance between an initial playing position and an end playing position of the video data stream; a corresponding video data segment identification is determined based on the first ratio.
Optionally, the first relative distance and the second relative distance may be represented by the number of pixels, a corresponding relationship between different first ratios and different video data segment identifiers is stored in the terminal, and the second relative distance may be the number of pixels occupied by the length of the progress bar of the video data stream.
For example: if the video segment identifier is the url information, the video segment identifier may be url 1 when the first ratio is 30%, and the video segment identifier may be url 2 when the first ratio is 40%.
Optionally, before sending the video data segment identifier corresponding to the location information to the server, the method further needs to perform the following steps: determining a video data segment identifier corresponding to the position information; the determination of the video data segment identifier corresponding to the position information can be further implemented in the following manner: acquiring played time corresponding to the position information; calculating a second ratio of the played time length to the total time length of the video data stream; a corresponding video data segment identification is determined based on the second ratio.
In some optional embodiments of the present application, the played time length may be a time length of a video that has been actually played, and may also identify a video time length before a corresponding play time for a video data segment; the terminal stores the corresponding relation between different second ratios and different video data segment identifications.
For example: if the video segment flag is time information, the video segment flag may be time 1 when the second ratio is 30%, and the video segment flag may be time 2 when the second ratio is 40%.
Optionally, after receiving the first video data segment fed back by the server according to the video data segment identifier, the method further needs to perform the following steps: and acquiring a second video data segment fed back by the server based on the video data segment identifier, wherein the playing time corresponding to the second video data segment is later than the playing time corresponding to the first video data segment.
In some optional embodiments of the present application, the second video data segment is a video data segment subsequent to the first video data segment, the second video data segment is preloaded, and a first frame of the second video data segment is fast loaded; through the acquisition and playing of the second video data segment, the pause phenomenon under the condition of poor network condition can be avoided, and the smoothness of video playing can be improved. In addition, the terminal can also acquire a third video data segment fed back by the server based on the video data segment identifier, wherein the playing time corresponding to the third video data segment is earlier than the video playing time corresponding to the first video data segment. The third video data segment is the previous video data segment of the first video data segment, and the third video data segment is acquired and played, so that a user can remember the video segment played last time, review training actions and improve user experience.
Optionally, after obtaining the position information of the progress marker, the method may further perform the following steps: acquiring a thumbnail of a video frame corresponding to the position information; and displaying the thumbnail.
In some optional embodiments of the application, the terminal may obtain a thumbnail of a video frame corresponding to the location information from the server, the client may obtain the thumbnail according to a URL address corresponding to the video data stream and the location information of the progress identifier, specifically, the thumbnail may be determined according to the first ratio or the second ratio, where the terminal may determine the video data segment identifier according to the first ratio or the second ratio and send the video data segment identifier to the server, and the server sends the corresponding thumbnail to the terminal according to a correspondence between the stored video data segment identifier and the thumbnail. In addition, the terminal can also locally acquire the thumbnail of the video frame corresponding to the position information from the terminal.
In some optional embodiments of the present application, the terminal may acquire current heart rate information of the user sent by a heart rate bracelet worn by the user, and display the heart rate information in the training video.
Through the embodiment provided by the application, different video data segments can be independently stored in the terminal, a user can check training action information corresponding to different time points through a client playing video data streams conveniently, when the user needs to check the action corresponding to a certain time point, the video data segment corresponding to the time point can be only downloaded, and the downloading speed of the video data segment is improved.
In the embodiment of the application, the position information of the progress mark is obtained, and the progress mark is used for indicating the playing progress of the currently played video data stream, wherein the video data stream comprises a plurality of video data segments; sending the video data segment identifier corresponding to the position information to a server; receiving a first video data segment fed back by the server according to the video data segment identifier; the mode of playing the first video data segment achieves the purposes of segmenting the video data stream and playing the video data stream simultaneously, so that when a user drags the progress bar, the corresponding video segment can be obtained from the server according to the dragging position of the progress bar, the technical effect of improving the downloading speed of the training information is improved, and the technical problem that in the prior art, the user can watch the whole body-building video after the whole body-building video is downloaded is solved, and more time is wasted.
According to an aspect of the embodiments of the present application, there is also provided a method for processing video data, as shown in fig. 2: the method at least comprises the following steps:
step S202, receiving video data segment identification;
optionally, the video data segment identifier may be sent by a client, and before the terminal sends the video data segment identifier to the server, position information of a progress identifier needs to be obtained, where the progress identifier is used to indicate a playing progress of a currently played video data stream. The progress mark can be a mark of a progress node on a progress bar during video playing, the video data stream corresponds to the whole training video, the video data segments are a plurality of video segments into which the whole training video is divided, and optionally, after the terminal acquires the position information of the progress mark, the video data segment mark corresponding to the position information is sent to the server.
Alternatively, the video data segment identifier may be a web address of the video data segment, or a playing time of the video data segment.
Step S204, determining a first video data segment of a currently played video data stream corresponding to the video data segment identifier, wherein the video data stream comprises a plurality of video data segments;
in some optional embodiments of the present application, the client requests the server to send the first video data segment to the terminal through the video data segment identifier, and the server feeds back the URL address of the video resource and/or the time information of the first video data segment to the client.
Optionally, before the server receives the video data segment identifier, a corresponding relationship between a plurality of video data segments and a plurality of video data segment identifiers needs to be established and stored, and the plurality of video data segments and the plurality of video data segment identifiers correspond to each other one to one.
And step S206, sending the first video data segment to the terminal.
In some optional embodiments of the present application, after determining the first video data segment, the server transmits the first video data segment to the terminal, where the terminal may be an intelligent terminal used by the user to watch the fitness video.
In some optional embodiments of the present application, before the server sends the first video data segment to the terminal, the editing device may obtain the entire video data stream, the editing device may generate a plurality of nodes in response to a node setting instruction of an administrator, the plurality of nodes being used to indicate a segmentation position obtained by the editing device after segmenting the video data stream, the editing device segments the video data stream according to the nodes to obtain a plurality of video data segments, and sends the plurality of video data segments to the server, where the editing device may be a device for receiving an administrator dotting instruction.
Specifically, the video resource of the application can be analyzed through FFMPEG, and after the terminal acquires the first video data segment, the first video data segment is played.
Before the terminal sends the video data segment identification corresponding to the position information to the server, the video data segment identification corresponding to the position information needs to be determined;
specifically, the terminal may determine the video data segment identifier corresponding to the location information by: determining a first relative distance between the current position of the progress mark and the initial playing position of the video data stream according to the position information; calculating a first ratio between the first relative distance and a second relative distance, wherein the second relative distance is a distance between an initial playing position and an end playing position of the video data stream; a corresponding video data segment identification is determined based on the first ratio.
Optionally, the first relative distance and the second relative distance may be represented by the number of pixels, a corresponding relationship between different first ratios and different video data segment identifiers is stored in the terminal, and the second relative distance may be the number of pixels occupied by the length of the progress bar of the video data stream.
For example: if the video segment identifier is the url information, the video segment identifier may be url 1 when the first ratio is 30%, and the video segment identifier may be url 2 when the first ratio is 40%.
Optionally, before the terminal sends the video data segment identifier corresponding to the location information to the server, the following steps are further performed: determining a video data segment identifier corresponding to the position information; the determination of the video data segment identifier corresponding to the position information can be further implemented in the following manner: acquiring played time corresponding to the position information; calculating a second ratio of the played time length to the total time length of the video data stream; a corresponding video data segment identification is determined based on the second ratio.
In some optional embodiments of the present application, the played time length may be a time length of a video that has been actually played, and may also identify a video time length before a corresponding play time for a video data segment; the terminal stores the corresponding relation between different second ratios and different video data segment identifications.
For example: if the video segment flag is time information, the video segment flag may be time 1 when the second ratio is 30%, and the video segment flag may be time 2 when the second ratio is 40%.
Optionally, after the server sends the first video data segment to the terminal, the following steps are further performed: determining a second video data segment based on the video data segment identification, wherein the playing time corresponding to the second video data segment is later than the playing time corresponding to the first video data segment; and sending the second video data segment to the terminal.
In some optional embodiments of the present application, the second video data segment is a video data segment subsequent to the first video data segment, the second video data segment is preloaded, and a first frame of the second video data segment is fast loaded; through the acquisition and playing of the second video data segment, the pause phenomenon under the condition of poor network condition can be avoided, and the smoothness of video playing can be improved. In addition, the server can also feed back a third video data segment based on the video data segment identification, wherein the playing time corresponding to the third video data segment is earlier than the video playing time corresponding to the first video data segment. The third video data segment is the previous video data segment of the first video data segment, and the third video data segment is acquired and played, so that a user can remember the video segment played last time, review training actions and improve user experience.
In other alternative embodiments of the present application, the terminal may further obtain a thumbnail of a video frame corresponding to the location information from the server; and displaying the thumbnail. The terminal can obtain the thumbnail according to the URL address corresponding to the video data stream and the position information of the progress identifier, and specifically, the thumbnail can be determined according to the first ratio or the second ratio, wherein the terminal can determine the video data segment identifier according to the first ratio or the second ratio and send the video data segment identifier to the server, and the server sends the corresponding thumbnail to the terminal according to the correspondence between the stored video data segment identifier and the thumbnail. In addition, the terminal can also locally acquire the thumbnail of the video frame corresponding to the position information from the terminal.
It should be noted that, reference may be made to the description related to the embodiment shown in fig. 1 for a preferred implementation of this embodiment, and details are not described here again.
According to an aspect of an embodiment of the present application, there is provided a video playing system, as shown in fig. 3: the system at least comprises: a first device 32, a second device 34; wherein:
the first device 32 is used for acquiring position information of a progress mark, wherein the progress mark is used for indicating the playing progress of a currently played video data stream, and the video data stream comprises a plurality of video data segments; sending the video data segment identifier corresponding to the position information to the second device 34; receiving the first video data segment fed back by the second device 34 according to the video data segment identifier; playing the first video data segment; a second device 34 for receiving a video data segment identification; determining a first video data segment corresponding to the video data segment identification; the first segment of video data is sent to the first device 32.
Specifically, the first device 32 may be a terminal and the second device 34 may be a server.
In some optional embodiments of the present application, the progress identifier may be an identifier of a progress node on a progress bar during video playing, the video data stream corresponds to the entire training video, and the plurality of video data segments are a plurality of video segments into which the entire training video is divided.
Alternatively, the video data segment identifier may be a web address of the video data segment, or a playing time of the video data segment.
In some optional embodiments of the present application, the first device 32 requests the second device 34 to send the first video data segment to the first device 32 through the video data segment identification, and the second device 34 feeds back the URL address of the video resource and/or the time information of the first video data segment to the first device 32.
Alternatively, the second device 34 receives the video data segment identification sent by the first device 32 and determines that the video data segment identification corresponds to the first video data segment of the currently playing video data stream.
After the second device 34 determines the first video data segment, the first video data segment is sent to the first device 32, wherein the first device 32 may be an intelligent terminal used by the user to watch the fitness video.
Before the second device 34 receives the video data segment identifier, it needs to establish and store a corresponding relationship between a plurality of video data segments and a plurality of video data segment identifiers, where the plurality of video data segments and the plurality of video data segment identifiers correspond to each other one to one.
In some optional embodiments of the present application, the system further comprises: a third device; before the second device 34 sends the first video data segment to the first device 32, the third device may obtain the entire video data stream, the third device may generate a plurality of nodes in response to a node setting instruction of the administrator, the plurality of nodes are used to indicate a segmentation position obtained by the third device after segmenting the video data stream, the third device segments the video data stream according to the nodes to obtain a plurality of video data segments, and sends the plurality of video data segments to the second device 34, and the third device may be a device that obtains a dotting instruction of the administrator.
Specifically, the video resource of the present application may be analyzed through FFMPEG, and after the first device 32 acquires the first video data segment, the first video data segment is played.
In some optional embodiments of the present application, before the first device 32 sends the video data segment identifier corresponding to the location information to the second device 34, the first device is further configured to determine the video data segment identifier corresponding to the location information;
specifically, the first device 32 may determine the video data segment identifier corresponding to the position information by: determining a first relative distance between the current position of the progress mark and the initial playing position of the video data stream according to the position information; calculating a first ratio between the first relative distance and a second relative distance, wherein the second relative distance is a distance between an initial playing position and an end playing position of the video data stream; a corresponding video data segment identification is determined based on the first ratio.
Optionally, the first relative distance and the second relative distance may be represented by the number of pixels, the first device 32 stores a corresponding relationship between different first ratios and different video data segment identifiers, and the second relative distance may be the number of pixels occupied by the length of the progress bar of the video data stream.
For example: if the video segment identifier is the website information, the video segment identifier may be website 1 when the first ratio is 30%, and the video segment identifier may be website 2 when the first ratio is 40%.
Optionally, before the first device 32 sends the video data segment identifier corresponding to the location information to the second device 34, the first device is further configured to determine the video data segment identifier corresponding to the location information; the determination of the video data segment identifier corresponding to the position information can be further implemented in the following manner: acquiring played time corresponding to the position information; calculating a second ratio of the played time length to the total time length of the video data stream; a corresponding video data segment identification is determined based on the second ratio.
In some optional embodiments of the present application, the played time length may be a time length of a video that has been actually played, and may also identify a video time length before a corresponding play time for a video data segment; the first device 32 has stored therein a correspondence of different second ratios to different video data segment identifications.
For example: if the video segment flag is time information, the video segment flag may be time 1 when the second ratio is 30%, and the video segment flag may be time 2 when the second ratio is 40%.
Optionally, after receiving the first video data segment fed back by the second device 34 according to the video data segment identifier, the method further needs to perform the following steps: and acquiring a second video data segment fed back by the second device 34 based on the video data segment identifier, wherein the playing time corresponding to the second video data segment is later than the playing time corresponding to the first video data segment.
In some optional embodiments of the present application, the second video data segment is a video data segment subsequent to the first video data segment, the second video data segment is preloaded, and a first frame of the second video data segment is fast loaded; through the acquisition and playing of the second video data segment, the pause phenomenon under the condition of poor network condition can be avoided, and the smoothness of video playing can be improved. In addition, the first device 32 may further obtain a third video data segment fed back by the second device 34 based on the video data segment identifier, where the playing time corresponding to the third video data segment is earlier than the video playing time corresponding to the first video data segment. The third video data segment is the previous video data segment of the first video data segment, and the third video data segment is acquired and played, so that a user can remember the video segment played last time, review training actions and improve user experience.
Optionally, after acquiring the position information of the progress identifier, the first device 32 is further configured to acquire a thumbnail of a video frame corresponding to the position information; and displaying the thumbnail.
In some optional embodiments of the application, the first device 32 may obtain a thumbnail of a video frame corresponding to the location information from the second device 34, the first device 32 may obtain the thumbnail according to a URL address corresponding to the video data stream and the location information of the progress identifier, and specifically, may determine the thumbnail according to the first ratio or the second ratio, where the first device 32 may determine the video data segment identifier according to the first ratio or the second ratio and send the video data segment identifier to the second device 34, and the second device 34 sends the corresponding thumbnail to the first device 32 according to a correspondence relationship between the stored video data segment identifier and the thumbnail. In addition, the first device 32 may also locally obtain a thumbnail of the video frame corresponding to the location information from the first device 32.
In some optional embodiments of the present application, the first device 32 may acquire current heart rate information of the user sent by a heart rate bracelet worn by the user, and show the heart rate information in the training video.
According to an aspect of the embodiments of the present application, there is provided a video playback apparatus, as shown in fig. 4, the apparatus at least includes: an obtaining module 42, a sending module 44, a receiving module 46, and a playing module 48, wherein:
an obtaining module 42, configured to obtain position information of a progress indicator, where the progress indicator is used to indicate a playing progress of a currently playing video data stream, where the video data stream includes a plurality of video data segments;
a sending module 44, configured to send the video data segment identifier corresponding to the location information to the server;
a receiving module 46, configured to receive a first video data segment fed back by the server according to the video data segment identifier;
and a playing module 48, configured to play the first video data segment.
Optionally, the apparatus includes a first determining module, configured to determine a video data segment identifier corresponding to the location information before the sending module 44 sends the video data segment identifier corresponding to the location information to the server; wherein, determining the video data segment identifier corresponding to the position information may be implemented by: determining a first relative distance between the current position of the progress mark and the initial playing position of the video data stream according to the position information; calculating a first ratio between the first relative distance and a second relative distance, wherein the second relative distance is a distance between an initial playing position and an end playing position of the video data stream; determining the corresponding video data segment identification based on the first ratio.
Optionally, the apparatus includes a second determining module, configured to determine the video data segment identifier corresponding to the location information before the sending module 44 sends the video data segment identifier corresponding to the location information to the server; wherein, determining the video data segment identifier corresponding to the position information may be implemented by: acquiring the played time length corresponding to the position information; calculating a second ratio of the played time length to the total time length of the video data stream; determining the corresponding video data segment identification based on the second ratio.
Optionally, after the receiving module 46 receives a first video data segment fed back by the server according to the video data segment identifier, the obtaining module 42 is further configured to obtain a second video data segment fed back by the server based on the video data segment identifier, where a playing time corresponding to the second video data segment is later than a playing time corresponding to the first video data segment.
Optionally, after the obtaining module 42 obtains the position information of the progress mark, it is further configured to obtain a thumbnail of a video frame corresponding to the position information; and displaying the thumbnail.
It should be noted that, reference may be made to the relevant description in fig. 1 for an alternative or preferred embodiment of the present embodiment, and details are not repeated here.
According to another aspect of the embodiments of the present application, there is also provided a storage medium including a stored program, optionally in this embodiment, the storage medium is configured to store program code for performing the following steps: acquiring position information of a progress mark, wherein the progress mark is used for indicating the playing progress of a currently played video data stream, and the video data stream comprises a plurality of video data segments; sending the video data segment identifier corresponding to the position information to a server; receiving a first video data segment fed back by the server according to the video data segment identifier; and playing the first video data segment.
According to another aspect of the embodiments of the present application, there is also provided a processor, configured to execute a program, where the program may execute program codes of the following steps in a video playing method of an application program when the program is executed:
acquiring position information of a progress mark, wherein the progress mark is used for indicating the playing progress of a currently played video data stream, and the video data stream comprises a plurality of video data segments; sending the video data segment identifier corresponding to the position information to a server; receiving a first video data segment fed back by the server according to the video data segment identifier; and playing the first video data segment.
The above-mentioned serial numbers of the embodiments of the present application are merely for description and do not represent the merits of the embodiments.
In the above embodiments of the present application, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
In the embodiments provided in the present application, it should be understood that the disclosed technology can be implemented in other ways. The above-described embodiments of the apparatus are merely illustrative, and for example, a division of a unit may be a division of a logic function, and an actual implementation may have another division, for example, a plurality of units or components may be combined or may be integrated into another system, or some features may be omitted, or may not be executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, units or modules, and may be in an electrical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit may be implemented in the form of hardware, or may also be implemented in the form of a software functional unit.
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 application may be substantially implemented or contributed to by the prior art, or all or part of the technical solution may be embodied in a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method of the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic or optical disk, and other various media capable of storing program codes.
The foregoing is only a preferred embodiment of the present application and it should be noted that those skilled in the art can make several improvements and modifications without departing from the principle of the present application, and these improvements and modifications should also be considered as the protection scope of the present application.

Claims (6)

1. A video playback method, comprising:
acquiring position information of a progress mark, wherein the progress mark is used for indicating the playing progress of a currently played video data stream, and the video data stream comprises a plurality of video data segments;
sending the video data segment identifier corresponding to the position information to a server;
receiving a first video data segment fed back by the server according to the video data segment identifier;
playing the first video data segment;
before sending the video data segment identifier corresponding to the position information to the server, the method further includes: determining the video data segment identification corresponding to the position information;
wherein determining the video data segment identifier corresponding to the location information comprises any one of:
firstly, determining a first relative distance between the current position of the progress mark and the initial playing position of the video data stream according to the position information; calculating a first ratio between the first relative distance and a second relative distance, wherein the second relative distance is a distance between an initial playing position and an end playing position of the video data stream; determining the corresponding video data segment identification based on the first ratio;
secondly, acquiring played time length corresponding to the position information; calculating a second ratio of the played time length to the total time length of the video data stream; determining the corresponding video data segment identification based on the second ratio;
after receiving the first video data segment fed back by the server according to the video data segment identifier, the method further includes at least any one of:
firstly, a second video data segment fed back by the server based on the video data segment identification is obtained, wherein the playing time corresponding to the second video data segment is later than the playing time corresponding to the first video data segment;
secondly, acquiring a third video data segment fed back by the server based on the video data segment identification, wherein the playing time corresponding to the third video data segment is earlier than the video playing time corresponding to the first video data segment;
after the position information of the progress mark is acquired, the method further comprises the following steps:
acquiring thumbnails of video frames corresponding to the position information, wherein the thumbnails are determined according to the first ratio or the second ratio, and the video data segment identifications correspond to the thumbnails one to one;
and displaying the thumbnail.
2. A method for processing video data, comprising:
receiving a video data segment identification;
determining a first video data segment of a currently played video data stream corresponding to the video data segment identifier, wherein the video data stream comprises a plurality of video data segments;
sending the first video data segment to a terminal;
wherein, before receiving the video data segment identification, the method further comprises: establishing and storing a corresponding relation between the plurality of video data segments and a plurality of video data segment identifications, wherein the plurality of video data segments correspond to the plurality of video data segment identifications one to one;
wherein after sending the first video data segment to a terminal, the method further comprises at least any one of: determining a second video data segment based on the video data segment identification, wherein the playing time corresponding to the second video data segment is later than the playing time corresponding to the first video data segment, and sending the second video data segment to the terminal; feeding back a third video data segment based on the video data segment identification, wherein the playing time corresponding to the third video data segment is earlier than the video playing time corresponding to the first video data segment;
wherein the method further comprises: and sending the thumbnail of the video frame corresponding to the video data segment identification to the terminal so as to display the thumbnail.
3. A video playback system, comprising:
the device comprises a first device, a second device and a third device, wherein the first device is used for obtaining position information of a progress mark, and the progress mark is used for indicating the playing progress of a currently played video data stream, and the video data stream comprises a plurality of video data segments; sending the video data segment identifier corresponding to the position information to a server; receiving a first video data segment fed back by the server according to the video data segment identifier; playing the first video data segment;
a second device for receiving said video data segment identification; determining the first video data segment corresponding to the video data segment identification; sending the first video data segment to a terminal;
before the first device sends the video data segment identifier corresponding to the position information to the second device, the first device is further used for determining the video data segment identifier corresponding to the position information; the first device determines the video data segment identifier corresponding to the position information by any one of the following methods:
firstly, determining a first relative distance between the current position of the progress mark and the initial playing position of the video data stream according to the position information; calculating a first ratio between the first relative distance and a second relative distance, wherein the second relative distance is a distance between an initial playing position and an end playing position of the video data stream; determining a corresponding video data segment identifier based on the first ratio;
secondly, acquiring played time length corresponding to the position information; calculating a second ratio of the played time length to the total time length of the video data stream; determining a corresponding video data segment identifier based on the second ratio;
wherein, after receiving the first video data segment fed back by the server according to the video data segment identifier, the first device is further configured to: acquiring a second video data segment fed back by the server based on the video data segment identifier, wherein the playing time corresponding to the second video data segment is later than the playing time corresponding to the first video data segment; and/or acquiring a third video data segment fed back by the server based on the video data segment identification, wherein the playing time corresponding to the third video data segment is earlier than the video playing time corresponding to the first video data segment;
wherein the second device is further configured to: before receiving video data segment identifications, establishing and storing corresponding relations between the video data segments and the video data segment identifications, wherein the video data segments correspond to the video data segment identifications one to one;
wherein, after sending the first video data segment to the terminal, the second device is further configured to: determining a second video data segment based on the video data segment identification, wherein the playing time corresponding to the second video data segment is later than the playing time corresponding to the first video data segment, and sending the second video data segment to the terminal; and/or feeding back a third video data segment based on the video data segment identification, wherein the playing time corresponding to the third video data segment is earlier than the video playing time corresponding to the first video data segment;
wherein the system further comprises:
third equipment, configured to generate a plurality of nodes in response to a node setting instruction, where the plurality of nodes are used to indicate a segmentation position obtained by segmenting the video data stream; segmenting the video data stream according to the node to obtain a plurality of video data segments; and sending the plurality of video data segments to the server.
4. A video playback apparatus, comprising:
the device comprises an acquisition module, a display module and a display module, wherein the acquisition module is used for acquiring position information of a progress mark, and the progress mark is used for indicating the playing progress of a currently played video data stream, and the video data stream comprises a plurality of video data segments;
the sending module is used for sending the video data segment identifier corresponding to the position information to a server;
the receiving module is used for receiving a first video data segment fed back by the server according to the video data segment identifier;
the playing module is used for playing the first video data segment;
before a sending module sends a video data segment identifier corresponding to the position information to a server, the video data segment identifier corresponding to the position information is determined; wherein, the video data segment identifier corresponding to the position information is determined, and the determination is realized by any one of the following modes:
the device further comprises a first determining module, which is used for determining a first relative distance between the current position of the progress mark and the initial playing position of the video data stream according to the position information; calculating a first ratio between the first relative distance and a second relative distance, wherein the second relative distance is a distance between an initial playing position and an end playing position of the video data stream; determining the corresponding video data segment identification based on the first ratio;
the device also comprises a second determining module, which is used for acquiring the played time length corresponding to the position information; calculating a second ratio of the played time length to the total time length of the video data stream; determining the corresponding video data segment identification based on the second ratio;
wherein, after the receiving module receives the first video data segment fed back by the server according to the video data segment identifier, the apparatus further comprises at least any one of the following:
the acquisition module is further configured to acquire a second video data segment fed back by the server based on the video data segment identifier, where a playing time corresponding to the second video data segment is later than a playing time corresponding to the first video data segment; and the number of the first and second groups,
secondly, the video playing device is further used for acquiring a third video data segment fed back by the server based on the video data segment identification, wherein the playing time corresponding to the third video data segment is earlier than the video playing time corresponding to the first video data segment;
after the obtaining module obtains the position information of the progress mark, the obtaining module is further used for obtaining a thumbnail of a video frame corresponding to the position information; and displaying the thumbnail, wherein the thumbnail is determined according to the first ratio or the second ratio, and the video data segment identification corresponds to the thumbnail one to one.
5. A storage medium, comprising a stored program, wherein when the program is executed, a device on which the storage medium is located is controlled to execute the video playback method according to claim 1.
6. A processor, characterized in that the processor is configured to run a program, wherein the program is executed to execute the video playing method according to claim 1.
CN201910717815.4A 2019-08-05 2019-08-05 Video playing method, device and system Active CN110446117B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910717815.4A CN110446117B (en) 2019-08-05 2019-08-05 Video playing method, device and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910717815.4A CN110446117B (en) 2019-08-05 2019-08-05 Video playing method, device and system

Publications (2)

Publication Number Publication Date
CN110446117A CN110446117A (en) 2019-11-12
CN110446117B true CN110446117B (en) 2022-08-02

Family

ID=68433209

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910717815.4A Active CN110446117B (en) 2019-08-05 2019-08-05 Video playing method, device and system

Country Status (1)

Country Link
CN (1) CN110446117B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114225364B (en) * 2020-09-14 2023-02-28 成都拟合未来科技有限公司 Real-time interaction method and system
CN113359976A (en) * 2021-05-24 2021-09-07 广东省人民医院 Control method of intelligent device, server and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8392530B1 (en) * 2008-12-18 2013-03-05 Adobe Systems Incorporated Media streaming in a multi-tier client-server architecture
CN103024456A (en) * 2011-09-27 2013-04-03 腾讯科技(深圳)有限公司 Online video playing method and video playing server
CN103491455A (en) * 2013-03-29 2014-01-01 吴晗 Video playing control system
CN105100839A (en) * 2015-07-14 2015-11-25 网易传媒科技(北京)有限公司 Video file downloading method, device, server and terminal equipment
CN106792217A (en) * 2016-12-16 2017-05-31 广东小天才科技有限公司 A kind of video broadcasting method and device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8392530B1 (en) * 2008-12-18 2013-03-05 Adobe Systems Incorporated Media streaming in a multi-tier client-server architecture
CN103024456A (en) * 2011-09-27 2013-04-03 腾讯科技(深圳)有限公司 Online video playing method and video playing server
CN103491455A (en) * 2013-03-29 2014-01-01 吴晗 Video playing control system
CN105100839A (en) * 2015-07-14 2015-11-25 网易传媒科技(北京)有限公司 Video file downloading method, device, server and terminal equipment
CN106792217A (en) * 2016-12-16 2017-05-31 广东小天才科技有限公司 A kind of video broadcasting method and device

Also Published As

Publication number Publication date
CN110446117A (en) 2019-11-12

Similar Documents

Publication Publication Date Title
CN109547859B (en) Video clip determination method and device
CN109089154B (en) Video extraction method, device, equipment and medium
CN109168037B (en) Video playing method and device
CN113038287B (en) Method and device for realizing multi-user video live broadcast service and computer equipment
CN108924576A (en) A kind of video labeling method, device, equipment and medium
CN103718166B (en) Messaging device, information processing method
CN110121098B (en) Video playing method and device, storage medium and electronic device
CN104869439B (en) A kind of video pushing method and device
CN108391179A (en) live data processing method, device, server, terminal and storage medium
CN108683952B (en) Video content segment pushing method and device based on interactive video
CN109089127A (en) A kind of video-splicing method, apparatus, equipment and medium
CN110446117B (en) Video playing method, device and system
CN108492140A (en) A kind of advertisement placement method and system
CN107547922B (en) Information processing method, device, system and computer readable storage medium
CN113630630B (en) Method, device and equipment for processing video comment dubbing information
CN107333148B (en) Method for processing video frequency and device, computer storage medium and equipment
CN110881131B (en) Classification method of live review videos and related device thereof
CN111182359A (en) Video preview method, video frame extraction method, video processing device and storage medium
CN108153882A (en) A kind of data processing method and device
CN108881997A (en) Animation file generates and playback method, device and system
CN107786903A (en) video interactive method and device
CN108769831B (en) Video preview generation method and device
CN109359203B (en) Method and device for processing motion trail video
CN105872608A (en) Live broadcast page refreshing method and device
CN104994433A (en) Method and device for providing video file

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
GR01 Patent grant
GR01 Patent grant