WO2014026352A1 - 一种流媒体业务的发送方法、播放方法及装置 - Google Patents

一种流媒体业务的发送方法、播放方法及装置 Download PDF

Info

Publication number
WO2014026352A1
WO2014026352A1 PCT/CN2012/080219 CN2012080219W WO2014026352A1 WO 2014026352 A1 WO2014026352 A1 WO 2014026352A1 CN 2012080219 W CN2012080219 W CN 2012080219W WO 2014026352 A1 WO2014026352 A1 WO 2014026352A1
Authority
WO
WIPO (PCT)
Prior art keywords
mpd file
client
server
connection channel
request
Prior art date
Application number
PCT/CN2012/080219
Other languages
English (en)
French (fr)
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 华为技术有限公司
Priority to CN201280035484.2A priority Critical patent/CN103748888B/zh
Priority to PCT/CN2012/080219 priority patent/WO2014026352A1/zh
Publication of WO2014026352A1 publication Critical patent/WO2014026352A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26291Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for providing content or additional data updates, e.g. updating software modules, stored at the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand

Definitions

  • the present invention relates to the field of streaming media transmission technologies, and in particular, to a method, a method and a device for transmitting a streaming media service.
  • MPD Media Presentation Description
  • the client obtains the Uniform Resource Locator (URL) of the MPD in an out-of-band manner; second, the client sends a request for obtaining an updated MPD file to the server; the server includes a response to update the MPD file. Sent to the client.
  • URL Uniform Resource Locator
  • the prior art specification defines a series of parameters and constraints for sending and updating the MPD file. condition. For example, for a MPD file that has obtained a new version such as i+1 version on the server, a limitation condition for when the i version of the MPD file is invalidated, and when the client sends an MPD update request, and an i version of the MPD file Restrictions on time failure, etc.
  • the server cannot send the received updated MPD file to the client in time, and the updated MPD file can be sent only after receiving the request of the client; of course, the client can also send the server to the server according to the set condition.
  • Requesting to obtain an updated MPD file that is, both the server and the client need to obtain the updated MPD file according to the set parameters or trigger conditions and through the Request and Response modes.
  • the inventors of the present invention found that in the existing implementation manner, it is possible that the MPD file of the server has been updated, but since the client does not have the time to request to acquire the updated MPD. Or the condition causes the client to update the MPD in time, affecting the request of the subsequent client for the media segmentation and the playback of the media content. Alternatively, the client triggers the request for the MPD update according to the set trigger condition, and the server's MPD is likely not updated, so that the server sends the most recently sent MPD file to the client, causing repeated transmission of the MPD file.
  • the embodiment of the invention provides a method and a device for updating a streaming media service, so as to solve the client in the prior art.
  • the MPD file cannot be updated synchronously with the server, resulting in technical problems in which the client does not play media services smoothly, and technical problems of repeatedly transmitting MPD files.
  • the embodiment of the present invention provides a method for sending a streaming media service, where the method includes: receiving a request sent by a client to obtain a first media presentation description MPD file;
  • the second MPD file is sent to the client, where the second MPD file includes: an updated MPD file or update information of the first MPD file, so that the client is timely Replace or update the first MPD file.
  • the method further includes: establishing, by the client, a connection channel for transmitting a streaming media service, where the stream is received before the client sends a request for acquiring the first media presentation description MPD file
  • the media service includes a first MPD file or a second MPD file.
  • the request that the receiving client sends the first media presentation description MPD file is: receiving the request that the client sends the first MPD file for the first time.
  • connection channel is an event, a stream event stream connection channel, which is sent by the server of the fifth version of the hypertext markup language HTML5 to send an event Server-sent-event.
  • the establishing, by the client, the connection channel for transmitting the MPD file includes: receiving a request for the client to establish a connection channel for establishing a transport streaming media service; and sending, by the client, a consent to establish a transport streaming media service The response of the connection channel; or
  • Receiving, by the client, the request for acquiring the first MPD file further includes requesting information for establishing a connection channel for transmitting the streaming media service; and the response sent to the client terminal including the first MPD file further includes agreeing to establish a transport streaming media service.
  • the response information of the connection channel is not limited to the connection channel.
  • the receiving client sends a request for acquiring the first media presentation description MPD file, establishing a connection channel for transmitting the streaming media service with the client;
  • the sending, by the client, the second MPD file is: sending a second MPD file to the client by using the connection channel.
  • the receiving client sends a request for acquiring the first media presentation description MPD file, establishing a connection channel for transmitting the streaming media service with the client;
  • the receiving client sends a request for acquiring the first media presentation description MPD file as: receiving, by the established connection channel, the client sending a request for acquiring the first MPD file; Sending, by the client, a response including the first MPD file to the client: sending, by the established connection channel, a response including the first MPD file to the client;
  • the sending the second MPD file to the client is: sending a second MPD file to the client through the established connection channel.
  • the method further includes:
  • the connection channel for establishing a transport streaming media service with the client is disconnected.
  • the method further includes: when receiving the connection establishment request initiated by the client, establishing a connection channel for transmitting the streaming media service with the client again.
  • the embodiment of the invention further provides a method for playing a streaming media service, where the method includes:
  • the server After receiving the first media presentation description MPD file, the server receives the second media presentation description MPD file sent by the server, where the second MPD file includes: the updated MPD file or the first MPD file. Update information;
  • the method before receiving the sending, by the server, the first MPD file, the method further includes: sending, to the server, a request for acquiring the first MPD file;
  • the method further includes: establishing, by the server, a connection channel for transmitting a streaming media service, before the request for sending the first MPD file to the server, or the request, the streaming media service Includes a first MPD file or a second MPD file.
  • the request for sending the first MPD file to the server is: sending a request for acquiring the first MPD file to the server for the first time.
  • the establishing, by the server, a connection channel for transmitting the streaming media service includes: after sending a request for acquiring the first MPD file to the server, sending a request for establishing a connection channel for transmitting the streaming media service to the server; Receiving a response of the connection channel sent by the server to agree to establish a transport streaming service; or
  • the request for sending the first MPD file to the server further includes establishing a connection for transmitting the streaming media service.
  • Request information of the channel; receiving the response including the MPD file sent by the server further includes agreeing to establish response information of the connection channel for transmitting the streaming media service.
  • the method further includes:
  • the method further includes: re-initiating a connection channel for establishing a transport streaming media service with the server.
  • connection channel is an event, a stream event stream connection channel, which is sent by the server of the fifth version of the hypertext markup language HTML5 to send an event Server-sent-event.
  • the method further includes: opening an event stream event stream connection channel by creating an HTML5-based event source Event Source object.
  • the object when creating an HTML5 based Event Source object, the object receives a Uniform Resource Locator URL of the first MPD file or the second MPD file as a parameter of its constructor.
  • the method further includes: the client distinguishes the MPD file corresponding to the different media content according to different Event Source objects.
  • the present invention further provides a sending device for a streaming media service, including:
  • a first receiving unit configured to receive, by the client, a request for acquiring a first media presentation description MPD file
  • a first sending unit configured to send a response including the first MPD file to the client
  • the terminal replaces or updates the first MPD file in time.
  • the device further includes:
  • a first establishing unit configured to establish, by the first receiving unit, a connection channel for transmitting a streaming media service with the client before receiving the request for acquiring the first MPD file sent by the client, or the request, where the The streaming media service includes a first MPD file or a second MPD file.
  • the first receiving unit is specifically configured to receive a request for acquiring the first media presentation description MPD file sent by the client for the first time.
  • the device further includes:
  • a control unit configured to: after the first sending unit or the second sending unit sends the first MPD file or the second MPD file, disconnect a connection channel that establishes a transport streaming media service with the client.
  • the device further includes:
  • the second establishing unit is configured to establish a connection channel for transmitting the streaming media service with the client again after receiving the connection request initiated by the client after the control unit disconnects the connection channel with the client.
  • the embodiment of the invention further provides a playback device for a streaming media service, including:
  • the first receiving unit is configured to: after receiving the first media presentation description MPD file, receive the second media presentation description MPD file sent by the server, where the second MPD file is the updated MPD file or the Updating information of the first MPD file;
  • an updating unit configured to replace the first MPD file by using the updated MPD file; or update the first MPD file by using the update information of the first MPD to obtain an updated MPD file;
  • a constructing unit configured to construct a fragmentation request according to the updated MPD file
  • An obtaining unit configured to acquire, from the server, a fragmented content corresponding to the fragmentation request, and a playing unit, configured to play the fragmented content.
  • the device before the first receiving unit receives the sending, by the server, the second MPD file, the device further includes:
  • a first sending unit configured to send, to the server, a request for acquiring the first MPD file
  • a second receiving unit configured to receive a response that is sent by the server and includes the first MPD file.
  • the device further includes:
  • a first establishing unit configured to establish, with the server, a connection channel for transmitting a streaming media service, before the first sending unit sends a request for acquiring the first MPD file to the server, where the streaming media
  • the service includes a first MPD file or a second MPD file.
  • the device further includes:
  • a detecting unit configured to detect, after the first receiving unit receives the first MPD file or the second MPD file sent by the server, a status of a connection channel established by the first establishing unit for transmitting a streaming media service .
  • the device further includes:
  • a second establishing unit configured to, when the detecting unit detects that the state of the connection channel for transmitting the streaming media service established by the first establishing unit is disconnected, establish a network communication service with the server again Connect the channel.
  • the server sends the first MPD file to the client, if the first MPD file is detected or queried, the changed second MPD file is actively sent to the client. End, or send the second MPD file to the client with respect to the updated part of the first MPD file, so that the client can update in time, and the media service can be smoothly played.
  • FIG. 1 is a flowchart of a method for sending a streaming media service according to an embodiment of the present invention
  • FIG. 2 is a flowchart of a method for playing a streaming media service according to an embodiment of the present invention
  • FIG. 3 is a schematic structural diagram of a device for transmitting a medium stream media service according to an embodiment of the present invention
  • FIG. 4 is a schematic diagram of a second structure of a device for sending a streaming media service according to an embodiment of the present invention
  • FIG. 6 is a schematic diagram of a fourth structure of a device for sending a streaming media service according to an embodiment of the present invention
  • FIG. 6 is a schematic diagram of a fourth structure of a device for sending a streaming media service according to an embodiment of the present invention
  • FIG. 8 is a schematic diagram of a second structure of a playback device for streaming media services according to an embodiment of the present invention
  • FIG. 9 is a schematic diagram of a playback device for streaming media services according to an embodiment of the present invention
  • FIG. 9 is a schematic diagram of a playback device for streaming media services according to an embodiment of the present invention
  • FIG. 10 is a schematic diagram of a fourth structure of a playback device for a streaming media service according to an embodiment of the present invention
  • FIG. 11 is a flowchart of an application example of a video playback method for a media service according to an embodiment of the present invention
  • FIG. 1 is a flowchart of a method for sending a streaming media service according to an embodiment of the present invention; the method includes: Step 101: Receive a first media presentation description (MPD) file sent by a client Request
  • MPD media presentation description
  • the MPD is a description of a media presentation content, mainly including content segmentation, please A description of the structure, multi-rate, etc. is sought.
  • the MPD file is an xml format document.
  • the client of the 3rd Generation Partnership Project (3GPP) uses the metadata included in the MPD file to construct a uniform resource locator (HTTP) for the appropriate hypertext transfer protocol.
  • HTTP uniform resource locator
  • -URL Hypertext Transfer Protocol- Uniform Resource Locator
  • the client may be a Hypertext Transfer Protocol (HTTP Streaming Client) or other client with a Hypertext Transfer Protocol.
  • HTTP Streaming Client Hypertext Transfer Protocol
  • HTTP Streaming Client Hypertext Transfer Protocol
  • Step 102 Send a response including the first MPD file to the client.
  • the server for example, a hypertext transfer protocol stream server (HTTP Steaming Server), after receiving the MPD file pushed by the content preparation server, receives the obtained MPD file (ie, the first The request of the MPD file sends the MPD file to the client.
  • HTTP Steaming Server Hypertext transfer protocol stream server
  • Step 103 Send a second MPD file to the client when the first MPD file is updated, where the second MPD file includes: an updated MPD file or update information of the first MPD, so as to facilitate the client.
  • the terminal replaces or updates the first MPD file in time.
  • the second MPD file may further include indication information that the first MPD file has been updated.
  • the server detects or queries the database or the content server
  • the first MPD file is updated, and the updated second MPD file is sent to the client, so that the client can timely
  • An MPD file is updated or replaced with a second MPD file.
  • the manner of detecting or querying may be real-time or timed, and is not limited in this embodiment.
  • the server sends the first MPD file to the client
  • the changed second MPD file is actively sent to the client, so as to facilitate the client.
  • the terminal is updated in time, and the media service can be smoothly played, thereby ensuring consistency and validity with the MPD file on the server.
  • the method before receiving the request for the client to send the first media presentation description MPD file, the method may further include: the server establishing the transport streaming media service with the client The connection channel, where the streaming media service includes a first MPD file or a second MPD file. Specifically include:
  • An establishment manner is: the server receives a request from the client to establish a connection channel for establishing a transport streaming media service; and the server sends a response to the client to agree to establish a connection channel for transporting the streaming media service.
  • the server receives the request from the client to send the first MPD file, including The request information of the connection channel of the transport streaming media service; the server further includes a response message for agreeing to establish a connection channel for transporting the streaming media service in response to the client terminal including the first MPD file.
  • connection channel is an event stream connection channel of a server-sent-event based on the fifth version of the hypertext markup language HTML5.
  • HTML5 Hypertext markup language
  • the receiving client sends a connection channel for transmitting the streaming media service with the client before sending the request for acquiring the first media presentation description MPD file
  • the receiving client sends the first
  • the media presenting the request for describing the MPD file is: receiving, by the established connection channel, the client sending a request for acquiring the first MPD file; and sending the response including the first MPD file to the client is: establishing the connection
  • the channel sends a response including the first MPD file to the client; the sending the second MPD file to the client is: sending a second MPD file to the client through the established connection channel.
  • the method may further include: after transmitting the first MPD file or the second MPD file, the server disconnects or maintains a connection channel with the client.
  • the method may further include: establishing a connection channel for transmitting the streaming media service with the client again; specifically: the server receives the client and sends the connection again. Establishing a request for a connection channel of the streaming media service; the server resending the response of the connection channel agreeing to establish a transport streaming media service to the client.
  • the connection channel is an event stream connection channel of a server-sent-event based on the fifth version of the hypertext markup language HTML5.
  • the event stream connection channel of the Server-sent-event is not actively disconnected by the server under normal conditions.
  • the server once the server detects the update of the MPD, the server actively sends the updated MPD file or the partial update information that is modified relative to the last MPD to the client, so that the client can update the local MPD in time. Ensure the consistency and validity of the MPD files on the server and client.
  • FIG. 2 a flowchart of a method for playing a streaming media service according to an embodiment of the present invention is provided.
  • the methods include:
  • Step 201 After receiving the first media presentation description MPD file, the server receives the second media presentation description MPD file sent by the server, where the second MPD file includes: the updated MPD file or the first MPD update information;
  • Step 202 Replace the first MPD file with the updated MPD file, or use the first
  • the MPD update information updates the first MPD file to obtain the updated MPD file
  • Step 203 Construct a fragmentation request according to the updated MPD file.
  • Step 204 Obtain, from the server, a fragment content corresponding to the fragment request.
  • Step 205 Play the fragment content.
  • the client does not need to request the server to obtain the updated second MPD file, but the server detects or queries the MPD file that was sent to the client before, and actively updates the MPD file, or The update information of the MPD file has been sent to the client before.
  • the method may further include: the client sending a request for acquiring the first MPD file to the server; and the client receiving the The response of the first MPD file.
  • the method may further include: a client establishing a connection channel with the server for transmitting a streaming media service, before the request for the first MPD file is sent to the server,
  • the streaming media service includes a first MPD file or a second MPD file.
  • the establishing a connection channel between the client and the server for transmitting the streaming media service may include: a method, where the client establishes a transport streaming media service with the server when the client first sends a request for obtaining the first MPD file to the server. And the request for obtaining the first MPD file sent to the server further includes request information for establishing a connection channel for transmitting the streaming media service; and receiving the response including the MPD file sent by the server further includes agreeing to establish the transmission. Response information of the connection channel of the streaming media service.
  • the client sends a request for establishing a connection channel for transporting the streaming media service to the server after sending the request for obtaining the first MPD file to the server; the client receives the server to send the consent to establish the transport streaming media service.
  • the response of the connected channel is a request for establishing a connection channel for transporting the streaming media service to the server after sending the request for obtaining the first MPD file to the server; the client receives the server to send the consent to establish the transport streaming media service. The response of the connected channel.
  • the request for sending the first MPD file to the server is: sending a request for acquiring the first MPD file to the server for the first time.
  • the method may further include: after receiving the first MPD file or the second MPD file sent by the server, the client detects a state of establishing a connection channel of the transport streaming media service with the server.
  • the method may further include: detecting a connection with the server to establish a transport streaming service
  • the connection channel for transmitting the streaming media service is established with the client again.
  • the server immediately sends the connection channel to the server again. Establishing a request to transmit a connection channel of the streaming media service; the receiving server again sends a response agreeing to establish a connection channel for transmitting the streaming media service.
  • connection channel in this embodiment is an event stream connection channel based on a Server-sent-event of the Version 5 Hypertext Markup Language (HTML5).
  • HTML5 Version 5 Hypertext Markup Language
  • the client opens an event stream connection channel by creating an HTML5-based Event Source object.
  • HTML5 based Event Source object When an HTML5 based Event Source object is created, the object receives the URL of the first MPD file or the second MPD file as a parameter of its constructor.
  • the client distinguishes MPD files corresponding to different media contents according to different Event Source objects.
  • the client when the client requests to acquire the MPD file for the first time, the client may establish a proprietary HTTP connection with the server (not limited thereto), and use the connection to establish an update transmission of the MPD.
  • the server detects or queries a new MPD, it sends it to the client actively, and the client updates the local MPD file after receiving it to ensure consistency with the MPD file in the server. Sex and effectiveness.
  • the embodiment of the present invention further provides a device for sending a streaming media service, and a schematic structural diagram thereof is shown in FIG. 3, where the device includes: a first receiving unit 31, a first sending unit 32, and a second a sending unit 33, wherein the first receiving unit 31 is configured to receive, by the client, a request for acquiring a first media presentation description MPD file, where the first sending unit 32 is configured to include the first MPD file.
  • the second sending unit 33 configured to send a second MPD file to the client when the first MPD file is updated, where the second MPD file is an updated MPD The file or the update information of the first MPD, so that the client replaces or updates the first MPD file in time.
  • the first receiving unit 31 receives the request of the client to obtain the first MPD file, and may enable the client to send the request for acquiring the first MPD file for the first time.
  • the device may further include: a first establishing unit 41, configured to: before the first receiving unit 31 receives the request for acquiring the first MPD file sent by the client, or the request, and the client Establishing a connection channel for transporting the streaming media service, where the streaming media service includes a first MPD file or a second MPD file.
  • a first establishing unit 41 configured to: before the first receiving unit 31 receives the request for acquiring the first MPD file sent by the client, or the request, and the client Establishing a connection channel for transporting the streaming media service, where the streaming media service includes a first MPD file or a second MPD file.
  • the device may further include: a control unit 52, configured to disconnect the client after the first sending unit 31 or the second sending unit 32 sends the first MPD file or the second MPD file Establish a connection channel for transporting streaming media services.
  • FIG. 5 is a schematic diagram of a third structure of a device for sending a streaming media service according to an embodiment of the present invention.
  • the device may further include: a second establishing unit 61, configured to: after the control unit 51 disconnects the connection channel with the client to establish a transport streaming media service, after receiving the client, When the connection request is established, the connection channel of the transport streaming media service is established with the client again, which includes: receiving a request that the client sends a connection channel for establishing a streaming media service again; and sending the request to the client again Agree to establish a response to the connection channel of the transport streaming service.
  • FIG. 6 is a schematic diagram of a fourth structure of a device for sending a streaming media service according to an embodiment of the present invention.
  • the embodiment of the present invention further provides a playback device for a streaming media service, and a schematic structural diagram thereof is shown in FIG. 7.
  • the device includes: a first receiving unit 71, an updating unit 72, a constructing unit 73, an obtaining unit 74, and a playing unit 75, wherein the first receiving unit 71 is configured to: after receiving the first media presentation description MPD file, the receiving, sending, by the server, a second media presentation description MPD file, where the second MPD file And an update information of the updated MPD file or the first MPD file; the updating unit 72, configured to replace the first MPD file by using the updated MPD file; or update by using the update information of the first MPD a first MPD file, the updated MPD file is obtained; the constructing unit 73 is configured to construct a fragmentation request according to the updated MPD file; the obtaining unit 74 is configured to acquire the The fragmentation request corresponds to the fragmentation content; the playing unit 75 is configured to play the fragmentation content.
  • the device may further include: a first sending unit 81 and a second receiving unit 82, where the first sending unit 81 is used. Sending a request for acquiring the first MPD file to the server; the second receiving unit 82 is configured to receive a response that is sent by the server and includes the first MPD file.
  • FIG. 8 is a schematic diagram of a second structure of a device for sending a streaming media service according to an embodiment of the present invention.
  • the device may further include: a first establishing unit 91, configured to establish with the server before the first sending unit 81 sends a request for acquiring the first MPD file to the server And for transmitting a connection channel of the streaming media service, the streaming media service includes a first MPD file or a second MPD file.
  • FIG. 9 is a schematic diagram of a corresponding structure.
  • FIG. 9 is a schematic diagram of sending a streaming media service according to an embodiment of the present invention.
  • the device may further include: a detecting unit 10, configured to receive, by the first receiving unit, the second MPD file sent by the server, and/or the second receiving unit receives the sending by the server After the first MPD file, the state of the connection channel established by the first establishing unit 91 for transmitting the streaming media service is detected.
  • a detecting unit 10 configured to receive, by the first receiving unit, the second MPD file sent by the server, and/or the second receiving unit receives the sending by the server After the first MPD file, the state of the connection channel established by the first establishing unit 91 for transmitting the streaming media service is detected.
  • the device may further include: a second establishing unit 11 configured to establish the connection channel for transmitting the streaming media service that is established by the first establishing unit 91 after the detecting unit 10 is disconnected, and then establish the server with the server again.
  • the specific process for establishing a connection channel for transporting a streaming media service includes: immediately transmitting, to the server, a request for establishing a connection channel for transporting a streaming media service; and receiving the server to re-send a connection channel for agreeing to establish a transport streaming media service. the response to.
  • FIG. 10 is a schematic diagram of a fourth structure of a device for sending a streaming media service according to an embodiment of the present invention.
  • FIG. 11 is a flowchart of an application example of a video playing method for a media service according to an embodiment of the present invention.
  • the embodiment is applied to a 3GPP Adaptive HTTP Streaming system as an example, and a network involved in the system is used.
  • the elements include: Content Source network element, Content Preparation network element, HTTP Streaming Server (HTTP Streaming Server), and HTTP Streaming Client (HTTP Streaming Client, HTTP Client)
  • HTTP Streaming Server HTTP Streaming Server
  • HTTP Streaming Client HTTP Streaming Client
  • Step 110 The content source network element sends the media content that needs to be played by the HTTP stream client to the content preparation network element.
  • Step 111 The content preparation network element divides the received media content into media content fragments, and generates an MPD.
  • the content preparation network element is responsible for performing media fragmentation on the received media content, and packaging the media fragment content into a format that meets the requirements (such as file fragmentation in 3GP format), and then, for each media fragment. Generate a corresponding media presentation description MPD file.
  • Step 112 The content preparation network element sends (or pushes) the content fragmentation and the MPD file to the HTTP stream server; so that the HTTP stream server stores the received content fragment and the MPD file;
  • Step 113 The HTTP stream client obtains the URL of the MPD file by using an outband manner
  • Step 114 The HTTP streaming client establishes a connection channel with the HTTP streaming server to transmit a streaming media service (that is, an MPD file).
  • the streaming media service includes an MPD file that is transmitted for the first time, or is updated. MPD files, etc.
  • the present invention is an example of establishing a connection channel before the HTTP stream client first requests the HTTP stream file to obtain the MPD file, but is not limited thereto.
  • the transmission medium may be established when the MPD file is first requested.
  • the connection channel of the business is not limited thereto.
  • connection channel is an event stream event stream connection channel that sends an event Server-sent-event based on the server of the fifth version of the hypertext markup language HTML5, but is not limited thereto.
  • Step 115 The HTTP streaming client requests the HTTP stream server corresponding to the URL to obtain the MPD file (that is, the first MPD file).
  • the request for acquiring the MPD file ie, the first MPD file
  • requesting to establish a connection channel with the HTTP streaming server for transmitting the streaming media service in this embodiment, establishing a connection before requesting the MPD file
  • the channel is an example.
  • Step 116 The HTTP streaming server sends the stored MPD file to the HTTP client.
  • Step 121 The content source network element sends the updated MPD file to the content preparation network element.
  • Step 122 The content preparation network element issues the received MPD file to the HTTP stream server.
  • the updated MPD file is an updated MPD file or update information of the first MPD, and the like;
  • Step 123 The HTTP stream server actively sends the received MPD file to the HTTP stream client.
  • the HTTP stream server can also query the database or the content preparation network element or the content server in real time or periodically. If the MPD file is updated, the updated MPD file, that is, the second MPD file, is sent to the HTTP stream client.
  • Step 124 The HTTP streaming client generates a fragmentation request according to the updated MPD file, and obtains the fragmentation content corresponding to the fragmentation request from the HTTP server, and then plays the fragmentation content. That is, step 117 is repeated step 117.
  • the HTTP streaming server receives or detects the updated MPD file, it will actively update it.
  • the MPD file is sent to the HTTP streaming client, and the HTTP streaming client is executed as described above. Let me repeat.
  • the HTTP stream client establishes a proprietary HTTP connection with the HTTP streaming server before using the connection for the MPD file or the updated MPD file before requesting the MPD file for the first time. And, when the HTTP stream server detects that the MPD file sent to the HTTP stream client is changed, the updated MPD file is sent to the HTTP stream client in time, so that the HTTP stream client can update the local MPD file in time. This ensures the consistency and validity of the MPD file on the HTTP stream client and the HTTP stream server.
  • HTML5 SSE Server-Sent Events
  • the Server-Sent Events specification defines an API to open a hypertext transfer protocol HTTP connection, through which the push can be obtained from the HTTP server. announcement of.
  • HTTP GET message that the client requests to establish an SSE-based connection with the server to open an event stream.
  • the message example shows three MIME types supported by the client: text/event-stream application/3 gpp-dahs+xml Application/3 gpp-dahsdelta
  • +xml Specifically include:
  • User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; de-DE)
  • AppleWebKit/532+ (KHTML, like Gecko) Version/4.0.4
  • the program segment describes that after receiving the HTTP request, the HTTP server replies with the following response message.
  • the Response message includes a response to the event stream event, and the data field indicates that this is an MPD file-related information and is accompanied by information related to the MPD file.
  • SomeRandomString is used to distinguish between two different data types.
  • Content-type text/ event- stream
  • the HTTP client parses the data part and obtains the MPD file update information.
  • the HTTP server actively sends the updated MPD file to the HTTP client when the MPD file is updated.
  • the interaction between the HTTP server and the HTTP client is similar to the form in which the client first requests, the server responds, and then actively responds.
  • the long polling technology is also based on the HTTP implementation of the long polling technology.
  • the embodiment requires both the client and the server to support the long polling feature. The process is:
  • the client After the connection between the client and the server is established, the client sends a request to the server.
  • the server keeps the link all the time, and repeatedly queries the database or the content server. Once the server queries for updates or has data to send to the client, it recovers. Response, send it to the client, then the connection is disconnected, then the client can re-establish the connection and initiate a new request to the server.
  • the connection between the client and the server can be kept intact.
  • the acquisition of data updates is based on the resquest and response pairs.
  • it may also be based on the implementation of a scene with HAP in HTML5, that is, an HTTP Proxy entity exists in the network, and the entity has the function of a proxy server, and needs to modify the MPD file from the server.
  • a connection can be established between the HTTP Proxy and the HTTP Client to transfer and update MPD files.
  • the client simultaneously receives the MPD file update information from the server and the proxy, and the client replaces or updates the local MPD file according to the last received update information.
  • the present invention can be implemented by means of software plus a necessary general hardware platform, and of course, can also be through hardware, but in many cases, the former is a better implementation. the way.
  • the technical solution of the present invention which is essential or contributes to the prior art, may be embodied in the form of a software product, which may be stored in a storage medium such as a ROM/RAM or a disk. , an optical disk, etc., includes instructions for causing a computer device (which may be a personal computer, server, or network device, etc.) to perform the methods described in various embodiments of the present invention or portions of the embodiments.
  • a computer device which may be a personal computer, server, or network device, etc.

Abstract

一种流媒体业务的发送方法,播放方法及装置,所述发送方法包括:接收客户端发送的获取第一媒体呈现描述MPD文件的请求;将包括所述第一MPD文件的响应发送给所述客户端;当所述第一MPD文件发生更新时,向所述客户端发送第二MPD文件,所述第二MPD文件包括:更新的MPD文件或者所述第一MPD文件的更新信息,以便于客户端及时替换或更新所述第一MPD文件。本发明实施例解决了现有技术中客户端不能与服务器同步更新MPD文件,导致客户端播放媒体业务不顺畅以及重复传输MPD文件的技术问题。

Description

一种流媒体业务的发送方法、 播放方法及装置
技术领域 本发明涉及流媒体传输技术领域,特别涉及一种流媒体业务的发送方法、播放方 法及装置。 背景技术 随着流媒体传输技术的发展, 现有媒体呈现描述 (MPD, Media Presentation Description) 文件的更新流程主要包括:
首先,客户端通过带外方式获取 MPD的统一资源标识符(URL, Uniform Resource Locator, 即网址); 其次, 客户端向服务器发送获取更新 MPD文件的请求; 所述服 务器将包括更新 MPD文件的响应发送给客户端。
其中, 服务器为了保证 MPD更新请求在恰当的时候发送, 以及保证在服务器和 客户端两侧 MPD更新的一致性和有效性, 现有技术规范中对发送更新 MPD文件定 义了一系列的参数和约束条件。 比如, 对于服务器上已经获取到新的版本如 i+1版本 的 MPD文件, 规定 i版本的 MPD文件何时失效的限制条件, 以及客户端何时发送 MPD更新请求, 以及 i版本的 MPD文件何时失效的限制条件等。
也就是说, 服务器不能将接收到的更新的 MPD文件及时的发送给客户端, 只有 在接收到客户端的请求后更新的 MPD文件才能被发送; 当然, 客户端也可以按设定 的条件向服务器请求获取更新的 MPD文件, 即服务器和客户端均需要按照设定的参 数或触发条件并通过 Request和 Response模式来获取更新的 MPD文件。
因此, 在对现有技术的研究和实践过程中, 本发明的发明人发现, 现有的实现方 式中, 有可能服务器的 MPD文件已经更新, 但是由于客户端还不具备请求获取更新 MPD的时间或条件,导致客户端对 MPD的更新不及时,影响后继客户端对媒体分片 的请求和媒体内容的播放。 或者, 客户端按照设定的触发条件触发对 MPD更新的请 求, 而服务器的 MPD很可能并没有更新, 从而导致服务器将最近的一次已经发送的 MPD文件发送给客户端, 造成 MPD文件的重复传输。 发明内容
本发明实施例提供一种流媒体业务的更新方法及装置,以解决现有技术中客户端 不能与服务器同步更新 MPD文件, 导致客户端播放媒体业务不顺畅的技术问题, 以 及重复传输 MPD文件的技术问题。
为解决上述问题,本发明实施例提供一种流媒体业务的发送方法,所述方法包括: 接收客户端发送的获取第一媒体呈现描述 MPD文件的请求;
将包括所述第一 MPD文件的响应发送给所述客户端;
当所述第一 MPD文件发生更新时, 向所述客户端发送第二 MPD文件, 所述第 二 MPD文件包括: 更新的 MPD文件或者所述第一 MPD文件的更新信息, 以便于客 户端及时替换或更新所述第一 MPD文件。
可选的, 在接收到客户端发送获取第一媒体呈现描述 MPD文件的请求前或者请 求时, 所述方法还包括: 与所述客户端建立传输流媒体业务的连接通道, 其中, 所述 流媒体业务包括第一 MPD文件或第二 MPD文件。
可选的, 所述接收到客户端发送获取第一媒体呈现描述 MPD文件的请求为: 接 收到客户端首次发送获取第一 MPD文件的请求。
可选的,所述连接通道是基于第 5版超文本标记语言 HTML5的服务器发送事件 Server-sent-event的事件、流 event stream连接通道。
可选的, 所述与所述客户端建立用于传输 MPD文件的连接通道包括: 接收到客户端发送建立传输流媒体业务的连接通道的请求;向所述客户端发送同 意建立传输流媒体业务的连接通道的响应; 或者
接收到客户端发送获取第一 MPD文件的请求中还包括建立传输流媒体业务的连 接通道的请求信息; 在发送给所述客户终端包括第一 MPD文件的响应中还包括同意 建立传输流媒体业务的连接通道的响应信息。
可选的, 如果在接收到客户端发送获取第一媒体呈现描述 MPD文件的请求时, 与所述客户端建立用于传输流媒体业务的连接通道;
所述将包括所述第一 MPD文件的响应发送给所述客户端为: 通过所述连接通道 将包括所述第一 MPD文件的响应发送给所述客户端;
所述向客户端发送第二 MPD文件为: 通过所述连接通道向所述客户端发送第二 MPD文件。
可选的, 如果在接收客户端发送获取第一媒体呈现描述 MPD文件的请求前, 与 所述客户端建立用于传输流媒体业务的连接通道;
所述接收客户端发送获取第一媒体呈现描述 MPD文件的请求为: 通过建立的连 接通道接收客户端发送获取第一 MPD文件的请求; 所述将包括所述第一 MPD文件的响应发送给所述客户端为: 通过建立的连接通 道将包括所述第一 MPD文件的响应发送给所述客户端;
所述向所述客户端发送第二 MPD文件为: 通过建立的连接通道向所述客户端发 送第二 MPD文件。
可选的, 所述方法还包括:
在发送所述第一 MPD文件或第二 MPD文件后, 断开与所述客户端建立传输流 媒体业务的连接通道。
可选的, 在断开与所述客户端的连接通道后, 所述方法还包括: 在接收到客户端 发起的建立连接请求时, 再次与所述客户端建立传输流媒体业务的连接通道。
本发明实施例还提供一种流媒体业务的播放方法, 所述方法包括:
在接收到服务器发送第一媒体呈现描述 MPD文件后, 接收到服务器发送的第二 媒体呈现描述 MPD文件, 其中, 所述第二 MPD文件包括: 更新后的 MPD文件或者 所述第一 MPD文件的更新信息;
利用所述更新后的 MPD文件替换第一 MPD文件,或利用所述第一 MPD文件的 更新信息更新第一 MPD文件, 得到更新后的 MPD文件;
根据所述更新后的 MPD文件构造分片请求;
从所述服务器中获取与所述分片请求对应的分片内容;
播放所述分片内容。
可选的, 在接收到服务器发送所述第一 MPD文件之前, 所述方法还包括: 向服务器发送获取所述第一 MPD文件的请求;
接收所述服务器发送的包括所述第一 MPD文件的响应。
可选的, 在向所述服务器发送获取所述第一 MPD文件的请求前或者请求时, 所 述方法还包括: 与所述服务器建立用于传输流媒体业务的连接通道,所述流媒体业务 包括第一 MPD文件或第二 MPD文件。
可选的, 所述向服务器发送获取所述第一 MPD文件的请求为: 向服务器首次发 送获取所述第一 MPD文件的请求。
可选的, 所述与服务器建立用于传输流媒体业务的连接通道, 包括: 在向服务器发送获取第一 MPD文件的请求后, 向服务器发送用于建立传输流媒 体业务的连接通道的请求;接收所述服务器发送同意建立传输流媒体业务的连接通道 的响应; 或者
在向服务器发送获取第一 MPD文件的请求中还包括建立传输流媒体业务的连接 通道的请求信息; 接收所述服务器发送的包括 MPD文件的响应中还包括同意建立传 输流媒体业务的连接通道的响应信息。
可选的, 所述方法还包括:
在接收到服务器发送的所述第一 MPD文件或第二 MPD文件后, 检测与所述服 务器建立传输流媒体业务的连接通道的状态。
可选的,如果检测到与所述服务器建立传输流媒体业务的连接通道的状态为断开 时, 所述方法还包括: 再次发起与服务器建立传输流媒体业务的连接通道。
可选的,所述连接通道是基于第 5版超文本标记语言 HTML5的服务器发送事件 Server-sent-event的事件、流 event stream连接通道。
可选的, 所述方法还包括: 通过创建基于 HTML5的事件源 Event Source对象来 打开一个事件流 event stream连接通道。
可选的,在创建基于 HTML5的 Event Source对象时,所述对象接收所述第一 MPD 文件或第二 MPD文件的统一资源定位符 URL, 作为其构造函数的参数。
可选的, 所述方法还包括: 客户端根据不同的 Event Source对象来区分不同的媒体 内容对应的 MPD文件。
相应的, 本发明还提供一种流媒体业务的发送装置, 包括:
第一接收单元, 用于接收客户端发送获取第一媒体呈现描述 MPD文件的请求; 第一发送单元, 用于将包括所述第一 MPD文件的响应发送给所述客户端; 第二发送单元, 用于在所述第一 MPD文件发生更新时, 向所述客户端发送第二 MPD文件, 所述第二 MPD文件为更新的 MPD文件或者所述第一 MPD文件的更新 信息, 以便于客户端及时替换或更新所述第一 MPD文件。
可选的, 所述装置还包括:
第一建立单元, 用于在所述第一接收单元接收到客户端发送的获取第一 MPD文 件的请求前或者请求时, 与所述客户端建立传输流媒体业务的连接通道, 其中, 所述 流媒体业务包括第一 MPD文件或第二 MPD文件。
可选的,所述第一接收单元, 具体用于接收客户端首次发送的获取第一媒体呈现 描述 MPD文件的请求。
可选的, 所述装置还包括:
控制单元, 用于在第一发送单元或第二发送单元发送所述第一 MPD文件或第二 MPD文件后, 断开与所述客户端建立传输流媒体业务的连接通道。
可选的, 所述装置还包括: 第二建立单元,用于在所述控制单元断开与所述客户端的连接通道后,在接收到 客户端发起的建立连接请求时, 再次与所述客户端建立传输流媒体业务的连接通道。
本发明实施例还提供一种流媒体业务的播放装置, 包括:
第一接收单元, 用于在接收到服务器发送第一媒体呈现描述 MPD文件后, 接收 到服务器发送的第二媒体呈现描述 MPD文件, 其中, 所述第二 MPD文件为更新后 的 MPD文件或者所述第一 MPD文件的更新信息;
更新单元, 用于利用所述更新后的 MPD文件替换第一 MPD文件; 或利用所述 第一 MPD的更新信息更新第一 MPD文件, 得到更新后的 MPD文件;
构造单元, 用于根据所述更新后的 MPD文件构造分片请求;
获取单元, 用于从所述服务器中获取与所述分片请求对应的分片内容; 播放单元, 用于播放所述分片内容。
可选的, 在所述第一接收单元接收到服务器发送所述第二 MPD文件之前, 所述 装置还包括:
第一发送单元, 用于向服务器发送获取所述第一 MPD文件的请求;
第二接收单元, 用于接收所述服务器发送的包括所述第一 MPD文件的响应。 可选的, 所述装置还包括:
第一建立单元, 用于在第一发送单元向所述服务器发送获取所述第一 MPD文件 的请求前或者请求时, 与所述服务器建立用于传输流媒体业务的连接通道,所述流媒 体业务包括第一 MPD文件或第二 MPD文件。
可选的, 所述装置还包括:
检测单元, 用于在所述第一接收单元接收到服务器发送的所述第一 MPD文件或 第二 MPD文件后, 检测所述第一建立单元建立的用于传输流媒体业务的连接通道的 状态。
可选的, 所述装置还包括:
第二建立单元,用于在所述检测单元检测到检测所述第一建立单元建立的用于传 输流媒体业务的连接通道的状态处于断开时,再次与服务器建立用于传输流媒体业务 的连接通道。
由上述技术方案可知,本实施例中,当服务器将第一 MPD文件发送给客户端后, 如果检测到或查询到第一 MPD文件发生变更, 则将变更后的第二 MPD文件主动发 送给客户端, 或者将第二 MPD文件相对第一 MPD文件的更新部分发送给客户端, 以便于客户端及时更新, 并能顺畅的播放媒体业务。 从而保证与服务器上 MPD文件 的一致性和有效性。 附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅 是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前 提下, 还可以根据这些附图获得其他的附图。
图 1为本发明实施例提供的一种流媒体业务的发送方法的流程图;
图 2为本发明实施例提供的- 种流媒体业务的播放方法的流程图;
图 3为本发明实施例提供的- 中流媒体业务的发送装置的结构示意图; 图 4为本发明实施例提供的- 种流媒体业务的发送装置的第二结构示意图; 图 5为本发明实施例提供的- 种流媒体业务的发送装置的第三结构示意图; 图 6为本发明实施例提供的- 种流媒体业务的发送装置的第四结构示意图; 图 7为本发明实施例提供的- 中流媒体业务的播放装置的结构示意图; 图 8为本发明实施例提供的- 种流媒体业务的播放装置的第二结构示意图; 图 9为本发明实施例提供的- 种流媒体业务的播放装置的第三结构示意图; 图 10为本发明实施例提供的一种流媒体业务的播放装置的第四结构示意图; 图 11 为本发明实施例提供的一种媒体业务的视频播放方法的应用实例的流程
具体实施方式
下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。 基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的 所有其他实施例, 都属于本发明保护的范围。 请参阅图 1为本发明实施例提供的一种流媒体业务的发送方法的流程图;所述方 法包括: 步骤 101 : 接收客户端发送的获取第一媒体呈现描述 (MPD, Media Presentation Description) 文件的请求;
在该实施例中, MPD是对一个媒体呈现内容的描述, 主要包括对内容分片、 请 求构造、 多码率等的描述。 MPD文件是一个 xml格式的文档, 第三代移动通信伙伴 项目 (3GPP, 3rd Generation Partnership Project) 的客户端用 MPD文件中包括的元数 据来构造合适的超文本传输协议的统一资源定位符 (HTTP-URL, Hypertext Transfer Protocol- Uniform Resource Locator), 进而获取分片内容, 并给客户端提供流媒体服 务。 对于 MPD的定义, 具体可以参考 3GPP TS 26.247中的解释, 在此不再赘述。
其中, 所述客户端可以是超文本传输协议流客户端( HTTP Streaming Client ), 也 可以是其他具有超文本传输协议的客户端。
步骤 102: 将包括所述第一 MPD文件的响应发送给所述客户端;
该步骤中, 服务器, 比如, 超文本传输协议流服务器 (HTTP Steaming Server), 在接收到内容准备服务器 (Content Preparation Server) 推送的 MPD文件后, 如果接 收到客户端发送获取 MPD文件(即第一 MPD文件)的请求, 则将所述 MPD文件发 送给所述客户端。
步骤 103 :当所述第一 MPD文件发生更新时,向所述客户端发送第二 MPD文件, 所述第二 MPD文件包括: 更新的 MPD文件或者所述第一 MPD的更新信息, 以便于 客户端及时替换或更新所述第一 MPD文件。 其中, 所述第二 MPD文件中还可以包 括对第一 MPD文件已更新的指示信息。
该步骤中, 当服务器检测到或查询到数据库或者内容服务器中所述第一 MPD文 件发生更新时, 主动将更新的第二 MPD文件发送给所述客户端, 以便于客户端及时 将所述第一 MPD文件更新或替换为第二 MPD文件。其检测或查询的方式可以实时, 也可以定时, 本实施例不作限制。
在该实施例中, 当服务器将第一 MPD文件发送给客户端后, 如果检测到或查询 到第一 MPD文件发生变更, 则将变更后的第二 MPD文件主动发送给客户端, 以便 于客户端及时更新, 并能顺畅的播放媒体业务, 从而保证与服务器上 MPD文件的一 致性和有效性。
可选的, 本发明实施例中, 在接收到客户端发送获取第一媒体呈现描述 MPD文 件的请求前或者请求时,所述方法还可以包括: 服务器与所述客户端建立传输流媒体 业务的连接通道, 其中, 所述流媒体业务包括第一 MPD文件或第二 MPD文件。 具 体包括:
一种建立方式为:服务器接收到客户端发送建立传输流媒体业务的连接通道的请 求; 服务器向所述客户端发送同意建立传输流媒体业务的连接通道的响应。
另一种方式为: 服务器接收到客户端发送获取第一 MPD文件的请求中还包括建 立传输流媒体业务的连接通道的请求信息; 服务器在发送给所述客户终端包括第一 MPD文件的响应中还包括同意建立传输流媒体业务的连接通道的响应信息。
其中, 所述连接通道是基于第 5版超文本标记语言 HTML5 的服务器发送事件 ( Server-sent-event) 的事件流 (event stream) 连接通道。 当然, 也并不限于此, 还 可以是其他类似的连接通道。
可选, 如果在接收到客户端发送获取第一媒体呈现描述 MPD文件的请求时, 与 所述客户端建立用于传输流媒体业务的连接通道; 则在上述实施例中,所述将包括所 述第一 MPD 文件的响应发送给所述客户端为: 通过所述连接通道将包括所述第一 MPD文件的响应发送给所述客户端;所述向客户端发送第二 MPD文件为:通过所述 连接通道向所述客户端发送第二 MPD文件。
如果在接收客户端发送获取第一媒体呈现描述 MPD文件的请求前, 与所述客户 端建立用于传输流媒体业务的连接通道; 则在上述实施例中,所述接收客户端发送获 取第一媒体呈现描述 MPD文件的请求为: 通过建立的连接通道接收客户端发送获取 第一 MPD文件的请求;所述将包括所述第一 MPD文件的响应发送给所述客户端为: 通过建立的连接通道将包括所述第一 MPD文件的响应发送给所述客户端; 所述向所 述客户端发送第二 MPD文件为: 通过建立的连接通道向所述客户端发送第二 MPD 文件。
在上述实施例中,所述方法还可以包括:在发送所述第一 MPD文件或第二 MPD 文件后, 服务器断开或保持与所述客户端的连接通道。
其中, 如果服务器断开与所述客户端的连接通道, 所述方法还可以包括: 再次与 所述客户端建立用于传输流媒体业务的连接通道; 具体包括: 服务器接收到所述客户 端再次发送建立流媒体业务的连接通道的请求;服务器向所述客户端再次发送同意建 立传输流媒体业务的连接通道的响应。其中,所述连接通道是基于第 5版超文本标记 语言 HTML5的服务器发送事件 ( Server-sent-event) 的事件流(event stream)连接通 道。
其中, 所述 Server-sent-event的 event stream连接通道正常情况下不会被服务器 主动断开。
本发明实施例中, 服务器一旦检测到 MPD的更新, 就主动将更新后的 MPD文 件或者包括相对于上次 MPD修改的部分更新信息发送给客户端, 以便于客户端及时 更新本地的 MPD, 从而保证服务器与客户端上 MPD文件的一致性和有效性。
还请参阅图 2, 为本发明实施例提供的一种流媒体业务的播放方法的流程图, 所 述方法包括:
步骤 201 : 在接收到服务器发送第一媒体呈现描述 MPD文件后, 接收到服务器 发送的第二媒体呈现描述 MPD文件,其中,所述第二 MPD文件包括:更新后的 MPD 文件或者所述第一 MPD的更新信息;
步骤 202: 利用所述更新后的 MPD文件替换第一 MPD文件, 或利用所述第一
MPD的更新信息更新第一 MPD文件, 得到更新后的 MPD文件;
步骤 203 : 根据所述更新后的 MPD文件构造分片请求;
步骤 204: 从所述服务器中获取与所述分片请求对应的分片内容;
步骤 205: 播放所述分片内容。
在该实施例中, 客户端不需要向服务器请求获取更新的第二 MPD文件, 而是服 务器在检测到或查询到与之前发送给客户端的 MPD 文件有更新, 主动将更新后的 MPD文件, 或者之前已发送 MPD文件的更新信息发送客户端。
可选的, 在接收到服务器发送所述第一 MPD文件之前, 所述方法还可以包括: 客户端向服务器发送获取所述第一 MPD文件的请求; 客户端接收所述服务器发送的 包括所述第一 MPD文件的响应。
可选的, 在向所述服务器发送获取所述第一 MPD文件的请求前或者请求时, 所 述方法还可以包括: 客户端与所述服务器建立用于传输流媒体业务的连接通道,所述 流媒体业务包括第一 MPD文件或第二 MPD文件。
其中, 客户端与所述服务器建立用于传输流媒体业务的连接通道可以包括: 一种方式, 为客户端在向服务器首次发送获取第一 MPD文件的请求时, 与服务 器建立传输流媒体业务的连接通道; 具体包括: 在向服务器发送的获取第一 MPD文 件的请求中还包括建立传输流媒体业务的连接通道的请求信息;接收所述服务器发送 的包括 MPD文件的响应中还包括同意建立传输流媒体业务的连接通道的响应信息。
另一种是, 客户端在向服务器发送获取第一 MPD文件的请求后, 向服务器发送 用于建立传输流媒体业务的连接通道的请求;客户端接收所述服务器发送同意建立传 输流媒体业务的连接通道的响应。
可选的, 所述向服务器发送获取所述第一 MPD文件的请求为: 向服务器首次发 送获取所述第一 MPD文件的请求。
可选的, 所述方法还可以包括: 客户端在接收到服务器发送的所述第一 MPD文 件或第二 MPD文件后, 检测与所述服务器建立传输流媒体业务的连接通道的状态。
可选的,所述方法还可以包括: 在检测到与所述服务器建立传输流媒体业务的连 接通道状态为断开时, 再次与客户端建立传输流媒体业务的连接通道; 具体包括: 在 与所述服务器建立传输流媒体业务的连接通道断开时,立即向所述服务器再次发送用 于建立传输流媒体业务的连接通道的请求;接收服务器再次发送同意建立传输流媒体 业务的连接通道的响应。
可选的, 本实施例中的所述连接通道是基于第 5版超文本标记语言 (HTML5 ) 的服务器发送事件 (Server-sent-event) 的事件流 (event stream ) 连接通道。 客户端 通过创建基于 HTML5的事件源(Event Source)对象来打开一个 event stream连接通 道。 在创建基于 HTML5的 Event Source对象时, 该对象接收所述第一 MPD文件或 第二 MPD文件的 URL, 作为其构造函数的参数。 客户端根据不同的 Event Source对 象来区分不同的媒体内容对应的 MPD文件。
本发明实施例中, 客户端可以在首次请求获取 MPD文件时, 建立一个与服务器 之间的专有的 HTTP连接 (并不限于此), 使用该连接建立进行 MPD的更新传送。 与现有技术相比,服务器和客户端之间不需要像现有技术中那样, 设置多个参数来约 束客户端进行核对更新的 MPD的行为。 也就是说, 本发明实施例中, 每当服务器检 测或查询到新的 MPD时, 就主动的发送给客户端, 客户端收到后更新本地的 MPD 文件, 以保证与服务器中 MPD文件的一致性和有效性。
基于上述方法的实现过程,本发明实施例还提供一种流媒体业务的发送装置,其 结构示意图如图 3所示, 所述装置包括: 第一接收单元 31、 第一发送单元 32和第二 发送单元 33, 其中, 所述第一接收单元 31, 用于接收客户端发送获取第一媒体呈现 描述 MPD文件的请求; 所述第一发送单元 32, 用于将包括所述第一 MPD文件的响 应发送给所述客户端;所述第二发送单元 33,用于在所述第一 MPD文件发生更新时, 向所述客户端发送第二 MPD文件,所述第二 MPD文件为更新的 MPD文件或者所述 第一 MPD的更新信息, 以便于客户端及时替换或更新所述第一 MPD文件。
其中, 第一接收单元 31接收到客户端发送获取第一 MPD文件的请求, 可以使 客户端首次发送获取第一 MPD文件的请求。
可选的, 所述装置还可以包括: 第一建立单元 41, 用于在所述第一接收单元 31 接收到客户端发送的获取第一 MPD文件的请求前或者请求时, 与所述客户端建立传 输流媒体业务的连接通道, 其中, 所述流媒体业务包括第一 MPD文件或第二 MPD 文件。 其中, 建立传输流媒体业务的连接通道的过程具体详见上述, 在此不再赘述。 其对应的结构示意图如图 4所示,图 4为本发明实施例提供的一种流媒体业务的发送 装置的第二结构示意图。 可选的, 所述装置还可以包括: 控制单元 52, 用于在第一发送单元 31或第二发 送单元 32发送所述第一 MPD文件或第二 MPD文件后, 断开与所述客户端建立传输 流媒体业务的连接通道。其对应的结构示意图如图 5所示, 图 5为本发明实施例提供 的一种流媒体业务的发送装置的第三结构示意图。
可选的, 所述装置还可以包括: 第二建立单元 61, 用于在所述控制单元 51断开 与所述客户端建立传输流媒体业务的连接通道时或后,在接收到客户端发起的建立连 接请求时, 再次与所述客户端建立传输流媒体业务的连接通道, 具体包括: 接收到所 述客户端再次发送建立流媒体业务的连接通道的请求;以及向所述客户端再次发送同 意建立传输流媒体业务的连接通道的响应。 其对应的结构示意图如图 6 所示, 图 6 为本发明实施例提供的一种流媒体业务的发送装置的第四结构示意图。
所述装置中各个单元的功能和作用的实现过程, 详见上述方法中对应的实现过 程, 在此不再赘述。
相应的, 本发明实施例还提供一种流媒体业务的播放装置, 其结构示意图如图 7 所示, 所述装置包括: 第一接收单元 71, 更新单元 72, 构造单元 73, 获取单元 74 和播放单元 75, 其中, 所述第一接收单元 71, 用于在接收到服务器发送第一媒体呈 现描述 MPD文件后, 接收服务器发送的第二媒体呈现描述 MPD文件, 其中, 所述 第二 MPD文件为更新后的 MPD文件或者所述第一 MPD文件的更新信息;所述更新 单元 72, 用于利用所述更新后的 MPD文件替换第一 MPD文件; 或利用所述第一 MPD的更新信息更新第一 MPD文件, 得到更新后的 MPD文件; 所述构造单元 73, 用于根据所述更新后的 MPD文件构造分片请求; 所述获取单元 74, 用于从所述服务 器中获取与所述分片请求对应的分片内容; 所述播放单元 75, 用于播放所述分片内 容。
可选的, 在第一接收单元 71接收到服务器发送所述第二 MPD文件之前, 所述 装置还可以包括: 第一发送单元 81和第二接收单元 82, 所述第一发送单元 81, 用于 向服务器发送获取所述第一 MPD文件的请求; 所述第二接收单元 82, 用于接收所述 服务器发送的包括所述第一 MPD文件的响应。 其对应的结构示意图如图 8所示, 图 8为本发明实施例提供的一种流媒体业务的发送装置的第二结构示意图。
可选的, 所述装置还可以包括: 第一建立单元 91, 用于在第一发送单元 81向所 述服务器发送获取所述第一 MPD文件的请求前或者请求时, 与所述服务器建立用于 传输流媒体业务的连接通道,所述流媒体业务包括第一 MPD文件或第二 MPD文件。 其对应的结构示意图如图 9所示,图 9为本发明实施例提供的一种流媒体业务的发送 装置的第三结构示意图。
可选的, 所述装置还可以包括: 检测单元 10, 用于在所述第一接收单元接收到 所述服务器发送的所述第二 MPD 文件和 /或第二接收单元接收到所述服务器发送的 第一 MPD文件后, 检测所述第一建立单元 91建立的用于传输流媒体业务的连接通 道的状态。
所述装置还可以包括: 第二建立单元 11, 用于在所述检测单元 10检测所述第一 建立单元 91建立的用于传输流媒体业务的连接通道断开后, 立即再次与服务器建立 用于传输流媒体业务的连接通道,其建立的具体过程包括: 立即向所述服务器再次发 送用于建立传输流媒体业务的连接通道的请求;以及接收服务器再次发送同意建立传 输流媒体业务的连接通道的响应。其对应的结构示意图如图 10所示, 图 10为本发明 实施例提供的一种流媒体业务的发送装置的第四结构示意图。
所述装置中各个单元的功能和作用的实现过程, 详见上述方法中对应的实现过 程, 在此不再赘述。
为了便于本领域技术人员的理解, 下面以具体的应用实例来说明。
还请参阅图 11, 为本发明实施例提供的一种媒体业务的视频播放方法的应用实 例的流程图, 该实施例以应用于 3GPP Adaptive HTTP Streaming系统为例, 在该系统 中涉及到的网元包括: 内容源(Content Source)网元、 内容准备(Content Preparation) 网元、 HTTP流服务器(HTTP Streaming Server, 简称 HTTP服务器)禾 P HTTP流客 户端 (HTTP Streaming Client, 简称, HTTP客户端), 具体过程包括:
步骤 110: 内容源网元将需要 HTTP流客户端播放的媒体内容发送给内容准备网 元;
步骤 111 : 内容准备网元将接收到的媒体内容划分为媒体内容分片, 以及生成 MPD;
也就是说, 内容准备网元负责对接收得到的媒体内容进行媒体分片, 并将媒体分 片内容封装成符合要求的格式 (如 3GP格式的文件分片), 然后, 针对每个媒体分片 生成对应的媒体呈现描述 MPD文件。
步骤 112: 内容准备网元将所述内容分片和 MPD文件发送(或者推送)给 HTTP 流服务器; 以便于 HTTP流服务器存储接收到的内容分片和 MPD文件;
步骤 113 : HTTP流客户端通过带外方式获取到 MPD文件的 URL;
步骤 114: HTTP流客户端与所述 HTTP流服务器建立传输流媒体业务(即 MPD 文件) 的连接通道; 其中, 所述流媒体业务包括首次传输的 MPD文件, 或者更新的 MPD文件等。
需要说明的是,本发明是以 HTTP流客户端向 HTTP流服务器首次请求获取 MPD 文件之前, 建立连接通道为例, 但并不限于此, 比如, 还可以在首次请求获取 MPD 文件时建立传输媒体业务的连接通道。
其中, 本实施例中, 所述连接通道是基于第 5版超文本标记语言 HTML5的服务 器发送事件 Server-sent-event的事件流 event stream连接通道, 但并不限于此。
步骤 115: HTTP流客户端向 URL对应的 HTTP流服务器请求获取 MPD文件(即 第一 MPD文件)。
当然, 在该实施例中, 还可以在请求获取 MPD文件 (即第一 MPD文件) 前, 请求与所述 HTTP流服务器建立传输流媒体业务的连接通道; 本实施例以请求 MPD 文件之前建立连接通道为例。
步骤 116: HTTP流服务器将存储的 MPD文件发送给所述 HTTP客户端; 步骤 117: HTTP流客户端根据所述 MPD文件生成 (构造) 分片请求; 步骤 118: HTTP流客户端向 HTTP流服务器请求获取所述分片请求的分片内容; 步骤 119: HTTP流服务器向所述 HTTP流客户端发送所述分片请求的分片内容; 步骤 120: HTTP流客户端播放接收到的所述分片内容;
步骤 121 : 内容源网元将更新的 MPD文件发送给内容准备网元;
步骤 122: 内容准备网元将接收到的所述更新的 MPD文件发布到所述 HTTP流 服务器上;
其中,所述更新的 MPD文件为更新后的 MPD文件或者所述第一 MPD的更新信 息等;
步骤 123 : HTTP流服务器将接收到的所述更新的 MPD文件主动发送给 HTTP 流客户端;
其中, HTTP流服务器还可以实时或定期查询数据库或者内容准备网元或者内 容服务器等, 如果查询到 MPD文件发生更新, 即向所述 HTTP流客户端发送更新的 MPD文件, 即第二 MPD文件。
步骤 124: HTTP流客户端根据所述更新的 MPD文件生成分片请求; 并从 HTTP 服务器上获取所述分片请求对应的分片内容,然后播放所述分片内容。即重复执行步 骤 117步骤 120。
之后, 当 HTTP流服务器在接收或检测到更新的 MPD文件时, 会主动将更新的
MPD文件发送给 HTTP流客户端, 而 HTTP流客户端的执行过程如上所述, 在此不 再赘述。
也就是说, 本实施例中, HTTP流客户端在首次请求获取 MPD文件之前, 先建 立一个与 HTTP流服务器之间的专有的 HTTP连接, 并使用该连接进行 MPD文件或 更新的 MPD文件的传送, 并且, 在 HTTP流服务器检测到已发送给 HTTP流客户端 的 MPD文件发生变更时, 及时将更新的 MPD文件主动发送给 HTTP流客户端, 以 便于 HTTP流客户端及时更新本地的 MPD文件, 从而保证 HTTP流客户端与 HTTP 流服务器上 MPD文件的一致性和有效性。
本实施例以基于 HTML5 的 push 实现为例。 其中, HTML5 SSE ( Server-Sent Events) 是 HTML5的一项技术, 标准化了 server push功能, Server-Sent Events规范 定义了 API来打开一个超文本传送协议 HTTP连接, 通过该连接能够获取从 HTTP 服务器推送的通知。 下面是客户端请求与服务器建立基于 SSE的连接打开一个 event stream的一个 HTTP GET消息示例, 该消息示例中标明了客户端支持的三种 MIME 类型 text/ event- stream application/3 gpp-dahs+xml application/3 gpp-dahsdelta
+xml。 具体包括:
GET /Events HTTP/1.1
Host: myServer:8875
User- Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de-DE)
AppleWebKit/532+ (KHTML, like Gecko) Version/4.0.4
Safari/531.21.10
Accept-Encoding: gzip, deflate
Referer: http://myServer:8875/
Accept: text/ event-stream ; application/3gpp-dahs+xml; application/3gpp- dahsdelta+xml;
Last-Event-Id: 6
Accept-Language: de-DE
Cache-Control: no-cache
Connection: keep-alive
也就是说, 该程序段描述, 该 HTTP 服务器收到该 HTTP 请求后, 回复下述 response消息。 Response消息中包括对 event stream事件的响应, data字段指示这是 一个 MPD 文件相关的信息, 并且附带了 MPD 文件相关的信息。 其中 SomeRandomString用来区分两种不同的数据类型。 HTTP/1.1 200 OK
Server: xLightweb/2.12-HTML5Preview6
Content-Type: multipart/mixed;; boundary ="SomeRandomString"
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Connection: close
-SomeRandomString
Content-type: text/ event- stream
: for MPD stream
retry: 5000
id: 7
data: This is a MPD data.
—SomeRandomString
Content-type: application/3 gpp-ahs+xml
This part is MPD DATA
—SomeRandomString
也就是说, HTTP客户端收到该 response以后, 解析数据部分, 获取 MPD文件 更新信息。
之后, HTTP服务器在查询到 MPD文件发生更新时,主动将更新的 MPD文件发 送发给 HTTP客户端。
即 HTTP服务器和 HTTP客户端之间的交互类似于客户端先请求, 服务器响应, 然后再主动响应的形式。
在另一实施例中, 还可以基于 long polling的 push实现为例, Long polling技术 也是基于 HTTP的, 该实施例要求客户端和服务器都支持 long polling特性, 其过程 为:
客户端和 Server之间连接建立以后,客户端向 Server发送一个请求, Server会一 直保持这个链接, 同时反复查询数据库或者内容服务器,一旦 Server查询到有更新或 者有数据要向客户端发送, 就恢复 response, 将其发送给客户端, 之后连接被断开, 然后, 客户端可以重新建立连接, 并发起一个新的 request到 Server。
这样可以保证客户端不重复请求, 服务器不重复发送。 但是, 在实际的应用中, 有些实现方式里, 客户端和 Server之间的连接也可以不 断开, 一直保持。 但是数据更新的获取还是建立在 resquest和 response对的基础上。
在另一实施例中, 还可以基于 HTML5中有 HAP的场景的实现, 也就是说, 网 络中存在 HTTP Proxy实体, 该实体具备代理 server的功能, 需要对来自 Server的 MPD文件进行修改。
这种场景下, 可以在 HTTP Proxy和 HTTP Client之间建立一个用于传送和更新 MPD文件的连接。客户端同时接收来自 server和 proxy的 MPD文件更新信息,客户 端根据最后一次收到的更新信息替换或更新本地的 MPD文件。
本发明实施例中, 不但保证了 MPD文件更新的及时性, 也避免了 MPD信息的 重复传输, 以及避免维护 MPD正常更新的复杂性。
需要说明的是, 在本文中, 诸如第一和第二等之类的关系术语仅仅用来将一 个实体或者操作与另一个实体或操作区分开来, 而不一定要求或者暗示这些实体 或操作之间存在任何这种实际的关系或者顺序。 而且, 术语 "包括" 、 "包含" 或者其任何其他变体意在涵盖非排他性的包含, 从而使得包括一系列要素的过 程、 方法、 物品或者设备不仅包括那些要素, 而且还包括没有明确列出的其他要 素, 或者是还包括为这种过程、 方法、 物品或者设备所固有的要素。 在没有更多 限制的情况下, 由语句 "包括一个…… " 限定的要素, 并不排除在包括所述要素 的过程、 方法、 物品或者设备中还存在另外的相同要素。 通过以上的实施方式的描述, 本领域的技术人员可以清楚地了解到本发明可 借助软件加必需的通用硬件平台的方式来实现, 当然也可以通过硬件, 但很多情 况下前者是更佳的实施方式。 基于这样的理解, 本发明的技术方案本质上或者说 对现有技术做出贡献的部分可以以软件产品的形式体现出来, 该计算机软件产品 可以存储在存储介质中, 如 ROM/RAM、 磁碟、 光盘等, 包括若干指令用以使得 一台计算机设备 (可以是个人计算机, 服务器, 或者网络设备等) 执行本发明各 个实施例或者实施例的某些部分所述的方法。 以上所述仅是本发明的优选实施方式, 应当指出, 对于本技术领域的普通技 术人员来说, 在不脱离本发明原理的前提下, 还可以作出若干改进和润饰, 这些 改进和润饰也应视为本发明的保护范围。

Claims

权 利 要 求
1、 一种流媒体业务的发送方法, 其特征在于, 包括:
接收客户端发送的获取第一媒体呈现描述 MPD文件的请求;
将包括所述第一 MPD文件的响应发送给所述客户端;
当所述第一 MPD文件发生更新时, 向所述客户端发送第二 MPD文件, 所 述第二 MPD文件包括: 更新的 MPD文件或者所述第一 MPD文件的更新信息, 以便于客户端及时替换或更新所述第一 MPD文件。
2、 根据权利要求 1所述的方法, 其特征在于, 在接收到客户端发送获取第 一媒体呈现描述 MPD文件的请求前或者请求时, 所述方法还包括: 与所述客户 端建立传输流媒体业务的连接通道, 其中, 所述流媒体业务包括第一 MPD文件 或第二 MPD文件。
3、 根据权利要求 1或 2所述的方法, 其特征在于, 所述接收到客户端发送 获取第一媒体呈现描述 MPD 文件的请求为: 接收到客户端首次发送获取第一 MPD文件的请求。
4、 根据权利要求 2或 3所述的方法, 其特征在于, 所述连接通道是基于第 5版超文本标记语言 HTML5的服务器发送事件 Server-sent-event的事件流 event stream连接通道。
5、 根据权利要求 2所述的方法, 其特征在于, 所述与所述客户端建立用于 传输 MPD文件的连接通道包括:
接收到客户端发送建立传输流媒体业务的连接通道的请求;向所述客户端发 送同意建立传输流媒体业务的连接通道的响应; 或者
接收到客户端发送获取第一 MPD文件的请求中还包括建立传输流媒体业务 的连接通道的请求信息; 在发送给所述客户终端包括第一 MPD文件的响应中还 包括同意建立传输流媒体业务的连接通道的响应信息。
6、 根据权利要求 2所述的方法, 其特征在于, 如果在接收到客户端发送获 取第一媒体呈现描述 MPD文件的请求时, 与所述客户端建立用于传输流媒体业 务的连接通道; 所述将包括所述第一 MPD文件的响应发送给所述客户端为: 通过所述连接 通道将包括所述第一 MPD文件的响应发送给所述客户端;
所述向客户端发送第二 MPD文件为: 通过所述连接通道向所述客户端发送 第二 MPD文件。
7、 根据权利要求 2所述的方法, 其特征在于, 如果在接收客户端发送获取 第一媒体呈现描述 MPD文件的请求前, 与所述客户端建立用于传输流媒体业务 的连接通道;
所述接收客户端发送获取第一媒体呈现描述 MPD文件的请求为: 通过建立 的连接通道接收客户端发送获取第一 MPD文件的请求;
所述将包括所述第一 MPD文件的响应发送给所述客户端为: 通过建立的连 接通道将包括所述第一 MPD文件的响应发送给所述客户端;
所述向所述客户端发送第二 MPD文件为: 通过建立的连接通道向所述客户 端发送第二 MPD文件。
8、 根据权利要求 2至 7任一项所述的方法, 其特征在于, 还包括: 在发送所述第一 MPD文件或第二 MPD文件后, 断开与所述客户端建立传 输流媒体业务的连接通道。
9、 根据权利要求 8所述的方法, 其特征在于, 在断开与所述客户端的连接 通道后, 所述方法还包括: 在接收到客户端发起的建立连接请求时, 再次与所述 客户端建立传输流媒体业务的连接通道。
10、 一种流媒体业务的播放方法, 其特征在于, 包括:
在接收到服务器发送第一媒体呈现描述 MPD文件后, 接收到服务器发送的 第二媒体呈现描述 MPD文件, 其中, 所述第二 MPD文件包括: 更新后的 MPD 文件或者所述第一 MPD文件的更新信息;
利用所述更新后的 MPD文件替换第一 MPD文件,或利用所述第一 MPD文 件的更新信息更新第一 MPD文件, 得到更新后的 MPD文件;
根据所述更新后的 MPD文件构造分片请求;
从所述服务器中获取与所述分片请求对应的分片内容;
播放所述分片内容。
11、 根据权利要求 10所述的方法, 其特征在于, 在接收到服务器发送所述 第一 MPD文件之前, 所述方法还包括:
向服务器发送获取所述第一 MPD文件的请求;
接收所述服务器发送的包括所述第一 MPD文件的响应。
12、 根据权利要求 11所述的方法, 其特征在于, 在向所述服务器发送获取 所述第一 MPD文件的请求前或者请求时, 所述方法还包括: 与所述服务器建立 用于传输流媒体业务的连接通道, 所述流媒体业务包括第一 MPD 文件或第二 MPD文件。
13、 根据权利要求 11或 12所述的方法, 其特征在于, 所述向服务器发送获 取所述第一 MPD文件的请求为: 向服务器首次发送获取所述第一 MPD文件的 请求。
14、 根据权利要求 12所述的方法, 其特征在于, 所述与服务器建立用于传 输流媒体业务的连接通道, 包括:
在向服务器发送获取第一 MPD文件的请求后, 向服务器发送用于建立传输 流媒体业务的连接通道的请求;接收所述服务器发送同意建立传输流媒体业务的 连接通道的响应; 或者
在向服务器发送获取第一 MPD文件的请求中还包括建立传输流媒体业务的 连接通道的请求信息; 接收所述服务器发送的包括 MPD文件的响应中还包括同 意建立传输流媒体业务的连接通道的响应信息。
15、 根据权利要求 12所述的方法, 其特征在于, 还包括:
在接收到服务器发送的所述第一 MPD文件或第二 MPD文件后, 检测与所 述服务器建立传输流媒体业务的连接通道的状态。
16、 根据权利要求 15所述的方法, 其特征在于, 如果检测到与所述服务器 建立传输流媒体业务的连接通道的状态为断开时, 所述方法还包括: 再次发起与 服务器建立传输流媒体业务的连接通道。
17、根据权利要求 10至 16任一项所述的方法, 其特征在于, 所述连接通道 是基于第 5版超文本标记语言 HTML5的服务器发送事件 Server-sent-event的事 件流 svsnt stream连接通道。
18、 根据权利要求 17 所述的方法, 其特征在于, 还包括: 通过创建基于 HTML5的事件源 Event Source对象来打开一个事件流 event stream连接通道。
19、 根据权利要求 18所述的方法, 其特征在于, 在创建基于 HTML5的 Event Source对象时,所述对象接收所述第一 MPD文件或第二 MPD文件的统一资源定位 符 URL, 作为其构造函数的参数。
20、 根据权利要求 19所述的方法, 其特征在于, 还包括: 客户端根据不同的 Event Source对象来区分不同的媒体内容对应的 MPD文件。
21、 一种流媒体业务的发送装置, 其特征在于, 包括:
第一接收单元, 用于接收客户端发送获取第一媒体呈现描述 MPD文件的请 求;
第一发送单元, 用于将包括所述第一 MPD文件的响应发送给所述客户端; 第二发送单元, 用于在所述第一 MPD文件发生更新时, 向所述客户端发送 第二 MPD文件, 所述第二 MPD文件为更新的 MPD文件或者所述第一 MPD文 件的更新信息, 以便于客户端及时替换或更新所述第一 MPD文件。
22、 根据权利要求 21所述的装置, 其特征在于, 还包括:
第一建立单元, 用于在所述第一接收单元接收到客户端发送的获取第一 MPD文件的请求前或者请求时,与所述客户端建立传输流媒体业务的连接通道, 其中, 所述流媒体业务包括第一 MPD文件或第二 MPD文件。
23、 根据权利要求 21或 22所述的装置, 其特征在于, 所述第一接收单元, 具体用于接收客户端首次发送的获取第一媒体呈现描述 MPD文件的请求。
24、 根据权利要求 21至 23任一项所述的装置, 其特征在于, 还包括: 控制单元, 用于在第一发送单元或第二发送单元发送所述第一 MPD文件或 第二 MPD文件后, 断开与所述客户端建立传输流媒体业务的连接通道。
25、 根据权利要求 24所述的装置, 其特征在于, 还包括: 第二建立单元, 用于在所述控制单元断开与所述客户端的连接通道后, 在接 收到客户端发起的建立连接请求时,再次与所述客户端建立传输流媒体业务的连 接通道。
26、 一种流媒体业务的播放装置, 其特征在于, 包括:
第一接收单元, 用于在接收到服务器发送第一媒体呈现描述 MPD文件后, 接收到服务器发送的第二媒体呈现描述 MPD文件, 其中, 所述第二 MPD文件 为更新后的 MPD文件或者所述第一 MPD文件的更新信息;
更新单元, 用于利用所述更新后的 MPD文件替换第一 MPD文件; 或利用 所述第一 MPD的更新信息更新第一 MPD文件, 得到更新后的 MPD文件; 构造单元, 用于根据所述更新后的 MPD文件构造分片请求;
获取单元, 用于从所述服务器中获取与所述分片请求对应的分片内容; 播放单元, 用于播放所述分片内容。
27、 根据权利要求 26所述的装置, 其特征在于, 在所述第一接收单元接收 到服务器发送所述第二 MPD文件之前, 所述装置还包括:
第一发送单元, 用于向服务器发送获取所述第一 MPD文件的请求; 第二接收单元,用于接收所述服务器发送的包括所述第一 MPD文件的响应。
28、 根据权利要求 27所述的装置, 其特征在于, 还包括:
第一建立单元, 用于在第一发送单元向所述服务器发送获取所述第一 MPD 文件的请求前或者请求时, 与所述服务器建立用于传输流媒体业务的连接通道, 所述流媒体业务包括第一 MPD文件或第二 MPD文件。
29、 根据权利要求 28所述的装置, 其特征在于, 还包括:
检测单元, 用于在所述第一接收单元接收到服务器发送的所述第一 MPD文 件或第二 MPD文件后, 检测所述第一建立单元建立的用于传输流媒体业务的连 接通道的状态。
30、 根据权利要求 29所述的装置, 其特征在于, 还包括:
第二建立单元,用于在所述检测单元检测到检测所述第一建立单元建立的用 于传输流媒体业务的连接通道的状态处于断开时,再次与服务器建立用于传输流 媒体业务的连接通道。
PCT/CN2012/080219 2012-08-16 2012-08-16 一种流媒体业务的发送方法、播放方法及装置 WO2014026352A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201280035484.2A CN103748888B (zh) 2012-08-16 2012-08-16 一种流媒体业务的发送方法、播放方法及装置
PCT/CN2012/080219 WO2014026352A1 (zh) 2012-08-16 2012-08-16 一种流媒体业务的发送方法、播放方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/080219 WO2014026352A1 (zh) 2012-08-16 2012-08-16 一种流媒体业务的发送方法、播放方法及装置

Publications (1)

Publication Number Publication Date
WO2014026352A1 true WO2014026352A1 (zh) 2014-02-20

Family

ID=50101204

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/080219 WO2014026352A1 (zh) 2012-08-16 2012-08-16 一种流媒体业务的发送方法、播放方法及装置

Country Status (2)

Country Link
CN (1) CN103748888B (zh)
WO (1) WO2014026352A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017181867A1 (zh) * 2016-04-21 2017-10-26 中兴通讯股份有限公司 视频信息描述文件获取方法及内容分发服务器、机顶盒、系统

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2683630C2 (ru) * 2015-02-16 2019-03-29 Хуавэй Текнолоджиз Ко., Лтд. Способ обновления дескриптора сетевой службы nsd и устройство
CN111510789B (zh) * 2019-01-30 2021-09-21 上海哔哩哔哩科技有限公司 视频播放方法、系统、计算机设备及计算机可读存储介质
US11606592B2 (en) * 2019-10-01 2023-03-14 Tencent America LLC Playlist events for combining multiple media timelines and content-insertion in dash streaming

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101930440A (zh) * 2009-06-25 2010-12-29 李冰 一种建立互联网流式浏览器的方法
CN102111344A (zh) * 2009-12-29 2011-06-29 腾讯科技(深圳)有限公司 一种业务更新的提醒方法和装置
CN102215116A (zh) * 2010-04-02 2011-10-12 三星电子株式会社 在数字广播系统中提供时间偏移服务的方法、设备及系统
CN102238419A (zh) * 2010-04-26 2011-11-09 三星电子株式会社 播放实况内容的方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102238151B (zh) * 2010-04-27 2014-07-16 中兴通讯股份有限公司 一种基于Flash的媒体流生成系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101930440A (zh) * 2009-06-25 2010-12-29 李冰 一种建立互联网流式浏览器的方法
CN102111344A (zh) * 2009-12-29 2011-06-29 腾讯科技(深圳)有限公司 一种业务更新的提醒方法和装置
CN102215116A (zh) * 2010-04-02 2011-10-12 三星电子株式会社 在数字广播系统中提供时间偏移服务的方法、设备及系统
CN102238419A (zh) * 2010-04-26 2011-11-09 三星电子株式会社 播放实况内容的方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017181867A1 (zh) * 2016-04-21 2017-10-26 中兴通讯股份有限公司 视频信息描述文件获取方法及内容分发服务器、机顶盒、系统

Also Published As

Publication number Publication date
CN103748888A (zh) 2014-04-23
CN103748888B (zh) 2017-10-24

Similar Documents

Publication Publication Date Title
US10321199B2 (en) Streaming with optional broadcast delivery of data segments
US11477262B2 (en) Requesting multiple chunks from a network node on the basis of a single request message
US11212334B2 (en) Mechanisms to support adaptive constrained application protocol (CoAP) streaming for Internet of Things (IoT) systems
US10003999B2 (en) HTTP-based buffer status updating method and device, and buffer status processor
US20100115346A1 (en) Method for processing content and terminal thereof
JP6338709B2 (ja) ストリーミング装置とその方法、これを用いたストリーミングサービスシステム及びコンピュータ読み取り可能な記録媒体(Streaming apparatus and method thereof,streaming service system using the streaming apparatus and computer readable recording medium)
JP6774957B2 (ja) マルチメディアブロードキャストマルチキャストサービスに基づくフレキシブルブロードキャストサービスのための方法及び装置
WO2017114190A1 (zh) 一种文件上传处理方法及装置
US20190222879A1 (en) Improved Adaptive Bitrate Streaming Of Live Content with Manifest Update Push Notification or Long Poll
WO2014172893A1 (zh) 一种心跳信号的发送控制方法及装置
WO2014026352A1 (zh) 一种流媒体业务的发送方法、播放方法及装置
WO2011160553A1 (zh) 一种交互式电视中的数据同步方法及系统
JP6734291B2 (ja) 部分的セグメント用の表示
EP3175599A1 (en) Systems and methods for selective transport accelerator operation
WO2015027430A1 (zh) 服务器和文件分享方法
US9876841B2 (en) Context-aware content delivery
KR102636993B1 (ko) Http를 통한 동적 적응적 스트리밍을 위한 방법 및 장치
JP2007524167A (ja) ストリーミングサービスにおけるアセット情報の送信
CN111355979B (zh) 一种在线音频快速播放方法
US11418273B2 (en) Reception device, transmission device, and data processing method
US10820025B2 (en) Method and system of push-template and URL list for dash on full-duplex protocols
KR20100003501A (ko) 서버에 등록된 사용자 설정 정보의 이동 제어 방법 및시스템
WO2015168993A1 (zh) 一种基于内容提供商与服务提供商分离的控制方法及装置
WO2014176970A1 (zh) 一种数据同步的方法及数字媒体服务器
WO2023103546A1 (zh) 应用于无网络环境的健身视频流获取方法及系统

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: 12883045

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: 12883045

Country of ref document: EP

Kind code of ref document: A1