CN109982151B - Video-on-demand method, device, equipment and medium - Google Patents

Video-on-demand method, device, equipment and medium Download PDF

Info

Publication number
CN109982151B
CN109982151B CN201711460963.XA CN201711460963A CN109982151B CN 109982151 B CN109982151 B CN 109982151B CN 201711460963 A CN201711460963 A CN 201711460963A CN 109982151 B CN109982151 B CN 109982151B
Authority
CN
China
Prior art keywords
video
data
downloading request
key frame
client
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
CN201711460963.XA
Other languages
Chinese (zh)
Other versions
CN109982151A (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.)
China Mobile Communications Group Co Ltd
China Mobile Group Fujian Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Group Fujian 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 China Mobile Communications Group Co Ltd, China Mobile Group Fujian Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201711460963.XA priority Critical patent/CN109982151B/en
Publication of CN109982151A publication Critical patent/CN109982151A/en
Application granted granted Critical
Publication of CN109982151B publication Critical patent/CN109982151B/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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand

Abstract

The embodiment of the invention discloses a video-on-demand method, a device, equipment and a medium, wherein the method comprises the following steps: responding to a first downloading request from a client, and issuing video data to the client from a nearest key frame, wherein the nearest key frame is a key frame nearest to a downloading request position of the first downloading request, and the first downloading request requests to download non-tail data of a video; and responding to a second downloading request from the client, and issuing video data in a data downloading range required by the second downloading request to the client, wherein the second downloading request requests to download data with a preset size at the tail part of the video. Therefore, the on-demand opening time delay is shortened and the efficiency is obviously improved by optimizing the server outflow mechanism.

Description

Video-on-demand method, device, equipment and medium
Technical Field
The invention relates to the technical field of Internet televisions, in particular to a video-on-demand method, a video-on-demand device, video-on-demand equipment and a video-on-demand medium
Background
Internet Protocol Television (IPTV) provides various digital media services including Television programs through Internet Protocol (IP) by using an infrastructure of a broadband cable Television network and a home Television as a main terminal appliance.
At present, an internet television on demand process relates to a platform server side outflow mechanism and a set top box pull mechanism, and although the internet television on demand process basically follows telecommunication IPTV technical specifications, the actual playing process still has a large optimization space when being realized by different manufacturers.
Disclosure of Invention
Embodiments of the present invention provide a video-on-demand method, apparatus, device, and medium, which significantly shorten an on-demand delay and significantly improve efficiency by optimizing a client-side pull mechanism and a server-side outflow mechanism.
In a first aspect, an embodiment of the present invention provides a video-on-demand method, where the method includes:
responding to a first downloading request from a client, issuing video data to the client from a nearest key frame, wherein the nearest key frame is a key frame nearest to a downloading request position of the first downloading request, and the first downloading request requests to download non-tail data of a video; and
and responding to a second downloading request from the client, and issuing video data in a data downloading range required by the second downloading request to the client, wherein the second downloading request requests to download data with a preset size at the tail part of the video.
In a second aspect, an embodiment of the present invention provides a video-on-demand device, including:
the first video data issuing unit is used for responding to a first downloading request from a client and issuing video data to the client from a nearest key frame, wherein the nearest key frame is a key frame nearest to a downloading request position of the first downloading request, and the first downloading request requests to download non-tail data of a video; and
and the second video data issuing unit is used for responding to a second downloading request from the client and issuing video data in a data downloading range required by the second downloading request to the client, wherein the second downloading request requests to download the data with the preset size at the tail part of the video.
In a third aspect, an embodiment of the present invention provides a computing device, including: at least one processor, at least one memory, and computer program instructions stored in the memory, which when executed by the processor, implement the method of the first aspect of the embodiments described above.
In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium, on which computer program instructions are stored, which, when executed by a processor, implement the method of the first aspect in the foregoing embodiments.
According to the video-on-demand method, device, equipment and medium provided by the embodiment of the invention, the problems of non-standard and non-uniform video coding and non-uniform video compression quality of each manufacturer in the existing environment are solved through the server side optimization scheme, and the system compatibility is improved. By optimizing the scheme on the client side, the mechanism of a single request is changed, and the data size of the request trailer is tried and shortened for multiple times, so that the efficiency is remarkably improved, and the on-demand time delay is shortened.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required to be used in the embodiments of the present invention will be briefly described below, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
FIG. 1A shows a PES packet format diagram;
FIG. 1B shows a flow type mapping table diagram;
FIG. 1C shows a schematic diagram of a GOP;
FIG. 2 is a flow diagram illustrating a video-on-demand method according to one embodiment of the present invention;
FIG. 3 shows a schematic block diagram of a video-on-demand apparatus according to one embodiment of the present invention;
fig. 4 is a schematic diagram illustrating a hardware structure of a computing device according to an embodiment of the present invention.
Detailed Description
Features and exemplary embodiments of various aspects of the present invention will be described in detail below, and in order to make objects, technical solutions and advantages of the present invention more apparent, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not to be construed as limiting the invention. It will be apparent to one skilled in the art that the present invention may be practiced without some of these specific details. The following description of the embodiments is merely intended to provide a better understanding of the present invention by illustrating examples of the present invention.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
Video coding and decoding technology is the initial condition for the development of network television. Only efficient video coding can guarantee the provision of video services in a realistic internet environment.
In the mpeg (moving Picture Experts group) standard, in order to synthesize one or more audio, video or other elementary data streams into a single or multiple data streams for storage and transmission, the data streams must be repackaged and encoded, and various time stamps, system control and other information must be inserted into the code streams and finally sent to a channel coder and modulator.
Currently, Transport Stream (TS) is widely used. The S-stream consists of one or more programs, each of which is composed of one or more original streams combined with some other streams, including video streams, audio streams, program specific information streams (PSI), and other data packets. Among them, the PSI table has 4 types: a Program Association Table (PAT), a Program Map Table (PMT), a network information table, and a conditional access table.
Taking TS as an example, the video encoding process is that MPEG encoding compresses video, divides a picture (i.e., a frame) into I frames, P frames, and B frames, sequentially encodes the frames into Elementary streams ES (Elementary streams), and the ES streams are processed by a PES packetizer to form a PES (packetized Elementary streams), and in this process, operations (first packetization of the ES streams) such as packetizing the ES streams, packetizing, adding header information (including inserting a PTS/DTS flag in each frame) and the like are completed. The basic unit of a PES stream is a PES packet. The PES packet is composed of a packet header and payload. Fig. 1A shows a PES packet format schematic. Whereas a TS packet is a repackaged one of PES packets (up to this point, ES is subjected to two-layer encapsulation), a TS consists of TS packets of a fixed length (188 bytes). The header information of the PES packet still exists in the TS packet.
In internet television applications, a licensee injects content (e.g., video) into a media platform, and a platform server provides streaming media services to users. After receiving the service request of the user, the platform service sends the media stream to the user and provides the functions of positioning the program content (including fast forward, fast backward, pause, etc.) according to the instruction of the user.
The Internet television on demand process relates to a platform server side outflow mechanism and a set top box pull mechanism. The existing scheme of the internet television platform is as follows:
media server side streaming scheme: when a licensee injects content into a media platform, a media server (e.g., a media server, HMS) extracts information such as I-frames, GOPs, etc. from the video according to the TS encapsulation specification, creating an I-frame table. After the set-top box and the media server establish a link, the HMS quickly finds the position of the nearest I frame from the I frame table according to the playing request position carried by the set-top box, and starts streaming from the nearest I frame, thereby reducing the streaming time. Meanwhile, the HMS server increases the rate to 3 times according to the average code rate of the stream to be transmitted, and the transmission time of the video stream is reduced.
The set-top box pull stream scheme: after the set-top box and the HMS establish a TCP link, a request is sent once to obtain the size of the whole video. And then the set top box requests a section of data with the size of 250K at the tail part of the video, the set top box analyzes the PTS information contained in the section of data, the video time length is calculated, and if the requested section of data does not contain the PTS information, the set top box takes the 250K forward again until the data containing the PTS is obtained. And finally, the play is requested from the beginning.
However, the existing internet television platform solution still has great disadvantages:
1. HMS server frame extraction disadvantage
FIG. 1B shows a flow type mapping table diagram.
The Program Map Table (PMT) indicates the content contained in the Program, i.e. which streams the Program consists of, the type of these streams (audio, video, data), and the location of the streams that make up the Program, i.e. the PID values of the corresponding TS packets, and the location of the Program Clock Reference (PCR) field of each Program.
At present, an internet television platform is built based on H.264, and an HMS server obtains audio and video information from a public stream type, namely, only extracting videos from a 0x01 stream type and only extracting audios from 0x03 and 0x04 stream types. For video based on h.265 coding, it is not recognizable to put audio or video information in the 0x06 stream type, which finally results in error frame extraction result and failure to parse the video normally.
2. HMS server streaming disadvantage
Fig. 1C shows a schematic diagram of a GOP.
A GOP in video is a group of consecutive pictures, with two I-frames forming a GOP between them. DTS is mainly used for video decoding, and is used in the decoding stage. The PTS is a presentation time stamp for measuring when a decoded video frame is presented, and is mainly used for synchronization and output of video.
The video coding process is to compress the video to generate I frame, P frame and B frame. The frames are sequentially encoded into a basic data stream ES, and turned into a PES by packetizing and inserting a PTS/DTS flag in each frame. The ES packet is called a PES packet, and is a data structure for transferring the ES. The PES stream is a data stream formed by processing the ES stream by a PES packetizer, and in this process, operations of packetizing the ES stream, packetizing, adding header information, and the like (first packetizing the ES stream) are completed. The basic unit of a PES stream is a PES packet. The PES packet is composed of a packet header and payload.
At present, partial video encapsulation is not in accordance with the specification, and the tail part data of the video is garbage data and does not contain PTS information. When the set-top box acquires the film source tail data, the film source tail data happens to belong to a junk data range, the HMS server cannot search I frames in a request GOP range, the HMS server cannot send a stream, and the set-top box cannot normally acquire the film source tail data.
3. Set-top box pull stream mechanism disadvantage
When a set-top box plays a certain video, the set-top box first needs to acquire the tail information of the video to extract the time length of the video. The set-top box requests 250K data of the video tail part from the HMS server, the data size is large, when the network quality is poor and the downloading rate is low, the distribution of the video tail part data cannot be rapidly realized, much time can be wasted, and the on-demand delay is overlong.
In view of this, the present invention provides a video-on-demand method and apparatus, wherein when a client requests video trailer data, a media server directly sends the video trailer data corresponding to a requested data range to the client, so as to implement fast streaming on a server side. And the data size of the video tail data request at the client side is reduced, the mechanism of a single request of the client side is changed, and the on-demand opening time delay is shortened through multiple attempts.
The following describes the vod scheme according to the present invention with reference to the drawings and embodiments.
Fig. 2 shows a flow diagram of a video-on-demand method according to an embodiment of the invention.
In the invention, the client is used for referring to the user side and can be a computer or a set-top box used by the user. The client may establish a link with the media server via a predetermined transport protocol (e.g., TCP) to enable transport communication of the data stream.
When the client establishes a link with the platform server, the client sends a request (client pull stream) to the platform server, and the platform server (hereinafter referred to as server) issues corresponding data (server send stream) to the client in response to the download request.
As shown in fig. 2, in step S210, in response to a first download request from a client, video data is issued to the client from a nearest key frame, where the nearest key frame is a key frame closest to a download request position of the first download request, and the first download request requests to download non-tail data of a video.
The first download request may be, for example, a video play request to acquire or download non-tail data of a video, where the download request may include information such as a data range of the video requested by the client, a download request location, and the like.
The server may issue video data to the user starting from a key frame (e.g., I frame) closest to the download request position according to the download request position included in the download request, e.g., an I frame, a P frame, or a B frame in a continuous picture.
Preferably, the server may quickly find the latest key frame of the download request location from the key frame list of the video according to the download request location of the first download request, and start to distribute the video data to the client from the latest key frame.
Specifically, for example, the server may determine a data range, such as a GOP range where the download request position is located, based on the download request position, determine a key frame closest to the download request position according to the GOP range, and start to distribute the video data from the closest key frame.
Therefore, the streaming time of the server side is reduced. Meanwhile, the platform server can also increase the rate to 3 times according to the average code rate of the stream to be transmitted, so that the transmission time of the video stream is reduced.
In step S220, in response to a second download request from the client, the video data within the data download range required by the second download request is issued to the client, and the second download request requests to download the data with the predetermined size at the end of the video.
The second download request may be, for example, a video trailer data download request to acquire or download the trailer data of the video, where the download request may include information such as a data download range, a data size, and a download request identifier of the video trailer data requested by the client.
The server issues the corresponding video data based on the information contained in the second download request. For example, the server may search for video data in a corresponding range based on the data download range included in the second download request, and issue the video data to the client. The server may also issue video trailer data of a corresponding size from the trailer of the video back forward based on the data size of the requested video trailer data. The server may also issue corresponding video data based on the download request identifier.
The client may parse the video data obtained through the second download request to find time stamp information (e.g., PTS information) therefrom, and determine the total duration of the video through calculation.
Since the partial video encapsulation is not in specification, the video tail part data may be garbage data or other padding data, and does not contain time identification information. Therefore, if the period of video data requested by the client does not contain the time identification information, the client sends the second download request again until the video data containing the time identification information is acquired. And then requests to play the video.
The predetermined size may be in the range of 1-10K, and preferably, 4K size of video trailer data may be requested by default. Therefore, the fixed value of the default pull flow data of the client is adjusted from 250K to a smaller value, and the pull flow time can be obviously shortened when the network quality is poor.
Therefore, the mechanism of a single request is changed, the video on demand opening time delay is shortened by trying and reducing the size of the tail data of the requested video for many times, and the efficiency is obviously improved.
Although the above method is shown in the form of step S210 and step S220, it should be understood by those skilled in the art that the above steps are only used to represent the interaction existing between the client and the server of the present invention, and do not strictly limit the specific implementation steps of the video-on-demand method of the present invention. Moreover, the descriptions of "first" and "second" herein are intended to distinguish objects, rather than to specify an order or size, which is obvious or implicit.
In a preferred embodiment, the server may determine whether the video data download request from the client is the first download request or the second download request. For example, the determination or identification of the data download request is performed based on request information (data request range, download request identifier, etc.) included in the first download request and/or the second download request.
When the video data downloading request is judged to be the first downloading request, referring to step S210, the server responds to the first downloading request, quickly searches the nearest key frame corresponding to the request from the key frame list, and starts to send video data to the client from the nearest key frame.
When the video data download request is determined to be the second download request, the server responds to the second download request, does not search the key frame list for the key frame related to the data download range required by the second download request, but, referring to step S220, issues the video data within the data download range required by the second download request to the client.
Therefore, the server outflow mechanism is modified, when the client requests the video tail data, the server does not need to judge the key frame, and the server is not influenced to send the stream no matter whether the video tail data requested by the client is in the effective data range or the invalid data range, so that the quick outflow is realized. The method and the device solve the problems that in the prior art, when the film source tail data requested to be acquired or downloaded by the client belongs to the garbage data range, the server does not send the stream and the client cannot normally acquire the film source tail data because the server cannot find the key frame (I frame) in the requested GOP range.
In addition, by combining the improvement of the client pull mechanism, the client can always request the trailer data in a preposed manner until the valid data is obtained, the on-demand time delay can be shortened, and the efficiency is obviously improved.
In addition, the key frame list may be constructed by the platform server according to a predetermined packaging specification when the license dealer injects content (e.g., video stream, audio stream) into the platform. For example, the server may identify video information from a streaming media file and extract key frame information from the video information to create the key frame list. For example, the server may extract information such as I-frames, GOPs, etc. from the video according to the TS encapsulation specification, creating an I-frame table.
Currently, internet television platforms are built based on h.264 (a video coding standard), and video coding standards are continuously improving, such as h.265. The server only obtains the audio and video information from the public stream type based on H.264, namely only extracts the video from the 0x01 stream type and only extracts the audio from the 0x03 and 0x04 stream types. For H.265 encoded video, it is not recognizable to put audio or video information in the 0x06 stream type, which finally results in error frame extraction and failure to analyze video normally.
Therefore, in order to be compatible with other coding standards (such as H.265), the platform server frame extraction mechanism is optimized to be compatible with the video with the type of 0x 06. The server may identify video information in the streaming media file based on a video-related data stream type specified by a predetermined video coding specification, and in the event of a failure to identify based on the video-related data stream type, identify video information in the streaming media file based on a predetermined one or more non-common stream types.
Specifically, for example, when content is injected into an internet television platform, when performing frame extraction analysis, if video information is not found in 0x01 and audio information is not found in 0x03 and 0x04, the platform server searches for video and audio information from other non-common stream types such as 0x06 and stores the video and audio information in an I-frame table.
Therefore, the key frame list is created, and the optimization of the platform server side frame extraction mechanism is realized. The problems that in the existing environment, video codes of various manufacturers are not standard and not consistent, and video pressing quality is not consistent are solved, and system compatibility is improved.
So far, the video-on-demand method of the present invention has been described in detail with reference to fig. 2 and the embodiment. By the method, a frame extracting mechanism of the platform server, a platform server outflow mechanism and a client side stream pulling mechanism are optimized respectively, so that the system compatibility is improved, the on-demand time delay is shortened, and the video on-demand efficiency is obviously improved.
In addition, the video-on-demand method can also be realized by a video-on-demand device. Fig. 3 shows a schematic block diagram of a video-on-demand device according to an embodiment of the present invention. Wherein the functional blocks of the vod device 300 can be implemented by hardware, software or a combination of hardware and software implementing the principles of the present invention. It will be appreciated by those skilled in the art that the functional blocks described in fig. 3 may be combined or divided into sub-blocks to implement the principles of the invention described above. Thus, the description herein may support any possible combination, or division, or further definition of the functional modules described herein.
The vod device 300 shown in fig. 3 may be used to implement the vod method shown in fig. 2, and only the functional modules that the vod device 300 may have and the operations that each functional module may perform are briefly described below, and details related thereto may be referred to the description above in conjunction with fig. 2, and are not repeated here.
As shown in fig. 3, the vod device 300 according to the present invention may include a first video-data distribution unit 310 and a second video-data distribution unit 320.
The first video data issuing unit 310 may issue, in response to a first download request from a client, video data to the client starting from a nearest key frame, where the nearest key frame is a key frame closest to a download request position of the first download request, and the first download request requests downloading of non-tail data of a video.
The second video data issuing unit 320 is capable of issuing, to the client, video data within a data download range required by a second download request requesting to download data of a predetermined size at the end of the video, in response to the second download request from the client.
Preferably, the vod device 300 may include the judgment unit 330. The determining unit 330 may be configured to determine whether the video data download request from the client is the first download request or the second download request.
Preferably, the vod apparatus 300 may include a key frame search unit. In response to the first download request, a key frame lookup unit looks up the latest key frame from a key frame list.
Preferably, in response to the second download request, the key frame searching unit does not search the key frame list for the key frame related to the data download range required by the second download request.
Preferably, the vod apparatus 300 may include a frame table creation unit. The frame table creation unit may identify video information from a streaming media file and extract key frame information from the video information to create the key frame list.
For example, the frame table creation unit may identify video information in the streaming media file based on a video-related data stream type specified by a predetermined video coding specification, and in the event of a failure to identify based on the video-related data stream type, identify video information in the streaming media file based on a predetermined one or more non-common stream types.
Preferably, the predetermined video encoding specification may be a TS encapsulation specification.
Preferably, the predetermined size may be in the range of 1-10K, and preferably may be 4K.
Preferably, the client is capable of finding a time stamp from the video data obtained by the second download request to determine the total video duration.
Therefore, the invention realizes the video frame extraction analysis with the type of 0x06 through the optimization scheme at the server side, and does not judge the I frame when requesting the tail film source data. By the set top box side optimization scheme, the size of the tail data of the video requested by the set top box is reduced, the stream pulling time is shortened, and a retry mechanism is added.
In addition, the video-on-demand method of the embodiment of the present invention described in conjunction with fig. 2 may be implemented by a computing device. Fig. 4 is a schematic diagram illustrating a hardware structure of a computing device according to an embodiment of the present invention.
The computing device may include a processor 401 and a memory 402 storing computer program instructions.
Specifically, the processor 401 may include a Central Processing Unit (CPU), or an Application Specific Integrated Circuit (ASIC), or may be configured as one or more Integrated circuits implementing embodiments of the present invention.
Memory 402 may include mass storage for data or instructions. By way of example, and not limitation, memory 402 may include a Hard Disk Drive (HDD), floppy Disk Drive, flash memory, optical Disk, magneto-optical Disk, tape, or Universal Serial Bus (USB) Drive or a combination of two or more of these. Memory 402 may include removable or non-removable (or fixed) media, where appropriate. The memory 402 may be internal or external to the data processing apparatus, where appropriate. In a particular embodiment, the memory 402 is a non-volatile solid-state memory. In a particular embodiment, the memory 402 includes Read Only Memory (ROM). Where appropriate, the ROM may be mask-programmed ROM, Programmable ROM (PROM), Erasable PROM (EPROM), Electrically Erasable PROM (EEPROM), electrically rewritable ROM (EAROM), or flash memory or a combination of two or more of these.
The processor 401 may implement any of the video-on-demand methods described in the above embodiments by reading and executing computer program instructions stored in the memory 402.
In one example, the computing device may also include a communication interface 403 and a bus 410. As shown in fig. 4, the processor 401, the memory 402, and the communication interface 403 are connected via a bus 410 to complete communication therebetween.
The communication interface 403 is mainly used for implementing communication between modules, apparatuses, units and/or devices in the embodiments of the present invention.
Bus 410 includes hardware, software, or both to couple components of the computing device to one another. By way of example, and not limitation, a bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), a Hypertransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an infiniband interconnect, a Low Pin Count (LPC) bus, a memory bus, a Micro Channel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a video electronics standards association local (VLB) bus, or other suitable bus or a combination of two or more of these. Bus 410 may include one or more buses, where appropriate. Although specific buses have been described and shown in the embodiments of the invention, any suitable buses or interconnects are contemplated by the invention.
In addition, in combination with the video-on-demand method in the foregoing embodiments, the embodiments of the present invention may provide a computer-readable storage medium to implement. The computer readable storage medium having stored thereon computer program instructions; the computer program instructions, when executed by a processor, implement any of the video-on-demand methods of the above embodiments.
It is to be understood that the invention is not limited to the specific arrangements and instrumentality described above and shown in the drawings. A detailed description of known methods is omitted herein for the sake of brevity. In the above embodiments, several specific steps are described and shown as examples. However, the method processes of the present invention are not limited to the specific steps described and illustrated, and those skilled in the art can make various changes, modifications and additions or change the order between the steps after comprehending the spirit of the present invention.
The functional blocks shown in the above-described structural block diagrams may be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, it may be, for example, an electronic circuit, an Application Specific Integrated Circuit (ASIC), suitable firmware, plug-in, function card, or the like. When implemented in software, the elements of the invention are the programs or code segments used to perform the required tasks. The program or code segments may be stored in a machine-readable medium or transmitted by a data signal carried in a carrier wave over a transmission medium or a communication link. A "machine-readable medium" may include any medium that can store or transfer information. Examples of a machine-readable medium include electronic circuits, semiconductor memory devices, ROM, flash memory, Erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, Radio Frequency (RF) links, and so forth. The code segments may be downloaded via computer networks such as the internet, intranet, etc.
It should also be noted that the exemplary embodiments mentioned in this patent describe some methods or systems based on a series of steps or devices. However, the present invention is not limited to the order of the above-described steps, that is, the steps may be performed in the order mentioned in the embodiments, may be performed in an order different from the order in the embodiments, or may be performed simultaneously.
As described above, only the specific embodiments of the present invention are provided, and it can be clearly understood by those skilled in the art that, for convenience and brevity of description, the specific working processes of the system, the module and the unit described above may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again. It should be understood that the scope of the present invention is not limited thereto, and any person skilled in the art can easily conceive various equivalent modifications or substitutions within the technical scope of the present invention, and these modifications or substitutions should be covered within the scope of the present invention.

Claims (11)

1. A video-on-demand method, the method comprising:
responding to a first downloading request from a client, issuing video data to the client from a nearest key frame, wherein the nearest key frame is a key frame nearest to a downloading request position of the first downloading request, and the first downloading request requests to download non-tail data of a video; and
responding to a second downloading request from the client, and issuing video data in a data downloading range required by the second downloading request to the client, wherein the second downloading request requests to download data with a preset size at the tail part of the video;
the tail data is video data obtained from the tail of the video;
the non-tail data is data starting from a key frame closest to the downloading request position of the first downloading request in a key frame list of the video;
the predetermined size is in the range of 1-10K.
2. The method of claim 1, further comprising:
and judging whether the video data downloading request from the client is the first downloading request or the second downloading request.
3. The method of claim 1, further comprising:
in response to the first download request, looking up the most recent key frame from a key frame list.
4. The method of claim 1, further comprising:
in response to the second download request, key frames associated with a data download range required by the second download request are not looked up in a key frame list.
5. The method according to claim 3 or 4, characterized in that the method further comprises:
identifying video information from a streaming media file; and
extracting key frame information from the video information to create the key frame list.
6. The method of claim 5, wherein identifying the video from the streaming media file comprises:
identifying video information in the streaming media file based on a video-related data stream type specified by a predetermined video coding specification;
in the event of a failure to identify based on the video-related data stream type, video information is identified in the streaming media file based on a predetermined at least one non-common stream type.
7. The method of claim 6,
the predetermined video coding specification is a TS encapsulation specification.
8. The method according to any one of claims 1 to 4, 6 to 7,
and the client searches a time mark from the video data acquired through the second downloading request to determine the total video duration.
9. A video-on-demand apparatus, characterized in that the apparatus comprises:
the first video data issuing unit is used for responding to a first downloading request from a client and issuing video data to the client from a nearest key frame, wherein the nearest key frame is a key frame nearest to a downloading request position of the first downloading request, and the first downloading request requests to download non-tail data of a video; and
the second video data issuing unit is used for responding to a second downloading request from the client and issuing video data in a data downloading range required by the second downloading request to the client, wherein the second downloading request requests to download data with a preset size at the tail part of the video;
the tail data is video data obtained from the tail of the video;
the non-tail data is data starting from a key frame closest to the downloading request position of the first downloading request in a key frame list of the video;
the predetermined size is in the range of 1-10K.
10. A computing device, comprising: at least one processor, at least one memory, and computer program instructions stored in the memory that, when executed by the processor, implement the method of any of claims 1-8.
11. A computer-readable storage medium having computer program instructions stored thereon, which when executed by a processor implement the method of any one of claims 1-8.
CN201711460963.XA 2017-12-28 2017-12-28 Video-on-demand method, device, equipment and medium Active CN109982151B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711460963.XA CN109982151B (en) 2017-12-28 2017-12-28 Video-on-demand method, device, equipment and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711460963.XA CN109982151B (en) 2017-12-28 2017-12-28 Video-on-demand method, device, equipment and medium

Publications (2)

Publication Number Publication Date
CN109982151A CN109982151A (en) 2019-07-05
CN109982151B true CN109982151B (en) 2021-06-25

Family

ID=67074793

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711460963.XA Active CN109982151B (en) 2017-12-28 2017-12-28 Video-on-demand method, device, equipment and medium

Country Status (1)

Country Link
CN (1) CN109982151B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113395606A (en) * 2020-03-13 2021-09-14 华为技术有限公司 URL screen projection method and device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102088620A (en) * 2010-12-01 2011-06-08 中兴通讯股份有限公司 Method for downloading media file in content distribution network and client
CN102550034A (en) * 2009-09-22 2012-07-04 高通股份有限公司 Enhanced block request streaming using block partitioning or request controls for improved client-side handling
CN103428213A (en) * 2013-08-08 2013-12-04 深圳市同洲电子股份有限公司 Multi-media file generation method and multi-media device
CN104202683A (en) * 2014-03-11 2014-12-10 无锡天脉聚源传媒科技有限公司 Method and device for acquiring a program in on-demand stream
CN104216959A (en) * 2014-08-21 2014-12-17 浙江宇视科技有限公司 TS (transport stream) file positioning method and device
CN106454417A (en) * 2016-11-11 2017-02-22 青岛海信宽带多媒体技术有限公司 Streaming media speed multiplication playing method and apparatus
CN107484039A (en) * 2017-08-22 2017-12-15 四川长虹电器股份有限公司 A kind of method that streaming media on demand seek pictures are quickly shown

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9380096B2 (en) * 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US20150312303A1 (en) * 2014-04-25 2015-10-29 Qualcomm Incorporated Determining whether to use sidx information when streaming media data

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102550034A (en) * 2009-09-22 2012-07-04 高通股份有限公司 Enhanced block request streaming using block partitioning or request controls for improved client-side handling
CN102088620A (en) * 2010-12-01 2011-06-08 中兴通讯股份有限公司 Method for downloading media file in content distribution network and client
CN103428213A (en) * 2013-08-08 2013-12-04 深圳市同洲电子股份有限公司 Multi-media file generation method and multi-media device
CN104202683A (en) * 2014-03-11 2014-12-10 无锡天脉聚源传媒科技有限公司 Method and device for acquiring a program in on-demand stream
CN104216959A (en) * 2014-08-21 2014-12-17 浙江宇视科技有限公司 TS (transport stream) file positioning method and device
CN106454417A (en) * 2016-11-11 2017-02-22 青岛海信宽带多媒体技术有限公司 Streaming media speed multiplication playing method and apparatus
CN107484039A (en) * 2017-08-22 2017-12-15 四川长虹电器股份有限公司 A kind of method that streaming media on demand seek pictures are quickly shown

Also Published As

Publication number Publication date
CN109982151A (en) 2019-07-05

Similar Documents

Publication Publication Date Title
US11470405B2 (en) Network video streaming with trick play based on separate trick play files
US11206457B2 (en) Reception apparatus, reception method, transmission apparatus, and transmission method
US9832534B2 (en) Content transmission device and content playback device
US10375350B2 (en) Non-closed caption data transport in standard caption service
US11025940B2 (en) Method for signalling caption asset information and device for signalling caption asset information
US9247317B2 (en) Content streaming with client device trick play index
CN107634930B (en) Method and device for acquiring media data
US7643513B2 (en) Method and system for audio and video transport
US20140359678A1 (en) Device video streaming with trick play based on separate trick play files
EP2754301A1 (en) Streaming of multimedia data from multiple sources
WO2014193996A2 (en) Network video streaming with trick play based on separate trick play files
EP3490263B1 (en) Channel switching method and device
CN103404159B (en) System and method for communicating session information for use in forensic watermarking
WO2012071931A1 (en) Method and system for dynamically inserting cut-in program into segmented program
WO2017092433A1 (en) Method and device for video real-time playback
CN109982151B (en) Video-on-demand method, device, equipment and medium
JP2005123907A (en) Data reconstruction apparatus
KR20220130788A (en) Video partitioning methods, transmission methods, servers, adapters and storage media
KR20150013110A (en) Device and method for processing bi-directional service related to broadcast program
WO2012071932A1 (en) Method and system for quick launch of segmented program
CN106031186B (en) Receiving apparatus, receiving method, transmitting apparatus and transmitting method
KR102210509B1 (en) Method and apparatus for converting a content in a multimedia system
CN113242448B (en) Transmitting apparatus and method, media processing apparatus and method, and receiving apparatus
WO2023273675A1 (en) Method for processing video scene of free visual angle, and client and server
CN114598915A (en) Media service method, device, equipment and computer 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
GR01 Patent grant
GR01 Patent grant