WO2018103696A1 - Media file playback method, server, client, and system - Google Patents

Media file playback method, server, client, and system Download PDF

Info

Publication number
WO2018103696A1
WO2018103696A1 PCT/CN2017/115013 CN2017115013W WO2018103696A1 WO 2018103696 A1 WO2018103696 A1 WO 2018103696A1 CN 2017115013 W CN2017115013 W CN 2017115013W WO 2018103696 A1 WO2018103696 A1 WO 2018103696A1
Authority
WO
WIPO (PCT)
Prior art keywords
multicast
time
server
client
live broadcast
Prior art date
Application number
PCT/CN2017/115013
Other languages
French (fr)
Chinese (zh)
Inventor
陈洲
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2018103696A1 publication Critical patent/WO2018103696A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Definitions

  • the present invention relates to the field of multimedia terminal audio and video playback technologies, and in particular, to a media file playing method, a server, a client and a system, and a computer storage medium.
  • OTT Over The Top
  • HLS Apple's dynamic rate adaptation
  • the source can be encoded into multiple code rates, and various source rate sources are cut into several.
  • a slice of about 10 seconds, the same sequence of slices in different code rates corresponds to the same video content, and the m3u8 index file is generated to describe the information of each slice in detail, which is used to guide the player how to play the file slice; this mechanism can The piece-by-segment download play mode is implemented.
  • the code rate is updated in time to download a corresponding slice of the new optimal code rate, and the best play effect is achieved from the play fluency and picture clarity.
  • the HLS technology itself has a large live broadcast delay, because the HLS encoder output is in units of slices, so the live broadcast delay is at least 1 fragment, which is very bad for the user live broadcast experience, and the HLS live broadcast unicast mode is also limited.
  • IP Internet Protocol
  • STB Digital Video Converter
  • HLS unicast live broadcast + HLS time-shift playback This method can implement live/time-shift broadcast services, but the live broadcast delay is large, and the HLS live broadcast unicast method has requirements for concurrent service volume and backbone network bandwidth, and also limits IP video. Large-scale development of business.
  • the embodiments of the present application are expected to provide a method for playing a media file, a server, a client, a system, and a computer storage medium, so as to achieve a small live broadcast delay and reduce requirements for concurrent service volume and backbone network bandwidth. Can achieve large-scale development of IP video services.
  • the application provides a method for playing a media file, and the method includes:
  • the providing a multicast live broadcast service according to the multicast TS code stream includes:
  • the providing the time shift service according to the HLS slice includes:
  • the application also provides a method for playing a media file, the method comprising:
  • the live broadcast service is performed according to the multicast live broadcast service provided by the server, and the time shift broadcast is performed according to the time shift service provided by the server during time shift play;
  • the multicast live broadcast service is provided by the server according to the multicast transport stream TS code stream; and the multicast TS code stream is obtained by the server end encoding the media file.
  • the live broadcast service is performed according to the multicast live broadcast service provided by the server, including:
  • the method further includes:
  • the multicast stream currently played in the live broadcast is recorded locally, and the recording duration is at least one HLS fragment duration.
  • time-shifting when time-shifting is played, time-shifting is performed according to the time-shift service provided by the server, including:
  • the PTS is recorded from the local recorded multicast stream to perform time shift playback.
  • the application also provides a server, and the server includes:
  • the encoding module is configured to encode the media file to obtain a multicast transport stream TS code stream and a dynamic rate adaptive HLS slice;
  • the service module is configured to provide a multicast live broadcast service according to the multicast TS code stream, and provide a time shift service according to the HLS slice.
  • the service module is specifically configured to receive a request for acquiring a channel list information sent by the client, send the channel list information to the client, and receive a multicast request sent by the client to join the corresponding channel;
  • the broadcast transmission form sends the multicast code stream of the corresponding channel in the multicast TS code stream to the client.
  • the service module is configured to receive a time-shifted slice download request corresponding to the user time sent by the client, and send the time-shifted slice corresponding to the user time to the client;
  • the specific configuration is: receiving a timestamp TS fragment download request corresponding to the user time sent by the client; and sending the TS fragment corresponding to the user time to the client.
  • the application also provides a client, the client includes:
  • the processing module is configured to perform live broadcast according to the multicast live broadcast service provided by the server during live broadcast, and time shift play according to the time shift service provided by the server during time shift play;
  • the multicast live broadcast service is provided by the server according to the multicast transport stream TS code stream; and the multicast TS code stream is obtained by the server end encoding the media file.
  • the processing module is specifically configured to: send a request for acquiring a channel list information to the server; receive channel list information sent by the server; send a multicast request to the server to join the corresponding channel; and receive the The server uses the multicast code stream of the corresponding channel in the multicast TS code stream sent by the multicast transmission form; and performs live broadcast according to the multicast code stream of the corresponding channel in the multicast TS code stream.
  • the client further includes:
  • the recording module is configured to locally record the multicast stream currently played by the live broadcast, and the recording duration is at least one HLS fragment duration.
  • the processing module is further configured to determine whether the difference between the user time and the live broadcast time is within a difference between the start time of the locally recorded multicast stream and the latest video display timestamp PTS time;
  • the time-shifted play is performed from the local recorded multicast stream, and the time-shifted HLS slice download request corresponding to the user time is sent to the server; and the service is received.
  • the time-shifted HLS fragment corresponding to the user time sent by the terminal; the locally recorded multicast code stream and the time-shifted HLS slice corresponding to the user time are PTS spliced; after the splicing is completed, the multicast channel is disconnected, and the continuation is continued. Download time-shifted HLS segments corresponding to other user times;
  • the present application further provides a system for playing a media file, the system comprising the server according to any one of the preceding aspects, and the client according to any one of the preceding aspects.
  • the embodiment of the invention further provides a computer storage medium, wherein computer executable instructions are stored, and the computer executable instructions configure a method for playing the media file.
  • the media file is encoded by the server, and the multicast TS stream and the HLS slice are obtained; according to the multicast
  • the TS code stream provides a multicast live broadcast service, and provides a time shift service according to the HLS slice; the live broadcast service and the time shift service are provided by the fusion form of the multicast live broadcast mode + HLS time shift mode, and the advantage is that the live broadcast The delay is small, and the multicast live broadcast mode reduces the requirements for concurrent service volume and backbone network bandwidth, and can realize large-scale development of IP video services.
  • Embodiment 1 is a flowchart of Embodiment 1 of a method for playing a media file according to the present application
  • Embodiment 2 is a flowchart of Embodiment 2 of a method for playing a media file according to the present application
  • Embodiment 3 is a flowchart of Embodiment 3 of a method for playing a media file according to the present application
  • FIG. 4 is a scene 1 of a third embodiment of a method for playing a media file according to the present application.
  • FIG. 5 is a second diagram of a second embodiment of a method for playing a media file according to the present application.
  • FIG. 6 is a flowchart of live broadcast of the third embodiment of the method for playing a media file according to the present application.
  • FIG. 7 is a flowchart of time-shift playback of Embodiment 3 of a method for playing a media file according to the present application;
  • FIG. 8 is a schematic structural diagram of an embodiment of a server in the present application.
  • FIG. 9 is a schematic structural diagram of an embodiment of a client of the present application.
  • FIG. 10 is a schematic structural diagram of an embodiment of a playback system of a media file according to the present application.
  • the playing method of the media file provided by the application is applied in a playing system of a media file, and the system is composed of a server and a client, and the multicast stream is transmitted by combining the multicast live broadcast and the HLS time shift (Transport Stream, TS)
  • the code stream is provided to the client multicast live broadcast service through the multicast service, and the HLS slice is recorded and provided to the client time shift service.
  • Embodiment 1 is a flowchart of Embodiment 1 of a method for playing a media file according to the present application.
  • a method for playing a media file provided by the present application is applied to a server, and the server may exist separately or may be distributed in content.
  • the processing method of the server may include the following steps:
  • Step 101 Perform encoding processing on the media file to obtain a multicast transport stream TS code stream and a dynamic rate adaptive HLS slice.
  • the server encodes the media file to obtain a multicast TS stream and an HLS fragment.
  • the server can encode the media file at the same time, and obtain the multicast TS stream and the HLS fragment, and also the media file.
  • the encoding process is separately performed to obtain the multicast TS code stream and the HLS slice respectively; in the present application, the media file may be a streaming media file recorded by the video recorder.
  • Step 102 Provide a multicast live broadcast service according to the multicast TS code stream, and provide a time shift service according to the HLS slice.
  • the server provides a multicast live broadcast service to the client according to the multicast TS code stream obtained after the encoding process, and provides a time shift service for the client according to the HLS fragment obtained after the encoding process.
  • the method for playing a media file provided by the embodiment of the present application, the media file is encoded by the server to obtain a multicast TS code stream and an HLS slice; and the multicast live broadcast service is provided according to the multicast TS code stream, according to the The HLS segment provides time-shifting services.
  • the live broadcast service and the time-shift service are provided in the form of multicast live broadcast + HLS time shift.
  • FIG. 2 is a flowchart of a second embodiment of a method for playing a media file according to the present application.
  • the method for playing a media file provided by the application is applied to a client, and the client may be a set-top box or may exist in audio and video.
  • the processing method of the client may include the following steps:
  • Step 201 Determine a current play mode.
  • the client determines the play mode set by the current user. If it is determined that the current play mode is live broadcast, step 202 is performed; if it is determined that the current play mode is time-shifted play, step 203 is performed;
  • Step 202 Perform live broadcast according to the multicast live broadcast service provided by the server.
  • the client performs live broadcast according to the multicast live broadcast service provided by the server, where the multicast live broadcast service is provided by the server according to the multicast TS code stream; the multicast TS The code stream is obtained by the server to encode the media file.
  • Step 203 Perform time shift playback according to the time shift service provided by the server.
  • the client plays time-shifted, it plays time-shifted according to the time-shift service provided by the server.
  • the client determines that the live broadcast service is performed according to the multicast live broadcast service provided by the server during the live broadcast; the client determines that the time shift is provided according to the server during the time shift play.
  • the service is time-shifted.
  • the server provides live and time-shift services for the client in the form of multicast live broadcast + HLS time-shifting.
  • FIG. 3 is a flowchart of a third embodiment of a method for playing a media file according to the present application.
  • the method for playing a media file provided by the application is applied to a server and a client, and the server may be an encoder.
  • the terminal can be an STB; wherein, FIG. 4 is a scenario 1 of the third embodiment of the method for playing a media file of the present application.
  • the server can directly provide a playback service to the client;
  • FIG. 5 is a media file of the present application.
  • the playing method of the third embodiment of the second embodiment as shown in FIG.
  • the server can provide a playback service to the client through the CDN network (CDN central node and/or CDN edge node); in the embodiment of the present application, only Two scenarios are used to illustrate the environment in which the server is located. In the specific implementation process, it can be set according to actual requirements. It is not limited here. However, regardless of the scenario of the server, its interaction method with the client. The steps can be as follows:
  • Step 301 The server performs encoding processing on the media file to obtain a multicast TS code stream and an HLS fragment.
  • the server can encode the media files simultaneously or separately, and obtain the multicast TS stream and the HLS fragment separately.
  • Step 302 The server provides a multicast live broadcast service according to the multicast TS code stream, and provides a time shift service according to the HLS slice.
  • the server provides a multicast live broadcast service according to the multicast TS code stream, and provides a time shift service according to the HLS slice. Among them, which broadcast service needs to be selected is determined by the client.
  • Step 303 The client determines to determine the current play mode.
  • the client determines the play mode set by the current user. If it is determined that the current play mode is live broadcast, step 304 is performed; if it is determined that the current play mode is time shift play, step 305 is performed;
  • Step 304 During the live broadcast, the live broadcast service is performed according to the multicast live broadcast service provided by the server.
  • FIG. 6 is a flowchart of live broadcast of the third embodiment of the method for playing a media file according to the present application. As shown in FIG. 6 , the following steps may be included for specific description.
  • Step 3041 The client sends a request for obtaining a channel list information to the server.
  • the server After the client determines that the broadcast mode is the live broadcast mode, the server sends a request for obtaining the channel list information to the server, and the server receives the request for obtaining the channel list information sent by the client.
  • Step 3042 The server sends the channel list information to the client.
  • the server sends the channel list information to the client, and the client receives the channel list information sent by the server.
  • Step 3043 The client sends a multicast request to the server to join the corresponding channel.
  • the client After the user determines to view a certain channel according to the channel list information, the client sends a multicast request to the server to join the corresponding channel, and the server receives the multicast request sent by the client to join the corresponding channel.
  • Step 3044 The server uses the multicast transmission form to send the multicast code stream of the corresponding channel in the multicast TS code stream to the client.
  • the server sends the multicast code stream of the corresponding channel in the multicast TS code stream to the client according to the multicast request sent by the client to join the corresponding channel, and the client receives the server to use the multicast transmission form.
  • the multicast code stream of the corresponding channel in the transmitted multicast TS code stream is not limited to the multicast code stream.
  • Step 3045 The client performs live broadcast according to the multicast code stream of the corresponding channel in the multicast TS code stream.
  • the client performs live broadcast according to the multicast code stream of the corresponding channel in the multicast TS stream for the user to use.
  • step 3046 the client locally records the multicast stream currently played in the live broadcast, and the recording duration is at least one HLS fragment duration.
  • the client also locally records the multicast stream currently played in the live broadcast, the recording duration is at least one HLS fragmentation duration; and the live broadcast time shifting is smoothly performed by the local live cache technology. Keep the picture seamlessly connected while paused for playback, which can improve the user experience.
  • Step 305 Perform time-shift playback according to the time-shift service provided by the server during time-shift playback.
  • FIG. 7 is a flowchart of time-shift playback of the third embodiment of the method for playing a media file according to the present application. As shown in FIG. 7, the following steps may be included for step 305 to specifically describe the method.
  • Step 3051 The client determines whether the difference between the user time and the live broadcast time is within a difference between the start time of the local recorded multicast stream and the latest video display timestamp PTS time.
  • the client determines the time-shifted play mode, it is determined whether the difference between the user time and the live broadcast time is within a difference between the start time of the local recorded multicast stream and the latest video display time stamp (PTS) time.
  • PTS video display time stamp
  • Step 3052 The client records the multicast code stream from the local to establish a PTS for time shift playback.
  • the client records the multicast stream from the local recording and makes a time shift playback for the user to use.
  • Step 3053 The client sends a time-shifted HLS slice download request corresponding to the user time to the server.
  • the client sends a time-shifted HLS slice download request corresponding to the user time to the server at the same time as step 3052, and the server receives the time-shifted HLS slice download request corresponding to the user time sent by the client.
  • Step 3054 The server sends a time-shifted HLS fragment corresponding to the user time to the client.
  • the server sends a time-shifted HLS fragment corresponding to the user time to the client, and the client receives the time-shifted HLS fragment corresponding to the user time sent by the server.
  • Step 3055 The client performs local PTS splicing by recording the multicast code stream and the time-shifted HLS slice corresponding to the user time.
  • the client performs local PTS stitching on the locally recorded multicast stream and the time-shifted HLS slice corresponding to the user time.
  • Step 3056 After the client is spliced, the multicast channel is disconnected, and the time-shifted HLS fragments corresponding to other user times are continuously downloaded.
  • the multicast channel is disconnected, and the time-shifted HLS fragments corresponding to other user times are continuously downloaded.
  • Step 3057 The client sends a timestamp TS fragment download request corresponding to the user time to the server.
  • the client sends a timestamp TS fragment download request corresponding to the user time to the server, and the server receives the timestamp TS fragment download request corresponding to the user time sent by the client.
  • Step 3058 The server sends the TS fragment corresponding to the user time to the client.
  • the server sends a TS fragment corresponding to the user time to the client according to the TS fragment download request corresponding to the user time, and the client receives the TS fragment corresponding to the user time sent by the server.
  • step 3059 the client performs time-shift playback according to the TS fragment corresponding to the user time.
  • the client performs time-shift playback according to the TS fragment where the user time corresponds, for the user to use.
  • the client splices and generates a new URL according to the user input absolute time to request the TS fragment m3u8 index file in all time-shift windows from the server, and the server returns the m3u8 file in the client-time-shiftable window.
  • the client parses the m3u8 file, and searches for the corresponding TS fragment according to the current request duration and the live broadcast time deviation, and requests to download the TS fragment file for playback.
  • the server performs encoding processing on the media file to obtain a multicast TS code stream and an HLS fragment; the server provides a multicast live broadcast service according to the multicast TS code stream, according to the HLS fragmentation. A time shift service is provided; the client determines the current play mode.
  • the client sends a request for obtaining the channel list information to the server, and the server sends the channel list information to the client, and the client sends a multicast request to the server to join the corresponding channel, and the server uses the multicast transmission form to the client.
  • the terminal sends the multicast code stream of the corresponding channel in the multicast TS code stream, and the client broadcasts the live stream according to the multicast code stream of the corresponding channel in the multicast TS code stream, and the client locally broadcasts the current live broadcast.
  • the code stream is recorded, and the recording duration is at least one HLS slice duration.
  • the client determines whether the difference between the user time and the live broadcast time is within the difference between the start time of the local recorded multicast stream and the latest PTS time; if not within the difference range, the client sends the difference to the server.
  • the user time corresponds to the timestamp TS fragment download request, and the server sends the TS fragment corresponding to the user time to the client.
  • the client performs time shift playback according to the TS fragment where the user time corresponds; if it is within the difference range
  • the client broadcasts the multicast stream from the local PTS to perform time-shift playback, and the client sends a time-shifted HLS slice download request corresponding to the user time to the server, and the server sends the time-shifted HLS corresponding to the user time to the client.
  • the fragmentation the client records the local recorded multicast stream and the time-shifted HLS fragment corresponding to the user time for PTS splicing. After the client is spliced, the multicast channel is disconnected, and the time-shifted HLS fragments corresponding to other user times are continuously downloaded.
  • the server uses the server to encode the media file into the multicast TS code stream and the HLS sliced two-way data simultaneously or separately, and provides the client with the multicast TS code stream according to the multicast TS code stream.
  • the live broadcast service is recorded, and the HLS segment is recorded as a time-shift service provided by the client; the advantage of this method is that the live broadcast delay is small, and the live broadcast time shifting is smoothly switched through the local live cache technology, and the screen is seamlessly maintained in the case of paused playback.
  • the convergence improves the user experience, and the multicast live broadcast mode reduces the requirements for concurrent service volume and backbone network bandwidth, enabling large-scale development of IP video services.
  • the server 04 provided by the embodiment of the present application includes: an encoding module 41 and a service module 42;
  • the encoding module 41 is configured to perform encoding processing on the media file to obtain a multicast transport stream TS code stream and a dynamic rate adaptive HLS slice;
  • the service module 42 is configured to provide a multicast live broadcast service according to the multicast TS code stream, and provide a time shift service according to the HLS slice.
  • the service module 42 is configured to receive a request for obtaining a channel list information sent by the client, send the channel list information to the client, and receive a multicast request sent by the client to join the corresponding channel; And transmitting, by the multicast transmission form, the multicast code stream of the corresponding channel in the multicast TS code stream to the client.
  • the service module 42 is configured to receive a time-shifted slice download request corresponding to the user time sent by the client, and send the time-shifted slice corresponding to the user time to the client;
  • the specific configuration is: receiving a timestamp TS fragment download request corresponding to the user time sent by the client; and sending the TS fragment corresponding to the user time to the client.
  • the server in this embodiment may be configured to perform the technical solution of the foregoing method embodiment, and the implementation principle and the technical effect are similar, and details are not described herein again.
  • the encoding module 41 and the service module 42 may each be a central processing unit (CPU), a microprocessor (Microprocessor Unit, MPU), and a digital signal processor (Digital Signal) located in the server.
  • CPU central processing unit
  • MPU microprocessor Unit
  • DSP Digital Signal processor
  • FPGA Field Programmable Gate Array
  • FIG. 9 is a schematic structural diagram of an embodiment of a client according to the present application.
  • the client 05 provided by the embodiment of the present application includes: a processing module 51;
  • the processing module 51 is configured to perform live broadcast according to the multicast live broadcast service provided by the server during live broadcast, and time shift play according to the time shift service provided by the server during time shift play;
  • the multicast live broadcast service is provided by the server according to the multicast transport stream TS code stream; and the multicast TS code stream is obtained by the server end encoding the media file.
  • the processing module 51 is specifically configured to send a request for acquiring a channel list information to the server, receive channel list information sent by the server, and send a multicast request to the server to join the corresponding channel; And the server uses the multicast code stream of the corresponding channel in the multicast TS code stream sent by the multicast transmission form; and performs live broadcast according to the multicast code stream of the corresponding channel in the multicast TS code stream.
  • the client further includes: a recording module 52; wherein
  • the recording module 52 is configured to locally record the multicast stream currently played by the live broadcast, where the recording duration is at least one HLS fragment duration.
  • the processing module 51 is further configured to determine whether a difference between the user time and the live broadcast time is within a difference between a local recorded multicast stream start time and a latest video display timestamp PTS time;
  • the time-shifted play is performed from the local recorded multicast stream, and the time-shifted HLS slice download request corresponding to the user time is sent to the server; and the service is received.
  • the time-shifted HLS fragment corresponding to the user time sent by the terminal; the locally recorded multicast code stream and the time-shifted HLS slice corresponding to the user time are PTS spliced; after the splicing is completed, the multicast channel is disconnected, and the continuation is continued. Download time-shifted HLS segments corresponding to other user times;
  • the client of this embodiment may be used to implement the technical solution of the foregoing method embodiment, and the implementation principle and the technical effect are similar, and details are not described herein again.
  • the processing module 51 and the recording module 52 can be configured by a central processing unit (CPU), a microprocessor (Micro Processor Unit (MPU), and a digital signal processor (Digital Signal) located in the client.
  • CPU central processing unit
  • MPU Micro Processor Unit
  • DSP Digital Signal processor
  • FPGA Field Programmable Gate Array
  • FIG. 10 is a schematic structural diagram of an embodiment of a playback system for a media file according to the present application.
  • the playback system 06 of the media file provided by the embodiment of the present application includes: a server 61 and a client 62;
  • the playing system 06 of the media file is composed of a server 61 and a client 62;
  • the server 61 adopts a server as described in any of the above embodiments;
  • the client 62 employs a client as described in any of the above embodiments.
  • Embodiments of the present invention also provide a computer storage medium in which computer executable instructions are stored, the computer executable instructions configuring a method of playing a media file.
  • the computer executable instruction configuration performs the following steps:
  • the computer executable instruction configuration also performs the following steps:
  • the computer executable instruction configuration also performs the following steps:
  • the computer executable instruction configuration performs the following steps:
  • the live broadcast service is performed according to the multicast live broadcast service provided by the server, and the time shift broadcast is performed according to the time shift service provided by the server during time shift play;
  • the multicast live broadcast service is provided by the server according to the multicast transport stream TS code stream; and the multicast TS code stream is obtained by the server end encoding the media file.
  • the computer executable instruction configuration also performs the following steps:
  • the computer executable instruction configuration also performs the following steps:
  • the multicast stream currently played in the live broadcast is recorded locally, and the recording duration is at least one HLS fragment duration.
  • the computer executable instruction configuration also performs the following steps:
  • the PTS is recorded from the local recorded multicast stream to perform time shift playback.
  • embodiments of the present application can be provided as a method, system, or computer program product. Accordingly, the application can take the form of a hardware embodiment, a software embodiment, or an embodiment in combination with software and hardware. Moreover, the application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) including computer usable program code.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.
  • the media file is encoded by the server to obtain a multicast TS code stream and an HLS slice; the multicast live broadcast service is provided according to the multicast TS code stream, and the time shift is provided according to the HLS slice.
  • the service provides the live broadcast service and the time shift service for the client in the form of a multicast live broadcast + HLS time shift.

Abstract

Disclosed is a media file playback method, comprising: encoding a media file to produce a multicast transport stream (TS) code stream and dynamic bitrate self-adaptive HLS fragments; providing a multicast live streaming service on the basis of the multicast TS code stream, and providing a time-shift service on the basis of the HLS fragments. Also disclosed are a server, a client, a media file playback system, and a computer storage medium.

Description

媒体文件的播放方法、服务端、客户端及系统Media file playing method, server, client and system
相关申请的交叉引用Cross-reference to related applications
本申请基于申请号为201611113325.6、申请日为2016年12月07日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。The present application is filed on the basis of the Chinese Patent Application Serial No.
技术领域Technical field
本申请涉及多媒体终端音视频播放技术领域,尤其涉及一种媒体文件的播放方法、服务端、客户端及系统、计算机存储介质。The present invention relates to the field of multimedia terminal audio and video playback technologies, and in particular, to a media file playing method, a server, a client and a system, and a computer storage medium.
背景技术Background technique
随着移动互联网的迅猛发展,过顶(Over The Top,OTT)技术的推广以及各种智能终端设备的出现,通过手机、掌上电脑、机顶盒等视频终端在线收看视频,成为人们越来越普遍的休闲娱乐方式;苹果公司提出的动态码率自适应(HTTP Live Streaming,HLS)协议是目前比较成熟的OTT技术规范,片源可以编码成多个码率,将各种码率片源切割成若干个10秒左右的分片,不同码率中相同序号的分片对应相同的视频内容,同时生成m3u8索引文件详细描述每个分片的信息,用于指导播放器如何播放文件切片;这个机制可以实现逐分片下载播放模式,当一旦检测到网络发生变动,及时调整码率下载新的最优码率的对应分片,从播放流畅度和画面清晰度方面达到最佳的播放效果。With the rapid development of the mobile Internet, the promotion of Over The Top (OTT) technology and the emergence of various intelligent terminal devices, it is becoming more and more popular to watch videos online through video terminals such as mobile phones, PDAs, and set-top boxes. Entertainment and entertainment; Apple's dynamic rate adaptation (HLS) protocol is a relatively mature OTT technical specification. The source can be encoded into multiple code rates, and various source rate sources are cut into several. A slice of about 10 seconds, the same sequence of slices in different code rates corresponds to the same video content, and the m3u8 index file is generated to describe the information of each slice in detail, which is used to guide the player how to play the file slice; this mechanism can The piece-by-segment download play mode is implemented. When the network is detected to change, the code rate is updated in time to download a corresponding slice of the new optimal code rate, and the best play effect is achieved from the play fluency and picture clarity.
但HLS技术本身存在直播延时大的问题,因为HLS编码器输出是以分片为单位的,所以直播延时至少1个分片以上,对用户直播体验很差,HLS直播单播方式也限制了网络协议(Internet Protocol,IP)视频业务大规模发 展;目前随着数字视频变换盒(Set Top Box,STB)的技术日益成熟,业界一般采用如下播放机制:However, the HLS technology itself has a large live broadcast delay, because the HLS encoder output is in units of slices, so the live broadcast delay is at least 1 fragment, which is very bad for the user live broadcast experience, and the HLS live broadcast unicast mode is also limited. The Internet Protocol (IP) video service has been developed on a large scale. With the technology of Digital Video Converter (STB) becoming more and more mature, the industry generally adopts the following playback mechanism:
HLS单播直播+HLS时移播放,这种方式可以实现直播/时移播放业务,但直播延时大,且HLS直播单播方式对并发服务量和骨干网带宽有要求,也限制了IP视频业务大规模发展。HLS unicast live broadcast + HLS time-shift playback. This method can implement live/time-shift broadcast services, but the live broadcast delay is large, and the HLS live broadcast unicast method has requirements for concurrent service volume and backbone network bandwidth, and also limits IP video. Large-scale development of business.
发明内容Summary of the invention
有鉴于此,本申请实施例期望提供一种媒体文件的播放方法、服务端、客户端及系统、计算机存储介质,以实现直播延时小,并且对并发服务量和骨干网带宽降低了要求,能够实现IP视频业务大规模发展。In view of this, the embodiments of the present application are expected to provide a method for playing a media file, a server, a client, a system, and a computer storage medium, so as to achieve a small live broadcast delay and reduce requirements for concurrent service volume and backbone network bandwidth. Can achieve large-scale development of IP video services.
为达到上述目的,本申请的技术方案是这样实现的:In order to achieve the above object, the technical solution of the present application is implemented as follows:
本申请提供一种媒体文件的播放方法,所述方法包括:The application provides a method for playing a media file, and the method includes:
将媒体文件进行编码处理,得到组播传输流TS码流和动态码率自适应HLS分片;Encoding the media file to obtain a multicast transport stream TS code stream and a dynamic rate adaptive HLS slice;
根据所述组播TS码流提供组播直播服务,根据所述HLS分片提供时移服务。Providing a multicast live broadcast service according to the multicast TS code stream, and providing a time shift service according to the HLS slice.
上述方案中,所述根据所述组播TS码流提供组播直播服务,包括:In the above solution, the providing a multicast live broadcast service according to the multicast TS code stream includes:
接收客户端发送的获取频道列表信息请求;Receiving a request for obtaining a channel list information sent by the client;
向所述客户端发送频道列表信息;Sending channel list information to the client;
接收所述客户端发送的加入对应频道的组播请求;Receiving a multicast request sent by the client to join a corresponding channel;
利用组播传输形式向所述客户端发送所述组播TS码流中的对应频道的组播码流。And transmitting, by the multicast transmission form, the multicast code stream of the corresponding channel in the multicast TS code stream to the client.
上述方案中,所述根据所述HLS分片提供时移服务,包括:In the foregoing solution, the providing the time shift service according to the HLS slice includes:
接收客户端发送的用户时间对应的时移分片下载请求;向所述客户端发送用户时间对应的时移分片;Receiving a time-shifted slice download request corresponding to the user time sent by the client; and sending the time-shifted slice corresponding to the user time to the client;
或,接收客户端发送的用户时间对应所在的时间戳TS分片下载请求; 向所述客户端发送用户时间对应所在的TS分片。Or, receiving a timestamp TS fragment download request corresponding to the user time sent by the client; and sending the TS fragment corresponding to the user time to the client.
本申请还提供一种媒体文件的播放方法,所述方法包括:The application also provides a method for playing a media file, the method comprising:
在直播播放时,根据服务端提供的组播直播服务进行直播播放,在时移播放时,根据所述服务端提供的时移服务进行时移播放;During the live broadcast, the live broadcast service is performed according to the multicast live broadcast service provided by the server, and the time shift broadcast is performed according to the time shift service provided by the server during time shift play;
其中,所述组播直播服务是由所述服务端根据组播传输流TS码流提供的;所述组播TS码流是由所述服务端将媒体文件进行编码处理后得到的。The multicast live broadcast service is provided by the server according to the multicast transport stream TS code stream; and the multicast TS code stream is obtained by the server end encoding the media file.
上述方案中,所述在直播播放时,根据服务端提供的组播直播服务进行直播播放,包括:In the foregoing solution, during the live broadcast, the live broadcast service is performed according to the multicast live broadcast service provided by the server, including:
向服务端发送获取频道列表信息请求;Sending a request for obtaining a channel list information to the server;
接收所述服务端发送的频道列表信息;Receiving channel list information sent by the server;
向所述服务端发送加入对应频道的组播请求;Sending a multicast request to the server to join the corresponding channel;
接收所述服务端利用组播传输形式发送的所述组播TS码流中的对应频道的组播码流;Receiving, by the server, a multicast code stream of a corresponding channel in the multicast TS code stream that is sent by using a multicast transmission format;
根据所述组播TS码流中的对应频道的组播码流进行直播播放。Performing live broadcast according to the multicast code stream of the corresponding channel in the multicast TS code stream.
上述方案中,在所述根据所述组播TS码流中的对应频道的组播码流进行直播播放之后,所述方法还包括:In the foregoing solution, after the performing live broadcast according to the multicast code stream of the corresponding channel in the multicast TS code stream, the method further includes:
在本地对当前直播播放的组播码流进行录制,所述录制时长为至少1个HLS分片时长。The multicast stream currently played in the live broadcast is recorded locally, and the recording duration is at least one HLS fragment duration.
上述方案中,所述在时移播放时,根据所述服务端提供的时移服务进行时移播放,包括:In the above solution, when time-shifting is played, time-shifting is performed according to the time-shift service provided by the server, including:
判断用户时间和直播时间的差值是否在本地录制组播码流开始时间和最新视频显示时间戳PTS时间的差值范围内;Determining whether the difference between the user time and the live broadcast time is within a difference between the start time of the local recorded multicast stream and the latest video display timestamp PTS time;
若在所述差值范围内,则从本地录制组播码流制定PTS处进行时移播放,If the difference is within the range, the PTS is recorded from the local recorded multicast stream to perform time shift playback.
同时向所述服务端发送所述用户时间对应的时移HLS分片下载请求; 接收所述服务端发送的所述用户时间对应的时移HLS分片;将所述本地录制组播码流和所述用户时间对应的时移HLS分片进行PTS拼接;拼接完毕后断开组播通道,继续下载其他用户时间对应的时移HLS分片;Simultaneously transmitting a time-shifted HLS slice download request corresponding to the user time to the server; receiving a time-shifted HLS slice corresponding to the user time sent by the server; and recording the locally recorded multicast code stream and The time-shifted HLS segment corresponding to the user time performs PTS splicing; after the splicing is completed, the multicast channel is disconnected, and the time-shifted HLS segment corresponding to other user times is continuously downloaded;
若不在所述差值范围内,则向所述服务端发送所述用户时间对应所在的时间戳TS分片下载请求;接收所述服务端发送的所述用户时间对应所在的TS分片;根据所述用户时间对应所在的TS分片进行时移播放。If not in the range of the difference, sending a timestamp TS fragment download request corresponding to the user time to the server, and receiving a TS fragment corresponding to the user time sent by the server; The user time corresponds to the TS fragment in which the user is time-shifted.
本申请还提供一种服务端,所述服务端包括:The application also provides a server, and the server includes:
编码模块,配置为将媒体文件进行编码处理,得到组播传输流TS码流和动态码率自适应HLS分片;The encoding module is configured to encode the media file to obtain a multicast transport stream TS code stream and a dynamic rate adaptive HLS slice;
服务模块,配置为根据所述组播TS码流提供组播直播服务,根据所述HLS分片提供时移服务。The service module is configured to provide a multicast live broadcast service according to the multicast TS code stream, and provide a time shift service according to the HLS slice.
上述方案中,所述服务模块,具体配置为接收客户端发送的获取频道列表信息请求;向所述客户端发送频道列表信息;接收所述客户端发送的加入对应频道的组播请求;利用组播传输形式向所述客户端发送所述组播TS码流中的对应频道的组播码流。In the above solution, the service module is specifically configured to receive a request for acquiring a channel list information sent by the client, send the channel list information to the client, and receive a multicast request sent by the client to join the corresponding channel; The broadcast transmission form sends the multicast code stream of the corresponding channel in the multicast TS code stream to the client.
上述方案中,所述服务模块,具体配置为接收客户端发送的用户时间对应的时移分片下载请求;向所述客户端发送用户时间对应的时移分片;In the above solution, the service module is configured to receive a time-shifted slice download request corresponding to the user time sent by the client, and send the time-shifted slice corresponding to the user time to the client;
或具体配置为,接收客户端发送的用户时间对应所在的时间戳TS分片下载请求;向所述客户端发送用户时间对应所在的TS分片。Or the specific configuration is: receiving a timestamp TS fragment download request corresponding to the user time sent by the client; and sending the TS fragment corresponding to the user time to the client.
本申请还提供一种客户端,所述客户端包括:The application also provides a client, the client includes:
处理模块,配置为在直播播放时,根据服务端提供的组播直播服务进行直播播放,在时移播放时,根据所述服务端提供的时移服务进行时移播放;The processing module is configured to perform live broadcast according to the multicast live broadcast service provided by the server during live broadcast, and time shift play according to the time shift service provided by the server during time shift play;
其中,所述组播直播服务是由所述服务端根据组播传输流TS码流提供的;所述组播TS码流是由所述服务端将媒体文件进行编码处理后得到的。The multicast live broadcast service is provided by the server according to the multicast transport stream TS code stream; and the multicast TS code stream is obtained by the server end encoding the media file.
上述方案中,所述处理模块,具体配置为向服务端发送获取频道列表信息请求;接收所述服务端发送的频道列表信息;向所述服务端发送加入对应频道的组播请求;接收所述服务端利用组播传输形式发送的所述组播TS码流中的对应频道的组播码流;根据所述组播TS码流中的对应频道的组播码流进行直播播放。In the foregoing solution, the processing module is specifically configured to: send a request for acquiring a channel list information to the server; receive channel list information sent by the server; send a multicast request to the server to join the corresponding channel; and receive the The server uses the multicast code stream of the corresponding channel in the multicast TS code stream sent by the multicast transmission form; and performs live broadcast according to the multicast code stream of the corresponding channel in the multicast TS code stream.
上述方案中,所述客户端还包括:In the above solution, the client further includes:
录制模块,配置为在本地对当前直播播放的组播码流进行录制,所述录制时长为至少1个HLS分片时长。The recording module is configured to locally record the multicast stream currently played by the live broadcast, and the recording duration is at least one HLS fragment duration.
上述方案中,所述处理模块,还具体配置为判断用户时间和直播时间的差值是否在本地录制组播码流开始时间和最新视频显示时间戳PTS时间的差值范围内;In the above solution, the processing module is further configured to determine whether the difference between the user time and the live broadcast time is within a difference between the start time of the locally recorded multicast stream and the latest video display timestamp PTS time;
若在所述差值范围内,则从本地录制组播码流制定PTS处进行时移播放,同时向所述服务端发送所述用户时间对应的时移HLS分片下载请求;接收所述服务端发送的所述用户时间对应的时移HLS分片;将所述本地录制组播码流和所述用户时间对应的时移HLS分片进行PTS拼接;拼接完毕后断开组播通道,继续下载其他用户时间对应的时移HLS分片;If the difference is within the range, the time-shifted play is performed from the local recorded multicast stream, and the time-shifted HLS slice download request corresponding to the user time is sent to the server; and the service is received. The time-shifted HLS fragment corresponding to the user time sent by the terminal; the locally recorded multicast code stream and the time-shifted HLS slice corresponding to the user time are PTS spliced; after the splicing is completed, the multicast channel is disconnected, and the continuation is continued. Download time-shifted HLS segments corresponding to other user times;
若不在所述差值范围内,则向所述服务端发送所述用户时间对应所在的时间戳TS分片下载请求;接收所述服务端发送的所述用户时间对应所在的TS分片;根据所述用户时间对应所在的TS分片进行时移播放。If not in the range of the difference, sending a timestamp TS fragment download request corresponding to the user time to the server, and receiving a TS fragment corresponding to the user time sent by the server; The user time corresponds to the TS fragment in which the user is time-shifted.
本申请还提供一种媒体文件的播放系统,所述系统由如上述方案任一项所述的服务端及如上述方案任一项所述的客户端组成。The present application further provides a system for playing a media file, the system comprising the server according to any one of the preceding aspects, and the client according to any one of the preceding aspects.
本发明实施例还提供一种计算机存储介质,其中存储有计算机可执行指令,该计算机可执行指令配置执行上述媒体文件的播放方法。The embodiment of the invention further provides a computer storage medium, wherein computer executable instructions are stored, and the computer executable instructions configure a method for playing the media file.
本申请实施例提供的媒体文件的播放方法、服务端、客户端及系统、计算机存储介质,通过服务端将媒体文件进行编码处理,得到组播TS码流 和HLS分片;根据所述组播TS码流提供组播直播服务,根据所述HLS分片提供时移服务;以组播直播方式+HLS时移方式的融合形式为客户端提供直播服务和时移服务,这种方式优点在于直播延时小,并且组播直播方式对并发服务量和骨干网带宽降低了要求,能够实现IP视频业务大规模发展。The method for playing a media file, the server, the client, the system, and the computer storage medium provided by the embodiment of the present application, the media file is encoded by the server, and the multicast TS stream and the HLS slice are obtained; according to the multicast The TS code stream provides a multicast live broadcast service, and provides a time shift service according to the HLS slice; the live broadcast service and the time shift service are provided by the fusion form of the multicast live broadcast mode + HLS time shift mode, and the advantage is that the live broadcast The delay is small, and the multicast live broadcast mode reduces the requirements for concurrent service volume and backbone network bandwidth, and can realize large-scale development of IP video services.
附图说明DRAWINGS
图1为本申请媒体文件的播放方法实施例一的流程图;1 is a flowchart of Embodiment 1 of a method for playing a media file according to the present application;
图2为本申请媒体文件的播放方法实施例二的流程图;2 is a flowchart of Embodiment 2 of a method for playing a media file according to the present application;
图3为本申请媒体文件的播放方法实施例三的流程图;3 is a flowchart of Embodiment 3 of a method for playing a media file according to the present application;
图4为本申请媒体文件的播放方法实施例三的场景图一;4 is a scene 1 of a third embodiment of a method for playing a media file according to the present application;
图5为本申请媒体文件的播放方法实施例三的场景图二;FIG. 5 is a second diagram of a second embodiment of a method for playing a media file according to the present application;
图6为本申请媒体文件的播放方法实施例三的直播播放的流程图;6 is a flowchart of live broadcast of the third embodiment of the method for playing a media file according to the present application;
图7为本申请媒体文件的播放方法实施例三的时移播放的流程图;7 is a flowchart of time-shift playback of Embodiment 3 of a method for playing a media file according to the present application;
图8为本申请服务端的实施例的结构示意图;8 is a schematic structural diagram of an embodiment of a server in the present application;
图9为本申请客户端的实施例的结构示意图;9 is a schematic structural diagram of an embodiment of a client of the present application;
图10为本申请媒体文件的播放系统实施例的结构示意图。FIG. 10 is a schematic structural diagram of an embodiment of a playback system of a media file according to the present application.
具体实施方式detailed description
本申请提供的媒体文件的播放方法应用在媒体文件的播放系统中,该系统由服务端和客户端组成,通过将组播直播和HLS时移进行融合,将组播传输流(Transport Stream,TS)码流通过组播服务提供给客户端组播直播服务,将HLS分片进行录制提供给客户端时移服务。The playing method of the media file provided by the application is applied in a playing system of a media file, and the system is composed of a server and a client, and the multicast stream is transmitted by combining the multicast live broadcast and the HLS time shift (Transport Stream, TS) The code stream is provided to the client multicast live broadcast service through the multicast service, and the HLS slice is recorded and provided to the client time shift service.
具体的,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。The technical solutions in the embodiments of the present application are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present application.
图1为本申请媒体文件的播放方法实施例一的流程图,如图1所示,本申请提供的媒体文件的播放方法应用在服务端,该服务端可以单独存在, 也可以存在于内容分发网络(Content Delivery Network,CDN)中(例如存在于CDN中心节点、CDN边缘节点);该服务端的处理方法可以包括如下步骤:1 is a flowchart of Embodiment 1 of a method for playing a media file according to the present application. As shown in FIG. 1 , a method for playing a media file provided by the present application is applied to a server, and the server may exist separately or may be distributed in content. In the Content Delivery Network (CDN) (for example, in a CDN central node, a CDN edge node); the processing method of the server may include the following steps:
步骤101、将媒体文件进行编码处理,得到组播传输流TS码流和动态码率自适应HLS分片。Step 101: Perform encoding processing on the media file to obtain a multicast transport stream TS code stream and a dynamic rate adaptive HLS slice.
服务端将媒体文件进行编码处理,得到组播TS码流和HLS分片;其中,服务端可以将媒体文件同时进行编码处理,同时得到组播TS码流和HLS分片,也可以将媒体文件分别进行编码处理,分别得到组播TS码流和HLS分片;在本申请中,媒体文件可以为录像机录制的流媒体文件。The server encodes the media file to obtain a multicast TS stream and an HLS fragment. The server can encode the media file at the same time, and obtain the multicast TS stream and the HLS fragment, and also the media file. The encoding process is separately performed to obtain the multicast TS code stream and the HLS slice respectively; in the present application, the media file may be a streaming media file recorded by the video recorder.
步骤102、根据所述组播TS码流提供组播直播服务,根据所述HLS分片提供时移服务。Step 102: Provide a multicast live broadcast service according to the multicast TS code stream, and provide a time shift service according to the HLS slice.
服务端根据编码处理后得到的组播TS码流为客户端提供组播直播服务,根据编码处理后得到的HLS分片为客户端提供时移服务。The server provides a multicast live broadcast service to the client according to the multicast TS code stream obtained after the encoding process, and provides a time shift service for the client according to the HLS fragment obtained after the encoding process.
本申请实施例提供的媒体文件的播放方法,通过服务端将媒体文件进行编码处理,得到组播TS码流和HLS分片;根据所述组播TS码流提供组播直播服务,根据所述HLS分片提供时移服务;以组播直播方式+HLS时移方式的融合形式为客户端提供直播服务和时移服务,这种方式优点在于直播延时小,并且组播直播方式对并发服务量和骨干网带宽降低了要求,能够实现IP视频业务大规模发展。The method for playing a media file provided by the embodiment of the present application, the media file is encoded by the server to obtain a multicast TS code stream and an HLS slice; and the multicast live broadcast service is provided according to the multicast TS code stream, according to the The HLS segment provides time-shifting services. The live broadcast service and the time-shift service are provided in the form of multicast live broadcast + HLS time shift. The advantage of this method is that the live broadcast delay is small, and the multicast live broadcast mode is concurrent. The amount of bandwidth and backbone network bandwidth has been reduced, enabling large-scale development of IP video services.
图2为本申请媒体文件的播放方法实施例二的流程图,如图2所示,本申请提供的媒体文件的播放方法应用在客户端,该客户端可以为机顶盒,也可以存在于音视频播放终端中;该客户端的处理方法可以包括如下步骤:2 is a flowchart of a second embodiment of a method for playing a media file according to the present application. As shown in FIG. 2, the method for playing a media file provided by the application is applied to a client, and the client may be a set-top box or may exist in audio and video. In the playback terminal; the processing method of the client may include the following steps:
步骤201、判断当前播放方式。Step 201: Determine a current play mode.
客户端判断当前用户设置的播放方式,若判断确定当前播放方式为直播播放,则执行步骤202;若判断确定当前播放方式为时移播放,则执行步 骤203;The client determines the play mode set by the current user. If it is determined that the current play mode is live broadcast, step 202 is performed; if it is determined that the current play mode is time-shifted play, step 203 is performed;
步骤202、根据服务端提供的组播直播服务进行直播播放。Step 202: Perform live broadcast according to the multicast live broadcast service provided by the server.
客户端在直播播放时,根据服务端提供的组播直播服务进行直播播放;其中,其中,所述组播直播服务是由所述服务端根据组播TS码流提供的;所述组播TS码流是由所述服务端将媒体文件进行编码处理后得到的。During the live broadcast, the client performs live broadcast according to the multicast live broadcast service provided by the server, where the multicast live broadcast service is provided by the server according to the multicast TS code stream; the multicast TS The code stream is obtained by the server to encode the media file.
步骤203、根据服务端提供的时移服务进行时移播放。Step 203: Perform time shift playback according to the time shift service provided by the server.
客户端在时移播放时,根据服务端提供的时移服务进行时移播放。When the client plays time-shifted, it plays time-shifted according to the time-shift service provided by the server.
本申请实施例提供的媒体文件的播放方法,客户端确定在直播播放时,根据服务端提供的组播直播服务进行直播播放;客户端确定在在时移播放时,根据服务端提供的时移服务进行时移播放;服务端以组播直播方式+HLS时移方式的融合形式为客户端提供直播服务和时移服务,这种方式优点在于直播延时小,并且组播直播方式对并发服务量和骨干网带宽降低了要求,能够实现IP视频业务大规模发展。In the method for playing a media file provided by the embodiment of the present application, the client determines that the live broadcast service is performed according to the multicast live broadcast service provided by the server during the live broadcast; the client determines that the time shift is provided according to the server during the time shift play. The service is time-shifted. The server provides live and time-shift services for the client in the form of multicast live broadcast + HLS time-shifting. The advantage of this method is that the live broadcast delay is small, and the multicast live broadcast mode is concurrent. The amount of bandwidth and backbone network bandwidth has been reduced, enabling large-scale development of IP video services.
图3为本申请媒体文件的播放方法实施例三的流程图,如图3所示,本申请提供的媒体文件的播放方法应用在服务端与客户端,该服务端可以为编码器,该客户端可以为STB;其中,图4为本申请媒体文件的播放方法实施例三的场景图一,如图4所示,该服务端可以直接给客户端提供播放服务;图5为本申请媒体文件的播放方法实施例三的场景图二,如图5所示,该服务端可以通过CDN网络(CDN中心节点和/或CDN边缘节点)给客户端提供播放服务;在本申请实施例中仅以两种场景来举例说明服务端所处的环境,在具体实施过程中可以根据实际需求进行设置,在此不加以限定,但是,无论服务端处于何种场景,其与客户端之间的交互方法步骤可以按照如下所示:3 is a flowchart of a third embodiment of a method for playing a media file according to the present application. As shown in FIG. 3, the method for playing a media file provided by the application is applied to a server and a client, and the server may be an encoder. The terminal can be an STB; wherein, FIG. 4 is a scenario 1 of the third embodiment of the method for playing a media file of the present application. As shown in FIG. 4, the server can directly provide a playback service to the client; FIG. 5 is a media file of the present application. The playing method of the third embodiment of the second embodiment, as shown in FIG. 5, the server can provide a playback service to the client through the CDN network (CDN central node and/or CDN edge node); in the embodiment of the present application, only Two scenarios are used to illustrate the environment in which the server is located. In the specific implementation process, it can be set according to actual requirements. It is not limited here. However, regardless of the scenario of the server, its interaction method with the client. The steps can be as follows:
步骤301、服务端将媒体文件进行编码处理,得到组播TS码流和HLS分片。Step 301: The server performs encoding processing on the media file to obtain a multicast TS code stream and an HLS fragment.
服务端可以将媒体文件同时或分别进行编码处理,同时或分别得到组播TS码流和HLS分片。The server can encode the media files simultaneously or separately, and obtain the multicast TS stream and the HLS fragment separately.
步骤302、服务端根据所述组播TS码流提供组播直播服务,根据所述HLS分片提供时移服务。Step 302: The server provides a multicast live broadcast service according to the multicast TS code stream, and provides a time shift service according to the HLS slice.
服务端根据组播TS码流提供组播直播服务,根据HLS分片提供时移服务;其中,需要选择哪一种播放服务是由客户端来决定的。The server provides a multicast live broadcast service according to the multicast TS code stream, and provides a time shift service according to the HLS slice. Among them, which broadcast service needs to be selected is determined by the client.
步骤303、客户端判断确定当前播放方式。Step 303: The client determines to determine the current play mode.
客户端判断当前用户设置的播放模式,若判断确定当前播放方式为直播播放,则执行步骤304;若判断确定当前播放方式为时移播放,则执行步骤305;The client determines the play mode set by the current user. If it is determined that the current play mode is live broadcast, step 304 is performed; if it is determined that the current play mode is time shift play, step 305 is performed;
步骤304、在直播播放时,根据服务端提供的组播直播服务进行直播播放。Step 304: During the live broadcast, the live broadcast service is performed according to the multicast live broadcast service provided by the server.
具体的,图6为本申请媒体文件的播放方法实施例三的直播播放的流程图,如图6所示,针对步骤304可以包括以下步骤来进行具体说明。Specifically, FIG. 6 is a flowchart of live broadcast of the third embodiment of the method for playing a media file according to the present application. As shown in FIG. 6 , the following steps may be included for specific description.
步骤3041、客户端向服务端发送获取频道列表信息请求。Step 3041: The client sends a request for obtaining a channel list information to the server.
客户端确定为直播播放方式后,向服务端发送获取频道列表信息请求,服务端接收客户端发送的获取频道列表信息请求。After the client determines that the broadcast mode is the live broadcast mode, the server sends a request for obtaining the channel list information to the server, and the server receives the request for obtaining the channel list information sent by the client.
步骤3042、服务端向客户端发送频道列表信息。Step 3042: The server sends the channel list information to the client.
服务端向客户端发送频道列表信息,客户端接收服务端发送的频道列表信息。The server sends the channel list information to the client, and the client receives the channel list information sent by the server.
步骤3043、客户端向服务端发送加入对应频道的组播请求。Step 3043: The client sends a multicast request to the server to join the corresponding channel.
用户根据频道列表信息确定出观看某个频道后,客户端向服务端发送加入对应频道的组播请求,服务端接收客户端发送的加入对应频道的组播请求。After the user determines to view a certain channel according to the channel list information, the client sends a multicast request to the server to join the corresponding channel, and the server receives the multicast request sent by the client to join the corresponding channel.
步骤3044、服务端利用组播传输形式向客户端发送组播TS码流中的 对应频道的组播码流。Step 3044: The server uses the multicast transmission form to send the multicast code stream of the corresponding channel in the multicast TS code stream to the client.
服务端根据客户端发送来的加入对应频道的组播请求,利用组播传输形式向客户端发送组播TS码流中的对应频道的组播码流,客户端接收服务端利用组播传输形式发送的组播TS码流中的对应频道的组播码流。The server sends the multicast code stream of the corresponding channel in the multicast TS code stream to the client according to the multicast request sent by the client to join the corresponding channel, and the client receives the server to use the multicast transmission form. The multicast code stream of the corresponding channel in the transmitted multicast TS code stream.
步骤3045、客户端根据组播TS码流中的对应频道的组播码流进行直播播放。Step 3045: The client performs live broadcast according to the multicast code stream of the corresponding channel in the multicast TS code stream.
客户端根据组播TS码流中的对应频道的组播码流进行直播播放,供用户使用。The client performs live broadcast according to the multicast code stream of the corresponding channel in the multicast TS stream for the user to use.
步骤3046、客户端在本地对当前直播播放的组播码流进行录制,所述录制时长为至少1个HLS分片时长。In step 3046, the client locally records the multicast stream currently played in the live broadcast, and the recording duration is at least one HLS fragment duration.
在进行步骤3045的同时,客户端还会在本地对当前直播播放的组播码流进行录制,该录制时长为至少1个HLS分片时长;通过本地直播缓存技术实现直播时移平滑切换,在暂停转播放情况下保持画面无缝衔接,能够提高用户体验。At the same time as step 3045, the client also locally records the multicast stream currently played in the live broadcast, the recording duration is at least one HLS fragmentation duration; and the live broadcast time shifting is smoothly performed by the local live cache technology. Keep the picture seamlessly connected while paused for playback, which can improve the user experience.
步骤305、在时移播放时,根据服务端提供的时移服务进行时移播放。Step 305: Perform time-shift playback according to the time-shift service provided by the server during time-shift playback.
具体的,图7为本申请媒体文件的播放方法实施例三的时移播放的流程图,如图7所示,针对步骤305可以包括以下步骤来进行具体说明。Specifically, FIG. 7 is a flowchart of time-shift playback of the third embodiment of the method for playing a media file according to the present application. As shown in FIG. 7, the following steps may be included for step 305 to specifically describe the method.
步骤3051、客户端判断用户时间和直播时间的差值是否在本地录制组播码流开始时间和最新视频显示时间戳PTS时间的差值范围内。Step 3051: The client determines whether the difference between the user time and the live broadcast time is within a difference between the start time of the local recorded multicast stream and the latest video display timestamp PTS time.
客户端确定为时移播放方式后,判断用户时间和直播时间的差值是否在本地录制组播码流开始时间和最新视频显示时间戳(Presentation Time Stamp,PTS)时间的差值范围内,若在差值范围内,则执行步骤3502至3506;若不在差值范围内,则执行步骤3507至3509。After the client determines the time-shifted play mode, it is determined whether the difference between the user time and the live broadcast time is within a difference between the start time of the local recorded multicast stream and the latest video display time stamp (PTS) time. In the difference range, steps 3502 to 3506 are performed; if not in the difference range, steps 3507 to 3509 are performed.
步骤3052、客户端从本地录制组播码流制定PTS处进行时移播放。Step 3052: The client records the multicast code stream from the local to establish a PTS for time shift playback.
客户端从本地录制组播码流制定PTS处进行时移播放,供用户使用。The client records the multicast stream from the local recording and makes a time shift playback for the user to use.
步骤3053、客户端向服务端发送用户时间对应的时移HLS分片下载请求。Step 3053: The client sends a time-shifted HLS slice download request corresponding to the user time to the server.
客户端在执行步骤3052的同时,向服务端发送用户时间对应的时移HLS分片下载请求,服务端接收客户端发送的用户时间对应的时移HLS分片下载请求。The client sends a time-shifted HLS slice download request corresponding to the user time to the server at the same time as step 3052, and the server receives the time-shifted HLS slice download request corresponding to the user time sent by the client.
步骤3054、服务端向客户端发送用户时间对应的时移HLS分片。Step 3054: The server sends a time-shifted HLS fragment corresponding to the user time to the client.
服务端向客户端发送用户时间对应的时移HLS分片,客户端接收服务端发送的用户时间对应的时移HLS分片。The server sends a time-shifted HLS fragment corresponding to the user time to the client, and the client receives the time-shifted HLS fragment corresponding to the user time sent by the server.
步骤3055、客户端将本地录制组播码流和用户时间对应的时移HLS分片进行PTS拼接。Step 3055: The client performs local PTS splicing by recording the multicast code stream and the time-shifted HLS slice corresponding to the user time.
客户端将本地录制组播码流和用户时间对应的时移HLS分片进行PTS拼接The client performs local PTS stitching on the locally recorded multicast stream and the time-shifted HLS slice corresponding to the user time.
步骤3056、客户端拼接完毕后断开组播通道,继续下载其他用户时间对应的时移HLS分片。Step 3056: After the client is spliced, the multicast channel is disconnected, and the time-shifted HLS fragments corresponding to other user times are continuously downloaded.
客户端拼接完毕后断开组播通道,继续下载其他用户时间对应的时移HLS分片。After the client is spliced, the multicast channel is disconnected, and the time-shifted HLS fragments corresponding to other user times are continuously downloaded.
步骤3057、客户端向服务端发送用户时间对应所在的时间戳TS分片下载请求。Step 3057: The client sends a timestamp TS fragment download request corresponding to the user time to the server.
客户端向服务端发送用户时间对应所在的时间戳TS分片下载请求,服务端接收客户端发送的用户时间对应所在的时间戳TS分片下载请求。The client sends a timestamp TS fragment download request corresponding to the user time to the server, and the server receives the timestamp TS fragment download request corresponding to the user time sent by the client.
步骤3058、服务端向客户端发送用户时间对应所在的TS分片。Step 3058: The server sends the TS fragment corresponding to the user time to the client.
服务端根据用户时间对应所在的TS分片下载请求向客户端发送用户时间对应所在的TS分片,客户端接收服务端发送的所述用户时间对应所在的TS分片。The server sends a TS fragment corresponding to the user time to the client according to the TS fragment download request corresponding to the user time, and the client receives the TS fragment corresponding to the user time sent by the server.
步骤3059、客户端根据用户时间对应所在的TS分片进行时移播放。In step 3059, the client performs time-shift playback according to the TS fragment corresponding to the user time.
客户端根据用户时间对应所在的TS分片进行时移播放,供用户使用。The client performs time-shift playback according to the TS fragment where the user time corresponds, for the user to use.
例如,若不在差值范围内,客户端根据用户输入绝对时间来拼接生成新的URL向服务端请求所有时移窗口内TS分片m3u8索引文件,服务端返回客户端可时移窗口内m3u8文件,客户端解析m3u8文件,并根据当期请求时长和直播时间偏差查找对应TS分片,并请求下载此TS分片文件进行播放。For example, if it is not within the difference range, the client splices and generates a new URL according to the user input absolute time to request the TS fragment m3u8 index file in all time-shift windows from the server, and the server returns the m3u8 file in the client-time-shiftable window. The client parses the m3u8 file, and searches for the corresponding TS fragment according to the current request duration and the live broadcast time deviation, and requests to download the TS fragment file for playback.
本申请实施例提供的媒体文件的播放方法,服务端将媒体文件进行编码处理,得到组播TS码流和HLS分片;服务端根据组播TS码流提供组播直播服务,根据HLS分片提供时移服务;客户端判断确定当前播放方式。In the method for playing a media file provided by the embodiment of the present application, the server performs encoding processing on the media file to obtain a multicast TS code stream and an HLS fragment; the server provides a multicast live broadcast service according to the multicast TS code stream, according to the HLS fragmentation. A time shift service is provided; the client determines the current play mode.
若为直播播放,客户端向服务端发送获取频道列表信息请求,服务端向客户端发送频道列表信息,客户端向服务端发送加入对应频道的组播请求,服务端利用组播传输形式向客户端发送组播TS码流中的对应频道的组播码流,客户端根据组播TS码流中的对应频道的组播码流进行直播播放,同时客户端在本地对当前直播播放的组播码流进行录制,录制时长为至少1个HLS分片时长。If the broadcast is for live broadcast, the client sends a request for obtaining the channel list information to the server, and the server sends the channel list information to the client, and the client sends a multicast request to the server to join the corresponding channel, and the server uses the multicast transmission form to the client. The terminal sends the multicast code stream of the corresponding channel in the multicast TS code stream, and the client broadcasts the live stream according to the multicast code stream of the corresponding channel in the multicast TS code stream, and the client locally broadcasts the current live broadcast. The code stream is recorded, and the recording duration is at least one HLS slice duration.
若为时移播放,客户端判断用户时间和直播时间的差值是否在本地录制组播码流开始时间和最新PTS时间的差值范围内;若不在差值范围内,客户端向服务端发送用户时间对应所在的时间戳TS分片下载请求,服务端向客户端发送用户时间对应所在的TS分片,客户端根据用户时间对应所在的TS分片进行时移播放;若在差值范围内,客户端从本地录制组播码流制定PTS处进行时移播放,同时客户端向服务端发送用户时间对应的时移HLS分片下载请求,服务端向客户端发送用户时间对应的时移HLS分片,客户端将本地录制组播码流和用户时间对应的时移HLS分片进行PTS拼接,客户端拼接完毕后断开组播通道,继续下载其他用户时间对应的时移HLS分片。If the time shift is played, the client determines whether the difference between the user time and the live broadcast time is within the difference between the start time of the local recorded multicast stream and the latest PTS time; if not within the difference range, the client sends the difference to the server. The user time corresponds to the timestamp TS fragment download request, and the server sends the TS fragment corresponding to the user time to the client. The client performs time shift playback according to the TS fragment where the user time corresponds; if it is within the difference range The client broadcasts the multicast stream from the local PTS to perform time-shift playback, and the client sends a time-shifted HLS slice download request corresponding to the user time to the server, and the server sends the time-shifted HLS corresponding to the user time to the client. The fragmentation, the client records the local recorded multicast stream and the time-shifted HLS fragment corresponding to the user time for PTS splicing. After the client is spliced, the multicast channel is disconnected, and the time-shifted HLS fragments corresponding to other user times are continuously downloaded.
以组播直播方式+HLS时移方式的融合形式,利用服务端把媒体文件编码成组播TS码流和HLS分片两路数据同时或者分别输出,根据组播TS码流为客户端提供组播直播服务,将HLS分片进行录制为客户端提供时移服务;这种方式优点在于直播延时小,通过本地直播缓存技术实现直播时移平滑切换,在暂停转播放情况下保持画面无缝衔接,提高了用户体验,并且组播直播方式对并发服务量和骨干网带宽降低了要求,能够实现IP视频业务大规模发展。In the fusion form of multicast live broadcast mode + HLS time shift mode, the server uses the server to encode the media file into the multicast TS code stream and the HLS sliced two-way data simultaneously or separately, and provides the client with the multicast TS code stream according to the multicast TS code stream. The live broadcast service is recorded, and the HLS segment is recorded as a time-shift service provided by the client; the advantage of this method is that the live broadcast delay is small, and the live broadcast time shifting is smoothly switched through the local live cache technology, and the screen is seamlessly maintained in the case of paused playback. The convergence improves the user experience, and the multicast live broadcast mode reduces the requirements for concurrent service volume and backbone network bandwidth, enabling large-scale development of IP video services.
图8为本申请服务端的实施例的结构示意图,如图8所示,本申请实施例提供的服务端04包括:编码模块41、服务模块42;其中,8 is a schematic structural diagram of an embodiment of a server in the present application. As shown in FIG. 8, the server 04 provided by the embodiment of the present application includes: an encoding module 41 and a service module 42;
所述编码模块41,配置为将媒体文件进行编码处理,得到组播传输流TS码流和动态码率自适应HLS分片;The encoding module 41 is configured to perform encoding processing on the media file to obtain a multicast transport stream TS code stream and a dynamic rate adaptive HLS slice;
所述服务模块42,配置为根据所述组播TS码流提供组播直播服务,根据所述HLS分片提供时移服务。The service module 42 is configured to provide a multicast live broadcast service according to the multicast TS code stream, and provide a time shift service according to the HLS slice.
一实施例中,所述服务模块42,具体配置为接收客户端发送的获取频道列表信息请求;向所述客户端发送频道列表信息;接收所述客户端发送的加入对应频道的组播请求;利用组播传输形式向所述客户端发送所述组播TS码流中的对应频道的组播码流。In an embodiment, the service module 42 is configured to receive a request for obtaining a channel list information sent by the client, send the channel list information to the client, and receive a multicast request sent by the client to join the corresponding channel; And transmitting, by the multicast transmission form, the multicast code stream of the corresponding channel in the multicast TS code stream to the client.
一实施例中,所述服务模块42,具体配置为接收客户端发送的用户时间对应的时移分片下载请求;向所述客户端发送用户时间对应的时移分片;In an embodiment, the service module 42 is configured to receive a time-shifted slice download request corresponding to the user time sent by the client, and send the time-shifted slice corresponding to the user time to the client;
或具体配置为,接收客户端发送的用户时间对应所在的时间戳TS分片下载请求;向所述客户端发送用户时间对应所在的TS分片。Or the specific configuration is: receiving a timestamp TS fragment download request corresponding to the user time sent by the client; and sending the TS fragment corresponding to the user time to the client.
本实施例的服务端,可以配置为执行上述所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。The server in this embodiment may be configured to perform the technical solution of the foregoing method embodiment, and the implementation principle and the technical effect are similar, and details are not described herein again.
在实际应用中,所述编码模块41、服务模块42均可由位于服务端中的中央处理器(Central Processing Unit,CPU)、微处理器(Micro Processor Unit, MPU)、数字信号处理器(Digital Signal Processor,DSP)或现场可编程门阵列(Field Programmable Gate Array,FPGA)等实现。In practical applications, the encoding module 41 and the service module 42 may each be a central processing unit (CPU), a microprocessor (Microprocessor Unit, MPU), and a digital signal processor (Digital Signal) located in the server. Processor, DSP) or Field Programmable Gate Array (FPGA) implementation.
图9为本申请客户端的实施例的结构示意图,如图9所示,本申请实施例提供的客户端05包括:处理模块51;其中,FIG. 9 is a schematic structural diagram of an embodiment of a client according to the present application. As shown in FIG. 9, the client 05 provided by the embodiment of the present application includes: a processing module 51;
所述处理模块51,配置为在直播播放时,根据服务端提供的组播直播服务进行直播播放,在时移播放时,根据所述服务端提供的时移服务进行时移播放;The processing module 51 is configured to perform live broadcast according to the multicast live broadcast service provided by the server during live broadcast, and time shift play according to the time shift service provided by the server during time shift play;
其中,所述组播直播服务是由所述服务端根据组播传输流TS码流提供的;所述组播TS码流是由所述服务端将媒体文件进行编码处理后得到的。The multicast live broadcast service is provided by the server according to the multicast transport stream TS code stream; and the multicast TS code stream is obtained by the server end encoding the media file.
一实施例中,所述处理模块51,具体配置为向服务端发送获取频道列表信息请求;接收所述服务端发送的频道列表信息;向所述服务端发送加入对应频道的组播请求;接收所述服务端利用组播传输形式发送的所述组播TS码流中的对应频道的组播码流;根据所述组播TS码流中的对应频道的组播码流进行直播播放。In an embodiment, the processing module 51 is specifically configured to send a request for acquiring a channel list information to the server, receive channel list information sent by the server, and send a multicast request to the server to join the corresponding channel; And the server uses the multicast code stream of the corresponding channel in the multicast TS code stream sent by the multicast transmission form; and performs live broadcast according to the multicast code stream of the corresponding channel in the multicast TS code stream.
一实施例中,所述客户端还包括:录制模块52;其中,In an embodiment, the client further includes: a recording module 52; wherein
所述录制模块52,配置为在本地对当前直播播放的组播码流进行录制,所述录制时长为至少1个HLS分片时长。The recording module 52 is configured to locally record the multicast stream currently played by the live broadcast, where the recording duration is at least one HLS fragment duration.
一实施例中,所述处理模块51,还具体配置为判断用户时间和直播时间的差值是否在本地录制组播码流开始时间和最新视频显示时间戳PTS时间的差值范围内;In an embodiment, the processing module 51 is further configured to determine whether a difference between the user time and the live broadcast time is within a difference between a local recorded multicast stream start time and a latest video display timestamp PTS time;
若在所述差值范围内,则从本地录制组播码流制定PTS处进行时移播放,同时向所述服务端发送所述用户时间对应的时移HLS分片下载请求;接收所述服务端发送的所述用户时间对应的时移HLS分片;将所述本地录制组播码流和所述用户时间对应的时移HLS分片进行PTS拼接;拼接完毕后断开组播通道,继续下载其他用户时间对应的时移HLS分片;If the difference is within the range, the time-shifted play is performed from the local recorded multicast stream, and the time-shifted HLS slice download request corresponding to the user time is sent to the server; and the service is received. The time-shifted HLS fragment corresponding to the user time sent by the terminal; the locally recorded multicast code stream and the time-shifted HLS slice corresponding to the user time are PTS spliced; after the splicing is completed, the multicast channel is disconnected, and the continuation is continued. Download time-shifted HLS segments corresponding to other user times;
若不在所述差值范围内,则向所述服务端发送所述用户时间对应所在的时间戳TS分片下载请求;接收所述服务端发送的所述用户时间对应所在的TS分片;根据所述用户时间对应所在的TS分片进行时移播放。If not in the range of the difference, sending a timestamp TS fragment download request corresponding to the user time to the server, and receiving a TS fragment corresponding to the user time sent by the server; The user time corresponds to the TS fragment in which the user is time-shifted.
本实施例的客户端,可以用于执行上述所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。The client of this embodiment may be used to implement the technical solution of the foregoing method embodiment, and the implementation principle and the technical effect are similar, and details are not described herein again.
在实际应用中,所述处理模块51、录制模块52均可由位于客户端中的中央处理器(Central Processing Unit,CPU)、微处理器(Micro Processor Unit,MPU)、数字信号处理器(Digital Signal Processor,DSP)或现场可编程门阵列(Field Programmable Gate Array,FPGA)等实现。In practical applications, the processing module 51 and the recording module 52 can be configured by a central processing unit (CPU), a microprocessor (Micro Processor Unit (MPU), and a digital signal processor (Digital Signal) located in the client. Processor, DSP) or Field Programmable Gate Array (FPGA) implementation.
图10为本申请媒体文件的播放系统实施例的结构示意图,如图10所示,本申请实施例提供的媒体文件的播放系统06包括:服务端61、客户端62;其中,10 is a schematic structural diagram of an embodiment of a playback system for a media file according to the present application. As shown in FIG. 10, the playback system 06 of the media file provided by the embodiment of the present application includes: a server 61 and a client 62;
所述媒体文件的播放系统06由服务端61及客户端62所组成;The playing system 06 of the media file is composed of a server 61 and a client 62;
所述服务端61采用如上述实施例任意所述的服务端;The server 61 adopts a server as described in any of the above embodiments;
所述客户端62采用如上述实施例任意所述的客户端。The client 62 employs a client as described in any of the above embodiments.
本实施例的系统,可以用于执行上述所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。The system of the present embodiment can be used to implement the technical solution of the foregoing method embodiment, and the implementation principle and the technical effect are similar, and details are not described herein again.
本发明实施例还提供一种计算机存储介质,其中存储有计算机可执行指令,该计算机可执行指令配置执行媒体文件的播放方法。Embodiments of the present invention also provide a computer storage medium in which computer executable instructions are stored, the computer executable instructions configuring a method of playing a media file.
一、当上述计算机存储介质位于服务器侧时,该计算机可执行指令配置执行如下步骤:1. When the computer storage medium is located on the server side, the computer executable instruction configuration performs the following steps:
将媒体文件进行编码处理,得到组播传输流TS码流和动态码率自适应HLS分片;Encoding the media file to obtain a multicast transport stream TS code stream and a dynamic rate adaptive HLS slice;
根据所述组播TS码流提供组播直播服务,根据所述HLS分片提供时移服务。Providing a multicast live broadcast service according to the multicast TS code stream, and providing a time shift service according to the HLS slice.
该计算机可执行指令配置还执行如下步骤:The computer executable instruction configuration also performs the following steps:
接收客户端发送的获取频道列表信息请求;Receiving a request for obtaining a channel list information sent by the client;
向所述客户端发送频道列表信息;Sending channel list information to the client;
接收所述客户端发送的加入对应频道的组播请求;Receiving a multicast request sent by the client to join a corresponding channel;
利用组播传输形式向所述客户端发送所述组播TS码流中的对应频道的组播码流。And transmitting, by the multicast transmission form, the multicast code stream of the corresponding channel in the multicast TS code stream to the client.
该计算机可执行指令配置还执行如下步骤:The computer executable instruction configuration also performs the following steps:
接收客户端发送的用户时间对应的时移分片下载请求;向所述客户端发送用户时间对应的时移分片;Receiving a time-shifted slice download request corresponding to the user time sent by the client; and sending the time-shifted slice corresponding to the user time to the client;
或,接收客户端发送的用户时间对应所在的时间戳TS分片下载请求;向所述客户端发送用户时间对应所在的TS分片。Or, receiving a timestamp TS fragment download request corresponding to the user time sent by the client, and sending the TS fragment corresponding to the user time to the client.
二、当上述计算机存储介质位客户端侧时,该计算机可执行指令配置执行如下步骤:2. When the above computer storage medium is on the client side, the computer executable instruction configuration performs the following steps:
在直播播放时,根据服务端提供的组播直播服务进行直播播放,在时移播放时,根据所述服务端提供的时移服务进行时移播放;During the live broadcast, the live broadcast service is performed according to the multicast live broadcast service provided by the server, and the time shift broadcast is performed according to the time shift service provided by the server during time shift play;
其中,所述组播直播服务是由所述服务端根据组播传输流TS码流提供的;所述组播TS码流是由所述服务端将媒体文件进行编码处理后得到的。The multicast live broadcast service is provided by the server according to the multicast transport stream TS code stream; and the multicast TS code stream is obtained by the server end encoding the media file.
该计算机可执行指令配置还执行如下步骤:The computer executable instruction configuration also performs the following steps:
向服务端发送获取频道列表信息请求;Sending a request for obtaining a channel list information to the server;
接收所述服务端发送的频道列表信息;Receiving channel list information sent by the server;
向所述服务端发送加入对应频道的组播请求;Sending a multicast request to the server to join the corresponding channel;
接收所述服务端利用组播传输形式发送的所述组播TS码流中的对应频道的组播码流;Receiving, by the server, a multicast code stream of a corresponding channel in the multicast TS code stream that is sent by using a multicast transmission format;
根据所述组播TS码流中的对应频道的组播码流进行直播播放。Performing live broadcast according to the multicast code stream of the corresponding channel in the multicast TS code stream.
该计算机可执行指令配置还执行如下步骤:The computer executable instruction configuration also performs the following steps:
在本地对当前直播播放的组播码流进行录制,所述录制时长为至少1个HLS分片时长。The multicast stream currently played in the live broadcast is recorded locally, and the recording duration is at least one HLS fragment duration.
该计算机可执行指令配置还执行如下步骤:The computer executable instruction configuration also performs the following steps:
判断用户时间和直播时间的差值是否在本地录制组播码流开始时间和最新视频显示时间戳PTS时间的差值范围内;Determining whether the difference between the user time and the live broadcast time is within a difference between the start time of the local recorded multicast stream and the latest video display timestamp PTS time;
若在所述差值范围内,则从本地录制组播码流制定PTS处进行时移播放,If the difference is within the range, the PTS is recorded from the local recorded multicast stream to perform time shift playback.
同时向所述服务端发送所述用户时间对应的时移HLS分片下载请求;接收所述服务端发送的所述用户时间对应的时移HLS分片;将所述本地录制组播码流和所述用户时间对应的时移HLS分片进行PTS拼接;拼接完毕后断开组播通道,继续下载其他用户时间对应的时移HLS分片;Simultaneously transmitting a time-shifted HLS slice download request corresponding to the user time to the server; receiving a time-shifted HLS slice corresponding to the user time sent by the server; and recording the locally recorded multicast code stream and The time-shifted HLS segment corresponding to the user time performs PTS splicing; after the splicing is completed, the multicast channel is disconnected, and the time-shifted HLS segment corresponding to other user times is continuously downloaded;
若不在所述差值范围内,则向所述服务端发送所述用户时间对应所在的时间戳TS分片下载请求;接收所述服务端发送的所述用户时间对应所在的TS分片;根据所述用户时间对应所在的TS分片进行时移播放。If not in the range of the difference, sending a timestamp TS fragment download request corresponding to the user time to the server, and receiving a TS fragment corresponding to the user time sent by the server; The user time corresponds to the TS fragment in which the user is time-shifted.
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。Those skilled in the art will appreciate that embodiments of the present application can be provided as a method, system, or computer program product. Accordingly, the application can take the form of a hardware embodiment, a software embodiment, or an embodiment in combination with software and hardware. Moreover, the application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) including computer usable program code.
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得 通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (system), and computer program products according to embodiments of the present application. It will be understood that each flow and/or block of the flowchart illustrations and/or FIG. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing device to produce a machine for the execution of instructions for execution by a processor of a computer or other programmable data processing device. Means for implementing the functions specified in one or more of the flow or in a block or blocks of the flow chart.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。The computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device. The apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device. The instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。The above is only the preferred embodiment of the present application and is not intended to limit the scope of the present application.
工业实用性Industrial applicability
采用本申请实施例,通过服务端将媒体文件进行编码处理,得到组播TS码流和HLS分片;根据所述组播TS码流提供组播直播服务,根据所述HLS分片提供时移服务;以组播直播方式+HLS时移方式的融合形式为客户端提供直播服务和时移服务,这种方式优点在于直播延时小,并且组播直播方式对并发服务量和骨干网带宽降低了要求,能够实现IP视频业务大规模发展。In the embodiment of the present application, the media file is encoded by the server to obtain a multicast TS code stream and an HLS slice; the multicast live broadcast service is provided according to the multicast TS code stream, and the time shift is provided according to the HLS slice. The service provides the live broadcast service and the time shift service for the client in the form of a multicast live broadcast + HLS time shift. The advantage of this method is that the live broadcast delay is small, and the multicast live broadcast mode reduces the concurrent service volume and the backbone network bandwidth. The requirements can realize the large-scale development of IP video services.

Claims (16)

  1. 一种媒体文件的播放方法,所述方法包括:A method for playing a media file, the method comprising:
    将媒体文件进行编码处理,得到组播传输流TS码流和动态码率自适应HLS分片;Encoding the media file to obtain a multicast transport stream TS code stream and a dynamic rate adaptive HLS slice;
    根据所述组播TS码流提供组播直播服务,根据所述HLS分片提供时移服务。Providing a multicast live broadcast service according to the multicast TS code stream, and providing a time shift service according to the HLS slice.
  2. 根据权利要求1所述的方法,其中,所述根据所述组播TS码流提供组播直播服务,包括:The method of claim 1, wherein the providing a multicast live broadcast service according to the multicast TS code stream comprises:
    接收客户端发送的获取频道列表信息请求;Receiving a request for obtaining a channel list information sent by the client;
    向所述客户端发送频道列表信息;Sending channel list information to the client;
    接收所述客户端发送的加入对应频道的组播请求;Receiving a multicast request sent by the client to join a corresponding channel;
    利用组播传输形式向所述客户端发送所述组播TS码流中的对应频道的组播码流。And transmitting, by the multicast transmission form, the multicast code stream of the corresponding channel in the multicast TS code stream to the client.
  3. 根据权利要求1所述的方法,其中,所述根据所述HLS分片提供时移服务,包括:The method of claim 1 wherein said providing time-shifting services in accordance with said HLS slice comprises:
    接收客户端发送的用户时间对应的时移分片下载请求;向所述客户端发送用户时间对应的时移分片;Receiving a time-shifted slice download request corresponding to the user time sent by the client; and sending the time-shifted slice corresponding to the user time to the client;
    或,接收客户端发送的用户时间对应所在的时间戳TS分片下载请求;向所述客户端发送用户时间对应所在的TS分片。Or, receiving a timestamp TS fragment download request corresponding to the user time sent by the client, and sending the TS fragment corresponding to the user time to the client.
  4. 一种媒体文件的播放方法,所述方法包括:A method for playing a media file, the method comprising:
    在直播播放时,根据服务端提供的组播直播服务进行直播播放,在时移播放时,根据所述服务端提供的时移服务进行时移播放;During the live broadcast, the live broadcast service is performed according to the multicast live broadcast service provided by the server, and the time shift broadcast is performed according to the time shift service provided by the server during time shift play;
    其中,所述组播直播服务是由所述服务端根据组播传输流TS码流提供的;所述组播TS码流是由所述服务端将媒体文件进行编码处理后得到的。The multicast live broadcast service is provided by the server according to the multicast transport stream TS code stream; and the multicast TS code stream is obtained by the server end encoding the media file.
  5. 根据权利要求4所述的方法,其中,所述在直播播放时,根据服务端提供的组播直播服务进行直播播放,包括:The method of claim 4, wherein the live broadcast is performed according to the multicast live broadcast service provided by the server during the live broadcast, including:
    向服务端发送获取频道列表信息请求;Sending a request for obtaining a channel list information to the server;
    接收所述服务端发送的频道列表信息;Receiving channel list information sent by the server;
    向所述服务端发送加入对应频道的组播请求;Sending a multicast request to the server to join the corresponding channel;
    接收所述服务端利用组播传输形式发送的所述组播TS码流中的对应频道的组播码流;Receiving, by the server, a multicast code stream of a corresponding channel in the multicast TS code stream that is sent by using a multicast transmission format;
    根据所述组播TS码流中的对应频道的组播码流进行直播播放。Performing live broadcast according to the multicast code stream of the corresponding channel in the multicast TS code stream.
  6. 根据权利要求5所述的方法,其中,在所述根据所述组播TS码流中的对应频道的组播码流进行直播播放之后,所述方法还包括:The method according to claim 5, wherein after the performing live broadcast according to the multicast code stream of the corresponding channel in the multicast TS code stream, the method further includes:
    在本地对当前直播播放的组播码流进行录制,所述录制时长为至少1个HLS分片时长。The multicast stream currently played in the live broadcast is recorded locally, and the recording duration is at least one HLS fragment duration.
  7. 根据权利要求6所述的方法,其中,所述在时移播放时,根据所述服务端提供的时移服务进行时移播放,包括:The method according to claim 6, wherein the time shifting is performed according to the time shift service provided by the server during time shifting, including:
    判断用户时间和直播时间的差值是否在本地录制组播码流开始时间和最新视频显示时间戳PTS时间的差值范围内;Determining whether the difference between the user time and the live broadcast time is within a difference between the start time of the local recorded multicast stream and the latest video display timestamp PTS time;
    若在所述差值范围内,则从本地录制组播码流制定PTS处进行时移播放,If the difference is within the range, the PTS is recorded from the local recorded multicast stream to perform time shift playback.
    同时向所述服务端发送所述用户时间对应的时移HLS分片下载请求;接收所述服务端发送的所述用户时间对应的时移HLS分片;将所述本地录制组播码流和所述用户时间对应的时移HLS分片进行PTS拼接;拼接完毕后断开组播通道,继续下载其他用户时间对应的时移HLS分片;Simultaneously transmitting a time-shifted HLS slice download request corresponding to the user time to the server; receiving a time-shifted HLS slice corresponding to the user time sent by the server; and recording the locally recorded multicast code stream and The time-shifted HLS segment corresponding to the user time performs PTS splicing; after the splicing is completed, the multicast channel is disconnected, and the time-shifted HLS segment corresponding to other user times is continuously downloaded;
    若不在所述差值范围内,则向所述服务端发送所述用户时间对应所在的时间戳TS分片下载请求;接收所述服务端发送的所述用户时间对应所在的TS分片;根据所述用户时间对应所在的TS分片进行时移播放。If not in the range of the difference, sending a timestamp TS fragment download request corresponding to the user time to the server, and receiving a TS fragment corresponding to the user time sent by the server; The user time corresponds to the TS fragment in which the user is time-shifted.
  8. 一种服务端,所述服务端包括:A server, the server includes:
    编码模块,配置为将媒体文件进行编码处理,得到组播传输流TS码流和动态码率自适应HLS分片;The encoding module is configured to encode the media file to obtain a multicast transport stream TS code stream and a dynamic rate adaptive HLS slice;
    服务模块,配置为根据所述组播TS码流提供组播直播服务,根据所述HLS分片提供时移服务。The service module is configured to provide a multicast live broadcast service according to the multicast TS code stream, and provide a time shift service according to the HLS slice.
  9. 根据权利要求8所述的服务端,其中,所述服务模块,具体配置为接收客户端发送的获取频道列表信息请求;向所述客户端发送频道列表信息;接收所述客户端发送的加入对应频道的组播请求;利用组播传输形式向所述客户端发送所述组播TS码流中的对应频道的组播码流。The server according to claim 8, wherein the service module is configured to receive a request for acquiring a channel list information sent by a client, send channel list information to the client, and receive a join corresponding to the client. a multicast request of the channel; transmitting, by the multicast transmission form, the multicast code stream of the corresponding channel in the multicast TS code stream to the client.
  10. 根据权利要求8所述的服务端,其中,所述服务模块,具体配置为接收客户端发送的用户时间对应的时移分片下载请求;向所述客户端发送用户时间对应的时移分片;The server according to claim 8, wherein the service module is configured to receive a time-shifted slice download request corresponding to a user time sent by the client, and send the time-shifted slice corresponding to the user time to the client ;
    或具体配置为,接收客户端发送的用户时间对应所在的时间戳TS分片下载请求;向所述客户端发送用户时间对应所在的TS分片。Or the specific configuration is: receiving a timestamp TS fragment download request corresponding to the user time sent by the client; and sending the TS fragment corresponding to the user time to the client.
  11. 一种客户端,所述客户端包括:A client, the client comprising:
    处理模块,配置为在直播播放时,根据服务端提供的组播直播服务进行直播播放,在时移播放时,根据所述服务端提供的时移服务进行时移播放;The processing module is configured to perform live broadcast according to the multicast live broadcast service provided by the server during live broadcast, and time shift play according to the time shift service provided by the server during time shift play;
    其中,所述组播直播服务是由所述服务端根据组播传输流TS码流提供的;所述组播TS码流是由所述服务端将媒体文件进行编码处理后得到的。The multicast live broadcast service is provided by the server according to the multicast transport stream TS code stream; and the multicast TS code stream is obtained by the server end encoding the media file.
  12. 根据权利要求11所述的客户端,其中,所述处理模块,具体配置为向服务端发送获取频道列表信息请求;接收所述服务端发送的频道列表信息;向所述服务端发送加入对应频道的组播请求;接收所述服务端利用组播传输形式发送的所述组播TS码流中的对应频道的组播码流; 根据所述组播TS码流中的对应频道的组播码流进行直播播放。The client according to claim 11, wherein the processing module is configured to send a channel list information request to the server, receive channel list information sent by the server, and send the corresponding channel to the server. Multicast request; receiving a multicast code stream of a corresponding channel in the multicast TS code stream sent by the server by using a multicast transmission format; and a multicast code according to a corresponding channel in the multicast TS code stream The stream is played live.
  13. 根据权利要求12所述的客户端,其中,所述客户端还包括:The client of claim 12, wherein the client further comprises:
    录制模块,配置为在本地对当前直播播放的组播码流进行录制,所述录制时长为至少1个HLS分片时长。The recording module is configured to locally record the multicast stream currently played by the live broadcast, and the recording duration is at least one HLS fragment duration.
  14. 根据权利要求13所述的客户端,其中,所述处理模块,还具体配置为判断用户时间和直播时间的差值是否在本地录制组播码流开始时间和最新视频显示时间戳PTS时间的差值范围内;The client according to claim 13, wherein the processing module is further configured to determine whether a difference between the user time and the live broadcast time is different between a local recording multicast stream start time and a latest video display timestamp PTS time. Within the value range;
    若在所述差值范围内,则从本地录制组播码流制定PTS处进行时移播放,同时向所述服务端发送所述用户时间对应的时移HLS分片下载请求;接收所述服务端发送的所述用户时间对应的时移HLS分片;将所述本地录制组播码流和所述用户时间对应的时移HLS分片进行PTS拼接;拼接完毕后断开组播通道,继续下载其他用户时间对应的时移HLS分片;If the difference is within the range, the time-shifted play is performed from the local recorded multicast stream, and the time-shifted HLS slice download request corresponding to the user time is sent to the server; and the service is received. The time-shifted HLS fragment corresponding to the user time sent by the terminal; the locally recorded multicast code stream and the time-shifted HLS slice corresponding to the user time are PTS spliced; after the splicing is completed, the multicast channel is disconnected, and the continuation is continued. Download time-shifted HLS segments corresponding to other user times;
    若不在所述差值范围内,则向所述服务端发送所述用户时间对应所在的时间戳TS分片下载请求;接收所述服务端发送的所述用户时间对应所在的TS分片;根据所述用户时间对应所在的TS分片进行时移播放。If not in the range of the difference, sending a timestamp TS fragment download request corresponding to the user time to the server, and receiving a TS fragment corresponding to the user time sent by the server; The user time corresponds to the TS fragment in which the user is time-shifted.
  15. 一种媒体文件的播放系统,所述系统由如权利要求8至10任一项所述的服务端及如权利要求11至14任一项所述的客户端组成。A system for playing a media file, the system comprising a server according to any one of claims 8 to 10 and a client according to any one of claims 11 to 14.
  16. 一种计算机存储介质,其中存储有计算机可执行指令,该计算机可执行指令配置执行上述媒体文件的播放方法。A computer storage medium having stored therein computer executable instructions configured to perform a method of playing the media file.
PCT/CN2017/115013 2016-12-07 2017-12-07 Media file playback method, server, client, and system WO2018103696A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201611113325.6A CN106789976A (en) 2016-12-07 2016-12-07 The player method of media file, service end, client and system
CN201611113325.6 2016-12-07

Publications (1)

Publication Number Publication Date
WO2018103696A1 true WO2018103696A1 (en) 2018-06-14

Family

ID=58879308

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/115013 WO2018103696A1 (en) 2016-12-07 2017-12-07 Media file playback method, server, client, and system

Country Status (2)

Country Link
CN (1) CN106789976A (en)
WO (1) WO2018103696A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110166831A (en) * 2018-07-23 2019-08-23 腾讯科技(深圳)有限公司 Reset method, apparatus, storage medium and the computer equipment of files in stream media
CN111246314A (en) * 2020-01-14 2020-06-05 深圳市华曦达科技股份有限公司 Time-shifting live broadcast method, server device, client device and live broadcast system
CN114598909A (en) * 2022-03-30 2022-06-07 青岛海信宽带多媒体技术有限公司 Intelligent set top box and live program timeline display method

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789976A (en) * 2016-12-07 2017-05-31 中兴通讯股份有限公司 The player method of media file, service end, client and system
CN109413443B (en) * 2017-08-16 2021-03-16 中国移动通信有限公司研究院 Method and device for realizing time shifting function
CN109819266A (en) * 2017-11-20 2019-05-28 中兴通讯股份有限公司 A kind of center CDN network-building method and system
CN110300308B (en) * 2018-03-22 2021-10-08 贵州白山云科技股份有限公司 Streaming media playback method and device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101795297A (en) * 2010-03-19 2010-08-04 北京天天宽广网络科技有限公司 Live broadcasting time shifting system based on P2P (peer-to-peer) technology and method thereof
CN104080011A (en) * 2014-07-08 2014-10-01 浪潮软件集团有限公司 Method for realizing time shifting system based on HLS protocol
CN104661044A (en) * 2015-02-14 2015-05-27 广州珠江数码集团有限公司 Broadcasting and TV OTT (over the top) integration terminal and implementing method thereof
US20150288730A1 (en) * 2014-04-03 2015-10-08 Cisco Technology Inc. Efficient On-Demand Generation of ABR Manifests
CN105049954A (en) * 2015-07-02 2015-11-11 中兴通讯股份有限公司 OTT (Over The Top) media multicast transport method, device and system
CN106789976A (en) * 2016-12-07 2017-05-31 中兴通讯股份有限公司 The player method of media file, service end, client and system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101795297A (en) * 2010-03-19 2010-08-04 北京天天宽广网络科技有限公司 Live broadcasting time shifting system based on P2P (peer-to-peer) technology and method thereof
US20150288730A1 (en) * 2014-04-03 2015-10-08 Cisco Technology Inc. Efficient On-Demand Generation of ABR Manifests
CN104080011A (en) * 2014-07-08 2014-10-01 浪潮软件集团有限公司 Method for realizing time shifting system based on HLS protocol
CN104661044A (en) * 2015-02-14 2015-05-27 广州珠江数码集团有限公司 Broadcasting and TV OTT (over the top) integration terminal and implementing method thereof
CN105049954A (en) * 2015-07-02 2015-11-11 中兴通讯股份有限公司 OTT (Over The Top) media multicast transport method, device and system
CN106789976A (en) * 2016-12-07 2017-05-31 中兴通讯股份有限公司 The player method of media file, service end, client and system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110166831A (en) * 2018-07-23 2019-08-23 腾讯科技(深圳)有限公司 Reset method, apparatus, storage medium and the computer equipment of files in stream media
CN111246314A (en) * 2020-01-14 2020-06-05 深圳市华曦达科技股份有限公司 Time-shifting live broadcast method, server device, client device and live broadcast system
CN114598909A (en) * 2022-03-30 2022-06-07 青岛海信宽带多媒体技术有限公司 Intelligent set top box and live program timeline display method
CN114598909B (en) * 2022-03-30 2023-12-01 青岛海信宽带多媒体技术有限公司 Intelligent set top box and time axis display method of live program

Also Published As

Publication number Publication date
CN106789976A (en) 2017-05-31

Similar Documents

Publication Publication Date Title
WO2018103696A1 (en) Media file playback method, server, client, and system
JP6783293B2 (en) Synchronizing multiple over-the-top streaming clients
US10547850B2 (en) Audio splitting with codec-enforced frame sizes
US10250949B2 (en) Broadcast content to HTTP client conversion
WO2012096372A1 (en) Content reproduction device, content reproduction method, delivery system, content reproduction program, recording medium, and data structure
WO2016011823A1 (en) Method for acquiring live video slice, server, and storage medium
US20110138018A1 (en) Mobile media server
WO2013152689A1 (en) Background control method and system for video playing
US11128897B2 (en) Method for initiating a transmission of a streaming content delivered to a client device and access point for implementing this method
JP2015136060A (en) Communication device, communication data generation method, and communication data processing method
JP7308134B2 (en) How to send and receive
TW201409998A (en) Rendering time control
CN106331763B (en) Method for seamlessly playing fragmented media file and device for implementing method
US11856242B1 (en) Synchronization of content during live video stream
KR102401372B1 (en) Method and apparatus for inserting content received via heterogeneous network
JP2016015533A (en) Information processor and method
WO2016002497A1 (en) Information processing device and method, distribution system, and program
KR20200029881A (en) Image processing apparatus and controlling method thereof
WO2016002498A1 (en) Information processing device and method, distribution system, and program
IT201800003105A1 (en) Method, terminal and supplying entity to use audio and / or video content

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17879555

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17879555

Country of ref document: EP

Kind code of ref document: A1