CN103581693B - Internet-oriented large-scale live time shifting method and system based on fragment transmission - Google Patents

Internet-oriented large-scale live time shifting method and system based on fragment transmission Download PDF

Info

Publication number
CN103581693B
CN103581693B CN201310559939.7A CN201310559939A CN103581693B CN 103581693 B CN103581693 B CN 103581693B CN 201310559939 A CN201310559939 A CN 201310559939A CN 103581693 B CN103581693 B CN 103581693B
Authority
CN
China
Prior art keywords
time
shifting
slice
client
index file
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
CN201310559939.7A
Other languages
Chinese (zh)
Other versions
CN103581693A (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 QINGYUAN XINCHUANG TECHNOLOGY Co Ltd
Original Assignee
BEIJING QINGYUAN XINCHUANG 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 QINGYUAN XINCHUANG TECHNOLOGY Co Ltd filed Critical BEIJING QINGYUAN XINCHUANG TECHNOLOGY Co Ltd
Priority to CN201310559939.7A priority Critical patent/CN103581693B/en
Publication of CN103581693A publication Critical patent/CN103581693A/en
Application granted granted Critical
Publication of CN103581693B publication Critical patent/CN103581693B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

The invention provides an internet-oriented large-scale live time shifting method based on fragment transmission. The method comprises the steps that a client-side sends a time shifting request to obtain fragment index files; a time shifting server-side obtains time shifting status marks through time shifting time points; the client-side sends an acquisition request for the fragment index files to the time shifting server-side after receiving feedback from the time shifting server-side; the time shifting server-side processes the acquisition request for the fragment index files to obtain fragment sequences of the time shifting request this time; the time shifting server-side generates corresponding live fragment index files through the fragment sequences and returns the live fragment index files to the client-side; the client-side obtains the specific fragment sequences from the index files, downloads and plays the actual fragment files and repeatedly sends the same acquisition request for the fragment index files. A system where the method is implemented comprises the time shifting server-side and the client-side. The client side is simple and easy to implement, the time shifting index range required to be obtained does not need calculating, and time shifting indexes obtained each time do not need to be reserved or merged.

Description

Internet-oriented large-scale live broadcast time shifting method and system based on fragment transmission
Technical Field
The invention relates to the technical field of video transmission, in particular to an internet-oriented large-scale live broadcast time shifting method and system based on fragment transmission.
Background
In recent years, internet video services are in a period of vigorous development at home and abroad, and a fragment transmission mode is widely adopted in the internet video services so as to build or utilize the existing CDN services. Specifically, the protocol includes HTTP Live Streaming (HLS) protocol suitable for ios terminals, HTTP Dynamic Streaming (HDS) protocol suitable for flash player, Dynamic Adaptive Streaming over HTTP (DASH) protocol which is a possible next generation international standard, and some proprietary protocols based on flv slice format, and the like.
HLS is a streaming media network transport protocol proposed by apple inc, which works by dividing the entire stream into small HTTP-based files to download, only a few of which are downloaded at a time. While the media stream is playing, the client may choose to download the same resource from many different alternate sources at different rates, allowing the streaming media session to accommodate different data rates. When starting a streaming media session, the client downloads an extended M3U (M3u8) file containing metadata, i.e., a slice index file, for finding available media slices.
The HDS is the combination of RTMP and FLV which are traditional streaming media solutions of Adobe company, and is widely applied to the Internet video industry. It contains several components to complete the preparation of the content and to transfer the content to the Flash Player of the terminal via HTTP. The content preparation module comprises a VOD facing module and a Live broadcast facing module, the VOD packaging module divides the media files and stores the media files in a format of F4F, and the Live broadcast packaging module writes the Live stream into the F4F files in real time. At the same time, an index file in the format of F4M corresponding to the media is generated, and the index file includes parameter information such as coding, resolution, code rate, and the like.
DASH, also known as MPEG-DASH, also slices video content into multiple small video segments, each containing a small piece of video content, similar to protocols such as HLS, HDS, etc. DASH is the first international standard for adaptive code rates based on HTTP.
Overall, the basic features of such protocols are:
the mode of index file plus actual video slice is adopted.
The method is divided into different service forms of on-demand broadcasting and live broadcasting:
when a fragment transmission mode is adopted to provide video-on-demand service, usually a client side obtains an index file containing all video slice index information at one time, and then dynamically obtains video slice contents according to playing contents. This is true for both HLS and HDS protocols.
When a live video service is provided by adopting a fragment transmission mode, usually, a client side regularly refreshes and downloads an index file containing index information of a plurality of current video slices, and then determines whether to acquire and which video slice contents to acquire according to the contents of the index file and the contents to be played currently. For example, in the HLS protocol, the client continuously downloads and updates the m3u8 index file, and after obtaining a newly generated slice URL from the index file, downloads and plays the corresponding slice file.
In the live broadcast and on-demand service, the format of the index file is slightly different, and the client uses this differentiated service form, for example, in the HLS protocol, the m3u8 tail of the on-demand service generally has the following mark "# EXT-X-ENDLIST", and the m3u8 of the live broadcast service generally does not have this mark. As in the HDS protocol, the f4m index file distinguishes between on-demand and live by "< streamType >" being either recorded or live.
With the development of video live broadcast services, the demand of live broadcast time shifting is stronger and stronger. The live broadcast time shifting function means that when a user watches live broadcast, the user can be positioned to a certain time point before the current live broadcast point for watching by dragging a progress bar of a player and the like, video data always exist during the video live broadcast without ending, so that the live broadcast time shifting watching process can be continuously carried out as if the user watches live broadcast from the time point.
In the traditional streaming media technology field, connection-oriented transmission and interaction protocols such as rtsp, rtmp, flv-http and the like are generally adopted between a client and a server, and the basic method for realizing time shifting through the protocols is as follows:
1) after the connection between the client and the server is established, the streaming data is received, and the connection is not interrupted in the live broadcasting process.
2) When the client requests to access the time shifting data, the time value which the client wants to jump to is transmitted to the server through the established connection, and the server locates the time value and continues to send the streaming data.
3) And after the client receives the streaming data, starting playing according to the time stamp of the video streaming from the time point. The playing video content of the client will always keep a constant difference with the current latest video content.
4) The client can also carry out operations such as fast forward, fast backward, jump back to the current live broadcast point, and the like, and the server side adjusts the corresponding video data sending strategy after receiving the request of the client so as to achieve different effects.
If a fragmentation transmission mechanism is adopted to realize live broadcast time shift service, especially when based on common protocols such as HLS, HDS and the like, a number of problems are faced:
and an on-demand mode is adopted to realize a function similar to but not equivalent to live time shifting. For example, aiming at the HLS protocol, the server is accessed by a method of obtaining the time point parameter carried in the URL of m3u8, after receiving an obtaining m3u8 access request carrying the time parameter by the client, the server responds to an m3u8 file of the on-demand type to the client, the oldest slice in the file is the slice corresponding to the request time parameter, and the newest slice is the slice corresponding to the current time. The client receiving such m3u8, following the rule of handling the on-demand type m3u8, will play from the oldest slice in the m3u8 to the newest slice in the m3u8, and then end the play, so that the newly generated slices over time will not be retrieved and played.
The live broadcast time shifting based on the fragment transmission is realized by adopting special client software, but the live broadcast time shifting based on the fragment transmission is usually realized by appropriately modifying protocols such as HLS, HDS and the like based on the standards, for example, when the similar live broadcast time shifting service is realized in the above on-demand mode, after the broadcast is finished, a new menu is started from the end time point to look back, and the circulation is carried out, so that the continuous live broadcast time shifting is simulated. However, in this mode, the standard ios player and flash player cannot be used directly, which limits the popularization of live broadcast time-shift application.
Some time shifting services completely send the video slice index information in a large range to a client in a live broadcasting mode, for example, the client can perform dragging operation in the range and immediately shift the video slice index information in the whole server in the live broadcasting mode, and meanwhile, the client can regularly update the index file to acquire new slice information because of the live broadcasting mode. Therefore, live time shifting service can be realized, but the data volume of the index information obtained each time is large, and even if a compression algorithm such as HTTP-Gzip is adopted, when an HLS protocol is adopted, the size of the index file can still reach hundreds of Kbytes in a large-scale time shifting range of 7 days time shifting.
It is obvious that the key of the problem lies in that when adopting the fragmentation transmission playing protocol of the internet mainstream such as HLS, HDS, etc., the client will not actively update the index file in the on-demand mode, and the continuous playing of the live time-shifted content cannot be realized, and in the live mode, because the mode that the client passively requests the index information is adopted, that is, the URL obtained by the index information sent by the client each time is the same, and the index information in a specific range will not be appointed to be obtained to the server according to the playing state of the client, so that the server can only provide the latest segment of index information for the client according to the current live point in the live broadcasting, usually HLS is the index information of the latest 10 fragment files, but during the time-shifting service, the index information required by each user at different time points is different.
Disclosure of Invention
Aiming at the defects existing in the problems, the invention provides the internet-oriented large-scale live broadcast time shifting method and system based on the fragment transmission, which have the advantages that the client is simple and easy to realize, the time shifting index range required to be obtained does not need to be calculated, and the time shifting indexes obtained each time do not need to be reserved and combined.
In order to achieve the above object, the present invention provides an internet-oriented large-scale live broadcast time shifting method based on fragment transmission, which comprises the following steps:
s100, a client sends a time shifting request R to acquire a slice index file;
s200, after a time shifting service end receives a client request, a time shifting state mark TF is obtained by a time shifting time point TR, if the time shifting time point TR is the same as the time shifting state mark TF, the step S400 is skipped to, and if the time shifting time point TR is different from the time shifting state mark TF, a live broadcast content mark CH and the time shifting state mark TF are fed back to the client;
s300, after receiving the feedback of the time shifting server, the client sends a slice index file acquisition request to the time shifting server, and redefines a time shifting request R as the request;
s400, the time shifting server marks TF according to the time shifting state and processes the acquisition request of the slice index file according to the current physical time or the current live stream timestamp to obtain a slice sequence of the time shifting request R;
s500, the time shifting server generates a corresponding live slice index file through the slice sequence and returns the live slice index file to the client;
s600, the client acquires a specific slice sequence from the index file, downloads and plays the actual slice file, and repeatedly sends a slice index file acquisition request to the time shifting server so as to continuously acquire a new slice sequence, download a new slice file and play the new slice file.
In the internet-oriented large-scale live broadcast time shifting method based on segment transmission, in step S100, the time shifting request R sent by the client includes a live broadcast content identifier CH and a time shifting time point TR, where the live broadcast content identifier CH is a channel name, a channel URL, or a channel ID;
the time shift time point TR is one of a physical time TA of the time shift point, a video stream time stamp TB of the time shift point, or an offset value TC of the time shift point with respect to the current live time.
The internet-oriented large-scale live broadcast time shifting method based on the fragmented transmission comprises, in step S200,
if the time shifting time point TR is the time shifting physical time TA or the time shifting streaming time stamp TB, feeding back a live content identifier CH and a time shifting state tag TF to the client, and performing HTTP redirection on the client request, wherein a redirected URL comprises the live content identifier CH and the time shifting state tag TF, and the method comprises the following steps:
a, if a time shift time point TR is a time shift physical time TA, a time shift state flag TF is a tuple of stream timestamp information of the time shift point and current physical time information;
and b, if the time shift time point TR is the time shift point stream timestamp TB, the time shift state mark TF is a tuple of the stream timestamp information of the time shift point and the current physical time information.
In the internet-oriented large-scale live broadcast time shifting method based on segment transmission, if the time shifting time point TR is an offset value TC of the time shifting point relative to the current live broadcast time, the time shifting state flag TF is the offset value TC of the time shifting point relative to the current live broadcast time.
In the internet-oriented large-scale live broadcast time shifting method based on segment transmission, in step S300, the slice index file acquisition request sent by the client includes the live broadcast content identifier CH and the time shifting status flag TF.
The internet-oriented large-scale live broadcast time shifting method based on segment transmission includes, in step S400, the following steps:
s401, obtaining a time-shifting state mark TF from a slice index file acquisition request;
s402, if the time shifting point obtained from the slice index file acquisition request is an offset value TC relative to the current live broadcast time, the time shifting state mark TF is a TFC, and the TFC is the offset value TC of the time shifting point relative to the current live broadcast time;
s403, taking the current physical time T or the current stream timestamp S;
s404, calculating a stream time stamp ST corresponding to the time shift request R, including:
if the time shift status flag TF is TFA: stream time stamp ST ═ TFA1+ (T-TFA2)
If the time shift status flag TF is TFB: stream time stamp ST ═ TFB1+ (T-TFB2)
If the time shift status flag TF is TFC, then: stream time stamp ST ═ S-TFC;
and S405, calculating a slice sequence corresponding to the time shift request R.
The internet-oriented large-scale live broadcast time shifting method based on segment transmission includes, in step S500:
case a: when the protocol is an HLS protocol, according to the m3u8 file format specification, the time shift service generates a slice index file in an m3u8 format based on a preset slice time interval D, a slice sequence and stored time shift data;
case b: when the protocol is an HDS protocol, according to the bootstrap file format specification, the time shifting service generates a bootstrap format slice index file based on a preset slice time interval D, a slice sequence and stored time shifting data.
The internet-oriented large-scale live broadcast time shifting method based on segment transmission further includes, in step S600: the client repeatedly sends a slice index file acquisition request to the time-shifting server, wherein the slice index file acquisition request comprises a live content identifier CH and a time-shifting state tag TF.
Before step S100, the method further includes step S10 of establishing a time-shift data storage area in the time-shift server, where the steps are as follows:
s11, defining the time-shifting time length as L, the time-shifting server ensures to store the audio and video data from the time stamp (S-L) to the current stream time stamp S, and continuously deletes the old time-shifting data and stores the new time-shifting data along with the passage of the current stream time stamp S for rolling storage;
and S12, establishing a mapping rule of the time stamp and the slice sequence for the live video data and the time-shifting video data.
In the internet-oriented large-scale live broadcasting time shifting method based on segment transmission, in step S10, the number C of the segments to be included in the preset index file is a constant and is independent of the time shifting time length L.
When the protocol is an HLS protocol, the most common value of the number C of slices to be included in the preset index file is C ═ 10, and the more common value is 3 ═ C ═ 20; when the protocol is an HDS protocol, C is most commonly taken as C ═ 20, and more commonly taken as 5 ═ C ═ 50.
The internet-oriented large-scale live broadcast time shifting method based on fragment transmission comprises the following steps that when a user needs to access self-adaptive code rate live broadcast group content formed by multiple code rate live broadcasts for time shifting:
SA01, when the client sends a time shift request R, carrying a live channel group content identifier CG and a time shift time point TR of the request;
SA02, after a time-shifting service end receives a client request, analyzing a time-shifting time point TR, if the time-shifting time point TR is a time-shifting point physical time TA or a time-shifting point stream timestamp TB, selecting one path of live broadcast in the live broadcast group to obtain a time-shifting state marker TF, and then feeding back a live broadcast channel group content identifier CG and the time-shifting state marker TF to the client;
if the time shift time point TR is the offset value TC of the time shift point relative to the current live time, directly jumping to SA 04;
SA03, after receiving the feedback of the time shifting server, the client sends a request to the time shifting server, the request carries a live channel group content identifier CG and a time shifting state flag TF;
SA04, the time-shifting service end generates a group index file and returns the group index file to the client after receiving a request of a live broadcast channel group content identifier CG and a time-shifting state label TF carried by the client or an offset value TC of a live broadcast channel group content identifier CG and a time-shifting point relative to the current live broadcast time;
SA05, after receiving the group index file, the client obtains the index file URL corresponding to each path of live broadcast contained therein;
SA06, the client judges the URL of the index file corresponding to each path of live broadcast, if the URL of the index file corresponding to each path of live broadcast contains a plurality of URLs, the URL is selected according to the self condition and a request is made;
if only one URL exists in the URL of the index file corresponding to each path of live broadcast, directly requesting the URL;
SA07, after receiving an index acquisition request containing a live content identifier CH and a time-shifting state flag TF of the client, the time-shifting server side sequentially executes the steps S400 and S500 to form an index file and returns the index file to the client;
SA08, after receiving the index file, the client obtains the specific slice sequence from the index file, and downloads and plays the actual slice file;
SA09, jump to step SA06 to maintain the time-shifting process.
The internet-oriented large-scale live broadcast time shifting method based on fragment transmission is characterized in that the following steps are adopted in the time shifting process to carry out fast forwarding, and the method comprises the following steps:
SB01, when the client sends the fast forward request, the URL carries the live content mark CH, the time shifting time point TR and the playing mark PM;
SB02, the time-shifting server receives the client request;
SB03, the time shift server side obtains the playing identifier PM from the request URL and extracts the fast forward speed SP;
SB04, if the playing identifier PM is a request for fast forwarding and the current playing content reaches the live broadcast point, the time shift server sends a redirection request to the client, redirects to the URL played at normal speed, and ends the fast forwarding process; if the current playing content does not reach the live broadcast point, switching to SB 05;
SB05, the time shifting service end obtains a time shifting state mark TF from a time shifting time point TR, and feeds back the TF and the fast forwarding speed SP to the client;
SB06, after receiving the feedback of the time shift server, the client sends a new slice index file acquisition request to the time shift server;
SB07, the time-shift service terminal takes the current physical time T;
SB08, the time-shifting server side obtains the time-shifting state mark TF and the fast-forwarding speed SP from the client side request, and then calculates the stream time stamp ST corresponding to the current time-shifting fast-forwarding request;
SB09, the time shift server calculates the slice sequence corresponding to the current time shift request R:
executing the mapping rule of the step S12 by taking the time stamp ST as input to obtain a slice sequence;
SB10, the time shift server generates corresponding slice index file through the slice sequence, and returns the corresponding slice index file to the client;
SB11, the client side obtains the specific slice sequence from the index file and sends the access request of the actual slice file;
SB12, after the time-shift server receives the slice access request sent by the client, the returned slice only contains key frames, and does not contain other video frame type data and audio data, including:
SB121, the returned slice only contains a part of key frames, and omits another part of key frames, so as to ensure that the bandwidth occupied by the slice data sent during fast forward is not too large;
SB122, modifying the key frame time stamps in the returned slices to enable the increasing speed of the time stamps to be consistent with the increasing speed required by the fast-forward playing of the video stream;
SB13, the client plays the received slice data;
SB14, the client repeatedly sends fast forward slice index file acquisition request containing live broadcast content identification CH, time shift state mark TF and fast forward speed SP to the time shift server to continuously obtain new slice sequence, download new slice file and play.
The invention also provides a system for implementing the internet-oriented large-scale live broadcast time shifting method based on fragment transmission, which comprises a client and a time shifting server, wherein the client comprises:
the client data transmission module is used for sending a time shifting request, sending a slice index file acquisition request to a time shifting server and receiving feedback of the time shifting server;
the slice index file acquisition module is used for acquiring a slice index file;
the slice sequence processing module is used for acquiring a specific slice sequence in the index file, downloading and playing the actual slice file, and repeatedly issuing a slice index file acquisition request so as to continuously acquire a new slice sequence, download a new slice file and play the new slice file;
the time shifting server side comprises:
a time shift data storage area for storing time shift data;
the time shifting state mark generating module is used for obtaining a time shifting state mark from a time shifting time point after the time shifting server is connected to the client request;
the slicing sequence generating module is used for processing the slicing index file acquisition request to obtain the slicing sequence of the time shifting request;
the live slice index file generation module is used for generating a corresponding live slice index file through a slice sequence;
and the time shifting server data transmission module is used for receiving a time shifting request sent by the client and sending the feedback of the time shifting server and the generated live slice index file to the client.
Compared with the prior art, the invention has the following advantages:
1. the client is simple and easy to realize, the time shift index range required to be acquired does not need to be calculated, and the time shift indexes acquired at each time do not need to be reserved and combined;
2. the method is suitable for protocols such as HLS, HDS, DASH and the like, so that the ios player and the flash player can directly access live broadcast time shifting service, and the live broadcast time shifting service can be realized easily on the Internet without installing a customized player;
3. after the video is backed to the time shift point, the video content can be continuously played like a live broadcast service, and the video cannot be stopped playing after the video is played to a certain time point like a menu time shift service;
4. when time shift service is provided, fast forward play can be realized;
5. supporting the time shift of an adaptive code rate direct broadcasting group formed by direct broadcasting of a plurality of code rates;
6. in a large-scale time shifting range, index files with overlarge data amount do not need to be downloaded, and only index information corresponding to video fragments near a current playing point needs to be downloaded, so that the network transmission efficiency and the service response time are improved;
7. for a distributed system (such as a CDN system) formed by a plurality of time shift servers, when accessing different time shift servers to acquire the index information of the video segments, the client can keep continuity between the acquired index information over time, just as accessing one server all the time, and the discontinuity between the acquired index information can not occur due to the change of the access server.
Drawings
FIG. 1 is a flow chart of a portion of the method of the present invention.
Detailed Description
As shown in fig. 1, the present invention provides an internet-oriented large-scale live broadcast time shifting method based on segment transmission, which includes the following steps:
s100, the client sends a time shifting request R to obtain the slice index file.
Specifically, in step S100:
the client sends a time shifting request R which comprises a live content identifier CH and a time shifting time point TR, wherein the live content identifier CH is a channel name, a channel URL, a channel ID or other live content identifier information;
the time shift time point TR is a physical time TA of the time shift point, a video stream time stamp TB of the time shift point, an offset value TC of the time shift point relative to the current live time, or other time shift time point representations.
In addition, before step S100 is implemented, step S10 needs to be executed to establish a time-shift data storage area in the time-shift server.
Specifically, the method comprises the following steps:
and S11, defining the time-shifting time length as L, the time-shifting server ensures that the video and audio data from the time stamp (S-L) to the current stream time stamp S are stored, and continuously deletes the old time-shifting data and stores the new time-shifting data along with the transition of the current stream time stamp S for rolling storage.
And S12, establishing a mapping rule of the time stamp and the slice sequence for the live video data and the time-shifting video data. The specific mapping method for the time stamp and the slice sequence comprises the following steps:
set IS ═ live video data and set of timestamps for key frames in time-shifted video data, IS ═ I0,I1,…}
Searching elements which are smaller than or equal to CS from IS, taking the maximum value from the elements which meet the condition, and setting the maximum value as ICS, wherein CS IS an arbitrary legal video stream time stamp;
calculating the slice number N (CS) corresponding to the CS by the following method: n (cs) rounding (F (ICS)), where F is a linear function with ICS as an argument; wherein, one definition method of F is as follows:
if D is set to the predetermined slicing interval, f (ICS) is ICS/D.
If C is set to be the number of slices to be included in the preset index file, the slice number set of the slice sequence corresponding to the CS is: { N (CS) -C +1+ B, N (CS) -C +2+ B, … N (CS) + B }, wherein: b is a constant integer in the value range of [0, C-1 ].
The number C of slices to be included in the preset index file is a constant and is independent of the time shift time length L.
When the protocol is an HLS protocol, the most common value of the number C of slices to be included in the preset index file is C ═ 10, and the more common value is 3 ═ C ═ 20; when the protocol is an HDS protocol, C is most commonly taken as C ═ 20, and more commonly taken as 5 ═ C ═ 50.
S200, after receiving the request of the client, the time shifting server obtains a time shifting state mark TF from a time shifting time point TR, compares the time shifting state mark TF with the time shifting time point TR, if the time shifting time point TR is the same as the time shifting state mark TF, skips to execute a step S400, and if the time shifting time point TR is different from the time shifting state mark TF, feeds back a live broadcast content identifier CH and the time shifting state mark TF to the client.
Specifically, step S200 includes:
if the time shifting time point TR is the time shifting physical time TA or the time shifting streaming time stamp TB, feeding back a live content identifier CH and a time shifting state tag TF to the client, and performing HTTP redirection on the client request, wherein a redirected URL comprises the live content identifier CH and the time shifting state tag TF, and the method comprises the following steps:
a, if the time shift time point TR is the time shift physical time TA, the time shift state flag TF is a tuple of the stream timestamp information of the time shift point and the current physical time information:
TF is TFA, consisting of TFA1 and TFA2, TFA ═ TFA1, TFA2, where:
TFA1=S-(T-TA)
TFA2=T
wherein, T is the current physical time, and S is the current stream timestamp.
And b, if the time-shifting time point TR is a time-shifting point stream timestamp TB, the time-shifting state mark TF is a tuple of stream timestamp information of the time-shifting point and current physical time information:
TF is TFB, consisting of TFB1 and TFB2, TFB ═ TFB1, TFB2, where:
TFB1=TB
TFB2=T
wherein T is the current physical time.
In addition, if the time shift time point TR is an offset value TC of the time shift point relative to the current live time, the time shift status flag TF is an offset value TC of the time shift point relative to the current live time.
S300, after receiving the feedback of the time shifting server, the client sends a slice index file acquisition request to the time shifting server, and redefines the time shifting request R as the request. The slice index file acquisition request sent by the client includes a live content identifier CH and a time shift status flag TF.
S400, the time shifting server side processes the slice index file acquisition request according to the time shifting state mark TF and the current physical time or the current live stream time stamp so as to obtain the slice sequence of the time shifting request R.
Specifically, the method comprises the following steps:
s401, obtaining a time-shifting state mark TF from a slice index file acquisition request;
s402, if the time shifting point obtained from the slice index file acquisition request is an offset value TC relative to the current live broadcast time, the time shifting state mark TF is a TFC, and the TFC is the offset value TC of the time shifting point relative to the current live broadcast time;
s403, taking the current physical time T or the current stream timestamp S;
s404, calculating a stream time stamp ST corresponding to the time shift request R, including:
if the time shift status flag TF is TFA: stream time stamp ST ═ TFA1+ (T-TFA2)
If the time shift status flag TF is TFB: stream time stamp ST ═ TFB1+ (T-TFB2)
If the time shift status flag TF is TFC, then: stream time stamp ST ═ S-TFC;
s405, calculating a slice sequence corresponding to the time shift request R: the mapping rule of S12 is executed with the time stamp ST as input, resulting in a slice sequence.
S500, the time shifting server generates a corresponding live slice index file through the slice sequence and returns the live slice index file to the client.
Step S500 further includes:
case a: when the protocol is an HLS protocol, according to the m3u8 file format specification, the time shift service generates a slice index file in an m3u8 format based on a preset slice time interval D, a slice sequence and stored time shift data;
case b: when the protocol is an HDS protocol, according to the bootstrap file format specification, the time shifting service generates a bootstrap format slice index file based on a preset slice time interval D, a slice sequence and stored time shifting data.
S600, the client acquires a specific slice sequence from the index file, downloads and plays the actual slice file, and repeatedly sends a slice index file acquisition request to the time shifting server so as to continuously acquire a new slice sequence, download a new slice file and play the new slice file. Wherein, the slice index file acquisition request repeatedly sent by the client to the time shift server comprises a live content identifier CH and a time shift status flag TF
In addition, when the time shift server takes the value of the current physical time T or the current stream timestamp S, aiming at a distributed live time shift system formed by a plurality of servers, when a user needs to access different time shift servers to acquire an index file at different moments in the live time shift process, the current physical time T and the current live stream timestamp S of different servers are synchronized. The method comprises the following steps:
the time shifting servers utilize the NTP time synchronization server to carry out physical time T synchronization;
one of the plurality of timeslip servers is selected as the origin server. When each time shifting server needs to acquire the physical time T, the local physical time is not acquired, and the physical time is acquired from the source server as the T;
one of the plurality of timeslip servers is selected as the origin server. The current live stream timestamp of each timeslip server is not generated locally, but is obtained from the source server as S.
In the invention, when a user wants to access the self-adaptive code rate live broadcast group content formed by a plurality of code rate live broadcasts for time shifting, the method is realized by adopting the following steps:
SA01, when the client sends a time shift request R, carrying a live channel group content identifier CG and a time shift time point TR of the request;
SA02, after a time-shifting service end receives a client request, analyzing a time-shifting time point TR, if the time-shifting time point TR is a time-shifting point physical time TA or a time-shifting point stream timestamp TB, selecting one path of live broadcast in the live broadcast group to obtain a time-shifting state marker TF, and then feeding back a live broadcast channel group content identifier CG and the time-shifting state marker TF to the client;
if the time shift time point TR is the offset value TC of the time shift point relative to the current live time, directly jumping to SA 04;
SA03, after receiving the feedback of the time shifting server, the client sends a request to the time shifting server, the request carries a live channel group content identifier CG and a time shifting state flag TF;
SA04, after receiving a request of a live broadcast channel group content identifier CG and a time shift state tag TF or a live broadcast channel group content identifier CG and a time shift point offset value TC relative to the current live broadcast time carried by a client, a time shift server generates a group index file to return to the client, wherein the group index file comprises an index file URL corresponding to each path of live broadcast in the live broadcast group, and the URL comprises a live broadcast content identifier CH and a time shift state tag TF or a live broadcast content identifier CH and an offset value TC of the time shift point relative to the current live broadcast time;
SA05, after receiving the group index file, the client obtains the index file URL corresponding to each path of live broadcast contained therein;
SA06, the client judges the URL of the index file corresponding to each path of live broadcast, if the URL of the index file corresponding to each path of live broadcast contains a plurality of URLs, the URL is selected according to the self condition and a request is made;
if only one URL exists in the URL of the index file corresponding to each path of live broadcast, directly requesting the URL;
SA07, after receiving an index acquisition request containing a live content identifier CH and a time-shifting state flag TF of the client, the time-shifting server side sequentially executes the steps S400 and S500 to form an index file and returns the index file to the client;
SA08, after receiving the index file, the client obtains the specific slice sequence from the index file, and downloads and plays the actual slice file;
SA09, jump to step SA06 to maintain the time-shifting process.
In the invention, the following steps are adopted in the time shifting process to carry out fast forwarding, and the steps comprise:
SB01, when the client sends the fast forward request, the URL carries the live content mark CH, the time shifting time point TR and the playing mark PM;
wherein the time shift time point TR: only time-shifted point physical time TA or time-shifted point stream timestamp TB;
and playing the identifier PM: comprises the following steps: whether fast forward or normal play, fast forward speed;
SB02, the time-shifting server receives the client request;
SB03, the time shift server side obtains the playing identifier PM from the request URL and extracts the fast forward speed SP;
SB04, if the playing identifier PM is a request for fast forwarding and the current playing content reaches the live broadcast point, the time shift server sends a redirection request to the client, redirects to the URL played at normal speed, and ends the fast forwarding process; if the current playing content does not reach the live broadcast point, executing the step SB 05;
SB05, the time shift service end gets the time shift state mark TF from the time shift time point TR, and feeds back the TF and the fast forward speed SP to the client, including:
a, if the time shift time point TR is the time shift physical time TA, the time shift state flag TF is a tuple of the stream timestamp information of the time shift point and the current physical time information:
TF is TFA, consisting of TFA1 and TFA2, TFA ═ TFA1, TFA2, where:
TFA1=S-(T-TA)
TFA2=T
wherein T is the current physical time, and S is the current stream timestamp;
and b, if the time-shifting time point TR is a time-shifting point stream timestamp TB, the time-shifting state mark TF is a tuple of stream timestamp information of the time-shifting point and current physical time information:
TF is TFB, consisting of TFB1 and TFB2, TFB ═ TFB1, TFB2, where:
TFB1=TB
TFB2=T
wherein T is the current physical time;
SB06, after receiving the feedback of the time shift server, the client sends a new slice index file acquisition request to the time shift server;
SB07, the time-shift service terminal takes the current physical time T;
SB08, the time-shift server side obtains the time-shift state mark TF and the fast-forward speed SP from the client side request, and calculates the stream time stamp ST corresponding to the current time-shift fast-forward request:
if TF is TFA: ST-TFA 1+ (T-TFA2) SP;
if TF is TFB, then: ST-TFB 1+ (T-TFB2) SP;
SB09, the time shift server calculates the slice sequence corresponding to the current time shift request R:
executing the mapping rule of the step S12 by taking the time stamp ST as input to obtain a slice sequence;
SB10, the time shift server generates corresponding slice index file through the slice sequence, and returns the corresponding slice index file to the client;
SB11, the client side obtains the specific slice sequence from the index file and sends the access request of the actual slice file;
SB12, after the time-shift server receives the slice access request sent by the client, the returned slice only contains key frames, and does not contain other video frame type data and audio data, including:
SB121, the returned slice only contains a part of key frames, and omits another part of key frames, so as to ensure that the bandwidth occupied by the slice data sent during fast forward is not too large. The larger the fast-forward speed SP is, the higher the proportion of the ignored key frames is;
SB122 modifies the key frame timestamps in the returned slices so that the timestamp growth rate corresponds to the growth rate required for fast forward playback of the video stream.
If the timestamp of any key frame in the slice is SI, the modified timestamp SIT is calculated by:
if TF is TFA, then: SIT ═ SI-TFA1)/SP
If TF is TFB, then: SIT ═ (SI-TFB 1)/SP;
SB13, the client plays the received slice data;
SB14, the client repeatedly sends fast forward slice index file acquisition request containing live broadcast content identification CH, time shift state mark TF and fast forward speed SP to the time shift server to continuously obtain new slice sequence, download new slice file and play.
In the invention, the following specific implementation method is adopted for the HDS protocol client, and comprises the following steps:
SC01, writing an html page, wherein the html page comprises an Adobe FlashPlayer control;
and SC02, defining the time shift time length L, and designing a playing progress bar in the page. The end time of the progress bar is current physical time T, the start time is T-L, and the time interval of the progress bar is as follows: [ T-L, T ]. As the physical time T progresses, the start time and the end time of the progress bar also continue to progress.
SC03, initial access page, client sends live broadcast request without time shift parameter, and plays the current live broadcast content;
after the SC04 and the user drag the progress bar, the target time TP to which the progress bar is dragged is calculated.
Proportion of dragging target position in the whole progress bar (0-1)
TP=(T-L)+L*P;
The SC05 starts the player to send a request to the time shift server with the target time TP as the time shift parameter.
Like the following URL:
http://domainname:port/index.f4m?begintimeabs=<TP>
wherein:
domainname: time-shift server domain name
port: time shift server port
index.f4m: the requested live description file, f4m format, is the standard description file format of the HDS protocol.
begintimeass: absolute time to which a request is time shifted
The SC06 and the FlashPlayer automatically complete the subsequent operation, acquire the time-shifting content and play the time-shifting content, and the flow is the same as the flow of accessing one standard HDS live broadcast by the FlashPlayer. The following were used:
a) and receiving a 302 redirection request of the time shifting server and accessing the redirected URL. The analogy is as follows:
http://domainname:port/index.f4m?begintimeabs=<TP>&tsflag=<TF>
wherein,
and tsflag, the time shifting server generates a time shifting state mark based on the current access information of the client.
b) And receiving a real f4m file sent by the server, and extracting the URL of the bootstrap index file from the real f4m file.
UBT is the URL of the bootstrap index file, bootstrap is the standard index file of the HDS protocol.
c) The UBT is constantly refreshed and the corresponding fmp4 slice file sequence is referred from it.
d) And downloading the corresponding fmp4 slice file from the server side and playing.
The invention also provides an internet-oriented large-scale live broadcast time-shifting system based on fragment transmission, which comprises a client and a time-shifting server, wherein the client comprises:
and the client data transmission module is used for sending a time shifting request, sending a slice index file acquisition request to the time shifting server and receiving feedback of the time shifting server.
And the slice index file acquisition module is used for acquiring the slice index file.
And the slice sequence processing module is used for acquiring a specific slice sequence in the index file, downloading and playing the actual slice file, and repeatedly issuing a slice index file acquisition request so as to continuously acquire a new slice sequence, download a new slice file and play the new slice file.
The time shifting server side comprises:
a time shift data storage area for storing time shift data.
And the time shifting state mark generating module is used for obtaining the time shifting state mark from the time shifting time point after the time shifting server is connected to the client request. If the time shifting state mark TF is the time shifting time point TR, the execution slice sequence generation module is jumped, otherwise, the live broadcast content mark CH and the time shifting state mark TF are fed back to the client.
And the slice sequence generation module is used for processing the slice index file acquisition request to obtain the slice sequence of the time shift request. The time shifting server side processes the slice index file acquisition request according to the time shifting state mark TF or the offset value TC of the current live broadcast time and the current physical time or the current live broadcast stream timestamp to obtain the slice sequence of the time shifting request.
And the live slice index file generation module is used for generating a corresponding live slice index file through the slice sequence. When the protocol is an HLS protocol, according to the m3u8 file format specification, the time shift service generates a slice index file in an m3u8 format based on a preset slice time interval D, a slice sequence and stored time shift data;
when the protocol is an HDS protocol, according to the bootstrap file format specification, the time shifting service generates a bootstrap format slice index file based on a preset slice time interval D, a slice sequence and stored time shifting data.
And the time shifting server data transmission module is used for receiving a time shifting request sent by the client and sending the feedback of the time shifting server and the generated live slice index file to the client.
However, the above description is only a preferred embodiment of the present invention, as will be apparent to those skilled in the art. Naturally, the technical measures of the invention can be varied depending on the actual requirements, while still remaining within the teaching of the invention. Therefore, all equivalent changes and modifications made in accordance with the claims of the present invention should still fall within the scope of the present invention.

Claims (12)

1. An internet-oriented large-scale live broadcast time shifting method based on fragment transmission comprises the following steps:
s100, a client sends a time shifting request R to acquire a slice index file;
s200, after a time shifting service end receives a client request, a time shifting state mark TF is obtained by a time shifting time point TR, if the time shifting time point TR is the same as the time shifting state mark TF, the step S400 is skipped to, and if the time shifting time point TR is different from the time shifting state mark TF, a live broadcast content mark CH and the time shifting state mark TF are fed back to the client;
if the time shifting time point TR is the time shifting physical time TA, the time shifting state mark TF is TFA, and the TFA is a tuple of stream timestamp information of the time shifting point and current physical time information;
if the time shifting time point TR is a time shifting point stream time stamp TB, the time shifting state mark TF is TFB which is a tuple of stream time stamp information of the time shifting point and current physical time information;
if the time shifting time point TR is an offset value TC of the time shifting point relative to the current live broadcasting time, the time shifting state mark TF is TFC, and the TFC is the offset value TC of the time shifting point relative to the current live broadcasting time;
s300, after receiving the feedback of the time shifting server, the client sends a slice index file acquisition request to the time shifting server, and redefines the time shifting request R as the slice index file acquisition request;
s400, the time shifting server side processes the time shifting request R according to the time shifting state mark TF and the current physical time T or the current stream time stamp S, and calculates the stream time stamp ST corresponding to the time shifting request R, so as to obtain the slice sequence of the time shifting request R;
if the time shift status flag TF is TFA: stream timestamp ST ═ TFA1+ (T-TFA 2);
if the time shift status flag TF is TFB: stream time stamp ST ═ TFB1+ (T-TFB 2);
if the time shift status flag TF is TFC, then: stream time stamp ST ═ S-TFC;
in the formula: TFAs 1 and TFB1 are stream timestamp information of time shift points, and TFAs 2 and TFB2 are current physical time information;
s500, the time shifting server generates a corresponding live slice index file through the slice sequence and returns the live slice index file to the client;
s600, the client acquires a specific slice sequence from the index file, downloads and plays the actual slice file, and repeatedly sends a slice index file acquisition request to the time shifting server so as to continuously acquire a new slice sequence, download a new slice file and play the new slice file.
2. The internet-oriented large-scale live broadcast time shifting method based on segment transmission as claimed in claim 1, wherein in step S100, the time shifting request R sent by the client includes a live content identifier CH and a time shifting time point TR, wherein the live content identifier CH includes a channel name, a channel URL or a channel ID;
the time shift time point TR is one of a time shift point physical time TA, a time shift point streaming time stamp TB, or an offset value TC of the time shift point with respect to the current live time.
3. The internet-oriented large-scale live broadcast time-shifting method based on segment transmission according to claim 1, wherein in step S200,
if the time shifting time point TR is the time shifting physical time TA or the time shifting streaming time stamp TB, feeding back a live content identifier CH and a time shifting state tag TF to the client, and performing HTTP redirection on the client request, wherein a redirected URL comprises the live content identifier CH and the time shifting state tag TF, and the method comprises the following steps:
a, if a time shift time point TR is a time shift physical time TA, a time shift state flag TF is a tuple of stream timestamp information of the time shift point and current physical time information;
and b, if the time shift time point TR is the time shift point stream timestamp TB, the time shift state mark TF is a tuple of the stream timestamp information of the time shift point and the current physical time information.
4. The internet-oriented large-scale live broadcasting time shifting method based on segment transmission as claimed in claim 1, wherein in step S300, the request for obtaining the slice index file sent by the client includes a live content identifier CH and a time shifting status flag TF.
5. The internet-oriented large-scale live broadcast time shifting method based on segment transmission according to claim 1, wherein in step S500, the method comprises:
case a: when the protocol is an HLS protocol, according to the m3u8 file format specification, the time shift service generates a slice index file in an m3u8 format based on a preset slice time interval D, a slice sequence and stored time shift data;
case b: when the protocol is an HDS protocol, according to the bootstrap file format specification, the time shifting service generates a bootstrap format slice index file based on a preset slice time interval D, a slice sequence and stored time shifting data.
6. The internet-oriented large-scale live broadcast time shifting method based on segment transmission according to claim 1, wherein in step S600, the method further comprises: the client repeatedly sends a slice index file acquisition request to the time-shifting server, wherein the slice index file acquisition request comprises a live content identifier CH and a time-shifting state tag TF.
7. The internet-oriented large-scale live broadcast time-shifting method based on fragmented transmission according to any of claims 1 to 6, characterized in that before step S100 is implemented, the method further comprises step S10 of establishing a time-shifting data storage area in the time-shifting server, and the steps are as follows:
s11, defining the time-shifting time length as L, the time-shifting server ensures to store the audio and video data from the time stamp S-L to the current stream time stamp S, and continuously deletes the old time-shifting data and stores the new time-shifting data along with the passage of the current stream time stamp S for rolling storage;
and S12, establishing a mapping rule of the time stamp and the slice sequence for the live video data and the time-shifting video data.
8. The internet-oriented large-scale live streaming time-shifting method based on segment transmission according to claim 7, wherein in step S10, the number C of segments to be included in the preset index file is a constant, regardless of the time-shifting time length L.
9. The internet-oriented large-scale live broadcast time shifting method based on fragmented transmission according to claim 8, wherein: when the protocol is an HLS protocol, the number C of slices to be contained in the preset index file is 3< ═ C < ═ 20 in a relatively common way; when the protocol is an HDS protocol, C is a relatively common value of 5 ═ C ═ 50.
10. The internet-oriented large-scale live broadcast time shifting method based on segment transmission as claimed in claim 7, wherein when the user wants to access the adaptive bitrate live broadcast group content constituted by multiple bitrate live broadcasts for time shifting, the method comprises the following steps:
SA01, when the client sends a time shift request R, carrying a live channel group content identifier CG and a time shift time point TR of the request;
SA02, after a time-shifting service end receives a client request, analyzing a time-shifting time point TR, if the time-shifting time point TR is a time-shifting point physical time TA or a time-shifting point stream timestamp TB, selecting one channel of the live broadcast channel group for live broadcast to obtain a time-shifting state marker TF, and then feeding back a live broadcast channel group content identifier CG and the time-shifting state marker TF to the client;
if the time shift time point TR is the offset value TC of the time shift point relative to the current live time, directly jumping to SA 04;
SA03, after receiving the feedback of the time shifting server, the client sends a request to the time shifting server, the request carries a live channel group content identifier CG and a time shifting state flag TF;
SA04, the time-shifting service end generates a group index file and returns the group index file to the client after receiving a request of a live broadcast channel group content identifier CG and a time-shifting state label TF carried by the client or an offset value TC of a live broadcast channel group content identifier CG and a time-shifting point relative to the current live broadcast time;
SA05, after receiving the group index file, the client obtains the index file URL corresponding to each path of live broadcast contained therein;
SA06, the client judges the URL of the index file corresponding to each path of live broadcast, if the URL of the index file corresponding to each path of live broadcast contains a plurality of URLs, the URL is selected according to the self condition and a request is made;
if only one URL exists in the URL of the index file corresponding to each path of live broadcast, directly requesting the URL;
SA07, after receiving an index acquisition request containing a live content identifier CH and a time-shifting state flag TF of the client, the time-shifting server side sequentially executes the steps S400 and S500 to form an index file and returns the index file to the client;
SA08, after receiving the index file, the client obtains the specific slice sequence from the index file, and downloads and plays the actual slice file;
SA09, jump to step SA06 to maintain the time-shifting process.
11. The internet-oriented large-scale live broadcast time shifting method based on fragmented transmission according to claim 7, wherein the following steps are adopted in the time shifting process for fast forwarding, and the method comprises:
SB01, when the client sends the fast forward request, the URL carries the live content mark CH, the time shifting time point TR and the playing mark PM;
SB02, the time-shifting server receives the client request;
SB03, the time shift server side obtains the playing identifier PM from the request URL and extracts the fast forward speed SP;
SB04, if the playing identifier PM is a request for fast forwarding and the current playing content reaches the live broadcast point, the time shift server sends a redirection request to the client, redirects to the URL played at normal speed, and ends the fast forwarding process; if the current playing content does not reach the live broadcast point, executing the step SB 05;
SB05, the time shifting service end obtains a time shifting state mark TF from a time shifting time point TR, and feeds back the TF and the fast forwarding speed SP to the client;
SB06, after receiving the feedback of the time shift server, the client sends a new slice index file acquisition request to the time shift server;
SB07, the time-shift service terminal takes the current physical time T;
SB08, the time-shifting server side obtains the time-shifting state mark TF and the fast-forwarding speed SP from the client side request, and then calculates the stream time stamp ST corresponding to the current slice index file obtaining request;
SB09, the time shift server calculates the slice sequence corresponding to the slice index file acquisition request:
performing the mapping rule of step S12 with the stream time stamp ST as input to obtain a slice sequence;
SB10, the time shift server generates corresponding slice index file through the slice sequence, and returns the corresponding slice index file to the client;
SB11, the client side obtains the specific slice sequence from the slice index file and sends the access request of the actual slice file;
SB12, after the time-shift server receives the access request of the slice file from the client, the returned slice only contains key frames, and does not contain other video frame type data and audio data, including:
SB121, the returned slice only contains a part of key frames, and omits another part of key frames, so as to ensure that the bandwidth occupied by the slice data sent during fast forward is not too large;
SB122, modifying the key frame time stamps in the returned slices to enable the increasing speed of the time stamps to be consistent with the increasing speed required by the fast-forward playing of the video stream;
SB13, the client plays the received slice data;
SB14, the client repeatedly sends the slice index file acquisition request containing the live content identification CH, the time shift state flag TF and the fast forward speed SP to the time shift server to continuously acquire the new slice sequence, download the new slice file and play.
12. A system for implementing the method of claim 7, comprising a client and a time-shifting server, wherein the client comprises:
the client data transmission module is used for sending a time shifting request, sending a slice index file acquisition request to a time shifting server and receiving feedback of the time shifting server;
the slice index file acquisition module is used for acquiring a slice index file;
the slice sequence processing module is used for acquiring a specific slice sequence in the slice index file, downloading and playing the actual slice file, and repeatedly issuing a slice index file acquisition request so as to continuously acquire a new slice sequence, download a new slice file and play the new slice file;
the time shifting server side comprises:
a time shift data storage area for storing time shift data;
the time shifting state mark generating module is used for obtaining a time shifting state mark from a time shifting time point after the time shifting server is connected to the client request;
the slicing sequence generating module is used for processing the slicing index file acquisition request to obtain the slicing sequence of the time shifting request;
the live slice index file generation module is used for generating a corresponding live slice index file through a slice sequence;
and the time shifting server data transmission module is used for receiving a time shifting request sent by the client and sending the feedback of the time shifting server and the generated live slice index file to the client.
CN201310559939.7A 2013-11-12 2013-11-12 Internet-oriented large-scale live time shifting method and system based on fragment transmission Active CN103581693B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310559939.7A CN103581693B (en) 2013-11-12 2013-11-12 Internet-oriented large-scale live time shifting method and system based on fragment transmission

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310559939.7A CN103581693B (en) 2013-11-12 2013-11-12 Internet-oriented large-scale live time shifting method and system based on fragment transmission

Publications (2)

Publication Number Publication Date
CN103581693A CN103581693A (en) 2014-02-12
CN103581693B true CN103581693B (en) 2017-02-15

Family

ID=50052466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310559939.7A Active CN103581693B (en) 2013-11-12 2013-11-12 Internet-oriented large-scale live time shifting method and system based on fragment transmission

Country Status (1)

Country Link
CN (1) CN103581693B (en)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104185037A (en) * 2014-02-28 2014-12-03 无锡天脉聚源传媒科技有限公司 Method, device and system for transmitting and playing video
CN103916679B (en) * 2014-03-10 2018-04-10 百度在线网络技术(北京)有限公司 A kind of method, equipment and system for being used to provide video information
CN104978338A (en) * 2014-04-08 2015-10-14 宋惟忠 Framework for extracting uniform resource locators (URLs) from video format based web spider, indexing and mapping with key frame
CN105187950B (en) * 2014-05-29 2018-09-25 中国移动通信集团内蒙古有限公司 A kind of method, apparatus and system that video file plays
CN103986976B (en) * 2014-06-05 2017-05-24 北京赛维安讯科技发展有限公司 Content delivery network (CDN)-based transmission system and method
CN104168516A (en) * 2014-09-01 2014-11-26 上海下一代广播电视网应用实验室有限公司 System and method for achieving program replay on stream media live broadcast platform
CN104581435A (en) * 2015-01-20 2015-04-29 赵树乔 Naming method of data stream
CN106162377B (en) * 2015-04-08 2019-06-21 中国移动通信集团公司 Conversion method, device, BM-SC and the terminal of adaptive stream media technology
CN106612462B (en) * 2015-10-26 2021-02-19 中兴通讯股份有限公司 Fast forward and fast backward processing method and terminal
CN106686471A (en) * 2015-11-06 2017-05-17 中国电信股份有限公司 Method and client for realizing network video live broadcast
CN105872797A (en) * 2015-11-27 2016-08-17 乐视云计算有限公司 Live broadcast time shifting method and device
CN105657443A (en) * 2015-12-30 2016-06-08 深圳市云宙多媒体技术有限公司 Live broadcast and time shifting playing method and system
CN106572358B (en) * 2016-11-11 2022-03-08 青岛海信宽带多媒体技术有限公司 Live broadcast time shifting method and client
CN107707937A (en) * 2017-09-22 2018-02-16 烽火通信科技股份有限公司 Time shift optimization method and system based on HLS protocol
CN107864382B (en) * 2017-10-24 2018-10-09 广东省南方数字电视无线传播有限公司 Video broadcasting method, device and system
CN107846618A (en) * 2017-11-10 2018-03-27 山东浪潮商用系统有限公司 A kind of one-way set-top box and its service implementation method
CN110300339B (en) * 2018-03-22 2022-03-29 贵州白山云科技股份有限公司 Live multimedia playback method, device and system
CN108260024B (en) * 2018-04-12 2020-06-12 腾讯科技(深圳)有限公司 Live broadcast data processing method and device, computer equipment and storage medium
CN110166831B (en) * 2018-07-23 2021-10-15 腾讯科技(深圳)有限公司 Method, device, storage medium and computer equipment for playing back streaming media file
CN109756757B (en) * 2019-03-21 2021-07-13 北京数码视讯软件技术发展有限公司 Live broadcast data processing method and device, live broadcast method and device and live broadcast server
CN110536145B (en) * 2019-08-15 2022-03-25 咪咕视讯科技有限公司 Live broadcast time shifting processing method, electronic equipment and storage medium
CN110809179A (en) * 2019-10-30 2020-02-18 烽火通信科技股份有限公司 Method and system for switching live broadcast time-shifting time axis under HLS protocol
CN111031354B (en) * 2019-12-09 2020-12-01 腾讯科技(深圳)有限公司 Multimedia playing method, device and storage medium
CN111246314B (en) * 2020-01-14 2021-12-17 深圳市华曦达科技股份有限公司 Time-shifting live broadcast method, server device, client device and live broadcast system
CN113271475B (en) * 2021-04-12 2023-01-10 北京奇艺世纪科技有限公司 Data processing method, system, electronic equipment and storage medium
WO2022266975A1 (en) * 2021-06-24 2022-12-29 浙江邦盛科技有限公司 Method for millisecond-level accurate slicing of time series stream data
CN113613032A (en) * 2021-08-04 2021-11-05 杭州梦视网络科技有限公司 Video transmission method of embedded remote teaching experiment system

Also Published As

Publication number Publication date
CN103581693A (en) 2014-02-12

Similar Documents

Publication Publication Date Title
CN103581693B (en) Internet-oriented large-scale live time shifting method and system based on fragment transmission
US10419513B2 (en) Methods and apparatus for reducing latency shift in switching between distinct content streams
CA3018723C (en) Playback synchronization among adaptive bitrate streaming clients
US10880620B2 (en) Playback synchronization across playback devices
EP2526671B1 (en) Methods and arrangements for http media stream distribution
CN105282627B (en) A kind of method and server obtaining live video slice
KR101575740B1 (en) Switch signaling methods providing improved switching between representations for adaptive http streaming
CN101795297B (en) Live broadcasting time shifting system based on P2P (peer-to-peer) technology and method thereof
US9882937B2 (en) Communication receiver
WO2015035942A1 (en) Method for playing back live video and device
CN110198494B (en) Video playing method, device, equipment and storage medium
CN110677736B (en) HLS on-demand fast playing method and system
CN102594773B (en) A kind of method and system for realizing data acquisition
CN111193686B (en) Media stream delivery method and server
KR20150010589A (en) Apparatus and method for providing contents
CN117939197A (en) Playing acceleration method and device, electronic equipment and storage medium
CN117979090A (en) Media data processing method and device, electronic equipment and storage medium
KR20110117567A (en) Method and apparatus for generating and playing stream in content transmission system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant