WO2020135562A1 - 一种组播方法、装置、设备和计算机存储介质 - Google Patents

一种组播方法、装置、设备和计算机存储介质 Download PDF

Info

Publication number
WO2020135562A1
WO2020135562A1 PCT/CN2019/128623 CN2019128623W WO2020135562A1 WO 2020135562 A1 WO2020135562 A1 WO 2020135562A1 CN 2019128623 W CN2019128623 W CN 2019128623W WO 2020135562 A1 WO2020135562 A1 WO 2020135562A1
Authority
WO
WIPO (PCT)
Prior art keywords
multicast
service
channel
media service
information
Prior art date
Application number
PCT/CN2019/128623
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 中兴通讯股份有限公司
Publication of WO2020135562A1 publication Critical patent/WO2020135562A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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
    • 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/26208Content 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 the scheduling operation being performed under constraints
    • 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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]

Definitions

  • Embodiments of the present invention relate to, but are not limited to, multicast technology, and in particular, to a multicast method, device, device, and computer storage medium, which can implement live channel multicast services in a content delivery network (Content Delivery Network, CDN) operating mode control.
  • CDN Content Delivery Network
  • the current multicast service of the CDN is usually preset multicast, that is, a multicast is created in advance for certain live broadcast channels in the CDN service system, and then the live broadcast service is provided to users.
  • the service system directly guides the user to join the multicast group.
  • This type of multicast is a continuous multicast. It is difficult for the CDN multicast system to dynamically start and stop multicast according to the user's actual playback hot spots.
  • Embodiments of the present invention provide a multicast method, device, device, and computer storage medium, which can start and stop multicast according to the user's actual hot spots.
  • An embodiment of the present invention provides a first multicast method.
  • the method includes:
  • hotspot channel information includes identification information of at least one media service whose current playback volume is not less than a predetermined playback volume
  • An embodiment of the present invention provides a second multicast method.
  • the method includes:
  • the hotspot channel information including identification information of at least one media service whose current playback volume is not less than a predetermined playback volume
  • An embodiment of the present invention provides a multicast device.
  • the device includes: a first processor and a first memory for storing a computer program that can run on the processor; wherein,
  • any one of the steps of the first multicast method described above is executed.
  • An embodiment of the present invention also provides another multicast device.
  • the device includes a second processor and a second memory for storing a computer program that can run on the processor; wherein,
  • An embodiment of the present invention also provides a multicast device.
  • the device includes: an acquisition module and a first processing module, wherein,
  • An obtaining module configured to obtain hotspot channel information, where the hotspot channel information includes identification information of at least one media service whose current playing volume is not less than the predetermined playing volume;
  • the first processing module is used to adjust the current multicast service according to the hotspot channel information.
  • An embodiment of the present invention also provides another multicast device.
  • the device includes: a generation module and a second processing module, wherein,
  • a generating module configured to generate hotspot channel information, where the hotspot channel information includes identification information of at least one media service whose current playing volume is not less than a predetermined playing volume;
  • the second processing module is used to send the hotspot channel information to the live broadcast management platform, so that the live broadcast management platform adjusts the current multicast service according to the hotspot channel information.
  • An embodiment of the present invention further provides a computer storage medium on which a computer program is stored, and when the computer program is executed by a processor, any one of the steps of the first multicast method described above is implemented.
  • An embodiment of the present invention also provides another computer storage medium on which a computer program is stored, and when the computer program is executed by a processor, any of the steps of the second multicast method described above is implemented.
  • a multicast method, device, device, and computer storage medium provided by an embodiment of the present invention obtain hotspot channel information, where the hotspot channel information includes identification information of at least one media service whose current playback volume is not less than a predetermined playback volume ; Adjust the current multicast service according to the hotspot channel information.
  • the technical solution of the embodiment of the present invention can realize on-demand dynamic multicast of live channels; that is, without preset multicast, the multicast can be dynamically started and stopped according to the real-time popularity of the channel, eliminating the need to manually set multicast The complicated operation of the channel significantly improves the ease of use.
  • hotspot channel information is generated, and the hotspot channel information includes an identifier of at least one media service whose current playback volume is not less than a predetermined playback volume Information; send the hotspot channel information to the live broadcast management platform, so that the live broadcast management platform adjusts the current multicast service according to the hotspot channel information.
  • the technical solution of the embodiment of the present invention can realize on-demand dynamic multicast of live channels; that is, without preset multicast, the multicast can be dynamically started and stopped according to the real-time popularity of the channel, eliminating the need to manually set multicast The complicated operation of the channel significantly improves the ease of use.
  • FIG. 1 is a schematic structural diagram of a composition of a media service system according to an embodiment of the present invention
  • FIG. 2 is a flowchart of a multicast method according to an embodiment of the present invention.
  • FIG. 3-1 is a schematic diagram of a process in which terminal device A requests an HLS live service in an embodiment of the present invention
  • 3-2 is a schematic diagram of the process of requesting the HLS live broadcast service by the terminal device B in the embodiment of the present invention
  • FIG. 4 is a schematic diagram of an implementation process of dynamic multicast of a single bit rate HLS channel in an embodiment of the present invention
  • FIG. 5 is a schematic diagram of a process for a terminal device A to request a DASH live service in an embodiment of the present invention
  • FIG. 6 is a schematic diagram of an implementation process of multi-rate DASH channel dynamic multicast in an embodiment of the present invention.
  • FIG. 7 is a schematic diagram of a process of requesting MSS live broadcast service by terminal device A in an embodiment of the present invention.
  • FIG. 8 is a schematic diagram of an implementation process of multi-rate MSS channel dynamic multicast in an embodiment of the present invention.
  • FIG. 9 is a schematic diagram of a process of requesting HDS live broadcast service by terminal device A in an embodiment of the present invention.
  • FIG. 10 is a schematic diagram of an implementation process of multi-rate HDS channel dynamic multicast in an embodiment of the present invention.
  • FIG. 11 is a schematic structural diagram of a multicast device according to an embodiment of the present invention.
  • FIG. 12 is a schematic structural diagram of a multicast device according to an embodiment of the present invention.
  • FIG. 13 is a schematic structural diagram of another multicast device according to an embodiment of the present invention.
  • FIG. 15 is a schematic structural diagram of another multicast device according to an embodiment of the present invention.
  • 16 is a flowchart of a multicast method provided by a second embodiment of the present disclosure.
  • FIG. 17 is a flowchart of another implementation manner of the multicast method provided by the third embodiment of the present disclosure.
  • the channels that do not actually need to be multicast may also be set up. All channels enable multicast to make multicast device resources The consumption is serious; in addition, when the channel supports multiple bit rate services, a live channel can set multiple sub-code rates. If only a part of the sub-rate is selected for multicast, on-demand multicast cannot be achieved. If all sub-codes are enabled Rate multicast will double the resource consumption of its equipment, especially its weakness.
  • an embodiment of the present invention proposes a technical solution for implementing on-demand multicast, which can be applied to many media business fields in telecommunication networks such as Internet TV and live broadcast platforms; here , Internet TV can be interactive Internet TV (IPTV) and so on.
  • IPTV Internet TV
  • the technical solutions of the embodiments of the present invention have various application scenarios.
  • they can be applied to multicast services that use streaming media technology on top (OTT, Over The The Top), including HTTP live streaming (HLS, HTTP Live Streaming) ) Technology, adaptive streaming (DASH, Dynamic Adaptive Streaming over HTTP) technology, Microsoft smooth streaming (MSS, Microsoft smoothing) technology, HTTP dynamic streaming (HDS, Http Dynamic Streaming) technology, etc.
  • HTTP live streaming HLS, HTTP Live Streaming
  • DASH Dynamic Adaptive Streaming over HTTP
  • MSS Microsoft smooth streaming
  • HDS Http Dynamic Streaming
  • HTTP Real-time streaming Protocol
  • HTTP Real Time Streaming Protocol
  • FIG. 1 is a schematic diagram of a composition structure of a media service system according to an embodiment of the present invention.
  • the system may include a CDN multicast system, a controller, and a terminal system; optional Ground, the system can also include a live broadcast source station.
  • the CDN multicast system may include a live broadcast management platform and at least one multicast device
  • the terminal system may include a terminal front-end device and at least one terminal device.
  • the CDN multicast system is responsible for transcoding the unicast live stream into a multicast stream for distribution; in the CDN multicast system, the live broadcast management platform is responsible for the creation and deletion of multicast channels, the operation and maintenance management of the multicast plan, and live broadcast at the same time
  • the management platform can periodically collect hotspot channel information from the controller, and dynamically generate a multicast plan for hotspot channels (at least one channel with a playback volume not less than a predetermined playback volume) based on the collected hotspot channel information, and deliver it to the multicast device ;
  • the live broadcast management platform synchronizes the latest channel distribution information to the controller in time to update the address information of the multicast device where the channel is located; the multicast device can receive the multicast channel creation instruction of the live broadcast management platform, From the live broadcast source station to the source unicast code stream (that is, the unicast media stream shown in Figure 1), transcoded into a multicast media stream to provide multicast streaming services to the terminal system
  • the controller can receive the heartbeat message reported by the terminal system and record and update the corresponding content locally.
  • the heartbeat message contains the device identification information, device address and device status of the terminal front-end equipment;
  • the controller can receive the channel distribution sent by the CDN multicast system Information, and record and update the corresponding content locally, the channel distribution information includes the channel identification (ID, Identifier), the address of the multicast device where the channel is located;
  • the controller has scheduling capabilities, and can receive service redirection requests initiated by terminal devices (also known as Is a channel playback request), the request carries the channel ID and the device identification information of the terminal front-end device.
  • the controller can return the redirection information to the terminal device.
  • the redirection information includes the terminal front-end device address, channel ID, and channel group Broadcasting device address; the controller can receive real-time media service playback information reported by the front-end device of the terminal.
  • the media service real-time playback information includes the IDs of the current playback channels of all terminal devices in the terminal system; the controller has the ability to count hotspot channels ,
  • the controller periodically summarizes the real-time broadcast information of media services reported by all terminal systems, calculates the hotspot channels according to the aggregated real-time broadcast information of the media services, and calculates the hotspot channel according to the set heat threshold;
  • Information collection request send the latest statistical hotspot channel information to the CDN multicast system, specifically, send the latest statistical hotspot channel information to the live broadcast management platform; exemplarily, the hotspot channel information contains the channel ID of the hotspot channel;
  • multiple controllers can be deployed in a cluster, and when the terminal device requests service, it is dispatched to the controller in a
  • the terminal system is scattered at the edge of the network; in the embodiment of the present invention, one terminal system can be set up, and multiple terminal systems can be set up; in the terminal system, the terminal device is usually a set-top box device or a mobile phone, PAD and other terminal devices that support media access and playback ,
  • the terminal device can send a service redirection request to the controller, and can also send a media service request to the terminal front-end device, and can receive the unicast code stream sent by the terminal front-end device (that is, the unicast media stream shown in FIG.
  • the terminal front-end device can be deployed as an independent home device, or can be centrally deployed with set-top box devices, user home gateways, or cell broadband access devices.
  • the terminal front-end equipment supports service proxy and caching functions.
  • the terminal system can return the source multicast media stream from the CDN multicast system or the source unicast media stream from the live broadcast source station, and then directly provide live streaming services to the terminal equipment; the terminal front-end equipment Real-time playback information of the media service currently played by the terminal device can be regularly reported to the controller, and the real-time playback information includes the ID of the current playback channel of the terminal device; in the embodiment of the present invention, the terminal system interacts with the CDN multicast system or live source media Transmission protocols include but are not limited to HLS, DASH, MSS, HDS, RTSP, RTMP, etc.
  • Live broadcast source station Supports live broadcast video services for CDN multicast systems or user terminals in unicast mode, supports video, audio and subtitle live broadcast services, supports HTTP or real-time streaming services; live broadcast source stations and CDN multicast systems Or the media interaction protocol of the terminal system includes but is not limited to HLS, DASH, MSS, HDS, RTSP, RTMP, etc.
  • FIG. 2 is a flowchart of the multicast method according to an embodiment of the present invention. As shown in FIG. 2, the process may include:
  • Step S1 The controller generates hotspot channel information, and the hotspot channel information includes identification information of at least one media service whose current playback volume is not less than a predetermined playback volume.
  • the terminal front-end device in each terminal system corresponds to one terminal device or multiple terminal devices, and the terminal front-end device in each terminal system may send corresponding terminals to the controller
  • the media service real-time playback information of the device after receiving the media service real-time playback information of each terminal device, the controller can generate hotspot channel information according to the media service real-time playback information of each terminal device.
  • the media service may include at least one of the following: a video service, an audio service, and a caption service.
  • the heat threshold can be determined first, and the heat threshold is used to indicate the path of the parallel multicast service that the CDN multicast system can support the maximum According to the media service real-time playback information of each terminal device and the heat threshold, generate hotspot channel information.
  • the predetermined playback amount is not particularly limited.
  • the predetermined playback amount may be set according to requirements, or the predetermined playback amount may be set according to the average number of playback amounts of various media services.
  • the predetermined playback volume may be a playback volume greater than the average of the current playback volume of each media service. It is also possible to sort the playing volume of various media services, and take the playing volume of the media service ranked in the tenth place as the predetermined playing volume.
  • the media service whose current playback volume is not lower than the predetermined playback volume may be referred to as a "highest current playback volume" media service.
  • the predetermined playback volume is the playback volume corresponding to the media service ranked Nth among the media services, where N is the number of parallel multicast services that the live management platform can support the most.
  • the controller can use the information of the 10 channels in the top 10 as the hotspot channel information.
  • the terminal front-end device when the terminal front-end device provides services to the terminal device, it can periodically send real-time media service playback information of the terminal device to the controller.
  • the media service real-time playback information can include the ID of the current playback channel of the terminal device; before the controller receives the terminal After the real-time media service playback information of the terminal device sent by the device is set, the corresponding content is recorded and updated locally; the controller can periodically summarize the real-time media service playback information reported by all terminal front-end devices, and calculate the hotspot channel according to the set heat threshold information.
  • each media service corresponds to a channel
  • the real-time playback information of the media service includes the identification information of the currently playing channel, and accordingly, the identification information of the media service is the identification information of the corresponding channel.
  • each media service may also correspond to a code rate (that is, each media service corresponds to a channel and a code rate at the same time), and the real-time playback information of the media service also includes the channel code rate of the currently playing media service (ie, The real-time playing information of the media service also includes the identification information of the channel of the currently playing media service and the channel code rate of the currently playing media service); accordingly, the identification information of the media service may also include the corresponding code rate (ie, the media service’s The identification information also includes the identification information of the corresponding channel and the corresponding code rate).
  • Step S2 The controller sends hotspot channel information to the live broadcast management platform.
  • the controller can send the latest hotspot channel information to the live broadcast management platform; in an example, the live broadcast management platform can generate a hotspot channel information collection request and send the hotspot channel information collection request to the controller.
  • the channel information collection request triggers the sending of hotspot channel information, that is, sending the latest hotspot channel information to the live broadcast management platform; in another example, the controller can actively send the latest hotspot channel information to the live broadcast according to a specific period
  • the management platform that is to say, the live broadcast management platform can periodically receive the latest hotspot channel information.
  • Step S3 the live broadcast management platform adjusts the current multicast service according to the hotspot channel information.
  • the live broadcast management platform can automatically generate a multicast plan for the hotspot channel based on the dynamic multicast algorithm, that is, the hotspot multicast plan, where the key information of the multicast plan is the channel ID , Multicast start time, multicast end time, multicast address and port.
  • the multicast plan for the channel is automatically generated.
  • the duration of the multicast plan can be 1 hour by default.
  • the live broadcast management platform can send a multicast creation request to the multicast device; the multicast device can create the multicast service according to the received multicast creation request.
  • the multicast device after receiving the multicast creation request issued by the live broadcast management platform, the multicast device performs the multicast creation task and can return the source unicast code stream from the live broadcast source station, transcode it into a multicast media stream and send it to the specified Multicast address and port, the multicast service starts.
  • the multicast end time of the media service that is performing multicast is postponed; that is, if the hotspot channel has generated a multicast plan, it is determined whether the current multicast plan is nearing the end, if it is nearing the end Modify the plan and extend the end time of multicast to achieve continuous multicast of the channel.
  • the live broadcast management platform may send a multicast delay request to the multicast device, and the multicast device may respond to the received multicast delay request To delay the end of multicast.
  • the multicast service corresponding to the low-heat media service is deleted; the above-mentioned low-heat media service does not belong to the at least one type of media whose current playback volume is not less than the predetermined playback volume business.
  • the live broadcast management platform may send a multicast deletion request to the multicast device; the multicast device may delete the multicast service according to the received multicast deletion request.
  • the multicast device after receiving the multicast deletion request issued by the live broadcast management platform, the multicast device performs the multicast deletion task, stops pulling the stream to the live broadcast source station, and sends the multicast.
  • the live broadcast management platform can issue a multicast service creation request to the multicast device when the multicast start time of each multicast service arrives; when the multicast end time of each multicast service arrives, download Send the multicast service deletion request to the multicast device; in specific implementation, the live broadcast management platform can regularly scan the hotspot multicast plan, and when the multicast start time in the multicast plan arrives, the multicast creation request is issued to the multicast device; When the end time of multicast arrives, a multicast delete request is issued to the multicast device.
  • the technical solutions of the embodiments of the present invention can realize on-demand dynamic multicast of live broadcast channels; when the number of channel users providing unicast services is large, that is, the popularity is high, the multicast is enabled for the corresponding channel to let Users join the multicast group to obtain channel services, which can greatly reduce the network bandwidth and equipment resource overhead of the service side and reduce the cost of service operators.
  • the corresponding The channel can be closed for multicast, which can reduce the consumption of multicast device resources, which can effectively reduce the consumption of CDN multicast system device resources; in addition, the embodiment of the present invention does not require preset multicast, and can dynamically start and stop according to the real-time heat of the channel Multicast eliminates the complicated operation of manually setting up multicast channels, and significantly improves ease of use.
  • the corresponding channel Create a corresponding multicast service for the second type of media services at all bit rates.
  • the first type of media service is one of the video media service and the audio media service
  • the second type of media service is the other of the video service and audio media service.
  • the first type of media service is a video media service
  • the second type of media service is an audio media service
  • the first type of media service is an audio media service
  • the second type of media service is a video media service.
  • the video media service corresponding to one or more video bit rates of channel A belongs to a high-heat media service (belongs to at least one media service with a current playback volume not less than a predetermined playback volume), all audio bit rates for channel A All audio media services start multicast.
  • the low-heat media service when the first type media service of all code rates of any channel belongs to the low-heat media service, for the second type media service of all code rates of the corresponding channel, the corresponding Multicast service; wherein, the low-heat media service does not belong to the at least one media service whose current playback volume is not lower than the predetermined playback volume.
  • the audio media services for all the audio bit rates of channel B will stop multicasting.
  • the live broadcast management platform when creating or deleting a multicast service, can send channel distribution information corresponding to the current multicast service to the controller; the controller can update the corresponding channel distribution information of the current multicast service according to the received channel distribution information Channel distribution information.
  • the live broadcast management platform will send the channel distribution information of the current CDN multicast system to the controller.
  • the channel distribution information may include channel identification information and the multicast device address where the channel is located
  • the controller After receiving the channel distribution information sent by the live broadcast management platform, the controller records and updates the channel ID and the address of the multicast device where the channel is located locally.
  • the controller can also implement heartbeat message processing; specifically, the terminal front-end device sends a heartbeat message to the controller, and the heartbeat message includes device identification information, device address, and device status of the terminal front-end device; the controller You can update the device identification information, device address, and device status of the front-end device of the terminal based on the received heartbeat message. For example, after the terminal front-end equipment of the terminal system is turned on, the terminal front-end equipment can periodically send heartbeat messages to the controller, and after receiving the heartbeat message sent by the terminal front-end equipment, the controller locally records and updates the equipment of the terminal front-end equipment Identification information, device address and device status.
  • the controller can also implement media service scheduling.
  • the terminal device initiates a service redirection request to the controller.
  • the service redirection request may carry the channel ID and the device identification of the front-end device of the terminal.
  • the controller When the controller receives the service redirection request sent by the terminal device, it can send the service re-targeting to the terminal device according to the channel distribution information corresponding to the current multicast service, the device identification information of the terminal front-end device, the device address and the device status Redirect information for directed requests.
  • the controller can try to find the address of the multicast device or live broadcast source station where the channel is located in the local record; at the same time, the controller
  • the identification information of the terminal front-end device in the directional request is obtained from the local record of the device status of the terminal front-end device to which the requesting terminal device belongs; if the device status of the terminal front-end device is normal, the controller redirects the terminal device To the front-end device of the terminal, the redirection information returned contains the address, channel ID, multicast device address or live broadcast source address of the terminal front-end device to which the current terminal device belongs; if the device status of the front-end device is abnormal or The device status cannot be obtained and the controller denies service.
  • the controller can be implemented by a processor combined with a memory.
  • the processor can be an application specific integrated circuit (ASIC, Application Integrated Circuit), digital signal processor (DSP, Digital Signal Processor), digital signal processing device (DSPD, Digital Signaling, Programmable Logic Device (PLD, Programmable Logic Device), Field Programmable Gate Array (FPGA, Field Programmable Gate) Array, Central Processing Unit (CPU, Central Processing Unit), Controller, Microcontroller At least one of a processor and a microprocessor.
  • ASIC application specific integrated circuit
  • DSP Digital Signal Processor
  • DSPD Digital Signal Processing device
  • PLD Programmable Logic Device
  • FPGA Field Programmable Gate Array
  • CPU Central Processing Unit
  • Controller Microcontroller At least one of a processor and a microprocessor.
  • the above memory may be volatile memory (volatile memory), such as random access memory (RAM, random access memory); or non-volatile memory (non-volatile memory), such as read-only memory (ROM, Read-Only Memory) ), flash memory (flash memory), hard disk (HDD, Hard Disk Drive) or solid state drive (SSD, Solid-State Drive); or a combination of the above types of memory, and provide instructions and data to the processor.
  • volatile memory such as random access memory (RAM, random access memory
  • non-volatile memory such as read-only memory (ROM, Read-Only Memory)
  • flash memory flash memory
  • HDD Hard Disk Drive
  • SSD Solid-State Drive
  • the terminal device may also request a media service.
  • the following describes the process of the terminal device requesting a media service.
  • the terminal device initiates a media service request to the terminal front-end device.
  • a typical media service request may carry the channel ID, the address of the multicast device where the channel is located, or the address of the live broadcast source station.
  • the terminal front-end device determines whether the corresponding channel provides multicast service based on whether the media service request of the terminal device contains the address information of the multicast device where the channel is located; if the address information of the multicast device where the channel is located is not included, the terminal front-end device directly Obtain the unicast service from the live broadcast source station; if it contains the address of the multicast device where the channel is located, initiate a service request to the multicast device where the channel is located, and the service request message carries the channel ID.
  • the multicast device receives the service request of the terminal front-end device and returns the multicast information corresponding to the channel to the terminal front-end device.
  • the multicast information includes the multicast address and port corresponding to the channel.
  • the front-end equipment of the terminal After receiving the multicast information of the channel, the front-end equipment of the terminal joins the multicast group through the multicast address and port in the multicast information, continuously receives the multicast media stream of the channel, and transcodes it into a unicast stream pair in real time Terminal equipment service.
  • the live broadcast source station Upon receiving the service request of the terminal front-end equipment, the live broadcast source station directly provides the unicast media streaming service to the terminal front-end equipment. After the terminal front-end device obtains the unicast media stream from the live broadcast source station, it directly returns the media stream to the terminal device.
  • the multicast method of the second embodiment of the present invention may include the following steps:
  • Step A1 Obtain hotspot channel information, where the hotspot channel information includes identification information of at least one media service whose current playback volume is not less than a predetermined playback volume;
  • Step A2 Adjust the current multicast service according to the hotspot channel information.
  • each media service corresponds to a channel
  • the identification information of the media service is identification information of the corresponding channel
  • each media service corresponds to a channel and a code rate
  • the identification information of the media service includes: identification information of the corresponding channel and a corresponding code rate
  • the hotspot channel information is obtained based on real-time playback information of media services of each terminal device.
  • the obtaining hotspot channel information includes:
  • adjusting the current multicast service according to the hotspot channel information includes at least one of the following:
  • the at least one media service whose current playback volume is not less than the predetermined playback volume there is a media service that is performing multicast, and the time difference between the current time and the multicast end time of the media service that is performing multicast is less than Set the duration, postpone the multicast end time of the media service that is performing multicast;
  • the multicast service corresponding to the low-heat media service is deleted; the low-heat media service does not belong to at least the current playback volume of at least the predetermined playback volume.
  • the creation of the corresponding multicast service includes:
  • the delaying the multicast end time of the media service that is performing multicast includes:
  • the deleting the multicast service corresponding to the low-heat media service includes:
  • the method further includes:
  • the multicast service creation request is delivered to the multicast device; when the multicast end time of each multicast service arrives, the multicast service deletion request is delivered to the multicast device.
  • the method further includes:
  • the first type media service of at least one code rate of any channel belongs to the at least one media service whose current playback volume is not less than the predetermined playback volume
  • the first type of media service is one of a video media service and an audio media service
  • the second type of media service is the other of a video service and an audio media service.
  • the method further includes:
  • the corresponding multicast service is deleted for the second type media service of all code rates of the corresponding channel; wherein, the low-heat media service does not At least one media service that belongs to the current playback volume is not less than a predetermined playback volume; the first type of media service is one of a video media service and an audio media service, and the second type of media service is a video service and Another one in the audio media business.
  • the method further includes: when creating or deleting a multicast service, sending channel distribution information corresponding to the current multicast service to the controller, so that the controller updates the channel distribution information corresponding to the current multicast service.
  • the multicast method of the third embodiment of the present invention may include the following steps:
  • Step B1 Generate hotspot channel information, where the hotspot channel information includes identification information of at least one media service whose current playback volume is not less than a predetermined playback volume;
  • Step B2 Send the hotspot channel information to the live broadcast management platform, so that the live broadcast management platform adjusts the current multicast service according to the hotspot channel information.
  • the generating hotspot channel information includes:
  • the generating hotspot channel information according to the real-time playback information of the media services of the terminal devices includes:
  • the heat threshold is used to indicate the maximum number of parallel multicast services that the live management platform can support; based on the real-time media service playback information of each terminal device and the heat threshold, the Hotspot channel information.
  • the real-time playing information of the media service includes: identification information of the currently playing channel.
  • the real-time playing information of the media service further includes: the bit rate of the currently playing media service.
  • the method further includes: receiving channel distribution information corresponding to the current multicast service sent by the live broadcast management platform when creating or deleting a multicast service; updating the channel corresponding to the current multicast service according to the received channel distribution information Distribution information
  • the method further includes receiving a heartbeat message sent by the terminal front-end device, where the heartbeat message includes device identification information, device address, and device status of the terminal front-end device; and updating the terminal front-end device according to the heartbeat message Device identification information, device address, and device status.
  • the method further includes:
  • the single bit rate channel live broadcast service of the HLS protocol is taken as an example to illustrate how to implement the present invention.
  • a CDN multicast system a live broadcast source station using the HLS protocol to transmit media streams, a controller, and a terminal system used by 100 home users
  • the CDN multicast system consists of a live broadcast management platform It consists of 3 multicast devices, each home has 2 terminal devices, and a home gateway with integrated terminal front-end equipment is deployed, a total of 200 terminal devices and 100 home gateways (that is, the above terminal front-end equipment ), the identification information of the home gateway device is agent001 to agent100 respectively
  • the multicast device and the live broadcast source station use the HLS protocol to interact, the CDN multicast system provides multicast service to the terminal system, and the live broadcast source station provides unicast service to the terminal system; live broadcast source The station has 50 channels with channel IDs hlscid-01 to hlscid-50.
  • the controller heartbeat message processing process may include:
  • Step 101 After the terminal front-end device is turned on, the terminal front-end device periodically sends a heartbeat message to the controller, and the heartbeat message carries the device identification information, device address, and device status of the terminal front-end device.
  • the content of the heartbeat message is as follows:
  • Step 102 After receiving the heartbeat message sent by the terminal front-end device, the controller locally records and updates the device identification information, device address, and device status of the terminal front-end device.
  • the controller channel distribution information processing process may include:
  • Step 201 When a multicast channel is created or updated in the CDN multicast system, the live broadcast management platform sends channel distribution information of the current CDN multicast system to the controller.
  • the channel distribution information includes channel identification information and the address of the multicast device where the channel is located .
  • the channels hlscid-01 and hlscid-03 have established multicast channels, and the content of the channel distribution information is as follows:
  • Step 202 After receiving the channel distribution information sent by the live broadcast management platform, the controller locally records and updates the channel ID and the address of the multicast device where the channel is located.
  • FIG. 3-1 is a schematic diagram of a process in which terminal device A requests an HLS live service in an embodiment of the present invention. As shown in FIG. 3-1, the process may include:
  • Step 301 The terminal device A of the home user 001 initiates an HTTP playback request of the channel hlscid-01 (that is, the hlscid-01 channel playback request in FIG. 3-1) to the controller.
  • the URL in the playback request carries the channel identification information hlscid-01 and the device identification agent001 of the terminal front-end device to which it belongs; in this embodiment, the content of the playback request sent by the terminal device A to the controller is as follows:
  • Step 302 The controller receives the hlscid-01 channel playback request of the terminal device A, and obtains the multicast device address where the channel hlscid-01 is located in the local record; at the same time, it obtains the device status of the terminal front-end device agent001 in the local record; in front of the terminal The device device001 of the device is in a normal state, and the controller redirects the playback request of the terminal device A of the home user 001 to the terminal front-end device agent001.
  • the returned redirection information includes the address of the terminal front-end device agent001, channel identification information, The address of the multicast device where the channel hlscid-01 is located.
  • the content of the redirect information returned by the controller to terminal device A is as follows:
  • Step 303 The terminal device A re-initiates an HTTP playback request for the channel hlscid-01 to the terminal front-end device agent001 (that is, re-requests hlscid-01 playback in FIG. 3-1), and the URL carries channel identification information hlscid- in the playback request 01.
  • the address of the multicast device where the channel hlscid-01 is located is 10.47.25.51.
  • Step 304 After receiving the playback request from terminal device A, terminal front-end device agent001 initiates a multicast information request for channel hlscid-01 (that is, channel group hlscid-01 in Figure 3-1) to the multicast device at address 10.47.25.51 Broadcast information request).
  • hlscid-01 that is, channel group hlscid-01 in Figure 3-1
  • Step 305 The multicast device with the address 10.47.25.51 returns the multicast information of the channel hlscid-01 to the terminal front-end device agent001.
  • Step 306 The terminal front-end device agent001 analyzes the multicast information of the channel hlscid-01, and then joins the multicast group through the multicast address and port in the multicast information, receives the multicast stream of the channel hlscid-01, and transfers the media list information
  • the file hlscid-01.m3u8 and the ts file are cached locally.
  • Step 307 The terminal front-end device agent001 returns the media list information file hlscid-01.m3u8 of hlscid-01 to the terminal device A.
  • the content of hlscid-01.m3u8 is as follows:
  • Step 308 The terminal device A parses the hlscid-01.m3u8 file, and then initiates a download request for the media file hlscid-01_01.ts to the terminal front-end device agent001.
  • Step 309 After receiving the hlscid-01_01.ts download request from terminal device A, terminal front-end device agent001 reads hlscid-01_01.ts from the local cache and returns it to terminal device A.
  • the terminal device A receives the hlscid-01_01.ts, downloads the ts file behind the media list in sequence, and periodically downloads the media list information file hlscid-01.m3u8 to obtain the ts list information update, and thus loops to realize continuous playback of media content .
  • the terminal device A requests the media service.
  • FIG. 3-2 is a schematic diagram of a process in which terminal device B requests an HLS live service in an embodiment of the present invention. As shown in FIG. 3-2, the process may include:
  • Step 311 The terminal device B of the home user 001 initiates an HTTP playback request of the channel hlscid-02 (that is, the hlscid-02 channel playback request in FIG. 3-2) to the controller, and the URL in the playback request carries the channel identification information hlscid-02 and The device identifier agent001 of the front-end device of the terminal.
  • the content of the service request sent by terminal device B to the controller is as follows:
  • Step 312 The controller receives the playback request of the channel hlscid-02 of the terminal device B. Since the family user 001 is the same as the terminal device A and the terminal front-end device is also agent001, the controller redirects the playback request of the terminal device B to the front of the terminal Set the device agent001. Since the channel hlscid-02 is not enabled for multicast, you need to go to the live broadcast source station to obtain the unicast service. Therefore, the redirect information does not include the multicast device address where the channel is located, but the live broadcast source station address.
  • the orientation information includes the address of the terminal front-end device agent001, channel identification information, and the address of the live broadcast source station.
  • the content of the redirection information returned by the controller to terminal device B is as follows:
  • Step 313 The terminal device B re-initiates the HTTP playback request of the channel hlscid-02 to the terminal front-end device agent001 (that is, re-requests hlscid-02 playback in FIG. 3-2), and the URL carries the channel identification information hlscid- in the playback request 02.
  • Step 314 After receiving the play request of the terminal device B, the terminal front-end device agent001 initiates an HTTP unicast download request of the channel hlscid-02 to the live broadcast source station with the address 10.10.10.01 (that is, hlscid-02 in FIG. 3-2 Channel unicast information request).
  • Step 315 The live source station returns the media segment list information file of channel hlscid-02 hlscid-02.m3u8.
  • the content of hlscid-02.m3u8 is as follows:
  • Step 316 After the media segment list information file hlscid-02.m3u8 of the channel hlscid-02 acquired by the terminal front-end device agent001, the hlscid-02.m3u8 file is returned to the terminal device B.
  • Step 317 The terminal device B parses the hlscid-02.m3u8 file, and then initiates a download request for the media file hlscid-02_01.ts to the terminal front-end device agent001;
  • Step 318 The terminal front-end device agent001 receives the download request of the terminal device B, and directly initiates a download request of the media file hlscid-02_01.ts to the live broadcast source station.
  • Step 319 The live broadcast source station returns the media file hlscid-02_01.ts to the terminal front-end device agent001.
  • Step 320 After the terminal front-end device agent001 obtains the media file hlscid-02_01.ts, it returns the media file hlscid-02_01.ts to the terminal device B.
  • the terminal device B receives the file hlscid-02_01.ts, successively downloads the ts file behind the media list, and periodically downloads the media list information file hlscid-02.m3u8 to obtain the ts list information update. Play.
  • the terminal device B requests the media service.
  • FIG. 4 is a schematic diagram of an implementation process of single-rate HLS channel dynamic multicast in an embodiment of the present invention. As shown in FIG. 4, the process may include:
  • Step 401 The terminal front-end device agent001 and the terminal front-end device agent002 regularly report the real-time media service playback information of the corresponding terminal device to the controller.
  • the real-time playback information includes the channel ID of the channel being played by terminal device A and terminal device B.
  • the content of the media service real-time playback information of the two terminal devices of the terminal system 001 is as follows:
  • Step 402 After receiving the real-time playing information of the media service of the terminal device sent by the terminal front-end device, the controller records and updates locally.
  • Step 403 The controller periodically aggregates real-time playback information of media services reported by all terminal front-end devices, counts the number of terminal devices corresponding to each channel, and sorts according to the number of terminal devices corresponding to each channel.
  • the sorting is as follows:
  • Hotspot channels need to be set to calculate the heat threshold; the heat threshold setting depends on the multicast capability of the CDN multicast system.
  • the CDN multicast system has 3 multicast devices, each of which is the largest Supports 4 multicast channels, the CDN multicast system supports a maximum of 12 multicast channels, the heat threshold is set to 12, and the top 12 channels in the number of playback terminal devices are hotspot channels; the controller sets the 12 hotspot channels Channel identification information, etc. are recorded locally.
  • Step 404 The live broadcast management platform periodically sends hotspot channel information collection requests to the controller.
  • Step 405 The controller reads the locally stored data and returns the hotspot channel information calculated in step 403 to the CDN multicast system.
  • the content of the hotspot channel information is as follows:
  • controller hotspot channel statistics are implemented.
  • Step 406 The live broadcast management platform receives the hotspot channel information returned by the controller, and automatically generates a multicast plan for the channel hlscid-05 according to the dynamic multicast algorithm.
  • the channel hlscid-05 does not start multicast, and then generates a group of the channel Multicast plan, the start time of the multicast plan is 1 minute, the duration is 1 hour, the multicast address is 225.0.0.1, and the multicast port is 10010.
  • Step 407 The live broadcast management platform regularly scans the hotspot multicast plan. When the multicast start time in the multicast plan arrives, it sends a multicast creation request for the channel hlscid-05 to the multicast device.
  • Step 408 After receiving the multicast creation request issued by the live broadcast management platform, the multicast device executes the multicast creation task with the channel identification information of hlscid-05, and returns the unicast stream of the source channel hlscid-05 from the live broadcast source station , Transcoded into a multicast stream and sent to the multicast address 225.0.0.1, the sending port is 10010, the multicast service starts.
  • the multicast process is started based on the hotspot channel.
  • the multicast can be stopped based on the hotspot channel.
  • the process of stopping multicast based on the hotspot channel can include:
  • the live broadcast management platform regularly scans the multicast plan of channel hlscid-05. If it is a hotspot channel, if the channel hlscid-05 is still a hotspot channel near the end time, the end time of the multicast plan will be extended by 1 hour. If the channel hlscid-05 is not already For hotspot channels, the end time of the multicast plan is not extended. When the end time of the multicast plan is reached, the multicast deletion request of the channel hlscid-05 is delivered to the multicast device.
  • the multicast device After receiving the multicast delete request issued by the live broadcast management platform, the multicast device executes the multicast delete task with the channel identification information of hlscid-05, and does not go to the live broadcast source station to pull the unicast stream, and the multicast service ends.
  • the DASH protocol service is provided to the user terminal as an example to illustrate how to implement the present invention.
  • a CDN multicast system a live broadcast source station using DASH protocol to transmit media streams, a controller, and a terminal system used by 100 home users
  • the CDN multicast system consists of a live broadcast management platform Composed of 3 multicast devices, each family has 2 terminal devices (terminals using chrome browser), and a home gateway with integrated terminal front-end equipment is deployed, a total of 200 terminal devices and 100 families Gateway (namely the above terminal front-end equipment), home gateway equipment identification information are agent001 to agent100 respectively
  • the multicast device and the live broadcast source station use DASH protocol to interact, the CDN multicast system provides multicast services to the terminal system, and the live broadcast source station to the terminal
  • the system provides unicast service;
  • the live broadcast source station has 10 channels, the channel IDs are dashcid-01 to dashcid-10, the media content of each channel is video and audio dual track, and the video track has 3 seed code rates, respectively 1024000 , 2048000 and 3072000, the audio track has two kinds of code rates, respectively
  • the controller heartbeat message processing process may include:
  • Step 501 After the terminal front-end device is turned on, the terminal front-end device periodically sends a heartbeat message to the controller, and the heartbeat message carries the device identification information, device address, and device status of the terminal front-end device.
  • the content of the heartbeat message is as follows:
  • Step 502 After receiving the heartbeat message sent by the terminal front-end device, the controller locally records and updates the device identification information, device address, and device status of the terminal front-end device.
  • Step 601 When a multicast channel is created or updated in the CDN multicast system, the live broadcast management platform sends channel distribution information of the current CDN multicast system to the controller.
  • the channel distribution information includes channel identification information and the multicast device address where the channel is located .
  • certain sub-code rates of channels dashcid-01 and dashcid-03 have created multicast channels, and the content of the channel distribution information is as follows:
  • Step 602 After receiving the channel distribution information sent by the live broadcast management platform, the controller locally records and updates the channel ID and the address of the multicast device where the channel is located.
  • FIG. 5 is a schematic diagram of a process in which terminal device A requests a DASH live service in an embodiment of the present invention. As shown in FIG. 5, the process may include:
  • Step 701 The terminal device A of the home user 001 initiates an HTTP playback request of the channel dashcid-01 (that is, the channel playback request in FIG. 5) to the controller, and the URL in the playback request carries the channel identification information dashcid-01 and the front-end device of the terminal
  • the device identifier is agent001.
  • the terminal device sends a playback request to the controller as follows:
  • Step 702 The controller obtains the multicast device address where the channel dashcid-01 is located in the local record; at the same time, it obtains the device state of the terminal front-end device agent001 in the local record; the device state of the terminal front-end device agent001 is normal, and the controller will
  • the terminal device A of the home user 001 is redirected to the terminal front-end device agent001, and the returned redirection information includes the address of the terminal front-end device agent001, channel identification information, and the address of the multicast device where the channel dashcid-01 is located.
  • the content of the redirection information returned by the controller to the terminal device is as follows:
  • Step 703 The terminal device A re-initiates the HTTP play request of the channel dashcid-01 (that is, the replay request service in FIG. 5) to the terminal front-end device agent001, in which the URL carries the channel identification information dashcid-01 and the channel dashcid
  • the address of the multicast device where -01 is located is 10.47.25.51.
  • Step 704 After receiving the playback request from the terminal device A, the terminal front-end device agent001 initiates a download request of the bitrate list manifest.mpd file of the HTTP channel dashcid-01 to the multicast device at the address 10.47.25.51.
  • Step 705 The multicast device returns the manifest.mpd file and the multicast information, and performs local recording and updating in the terminal device.
  • Step 706 After obtaining the manifest.mpd file of the bit rate list of the channel dashcid-01 obtained by the terminal front-end device agent001, the manifest.mpd file is returned to the terminal device A.
  • Step 707 The terminal device A selects a video subcode rate of 2048000 and an audio subcode rate of 160000 according to its own strategy, and initiates a service request of the video subcode rate of 2048000 and the audio subcode rate of 160000 to the terminal front-end device agent001.
  • Step 708 The terminal front-end device agent001 obtains the multicast information of the video subcode rate of 2048000 from the local record, and then joins the multicast group through the multicast address and port in the multicast information, and receives the multicast stream of the video subcode rate of 2048000 , And then transcoded into a unicast stream to serve terminal A; if the local record does not find the multicast information of the video subcode rate of 2048000, then directly initiate a service request of the video subcode rate of 2048000 to the live broadcast source station, from the live broadcast source station Back to the source unicast media stream (not shown in FIG. 5); in this step, the processing flow of the audio subcode rate of 160000 is the same as the video subcode rate of 2048000, so it will not be described in detail.
  • Step 709 After the front-end equipment agent001 obtains the media stream, it returns the media stream to the terminal equipment A; if the terminal-front equipment agent001 has a buffer of 2048000 for the video subcode rate of the channel dashcid-01 and 160000 for the audio subcode rate, Then directly read the local cache to provide services to terminal device A.
  • the terminal device A requests the media service.
  • FIG. 6 is a schematic diagram of an implementation process of multi-rate DASH channel dynamic multicast in an embodiment of the present invention. As shown in FIG. 6, the process may include:
  • Step 801 The terminal front-end device agent001 and the terminal front-end device agent002 regularly report the real-time media service playback information of the corresponding terminal device to the controller.
  • the real-time playback information includes the channel identification information of the channel being played by terminal device A and terminal device B and Video bit rate.
  • the content of the media service real-time playback information of the two terminal devices of the terminal system 001 is as follows:
  • Step 802 The controller records and updates locally the media service real-time playback information of the terminal device sent by the terminal front-end device.
  • Step 803 The controller periodically aggregates the real-time playback information of media services reported by all terminal front-end devices, counts the number of terminal devices corresponding to each video subcode rate of each channel, and performs according to the number of terminal devices corresponding to each video subcode rate of the channel Sort.
  • the sorting is as follows:
  • the hot spot video bit rate is calculated according to the set heat threshold.
  • the setting of the heat threshold depends on the multicast capability of the CDN multicast system. In this embodiment, there are 3 multicast devices in the CDN multicast system, and each multicast device supports a maximum of 4 multicast channels. For 12 multicast channels, the heat threshold is set to 12, and the top 12 channel video subcode rates of terminal devices are the hotspot video code rate; the controller sets the channel identification information and code rate value of the 12 hotspot video code rates Wait to record to the local.
  • Step 804 The live broadcast management platform periodically sends a hot video rate information collection request to the controller.
  • Step 805 The controller reads the locally stored data and returns the hot spot video rate information calculated in step 803 to the CDN multicast system.
  • the content of the hot spot video rate information is as follows:
  • controller hotspot channel statistics is implemented.
  • Step 806 The live broadcast management platform receives the hotspot video bit rate information returned by the controller, and automatically generates a video subcode rate of channel dashcid-05 of 2048000 and a multicast plan of other hotspot video bit rates according to the dynamic multicast algorithm.
  • the channel If the sub-code rate of dashcid-05 is 2048000 and the multicast is not started, a multicast plan with this code rate is generated.
  • the start time of the multicast plan is 1 minute, the duration is 1 hour, the multicast address is 225.0.0.1, and the multicast port is 10010; When one or more video bitrates in a channel become hotspot bitrates, then all audio bitrates of the channel will start multicasting.
  • the audio bitrate stops multicasting, and the channel dashcid -05 Video rate 2048000 After starting multicast, the audio rate 160000 and 320,000 also generate a multicast plan at the same time, the start and end times of the multicast are the same as the video rate, and the multicast address and port need to be allocated separately.
  • Step 807 The live broadcast management platform regularly scans the hotspot multicast plan. When the start time of the multicast in the multicast plan arrives, a multicast creation request for the channel video subcode rate of 2048000 and the audio subcode rate of 160000 and 320,000 is delivered to the multicast equipment.
  • Step 808 After receiving the multicast creation request issued by the live broadcast management platform, the multicast device executes the multicast creation tasks of the video subcode rate 2048000 and the audio subcode rate 160000 and 320,000 with the channel identification information of dashcid-05.
  • the live broadcast source station returns to the source video subcode rate of 2048000, audio subcode rate of 160000 and 320,000 unicast code stream, transcoded into a multicast stream and sent to the multicast address and port corresponding to each code rate, multicast service starts.
  • the multicast process based on the hotspot channel is implemented.
  • the MSS protocol service is provided to the user terminal as an example to illustrate how to implement the present invention.
  • a CDN multicast system a live broadcast source station using the MSS protocol to transmit media streams, a controller, and a terminal system used by 100 home users
  • the CDN multicast system consists of a live broadcast management platform Composed of 3 multicast devices, each family has 2 terminal devices (terminals using IE browser), and a home gateway with integrated terminal front-end equipment is deployed, a total of 200 terminal devices and 100 families Gateway (that is, the terminal front-end equipment), the identification information of the home gateway device is agent001 to agent100
  • the multicast device interacts with the live broadcast source station using the MSS protocol
  • the CDN multicast system provides multicast services to the terminal system, and the live broadcast source station to the terminal
  • the system provides unicast service
  • the live broadcast source station has 10 channels, the channel IDs are msscid-01 to msscid-10, the media content of each channel is video and audio dual track, and the video track has 3 seed code rates, respectively 1024000 , 2048000 and 3072000, the
  • Step 901 After the terminal front-end device is turned on, the terminal front-end device periodically sends a heartbeat message to the controller, and the heartbeat message carries the device identification information, device address, and device status of the terminal front-end device.
  • the content of the heartbeat message is as follows:
  • Step 902 After receiving the heartbeat message sent by the terminal front-end device, the controller locally records and updates the device identification information, device address, and device status of the terminal front-end device.
  • Step 1001 When a multicast channel is created or updated in the CDN multicast system, the live broadcast management platform sends channel distribution information of the current CDN multicast system to the controller.
  • the channel distribution information includes channel identification information and the multicast device address where the channel is located.
  • certain sub-code rates of channels msscid-01 and msscid-03 have created multicast channels, and the content of channel distribution information is as follows:
  • Step 1002 After receiving the channel distribution information sent by the live broadcast management platform, the controller locally records and updates the channel ID and the address of the multicast device where the channel is located;
  • FIG. 7 is a schematic diagram of a process in which terminal device A requests an MSS live broadcast service in an embodiment of the present invention. As shown in FIG. 7, the process may include:
  • Step 1101 The terminal device A of the home user 001 initiates an HTTP playback request of the channel msscid-01 (that is, the channel playback request in FIG. 7) to the controller, and the URL in the playback request carries the channel identification information msscid-01 and the front-end device of the terminal
  • the device identifier is agent001.
  • the terminal device sends a playback request to the controller as follows:
  • Step 1102 The controller obtains the address of the multicast device where the channel msscid-01 is located in the local record; at the same time, it obtains the device status of the terminal front-end device agent001 in the local record; the device status of the terminal front-end device agent001 is normal, and the controller will
  • the terminal device A of the home user 001 redirects to the terminal front-end device agent001, and the returned redirection information includes the address of the terminal front-end device agent001, channel identification information, and the address of the multicast device where the channel msscid-01 is located.
  • the content of the redirection information returned by the controller to the terminal device is as follows:
  • Step 1103 The terminal device A re-initiates the HTTP playback request of the channel msscid-01 (that is, the re-request playback service in FIG. 7) to the terminal front-end device agent001, and the URL carries the channel identification information dashcid-01 and the channel msscid in the playback request
  • the address of the multicast device where -01 is located is 10.47.25.51.
  • Step 1104 After receiving the play request of the terminal device A, the terminal front-end device agent001 initiates a download request for the manifest file of the bit rate list of the HTTP channel msscid-01 to the multicast device at the address 10.47.25.51.
  • Step 1105 The multicast device returns the manifest file and the multicast information, and records and updates locally in the terminal device.
  • Step 1106 After the manifest file of the bit rate list of the channel msscid-01 acquired by the terminal front-end device agent001, the manifest file is returned to the terminal device A.
  • Step 1107 The terminal device A selects a video subcode rate of 2048000 and an audio subcode rate of 160000 according to its own strategy, and initiates a service request of the video subcode rate of 2048000 and the audio subcode rate of 160000 to the terminal front-end device agent001.
  • Step 1108 The terminal front-end device agent001 obtains the multicast information of the video subcode rate of 2048000 from the local record, and then joins the multicast group through the multicast address and port in the multicast information, and receives the multicast stream of the video subcode rate of 2048000 , And then transcoded into a unicast stream to serve terminal A; if the local record does not find the multicast information of the video subcode rate of 2048000, then directly initiate a service request of the video subcode rate of 2048000 to the live broadcast source station, from the live broadcast source station Back to the source unicast media stream (not shown in FIG. 7); in this step, the processing flow of the audio subcode rate of 160000 is the same as the video subcode rate of 2048000, so it will not be described in detail.
  • Step 1109 After the terminal front-end device agent001 obtains the media stream, it returns the media stream to the terminal device A; if the terminal front-end device agent001 has a local buffer of the video subcode rate of 2048000 and the audio subcode rate of 160000 for the channel msscid-01, Then directly read the local cache to provide services to terminal device A.
  • the terminal device A requests the media service.
  • FIG. 8 is a schematic diagram of an implementation process of multi-rate MSS channel dynamic multicast in an embodiment of the present invention. As shown in FIG. 8, the process may include:
  • Step 1201 the terminal front-end device agent001 and the terminal front-end device agent002 regularly report the real-time media service playback information of the corresponding terminal device to the controller.
  • the real-time playback information includes channel identification information of the channel being played by terminal device A and terminal device B and Video bit rate.
  • the content of the media service real-time playback information of the two terminal devices of the terminal system 001 is as follows:
  • Step 1202 After receiving the real-time playing information of the media service of the terminal device sent by the terminal front-end device, the controller records and updates locally.
  • Step 1203 The controller periodically aggregates real-time playback information of media services reported by all terminal front-end devices, counts the number of terminal devices corresponding to each video subcode rate of each channel, and performs according to the number of terminal devices corresponding to each video subcode rate of the channel Sorting, in this embodiment, sorting is as follows:
  • the hot spot video bit rate is calculated according to the set heat threshold.
  • the setting of the heat threshold depends on the multicast capability of the CDN multicast system. In this embodiment, there are 3 multicast devices in the CDN multicast system, and each multicast device supports a maximum of 4 multicast channels. For a 12-channel multicast channel, the heat threshold is set to 12, and the video subcode rate of the top12 channel in the number of terminal devices is the hot spot video code rate.
  • the controller records the channel identification information, code rate value, etc. of these 12 hotspot video code rates to the local.
  • Step 1204 The live broadcast management platform regularly sends a hot video rate information collection request to the controller.
  • Step 1205 The controller reads the locally stored data and returns the hot spot video rate information calculated in step 1203 to the CDN multicast system.
  • the content of the hot spot video rate information is as follows:
  • controller hotspot channel statistics is implemented.
  • Step 1206 the live broadcast management platform receives the hotspot video bit rate information returned by the controller, and automatically generates the video subcode rate of channel msscid-05 of 2048000 and other multicast video bit rate multicast plans according to the dynamic multicast algorithm.
  • the channel If the sub-code rate of msscid-05 is 2048000 and multicast is not started, a multicast plan with this code rate is generated.
  • the start time of the multicast plan is 1 minute, the duration is 1 hour, the multicast address is 225.0.0.1, and the multicast port is 10010.
  • the audio bitrate stops multicasting, and the channel dashcid -05 Video rate 2048000 After starting multicast, the audio rate 160000 and 320,000 also generate a multicast plan at the same time, the start and end times of the multicast are the same as the video rate, and the multicast address and port need to be allocated separately.
  • Step 1207 The live broadcast management platform regularly scans the hotspot multicast plan.
  • a multicast channel creation request of channel video subcode rate of 2048000, audio subcode rate of 160000 and 320,000 is delivered to the group ⁇ Broadcast equipment.
  • Step 1208 After receiving the multicast creation request issued by the live broadcast management platform, the multicast device performs the task of creating a multicast channel with a video subcode rate of 2048000 and an audio subcode rate of 160000 and 320,000 with a channel identification information of msscid-05. From the live broadcast source station, the unicast bitstreams with the source video subcode rate of 2048000, audio subcode rates of 160000 and 320,000 are transcoded into a multicast stream and sent to the multicast addresses and ports corresponding to each code rate, and the multicast service starts.
  • the HDS protocol service is provided to the user terminal as an example to illustrate how to implement the present invention.
  • a CDN multicast system a live broadcast source station that uses the HDS protocol to transmit media streams, a controller, and a terminal system used by 100 home users
  • the CDN multicast system consists of a live broadcast management platform Composed of 3 multicast devices, each family has 2 terminal devices (terminals using chrome browser), and a home gateway with integrated terminal front-end equipment is deployed, a total of 200 terminal devices and 100 families Gateway (that is, the terminal front-end equipment), the identification information of the home gateway device is agent001 to agent100;
  • the multicast device and the live broadcast source station use the HDS protocol to interact, the CDN multicast system provides multicast services to the terminal system, and the live broadcast source station to the terminal
  • the system provides unicast service;
  • the live broadcast source station has 10 channels, the channel IDs are hdscid-01 to hdscid-10, each channel has 3 seed code rates, audio and video are on the same track, respectively 1024000, 2048000 and 3072000.
  • the controller heartbeat message processing process may include:
  • Step 1301 After the terminal front-end device is turned on, the terminal front-end device periodically sends a heartbeat message to the controller.
  • the heartbeat message carries the device identification information, device address, and device status of the terminal front-end device.
  • the heartbeat message The contents are as follows:
  • Step 1302 After receiving the heartbeat message sent by the terminal front-end device, the controller locally records and updates the device identification information, device address, and device status of the terminal front-end device.
  • Step 1401 When a multicast channel is created or updated in the CDN multicast system, the live broadcast management platform sends the channel distribution information of the current CDN multicast system to the controller.
  • the channel distribution information includes channel identification information and the multicast device address where the channel is located.
  • certain subcode rates of channels hdscid-01 and hdscid-03 have established multicast channels, and the content of channel distribution information is as follows:
  • Step 1402 After receiving the channel distribution information sent by the live broadcast management platform, the controller locally records and updates the channel ID and the address of the multicast device where the channel is located.
  • FIG. 9 is a schematic diagram of a process for a terminal device A (with a flash plug-in installed) to request an HDS live broadcast service according to an embodiment of the present invention. As shown in FIG. 9, the process may include:
  • Step 1501 The terminal device A of the home user 001 initiates an HTTP playback request for the channel hdscid-01 (that is, the channel playback request in FIG. 9) to the controller, and the URL in the playback request carries the channel identification information hdscid-01 and the front-end device of the terminal Device identifier agent001.
  • the content of the service request sent by the terminal device to the controller is as follows:
  • Step 1502 The controller obtains the address of the multicast device where the channel hdscid-01 is located in the local record; at the same time, it obtains the device state of the terminal front-end device agent001 in the local record; the device state of the terminal front-end device agent001 is normal, and the controller will
  • the terminal device A of the home user 001 is redirected to the terminal front-end device agent001, and the returned redirection information includes the address of the terminal front-end device agent001, channel identification information, and the address of the multicast device where the channel hdscid-01 is located.
  • the content of the redirection information returned by the controller to the terminal device is as follows:
  • Step 1503 The terminal device A re-initiates the HTTP playback request of the channel hdscid-01 to the terminal front-end device agent001 (that is, the re-request playback service in FIG. 9), and the URL carries the channel identification information hdscid-01 and the channel hdscid in the playback request
  • the address of the multicast device where -01 is located is 10.47.25.51.
  • Step 1504 After receiving the play request of the terminal device A, the terminal front-end device agent001 initiates a download request for the manifest file of the bit rate list of the HTTP channel hdscid-01 to the multicast device at the address 10.47.25.51.
  • Step 1505 The multicast device returns the manifest file and the multicast information, and performs local recording and updating in the terminal device.
  • Step 1506 After the manifest file of the bit rate list of the channel hdscid-01 acquired by the terminal front-end device agent001, the manifest file is returned to the terminal device A.
  • Step 1507 The terminal device A selects a sub-code rate of 2048000 according to its own policy, and initiates a service request of the sub-code rate of 2048000 to the terminal front-end device agent001 (that is, the sub-code rate service request in FIG. 9).
  • Step 1508 The terminal front-end device agent001 obtains the multicast information of the subcode rate of 2048000 from the local record, and then joins the multicast group through the multicast address and port in the multicast information, receives the multicast stream of the subcode rate of 2048000, and then Transcode into unicast stream to serve terminal device A; if the local record does not find the multicast information of sub-rate 2048000, then directly initiate a service request of sub-rate 2048000 to the live source station, and return to the source unicast from the live source station Media streaming.
  • Step 1509 After the terminal front-end device agent001 obtains the media stream, the media stream is returned to the terminal device A; if the terminal front-end device agent001 has a local request service subcode rate of 2048000 cache, the local cache is directly read to the terminal device A provides services;
  • the terminal device A requests the media service.
  • FIG. 10 is a schematic diagram of an implementation process of multi-rate HDS channel dynamic multicast in an embodiment of the present invention. As shown in FIG. 10, the process may include:
  • Step 1601 the terminal front-end device agent001 and the terminal front-end device agent002 regularly report the real-time media service playback information of the corresponding terminal device to the controller.
  • the real-time playback information includes the channel identification information of the channel being played by terminal device A and terminal device B and Video bit rate.
  • the content of the media service real-time playback information of the two terminal devices of the terminal system 001 is as follows:
  • Step 1602 After receiving the real-time playing information of the media service of the terminal device sent by the terminal front-end device, the controller records and updates locally.
  • Step 1603 The controller periodically aggregates real-time playback information of media services reported by all terminal front-end devices, counts the number of terminal devices corresponding to each sub-code rate of each channel, and sorts according to the number of terminal devices at each code rate of the channel.
  • the sorting is as follows:
  • the hot spot code rate is calculated according to the set heat threshold.
  • the setting of the heat threshold depends on the multicast capability of the CDN multicast system. In this embodiment, there are 3 multicast devices in the CDN multicast system, and each multicast device supports a maximum of 4 multicast channels. For 12 multicast channels, the heat threshold is set to 12, and the channel subcode rate of the top12 number of terminal devices is the hot spot code rate.
  • the controller records the channel signs and bit rate values of the 12 hotspot bit rates to the local area;
  • Step 1604 The live broadcast management platform periodically sends a hot bit rate information collection request to the controller.
  • Step 1605 The controller reads the locally stored data and returns the hot spot video rate information calculated in step 1603 to the CDN multicast system.
  • the content of the hot spot video rate information is as follows:
  • the controller hotspot channel statistics is implemented.
  • Step 1606 The live broadcast management platform receives the hotspot code rate information returned by the controller, and automatically generates a sub-rate 2048000 of the channel hdscid-05 and a multicast plan of other hotspot code rates according to the dynamic multicast algorithm.
  • the channel hdscid-05 If the sub-code rate of 2048000 is not enabled, the multicast plan with this code rate is generated.
  • the start time of the multicast plan is 1 minute
  • the duration is 1 hour
  • the multicast address is 225.0.0.1
  • the multicast port is 10010.
  • Step 1607 The live broadcast management platform regularly scans the hotspot multicast plan. When the multicast start time in the multicast plan arrives, it sends a multicast creation request with a channel subcode rate of 2048000 to the multicast device.
  • Step 1608 After receiving the multicast creation request issued by the live broadcast management platform, the multicast device performs a multicast creation task with a subcode rate of 2048000 whose channel identification information is hdscid-05, and returns the source subcode rate from the live broadcast source station to 2048000
  • the unicast code stream is transcoded into a multicast stream and sent to the multicast address 225.0.0.1, the sending port is 10010, and the multicast service starts.
  • an eighth embodiment of the present invention provides a multicast device, which can be applied to a live broadcast management platform.
  • FIG. 11 is a schematic structural diagram of a multicast device according to an embodiment of the present invention. As shown in FIG. 11, the device includes an acquisition module 1101 and a first processing module 1102.
  • the obtaining module 1101 is configured to obtain hotspot channel information, where the hotspot channel information includes identification information of at least one media service whose current playing volume is not less than a predetermined playing volume.
  • the first processing module 1102 is configured to adjust the current multicast service according to the hotspot channel information.
  • each media service corresponds to a channel
  • the identification information of the media service is identification information of the corresponding channel
  • each media service corresponds to a channel and a code rate
  • the identification information of the media service includes: identification information of the corresponding channel and a corresponding code rate
  • the hotspot channel information is obtained based on real-time playing information of media services of each terminal device.
  • the acquisition module 1101 is configured to collect hotspot channel information according to the hotspot channel information collection request after generating a hotspot channel information collection request; or, periodically receive hotspot channel information.
  • the first processing module 1102 is specifically configured to perform at least one of the following:
  • the at least one media service whose current playback volume is not less than the predetermined playback volume there is a media service that is performing multicast, and the time difference between the current time and the multicast end time of the media service that is performing multicast is less than Set the duration, postpone the multicast end time of the media service that is performing multicast;
  • the multicast service corresponding to the low-heat media service is deleted; the low-heat media service does not belong to at least the current playback volume of at least the predetermined playback volume.
  • the first processing module 1102 is specifically configured to send a multicast creation request to a multicast device, so that the multicast device creates a multicast service according to the multicast creation request, and the multicast The creation request is used to request that a corresponding multicast service is created for the media service that is not being multicasted.
  • the first processing module 1102 is specifically configured to send a multicast delay request to the multicast device, so that the multicast device delays the multicast end time according to the multicast delay request.
  • the multicast delay request is used to request the delay of the multicast end time of the media service being multicast.
  • the first processing module 1102 is specifically configured to send a multicast deletion request to a multicast device, so that the multicast device deletes a multicast service according to the multicast deletion request, and the multicast deletion The request is used to request deletion of the multicast service corresponding to the low-heat media service.
  • the first processing module 1102 is further configured to deliver a multicast service creation request to the multicast device when the multicast start time of each multicast service arrives; each group of multicast services When the broadcast end time arrives, a multicast service deletion request is issued to the multicast device.
  • the first processing module 1102 is further used when the first type of media service of at least one bit rate of any channel belongs to the at least one media service whose current playback volume is not less than a predetermined playback volume , Create a corresponding multicast service for the second type of media services at all bit rates of the corresponding channel.
  • the first type of media service is a video media service
  • the second type of media service is an audio media service
  • the first type of media service is an audio media service
  • the second type of media service is a video media service.
  • the first processing module 1102 is further used to: when the first type media service of all code rates of any channel belongs to the low-heat media service, the second type media service for all code rates of the corresponding channel , Delete the corresponding multicast service; wherein, the low-heat media service does not belong to the at least one media service whose current playback volume is not less than the predetermined playback volume; when the first type of media service is a video media service, The second type of media service is an audio media service; when the first type of media service is an audio media service, the second type of media service is a video media service.
  • the first processing module 1102 is further configured to send channel distribution information corresponding to the current multicast service to the controller when the multicast service is created or deleted, so that the controller updates the current multicast service Corresponding channel distribution information.
  • both the acquisition module 1101 and the first processing module 1102 can be implemented by a CPU, microprocessor (Micro Processor Unit, MPU), DSP, or FPGA in the live broadcast management platform.
  • MPU Micro Processor Unit
  • DSP Digital Signal processor
  • FPGA Field Programmable Gate array
  • each functional module in this embodiment may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above integrated unit may be implemented in the form of hardware or software function modules.
  • the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it may be stored in a computer-readable storage medium.
  • the technical solution of this embodiment essentially or It is said that part of the contribution to the existing technology or all or part of the technical solution can be embodied in the form of a software product.
  • the computer software product is stored in a storage medium and includes several instructions to make a computer device (may It is a personal computer, a server, or a network device, etc.) or a processor (processor) that performs all or part of the steps of the method described in this embodiment.
  • the foregoing storage media include various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (Read Only Memory, ROM), a random access memory (Random Access Memory, RAM), a magnetic disk, or an optical disk.
  • program codes such as a USB flash drive, a mobile hard disk, a read-only memory (Read Only Memory, ROM), a random access memory (Random Access Memory, RAM), a magnetic disk, or an optical disk.
  • the computer program instructions corresponding to a multicast method in this embodiment may be stored on storage media such as optical disks, hard disks, U disks, etc., when the computer program instructions corresponding to a multicast method in the storage media When being read or executed by an electronic device, the steps of any one of the multicast methods of the foregoing second embodiment are implemented.
  • FIG. 12 shows a multicast device 120 provided by an embodiment of the present invention.
  • the device may include: a first memory 121 and a first processor 122; wherein,
  • the first memory 121 is used to store computer programs and data
  • the first processor 122 is configured to execute a computer program stored in the memory to implement the steps of any one of the multicast methods in the foregoing second embodiment.
  • the first memory 121 may be a volatile memory, such as RAM; or a non-volatile memory, such as ROM, flash memory, HDD, or SSD; or a combination of the above types of memory, and the first The processor 122 provides instructions and data.
  • the first processor 122 may be at least one of ASIC, DSP, DSPD, PLD, FPGA, CPU, controller, microcontroller, and microprocessor. It can be understood that, for different devices, the electronic device used to implement the above-mentioned first processor function may also be other, which is not specifically limited in this embodiment of the present invention.
  • a ninth embodiment of the present invention provides a multicast device, which can be applied to a controller.
  • FIG. 13 is a schematic structural diagram of another multicast device according to an embodiment of the present invention. As shown in FIG. 13, the device includes a generation module 1301 and a second processing module 1302.
  • the generating module 1301 is configured to generate hotspot channel information, where the hotspot channel information includes identification information of at least one media service whose current playing volume is not less than a predetermined playing volume.
  • the second processing module 1302 is configured to send the hotspot channel information to the live broadcast management platform, so that the live broadcast management platform adjusts the current multicast service according to the hotspot channel information.
  • the second processing module 1301 is specifically configured to receive real-time media service playback information of each terminal device, and generate the hotspot channel information according to the real-time media service playback information of each terminal device.
  • the second processing module 1301 is specifically configured to determine a heat threshold, and the heat threshold is used to indicate the maximum number of parallel multicast services that the live broadcast management platform can support; according to each terminal The media service real-time playback information of the device and the heat threshold generate the hotspot channel information.
  • the real-time playing information of the media service includes: identification information of a currently playing channel.
  • the real-time playing information of the media service further includes: the bit rate of the currently playing media service.
  • the second processing module 1301 is further configured to receive channel distribution information corresponding to the current multicast service when the live broadcast management platform creates or deletes a multicast service; according to the received channel distribution information, Update the channel distribution information corresponding to the current multicast service;
  • a heartbeat message sent by a terminal front-end device where the heartbeat message includes device identification information, device address, and device status of the terminal front-end device; and according to the heartbeat message, updating the device identification information and device address of the terminal front-end device And device status.
  • the second processing module 1301 is further configured to, when receiving a service redirection request sent by a terminal device, according to channel distribution information corresponding to the current multicast service, the device of the terminal front-end device.
  • the identification information, the device address of the terminal front-end device and the device status of the terminal front-end device send redirection information for the service redirection request to the terminal device.
  • FIG. 14 is a schematic diagram of the internal structure of the controller of the embodiment of the present invention.
  • the controller may include: a heartbeat message receiving module, a channel distribution information receiving module, Real-time broadcast information receiving module, hotspot channel statistics module, hotspot channel information sending module and scheduling module, where,
  • the heartbeat message receiving module is used to receive the heartbeat message reported by the terminal system and record and update it locally.
  • the heartbeat message contains the device identification information, device address and device status of the terminal front-end device;
  • the channel distribution information receiving module is used to receive the channel distribution information synchronized by the CDN multicast system and record and update locally.
  • the channel distribution information includes the channel ID and the address of the multicast device where the channel is located;
  • the real-time playback information receiving module is used to receive the real-time playback information of the media service reported by the terminal system and record and update it locally.
  • the real-time playback information of the media service contains the ID of the current playback channel of the terminal device;
  • Hotspot channel statistics module which is responsible for summarizing the real-time broadcast information of media services of all terminal devices, calculating hotspot channels according to the set heat threshold, and recording them locally;
  • the hotspot channel information sending module is used to send hotspot channel information to the CDN multicast system.
  • the hotspot channel information includes the channel ID of the hotspot channel; in actual implementation, the hotspot can be triggered when the hotspot channel information collection request of the CDN multicast system is received Channel information can also be sent actively to the CDN multicast system according to a specific period;
  • the scheduling module is used to receive the service redirection request initiated by the terminal device, and the service redirection request carries the channel ID and the identification information of the terminal front-end device to which it belongs.
  • the scheduling module obtains the address of the multicast device where the channel is located in the local record according to the channel ID in the live service request sent by the terminal device; at the same time, according to the identification information in the service redirection request, the attribution of the terminal device initiating the request is obtained in the local record The device status of the terminal front-end device.
  • the terminal device If the device status of the terminal front-end device is normal, the terminal device is redirected to the terminal front-end device, and the returned redirection information includes the address, channel ID, and multicast device's address of the terminal front-end device to which the current terminal device belongs. Address; if the equipment status of the terminal front-end equipment is abnormal, no service is provided.
  • the above generation module 1301, second processing module 1302, heartbeat message receiving module, channel distribution information receiving module, real-time broadcast information receiving module, hotspot channel statistics module, hotspot channel information sending module and scheduling module can all be controlled by the controller CPU, MPU, DSP, or FPGA.
  • each functional module in this embodiment may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above integrated unit may be implemented in the form of hardware or software function modules.
  • the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it may be stored in a computer-readable storage medium.
  • the technical solution of this embodiment essentially or It is said that part of the contribution to the existing technology or all or part of the technical solution can be embodied in the form of a software product.
  • the computer software product is stored in a storage medium and includes several instructions to make a computer device (may It is a personal computer, a server, or a network device, etc.) or a processor (processor) that performs all or part of the steps of the method described in this embodiment.
  • the foregoing storage media include various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (Read Only Memory, ROM), a random access memory (Random Access Memory, RAM), a magnetic disk, or an optical disk.
  • program codes such as a USB flash drive, a mobile hard disk, a read-only memory (Read Only Memory, ROM), a random access memory (Random Access Memory, RAM), a magnetic disk, or an optical disk.
  • the computer program instructions corresponding to a multicast method in this embodiment may be stored on storage media such as optical disks, hard disks, U disks, etc., when the computer program instructions corresponding to a multicast method in the storage media When being read or executed by an electronic device, the steps of any one of the multicast methods in the foregoing third embodiment are implemented.
  • FIG. 12 shows another multicast device 150 provided by an embodiment of the present invention.
  • the device may include: a second memory 151 and a second processor 152.
  • the second memory 151 is used to store computer programs and data.
  • the second processor 152 is configured to execute a computer program stored in the memory to implement the steps of any one of the multicast methods in the foregoing third embodiment.
  • the second memory 151 may be a volatile memory, such as RAM; or a non-volatile memory, such as ROM, flash memory, HDD, or SSD; or a combination of the above types of memory
  • the processor 152 provides instructions and data.
  • the second processor 152 may be at least one of ASIC, DSP, DSPD, PLD, FPGA, CPU, controller, microcontroller, and microprocessor. It can be understood that, for different devices, the electronic device used to implement the above-mentioned second processor function may also be other, which is not specifically limited in this embodiment of the present invention.
  • the embodiments of the present invention may be provided as methods, systems, or computer program products. Therefore, the present invention may take the form of a hardware embodiment, a software embodiment, or an embodiment combining software and hardware. Furthermore, the present invention may take the form of a computer program product implemented on one or more computer usable storage media (including but not limited to disk storage and optical storage, etc.) containing computer usable program code.
  • a computer usable storage media including but not limited to disk storage and optical storage, etc.
  • each flow and/or block in the flowchart and/or block diagram and a combination of the flow and/or block in the flowchart and/or block diagram may be implemented by computer program instructions.
  • These computer program instructions can be provided to the processor of a general-purpose computer, special-purpose computer, embedded processing machine, or other programmable data processing device to produce a machine that enables the generation of instructions executed by the processor of the computer or other programmable data processing device
  • These computer program instructions may also be stored in a computer readable memory that can guide a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture including an instruction device, the instructions
  • the device implements the functions specified in one block or multiple blocks of the flowchart one flow or multiple flows and/or block diagrams.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operating steps are performed on the computer or other programmable device to produce computer-implemented processing, which is executed on the computer or other programmable device
  • the instructions provide steps for implementing the functions specified in one block or multiple blocks of the flowchart one flow or multiple flows and/or block diagrams.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明实施例提供了一种组播方法、装置、设备和计算机存储介质中,所述方法包括:获取热点频道信息,所述热点频道信息包括当前播放量不低于预定播放量的至少一种媒体业务的标识信息;根据所述热点频道信息,调整当前的组播业务。

Description

一种组播方法、装置、设备和计算机存储介质 技术领域
本发明实施例涉及但不限于组播技术,尤其涉及一种组播方法、装置、设备和计算机存储介质,可以在内容分发网络(Content Delivery Network,CDN)运营模式下,实现直播频道组播业务的控制。
背景技术
随着互联网技术的飞速发展,电视机、电脑、手机、摄像头等各类终端的不断普及,以及直播平台和视频应用程序(APP)的强势推广,网络视频用户数急速增加,使得CDN业务得到了快速发展及应用,直播业务已经演化为一种潮流和运营模式,网络带宽资源成为不同业务争夺的焦点;由于区域设施、终端类型、网络条件的不同,用户对视频码率、分辨率以及服务协议的要求也有所不同。直播业务的实时性,决定了在大规模用户模式下,网络带宽成本和设备能力问题依旧是制约CDN服务质量的主要要素,通常采用组播去解决这一问题,降低带宽消耗和设备负载。
相关技术中,当前CDN的组播业务通常都为预置组播,即在CDN业务***中事先针对某些直播频道创建好组播,然后向用户提供直播业务。当用户在向CDN***请求直播服务的时候,直接由业务***引导加入组播组。该类组播为持续性组播,CDN组播***难以依照用户真实的播放热点情况动态启停组播。
发明内容
本发明实施例提供了一种组播方法、装置、设备和计算机存储介质,可以实现按照用户真实的播放热点情况启停组播。
为达到上述目的,本发明实施例的技术方案是这样实现的:
本发明实施例提供了第一组播方法,所述方法包括:
获取热点频道信息,所述热点频道信息包括当前播放量不低于预定播放量的至少一种媒体业务的标识信息;
根据所述热点频道信息,调整当前的组播业务。
本发明实施例提供了第二组播方法,所述方法包括:
生成热点频道信息,所述热点频道信息包括当前播放量不低于预定播放量的至少一种媒体业务的标识信息;
向直播管理平台发送所述热点频道信息,使所述直播管理平台根据所述热点频道信息,调整当前的组播业务。
本发明实施例提供了一种组播设备,所述设备包括:第一处理器和用于存储能够在处理器上运行的计算机程序的第一存储器;其中,
所述第一处理器用于运行所述计算机程序时,执行上述任意一种第一组播方法的步骤。
本发明实施例还提供了另一种组播设备,所述设备包括第二处理器和用于存储能够在处理器上运行的计算机程序的第二存储器;其中,
所述第二处理器用于运行所述计算机程序时,执行上述任意一种第二组播方法的步骤。
本发明实施例还提供了一种组播装置,所述装置包括:获取模块和第一处理模块,其中,
获取模块,用于获取热点频道信息,所述热点频道信息包括当前播放量不低于所述预定播放量的至少一种媒体业务的标识信息;
第一处理模块,用于根据所述热点频道信息,调整当前的组播业务。
本发明实施例还提供了另一种组播装置,所述装置包括:生成模块和第二处理模块,其中,
生成模块,用于生成热点频道信息,所述热点频道信息包括当前播放量不低于预定播放量的至少一种媒体业务的标识信息;
第二处理模块,用于向直播管理平台发送所述热点频道信息,使所述直播管理平台根据所述热点频道信息,调整当前的组播业务。
本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任意一种第一组播方法的步骤。
本发明实施例还提供了另一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任意一种第二组播方法的步骤。
本发明实施例提供的一种组播方法、装置、设备和计算机存储介质中,获取热点频道信息,所述热点频道信息包括当前播放量不低于预定播放量的至少一种媒体业务的标识信息;根据所述热点频道信息,调整当前的组播业务。如此,采用本发明实施例的技术方案,可以实现直播频道的按需动态组播;即,无需预设组播,能根据频道实时的热度,动态启停组播,省去了人为设置组播频道的复杂操作,显著提高了易用性。
本发明实施例提供的另一种组播方法、装置、设备和计算机存储介质中,生成热点频道信息,所述热点频道信息包括当前播放量不低于预定播放量的至少一种媒体业务的标识信息;向直播管理平台发送所述热点频道信息,使所述直播管理平台根据所述热点频道信息,调整当前的组播业务。如此,采用本发明实施例的技术方案,可以实现直播频道的按需动态组播;即,无需预设组播,能根据频道实时的热度,动态启停组播,省去了人为设置组播频道的复杂操作,显著提高了易用性。
附图说明
图1为本发明实施例的媒体业务***的组成结构示意图;
图2为本发明实施例的组播方法的流程图;
图3-1为本发明实施例中终端设备A请求HLS直播服务过程的示意图;
图3-2为本发明实施例中终端设备B请求HLS直播服务过程的示意图;
图4为本发明实施例中单码率HLS频道动态组播实现过程的示意图;
图5为本发明实施例中终端设备A请求DASH直播服务过程的示意图;
图6为本发明实施例中多码率DASH频道动态组播实现过程的示意图;
图7为本发明实施例中终端设备A请求MSS直播服务过程的示意图;
图8为本发明实施例中多码率MSS频道动态组播实现过程的示意图;
图9为本发明实施例中终端设备A请求HDS直播服务过程的示意图;
图10为本发明实施例中多码率HDS频道动态组播实现过程的示意图;
图11为本发明实施例的一种组播装置的组成结构示意图;
图12为本发明实施例的一种组播设备的结构示意图;
图13为本发明实施例的另一种组播装置的组成结构示意图;
图14为本发明实施例的控制器的内部结构示意图;
图15为本发明实施例的另一种组播设备的结构示意图;
图16为本公开第二实施例提供的组播方法的流程图;
图17为本公开第三实施例提供的组播方法的另一种实施方式流程图。
具体实施方式
以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
相关技术中,CDN组播***难以依照用户真实的播放热点情况动态启停组播,具体地说,实际不需要组播的频道可能也设置了组播,全部频道开启组播使得组播设备资源消耗严重;另外,在频道支持多码率服务时,一个直播频道可以设置多个子码率,如果只选择一部分子码率进行组播则并无法做到按需组播,如果启用了全部子码率组播则其设备的资源消耗又会加倍,弱势尤为突出。
针对相关技术中直播频道无法按需组播的问题,本发明实施例提出了一种实现按需组播的技术方案,可以应用于网络电视、直播平台等电信网络中的众多媒体业务领域;这里,网络电视可以是交互式网络电视(IPTV)等。
本发明实施例的技术方案有各种应用场景,在传输协议层面,可以应用于采用顶层之上(OTT,Over The Top)流媒体技术的组播服务,包括HTTP直播流(HLS,HTTP Live Streaming)技术、自适应流(DASH,Dynamic Adaptive Streaming over HTTP)技术、微软平滑流(MSS,Microsoft smooth streaming)技术、HTTP动态流(HDS,Http Dynamic Streaming)技术等,也可以应用于采用实时流传输协议(RTSP,Real Time Streaming Protocol)流媒体技术的组播服务,如IPTV;这里,HTTP是超文本传输协议(HyperText Transfer Protocol)的简称。
本发明实施例可以基于媒体业务***实现,图1为本发明实施例的媒体业务***的组成结构示意图,如图1所示,该***可以包括CDN组播***、控制器、终端***;可选地,该***还可以包括直播源站。
如图1所示,CDN组播***可以包括直播管理平台和至少一个组播设备,终端***可以包括终端前置设备和至少一个终端设备。
CDN组播***负责将单播形式的直播码流转码成组播码流进行分发;在CDN组播***中,直播管理平台负责组播频道创建删除任务、组播计划的运维管理,同时直播管理平台可以定时从控制器采集热点频道信息,并根据采集到的热点频道信息动态生成热点频道(播放量不低于预定播放量的至少一种频道)的组播计划,下发给组播设备;当有组播频道创建或删除时,直播管理平台及时向控制器同步最新的频道分布信息,更新频道所在的组播设备地址信息;组播设备能够接收直播管理平台的组播频道创建指令,从直播源站回源单播码流(即图1所示的单播媒体流),转码成组播媒体流,向终端***提供组播流服务;组播设备与直播源站间的媒体内容传输协议包括但不限定于HLS、DASH、MSS、HDS、RTSP、实时消息传输协议(RTMP,Real Time Messaging Protocol)等。
控制器能够接收终端***上报的心跳消息,并在本地记录和更新相应内容,心跳消息包含终端前置设备的设备标识信息、设备地址和设备状态;控制器能够接收CDN组播***发送的频道分布信息,并在本地记录和更新相应内容,频道分布信息包含频道身份标识(ID,Identifier)、频道所在组播设备地址;控制器具备调度能力,能够接收终端设备发起的服务重定向请求(也称为频道播放请求),请求中携带频道ID和终端前置设备的设备标识信息,控制器可以将重定向信息返回给终端设备,重定向信息包含终端前置设备的地址、频道ID和频道所在组播设备地址;控制器能够接收终端前置设备上报的媒体业务实时播放信息,示例性地,媒体业务实时播放信息包含终端***内所有终端设备当前播放频道的ID;控制器具备统计热点频道的能力,控制器定时汇总所有终端***上报的媒体业务实时播放信息,根据汇总的媒体业务实时播放信息,并按照设定的热度阈值计算出热点频道;控制器能够定期或者根据CDN组播***的热点频道信息采集请求,将最新统计出的热点频道 信息发送给CDN组播***,具体地,将最新统计出的热点频道信息发送至直播管理平台;示例性地,热点频道信息包含热点频道的频道ID;实际应用中,为了支持大容量用户,可以将多台控制器以集群方式部署,终端设备请求服务时,以负载均衡的方式调度到控制器。可选地,控制器可以应用于区域调度节点、省级调度节点等各级调度节点中。
终端***分散在网络边缘;本发明实施例中,可以设置一个终端***,可以设置多个终端***;在终端***中,终端设备通常为机顶盒设备或手机、PAD等支持媒体访问及播放的终端设备,终端设备能够向控制器发送服务重定向请求,也可以向终端前置设备发送媒体服务请求,并能够接收终端前置设备发送的单播码流(即图1所示的单播媒体流);终端前置设备作为能够直接向终端设备提供流媒体服务的前置组件设备,可以作为独立的家庭设备部署,也可以与机顶盒设备、用户家庭网关或小区宽带接入设备进行集中部署。终端前置设备支持服务代理和缓存功能,可以从CDN组播***回源组播媒体流或从直播源站回源单播媒体流,进而,直接向终端设备提供直播流服务;终端前置设备可以定时向控制器上报终端设备当前播放的媒体业务的实时播放信息,实时播放信息包含终端设备当前播放频道的ID;本发明实施例中,终端***与CDN组播***或直播源站交互的媒体传输协议包括但不限定于HLS、DASH、MSS、HDS、RTSP、RTMP等。
直播源站:支持以单播方式为CDN组播***或用户终端提供直播视频服务,支持视频、音频和字幕直播服务,支持HTTP方式或者实时流的方式提供服务;直播源站与CDN组播***或终端***的媒体交互协议包括但不限定于HLS、DASH、MSS、HDS、RTSP、RTMP等。
基于上述记载的内容,提出以下各实施例。
第一实施例
本发明第一实施例提出了一种组播方法,图2为本发明实施例的组播方法的流程图,如图2所示,该流程可以包括:
步骤S1:控制器生成热点频道信息,热点频道信息包括当前播放量不低于预定播放量的至少一种媒体业务的标识信息。
对于本步骤的实现方式,示例性地,每个终端***中的终端前置设备对应一个终端设备或多个终端设备,每个终端***中的终端前置设备可以向控制器发送对应的各终端设备的媒体业务实时播放信息;控制器接收到各终端设备的媒体业务实时播放信息后,可以根据各终端设备的媒体业务实时播放信息,生成热点频道信息。
本发明实施例中,媒体业务可以包括以下至少一项:视频业务、音频业务、字幕业务等。
对于根据所述各终端设备的媒体业务实时播放信息,生成所述热点频道信息的实现方式,可以首先确定确定热度阈值,热度阈值用于表示CDN组播***最大能支持的并行组播业务的路数;根据各终端设备的媒体业务实时播放信息、以及热度阈值,生成热点频道信息。
在本发明实施例中,对所述预定播放量也不做特殊的限定。可以根据需求自行设定所述预定播放量,也可以按照各个媒体业务的播放量的平均数设置所述预定播放量。例如,所述预定播放量可以为大于当前各个媒体业务的播放量的平均数的一个播放量。还可以对各种媒体业务的播放量进行排序,取播放量排在第十位的媒体业务的播放量作为所述预定播放量。
可以将所述当前播放量不低于所述预定播放量的媒体业务称为“当前播放量最高”的媒体业务。
再或者,所述预定播放量为媒体业务中播放量排在第N位的媒体业务对应的播放量,其中,N为直播管理平台最大能支持的并行组播业务的路数。
例如,当CDN组播***最大能支持10路组播业务时,控制器可以将当前播放量排在前10位的10个频道信息,作为热点频道信息。
实际应用中,终端前置设备给终端设备提供服务时,可以定时向控制器发送终端设备的媒体业务实时播放信息,媒体业务实时播放信息可以包含终端设备当前播放频道的ID;控制器接收终端前置设备发送的终端设备的媒体业务实时播放信息后,在本地记录和更新相应内容;控制器可以定时汇总所有终端前置设备上报的媒体业务实时播放信息,按照设定的热度阈值计算出热点频道信息。
可选地,每种媒体业务对应一个频道,媒体业务实时播放信息包括当前 播放频道的标识信息,相应地,媒体业务的标识信息为对应的频道的标识信息。
可选地,每种媒体业务还可以对应一个码率(即,每种媒体业务同时对应一个频道和一个码率),媒体业务实时播放信息还包括当前播放的媒体业务的频道码率(即,媒体业务实时播放信息同时包括当前播放的媒体业务的频道的标识信息和当前播放的媒体业务的频道码率);相应地,媒体业务的标识信息还可以包括对应的码率(即,媒体业务的标识信息同时包括对应的频道的标识信息和对应的码率)。
步骤S2:控制器将热点频道信息发送至直播管理平台。
这里,控制器可以将最新的热点频道信息发送至直播管理平台;在一个示例中,直播管理平台可以在生成热点频道信息采集请求,将热点频道信息采集请求发送至控制器,控制器可以根据热点频道信息采集请求,触发热点频道信息的发送,即,将最新的热点频道信息发送至直播管理平台;在另一个示例中,控制器可以控制器根据特定的周期,主动发送最新热点频道信息给直播管理平台,也就是说,直播管理平台可以周期性地接收最新的热点频道信息。
步骤S3:直播管理平台根据热点频道信息,调整当前的组播业务。
实际实施时,直播管理平台在接收控制器返回的热点频道信息后,可以依据动态组播算法自动生成热点频道的组播计划,即热点组播计划,其中,组播计划的关键信息有频道ID、组播开始时刻、组播结束时刻、组播地址及端口。
下面通过几个示例说明生成组播计划的实现方式。
示例1:
在当前播放量不低于预定播放量的至少一种媒体业务中,存在未正在进行组播的媒体业务时,针对所述未正在进行组播的媒体业务,创建对应的组播业务;即,热点频道还没有组播计划时,则自动生成该频道的组播计划,在一个具体的示例中,组播计划时长可默认为1小时。
对于创建对应的组播业务的实现方式,示例性地,直播管理平台可以向 组播设备发送组播创建请求;组播设备可以根据接收到的组播创建请求,进行组播业务创建。
实际应用中,组播设备在收到直播管理平台下发的组播创建请求之后,执行组播创建任务,可以从直播源站回源单播码流,转码成组播媒体流发送到指定的组播地址和端口,组播服务开始。
示例2:
在当前播放量不低于预定播放量的至少一种媒体业务中,存在正在进行组播的媒体业务,且当前时刻与所述正在进行组播的媒体业务的组播结束时刻的时间差小于设定时长时,延后所述正在进行组播的媒体业务的组播结束时刻;也就是说,如果热点频道已生成组播计划,则判断当前的组播计划是否已经临近结束,如果已临近结束则修改计划,延长组播结束时刻,以实现对该频道的持续组播。
对于延后正在进行组播的媒体业务的组播结束时刻的实现方式,示例性地,直播管理平台可以向组播设备发送组播延后请求,组播设备可以根据接收的组播延后请求,延后组播结束时刻。
示例3:
正在进行组播的媒体业务中,存在低热度媒体业务时,删除低热度媒体业务对应的组播业务;上述低热度媒体业务不属于所述当前播放量不低于预定播放量的至少一种媒体业务。
对于删除组播业务的实现方式,示例性地,直播管理平台可以向组播设备发送组播删除请求;所述组播设备可以根据接收到的组播删除请求,删除组播业务。
实际应用中,组播设备在收到直播管理平台下发的组播删除请求之后,执行组播删除任务,停止向直播源站拉流以及发送组播。
作为一种实现方式,直播管理平台可以在每个组播业务的组播开始时刻到达时,下发组播业务创建请求至组播设备;每个组播业务的组播结束时刻到达时,下发组播业务删除请求至组播设备;具体实施时,直播管理平台可以定时扫描热点组播计划,当组播计划中的组播开始时刻到达时,下发组播 创建请求给组播设备;当组播结束时刻到达时,下发组播删除请求给组播设备。
可以看出,采用本发明实施例的技术方案,可以实现直播频道的按需动态组播;当提供单播服务的频道用户量较大,即热度高时,对相应的频道开启组播,让用户加入组播组获取频道服务,可大大降低服务侧的网络带宽和设备资源开销降低服务运营商成本;当开启了组播的频道用户量较小或无用户时,即热度低时,对相应频道可以额关闭组播,可减少组播设备资源的消耗,能有效降低CDN组播***设备资源的消耗;另外,本发明实施例无需预设组播,能根据频道实时的热度,动态启停组播,省去了人为设置组播频道的复杂操作,显著提高了易用性。
作为一种实现方式,在CDN组播***中,任一频道的至少一个码率的第一类媒体业务属于所述当前播放量不低于预定播放量的至少一种媒体业务时,针对对应频道的所***率的第二类媒体业务,创建对应的组播业务。
这里,第一类媒体业务为视频媒体业务和音频媒体业务中的一者,第二类媒体业务为视频业务和音频媒体业务中的另一者。具体地,第一类媒体业务为视频媒体业务时,第二类媒体业务为音频媒体业务;第一类媒体业务为音频媒体业务时,第二类媒体业务为视频媒体业务。
例如,频道A的一个或多个视频码率对应的视频媒体业务属于高热度媒体业务(属于当前播放量不低于预定播放量的至少一种媒体业务)时,针对频道A的所有音频码率的音频媒体业务,均启动组播。
作为一种实现方式,在CDN组播***中,任一频道的所***率的第一类媒体业务属于低热度媒体业务时,针对对应频道的所***率的第二类媒体业务,删除对应的组播业务;其中,低热度媒体业务不属于所述当前播放量不低于预定播放量的至少一种媒体业务。
例如,频道B的所有视频码率的视频媒体业务属于低热度媒体业务时,针对频道B的所有音频码率的音频媒体业务,均停止组播。
作为一种实现方式,直播管理平台在创建或删除组播业务时,可以向控制器发送当前组播业务对应的频道分布信息;控制器可以根据接收的频道分布信息,更新当前组播业务对应的频道分布信息。
具体地说,当CDN组播***内有频道创建或删除时,直播管理平台会向控制器发送当前CDN组播***的频道分布信息,频道分布信息可以包含频道标识信息、频道所在组播设备地址;控制器接收到直播管理平台发送的频道分布信息后,在本地记录和更新频道ID以及频道所在组播设备的地址。
作为一种实现方式,控制器还可以实现心跳消息处理;具体地说,终端前置设备向控制器发送心跳消息,心跳消息包括终端前置设备的设备标识信息、设备地址和设备状态;控制器可以根据接收的心跳消息,更新终端前置设备的设备标识信息、设备地址和设备状态。例如,终端***的终端前置设备开机后,终端前置设备可以定时向控制器发送心跳消息,控制器接收到终端前置设备发送的心跳消息后,在本地记录和更新终端前置设备的设备标识信息、设备地址和设备状态。
作为一种实现方式,控制器还可以实现媒体服务调度。
具体地说,终端设备向控制器发起服务重定向请求,服务重定向请求可以携带频道ID和所属终端前置设备的设备标识。
控制器接收到接收到终端设备发送的服务重定向请求时,可以根据当前组播业务对应的频道分布信息、终端前置设备的设备标识信息、设备地址和设备状态,向终端设备发送针对服务重定向请求的重定向信息。在一个具体的示例中,控制器可以根据终端设备发送的服务重定向请求中的频道ID,在本地记录中尝试查找频道所在的组播设备地址或直播源站地址;同时,控制器根据服务重定向请求中的终端前置设备的标识信息,在本地记录中获取发起请求的终端设备归属的终端前置设备的设备状态;如果终端前置设备的设备状态正常,控制器则将终端设备重定向到终端前置设备,返回的重定向信息中包含当前终端设备归属的终端前置设备的地址、频道ID、频道所在组播设备地址或直播源站地址;如果终端前置设备的设备状态异常或获取不到设备状态,控制器拒绝服务。
实际应用中,上述控制器可以由处理器结合存储器实现,上述处理器可以为特定用途集成电路(ASIC,Application Specific Integrated Circuit)、数字信号处理器(DSP,Digital Signal Processor)、数字信号处理装置(DSPD,Digital Signal Processing Device)、可编程逻辑装置(PLD,Programmable Logic  Device)、现场可编程门阵列(FPGA,Field Programmable Gate Array)、中央处理器(CPU,Central Processing Unit)、控制器、微控制器、微处理器中的至少一种。
上述存储器可以是易失性存储器(volatile memory),例如随机存取存储器(RAM,random access memory);或者非易失性存储器(non-volatile memory),例如只读存储器(ROM,Read-Only Memory),快闪存储器(flash memory),硬盘(HDD,Hard Disk Drive)或固态硬盘(SSD,Solid-State Drive);或者上述种类的存储器的组合,并向处理器提供指令和数据。
进一步地,终端设备还可以请求媒体服务,下面说明终端设备请求媒体服务过程。
终端设备向终端前置设备发起媒体服务请求,典型的媒体服务请求可以携带频道ID、频道所在组播设备的地址或直播源站地址。
终端前置设备根据终端设备的媒体服务请求中是否包含频道所在组播设备的地址信息,判断相应频道是否提供组播服务;如果未包含频道所在组播设备的地址信息,则终端前置设备直接向直播源站获取单播服务;如果包含了频道所在组播设备的地址,则向频道所在组播设备发起服务请求,服务请求消息中携带频道ID。
组播设备收到终端前置设备的服务请求,返回频道对应的组播信息给终端前置设备,组播信息包含频道对应的组播地址和端口。
终端前置设备接收到频道的组播信息后,通过组播信息中的组播地址和端口,加入组播组,持续接收该频道的组播媒体流,并实时转码成单播码流对终端设备服务。
直播源站收到终端前置设备的服务请求,则直接向终端前置设备提供单播媒体流服务。终端前置设备从直播源站获取到单播媒体流后,直接将媒体流返回给终端设备。
第二实施例
为了能够更加体现本发明的目的,在本发明第一实施例的基础上,从直 播管理平台的角度出发,说明本发明实施例的组播方法。
如图16所示,本发明第二实施例的组播方法可以包括以下步骤:
步骤A1:获取热点频道信息,所述热点频道信息包括当前播放量不低于预定播放量的至少一种媒体业务的标识信息;
步骤A2:根据所述热点频道信息,调整当前的组播业务。
可选地,每种媒体业务对应一个频道,所述媒体业务的标识信息为对应的频道的标识信息。
可选地,每种媒体业务对应一个频道和一个码率,所述媒体业务的标识信息包括:对应的频道的标识信息和对应的码率。
可选地,所述热点频道信息是根据各终端设备的媒体业务实时播放信息得出的。
可选地,所述获取热点频道信息包括:
在生成热点频道信息采集请求后,根据所述热点频道信息采集请求采集热点频道信息;
或者,周期性地接收热点频道信息。
可选地,所述根据所述热点频道信息,调整当前的组播业务,包括以下至少一项:
在所述当前播放量不低于预定播放量的至少一种媒体业务中,存在未正在进行组播的媒体业务时,针对所述未正在进行组播的媒体业务,创建对应的组播业务;
在所述当前播放量不低于预定播放量的至少一种媒体业务中,存在正在进行组播的媒体业务,且当前时刻与所述正在进行组播的媒体业务的组播结束时刻的时间差小于设定时长时,延后所述正在进行组播的媒体业务的组播结束时刻;
正在进行组播的媒体业务中,存在低热度媒体业务时,删除所述低热度媒体业务对应的组播业务;所述低热度媒体业务不属于所述当前播放量不低于预定播放量的至少一种媒体业务。
可选地,所述创建对应的组播业务,包括:
向组播设备发送组播创建请求,使所述组播设备根据所述组播创建请求进行组播业务创建,所述组播创建请求用于请求针对所述未正在进行组播的媒体业务,创建对应的组播业务。
可选地,所述延后所述正在进行组播的媒体业务的组播结束时刻,包括:
向组播设备发送组播延后请求,使所述组播设备根据所述组播延后请求延后组播结束时刻,所述组播延后请求用于请求延后所述正在进行组播的媒体业务的组播结束时刻。
可选地,所述删除所述低热度媒体业务对应的组播业务,包括:
向组播设备发送组播删除请求,使所述组播设备根据所述组播删除请求删除组播业务,所述组播删除请求用于请求删除所述低热度媒体业务对应的组播业务。
可选地,所述方法还包括:
每个组播业务的组播开始时刻到达时,下发组播业务创建请求至组播设备;每个组播业务的组播结束时刻到达时,下发组播业务删除请求至组播设备。
可选地,所述方法还包括:
任一频道的至少一个码率的第一类媒体业务属于所述当前播放量不低于预定播放量的至少一种媒体业务时,针对对应频道的所***率的第二类媒体业务,创建对应的组播业务,所述第一类媒体业务为视频媒体业务和音频媒体业务中的一者,所述第二类媒体业务为视频业务和音频媒体业务中的另一者。
可选地,所述方法还包括:
任一频道的所***率的第一类媒体业务属于低热度媒体业务时,针对对应频道的所***率的第二类媒体业务,删除对应的组播业务;其中,所述低热度媒体业务不属于所述当前播放量不低于预定播放量的至少一种媒体业务;所述第一类媒体业务为视频媒体业务和音频媒体业务中的一者,所述第二类媒体业务为视频业务和音频媒体业务中的另一者。
可选地,所述方法还包括:在创建或删除组播业务时,向控制器发送当前组播业务对应的频道分布信息,使所述控制器更新当前组播业务对应的频道分布信息。
第三实施例
为了能够更加体现本发明的目的,在本发明第一实施例的基础上,从控制器的角度出发,说明本发明实施例的组播方法。
如图17所示,本发明第三实施例的组播方法可以包括以下步骤:
步骤B1:生成热点频道信息,所述热点频道信息包括当前播放量不低于预定播放量的至少一种媒体业务的标识信息;
步骤B2:向直播管理平台发送所述热点频道信息,使所述直播管理平台根据所述热点频道信息,调整当前的组播业务。
可选地,所述生成热点频道信息,包括:
接收各终端设备的媒体业务实时播放信息,根据所述各终端设备的媒体业务实时播放信息,生成所述热点频道信息。
可选地,所述根据所述各终端设备的媒体业务实时播放信息,生成所述热点频道信息,包括:
确定热度阈值,所述热度阈值用于表示所述直播管理平台最大能支持的并行组播业务的路数;根据所述各终端设备的媒体业务实时播放信息、以及所述热度阈值,生成所述热点频道信息。
可选地,所述媒体业务实时播放信息包括:当前播放频道的标识信息。
可选地,所述媒体业务实时播放信息还包括:当前播放的媒体业务的码率。
可选地,所述方法还包括:接收直播管理平台在创建或删除组播业务时,发送的当前组播业务对应的频道分布信息;根据接收的频道分布信息,更新当前组播业务对应的频道分布信息;
所述方法还包括:接收终端前置设备发送的心跳消息,所述心跳消息包 括终端前置设备的设备标识信息、设备地址和设备状态;根据所述心跳消息,更新所述终端前置设备的设备标识信息、设备地址和设备状态。
可选地,所述方法还包括:
接收到终端设备发送的服务重定向请求时,根据所述当前组播业务对应的频道分布信息、所述终端前置设备的设备标识信息、所述终端前置设备的设备地址和所述终端前置设备的设备状态,向所述终端设备发送针对所述服务重定向请求的重定向信息。
第四实施例
为了能够更加体现本发明的目的,在本发明前述实施例的基础上,进行进一步的举例说明。
本发明第四实施例中,以HLS协议的单码率频道直播服务为例说明如何实施本发明。
本发明第四实施例中,设置一个CDN组播***、一个采用HLS协议传输媒体流的直播源站、一个控制器、100个家庭用户使用的终端***;CDN组播***由1个直播管理平台和3台组播设备组成,每个家庭均有2台终端设备,且部署了一台集成了终端前置设备的家庭网关,总计200台终端设备、100台家庭网关(即上述终端前置设备),家庭网关设备标识信息分别为agent001至agent100;组播设备与直播源站使用HLS协议交互,CDN组播***对终端***提供组播服务,直播源站对终端***提供单播服务;直播源站有50个频道,频道ID分别为hlscid-01到hlscid-50。
控制器心跳消息处理过程可以包括:
步骤101:终端前置设备开机后,终端前置设备定时向控制器发送心跳消息,心跳消息中携带终端前置设备的设备标识信息、设备地址和设备状态。在本实施例中,心跳消息的内容如下:
Figure PCTCN2019128623-appb-000001
Figure PCTCN2019128623-appb-000002
步骤102:控制器接收到终端前置设备发送的心跳消息后,在本地记录和更新终端前置设备的设备标识信息、设备地址和设备状态。
控制器频道分布信息处理过程可以包括:
步骤201:当CDN组播***内有组播频道创建或更新时,直播管理平台会向控制器发送当前CDN组播***的频道分布信息,频道分布信息包含频道标识信息、频道所在组播设备地址。在本实施例中,频道hlscid-01和hlscid-03已建了组播频道,频道分布信息的内容如下:
Figure PCTCN2019128623-appb-000003
步骤202:控制器接收到直播管理平台发送的频道分布信息后,在本地记录和更新频道ID以及频道所在组播设备的地址。
图3-1为本发明实施例中终端设备A请求HLS直播服务过程的示意图,如图3-1所示,该过程可以包括:
步骤301:家庭用户001的终端设备A向控制器发起频道hlscid-01的HTTP播放请求(即图3-1中的hlscid-01频道播放请求)。播放请求中URL携带频道标识信息hlscid-01和所属终端前置设备的设备标识agent001;在本实施例中,终端设备A向控制器发送播放请求的内容如下:
"channelid":"hlscid-01",
"agentid":"agent001",
步骤302:控制器接收终端设备A的hlscid-01频道播放请求,在本地记录中获取频道hlscid-01所在的组播设备地址;同时在本地记录中获取终端前置设备agent001的设备状态;终端前置设备agent001的设备状态正常,控制器则将家庭用户001的终端设备A的播放请求重定向到终端前置设备agent001,返回的重定向信息中包含终端前置设备agent001的地址、频道标识信息、频道hlscid-01所在组播设备的地址。在本实施例中,控制器给终端设备A返回的重定向信息内容如下:
Figure PCTCN2019128623-appb-000004
基于上述步骤301和步骤302,实现了控制器对终端设备A的服务调度。
步骤303:终端设备A重新向终端前置设备agent001发起频道hlscid-01的HTTP播放请求(即图3-1中的重新请求hlscid-01播放),在该播放请求中URL携带频道标识信息hlscid-01、频道hlscid-01所在组播设备的地址10.47.25.51。
步骤304:终端前置设备agent001收到终端设备A的播放请求后,向地址为10.47.25.51组播设备发起频道hlscid-01的组播信息请求(即图3-1中的hlscid-01频道组播信息请求)。
步骤305:地址为10.47.25.51的组播设备向终端前置设备agent001返回频道hlscid-01的组播信息。
步骤306:终端前置设备agent001解析频道hlscid-01的组播信息,然后通过组播信息中的组播地址和端口,加入组播组,接收频道hlscid-01的组播流,将媒体列表信息文件hlscid-01.m3u8和ts文件缓存到本地。
步骤307:终端前置设备agent001将hlscid-01的媒体列表信息文件hlscid-01.m3u8返回给终端设备A。在本实施例中,hlscid-01.m3u8的内容如下:
Figure PCTCN2019128623-appb-000005
步骤308:终端设备A解析hlscid-01.m3u8文件,然后向终端前置设备agent001发起媒体文件hlscid-01_01.ts的下载请求。
步骤309:终端前置设备agent001收到终端设备A的hlscid-01_01.ts下载请求后,从本地缓存读取hlscid-01_01.ts返回给终端设备A。
进一步地,终端设备A收到hlscid-01_01.ts,依次下载媒体列表后面的ts 文件,并定时下载媒体列表信息文件hlscid-01.m3u8获取ts列表信息更新,如此循环,实现媒体内容的连续播放。
基于上述步骤303至步骤309,实现了终端设备A请求媒体服务。
图3-2为本发明实施例中终端设备B请求HLS直播服务过程的示意图,如图3-2所示,该过程可以包括:
步骤311:家庭用户001的终端设备B向控制器发起频道hlscid-02的HTTP播放请求(即图3-2中的hlscid-02频道播放请求),播放请求中URL携带频道标识信息hlscid-02和所属终端前置设备的设备标识agent001。终端设备B向控制器发送服务请求的内容如下:
Figure PCTCN2019128623-appb-000006
步骤312:控制器收到终端设备B的频道hlscid-02播放请求,由于跟终端设备A同属家庭用户001,终端前置设备也是agent001,因此控制器将终端设备B的播放请求重定向到终端前置设备agent001,由于频道hlscid-02未开启组播,需要到直播源站获取单播服务,所以重定向信息中不包含频道所在组播设备地址,而是包含直播源站的地址,返回的重定向信息中包含终端前置设备agent001的地址、频道标识信息、直播源站的地址。控制器给终端设备B返回的重定向信息内容如下:
Figure PCTCN2019128623-appb-000007
基于上述步骤301和步骤302,实现了控制器对终端设备B的服务调度。
步骤313:终端设备B重新向终端前置设备agent001发起频道hlscid-02的HTTP播放请求(即图3-2中的重新请求hlscid-02播放),在该播放请求中URL携带频道标识信息hlscid-02、直播源站的地址10.10.10.01。
步骤314:终端前置设备agent001收到终端设备B的播放请求后,向地 址为10.10.10.01的直播源站发起频道hlscid-02的HTTP单播下载请求(即图3-2中的hlscid-02频道单播信息请求)。
步骤315:直播源站返回频道hlscid-02的媒体分片列表信息文件hlscid-02.m3u8。在本实施例中,hlscid-02.m3u8的内容如下:
Figure PCTCN2019128623-appb-000008
步骤316:终端前置设备agent001获取到的频道hlscid-02的媒体分片列 表信息文件hlscid-02.m3u8后,将hlscid-02.m3u8文件返回给终端设备B。
步骤317:终端设备B解析hlscid-02.m3u8文件,然后向终端前置设备agent001发起媒体文件hlscid-02_01.ts的下载请求;
步骤318:终端前置设备agent001接收到终端设备B的下载请求,则直接到直播源站发起媒体文件hlscid-02_01.ts的下载请求。
步骤319:直播源站将媒体文件hlscid-02_01.ts返回给终端前置设备agent001。
步骤320:终端前置设备agent001获取到媒体文件hlscid-02_01.ts后,将媒体文件hlscid-02_01.ts返回给终端设备B。
进一步地,终端设备B收到文件hlscid-02_01.ts,依次下载媒体列表后面的ts文件,并定时下载媒体列表信息文件hlscid-02.m3u8获取ts列表信息更新,如此循环,实现媒体内容的连续播放。
基于上述步骤313至步骤320,实现了终端设备B请求媒体服务。
图4为本发明实施例中单码率HLS频道动态组播实现过程的示意图,如图4所示,该过程可以包括:
步骤401:终端前置设备agent001和终端前置设备agent002定时上报相应的终端设备的媒体业务实时播放信息给控制器,该实时播放信息包含终端设备A和终端设备B正在播放频道的频道ID。在本实施例中,终端***001两个终端设备的媒体业务实时播放信息的内容如下:
Figure PCTCN2019128623-appb-000009
步骤402:控制器接收终端前置设备发送的终端设备的媒体业务实时播放信息后,在本地记录和更新。
步骤403:控制器定时汇总所有终端前置设备上报的媒体业务实时播放信息,统计出每个频道对应的终端设备数,并根据各频道对应的终端设备数进行排序。在本实施例中,排序如下:
Figure PCTCN2019128623-appb-000010
热点频道需要设定的热度阈值来计算;热度阈值的设定取决于CDN组播***的组播能力,本实施例中,CDN组播***内有3台组播设备,每台组播设备最大支持4路组播频道,则CDN组播***最大支持12路组播频道,则热度阈值设定为12,播放终端设备数排名前12的频道为热点频道;控制器将这12个热点频道的频道标识信息等记录到本地。
步骤404:直播管理平台定时向控制器发送热点频道信息采集请求。
步骤405:控制器读取本地存储数据,将步骤403中计算出的热点频道信息,返回给CDN组播***,在本实施例中,热点频道信息的内容如下:
Figure PCTCN2019128623-appb-000011
基于上述步骤401至步骤405,实现了控制器热点频道统计。
步骤406:直播管理平台接收控制器返回的热点频道信息,依据动态组播算法自动生成频道hlscid-05的组播计划,本实施例中频道hlscid-05未启动组播,则生成该频道的组播计划,组播计划开始时刻为1分钟后,时长1小时,组播地址225.0.0.1,组播端口10010。
步骤407:直播管理平台定时扫描热点组播计划,当组播计划中的组播开始时刻到达时,下发频道hlscid-05的组播创建请求给组播设备。
步骤408:组播设备在收到直播管理平台下发的组播创建请求之后,执行频道标识信息为hlscid-05的组播创建任务,从直播源站回源频道hlscid-05的单播码流,转码成组播流发送到组播地址225.0.0.1,发送端口为10010,组播服务开始。
基于上述步骤406至步骤408,实现了基于热点频道启动组播过程。
进一步地,还可以基于热点频道停止组播,基于热点频道停止组播的过程可以包括:
直播管理平台定时扫描频道hlscid-05的组播计划,如果是热点频道,临近结束时刻时如果频道hlscid-05仍是热点频道,则延长组播计划结束时刻1小时,如果频道hlscid-05已经不是热点频道,则不延长组播计划的结束时刻。当组播计划结束时刻达到时,下发频道hlscid-05的组播删除请求给组播设备。
组播设备在收到直播管理平台下发的组播删除请求之后,执行频道标识信息为hlscid-05的组播删除任务,不再去直播源站拉单播流,组播服务结束。
第五实施例
为了能够更加体现本发明的目的,在本发明前述实施例的基础上,进行进一步的举例说明。
本发明第五实施例中,以给用户终端提供DASH协议服务为例说明如何实施本发明。
本发明第五实施例中,设置一个CDN组播***、一个采用DASH协议传输媒体流的直播源站、一个控制器、100个家庭用户使用的终端***;CDN组播***由1个直播管理平台和3台组播设备组成,每个家庭均有2台终端设备(采用chrome浏览器的终端),且部署了一台集成了终端前置设备的家庭网关,总计200台终端设备、100台家庭网关(即上述终端前置设备),家庭网关设备标识信息分别为agent001至agent100;组播设备与直播源站使用DASH协议交互,CDN组播***对终端***提供组播服务,直播源站对终端***提供单播服务;直播源站有10个频道,频道ID分别为dashcid-01到dashcid-10,每个频道的媒体内容均为视频和音频双轨,视频轨有3种子码率,分别为1024000、2048000和3072000,音频轨有2种码率,分别为160000和320000。
控制器心跳消息处理过程可以包括:
步骤501:终端前置设备开机后,终端前置设备定时向控制器发送心跳消息,心跳消息中携带终端前置设备的设备标识信息、设备地址和设备状态。在本实施例中,心跳消息的内容如下:
Figure PCTCN2019128623-appb-000012
步骤502:控制器接收到终端前置设备发送的心跳消息后,在本地记录和更新终端前置设备的设备标识信息、设备地址和设备状态。
控制器频道分布信息处理过程:
步骤601:当CDN组播***内有组播频道创建或更新时,直播管理平台会向控制器发送当前CDN组播***的频道分布信息,频道分布信息包含频道标识信息、频道所在组播设备地址。在本实施例中,频道dashcid-01和dashcid-03的某些子码率已经创建了组播频道,频道分布信息的内容如下:
Figure PCTCN2019128623-appb-000013
步骤602:控制器接收到直播管理平台发送的频道分布信息后,在本地记录和更新频道ID以及频道所在组播设备的地址。
图5为本发明实施例中终端设备A请求DASH直播服务过程的示意图,如图5所示,该过程可以包括:
步骤701:家庭用户001的终端设备A向控制器发起频道dashcid-01的HTTP播放请求(即图5中的频道播放请求),播放请求中URL携带频道标识信息dashcid-01和所属终端前置设备的设备标识agent001,在本实施例中,终端设备向控制器发送播放请求的内容如下:
Figure PCTCN2019128623-appb-000014
步骤702:控制器在本地记录中获取频道dashcid-01所在的组播设备地址;同时在本地记录中获取终端前置设备agent001的设备状态;终端前置设备agent001的设备状态正常,控制器则将家庭用户001的终端设备A重定向到终端前置设备agent001,返回的重定向信息中包含终端前置设备agent001的地址、频道标识信息、频道dashcid-01所在组播设备的地址。在本实施例中,控制器给终端设备返回的重定向信息内容如下:
Figure PCTCN2019128623-appb-000015
Figure PCTCN2019128623-appb-000016
基于上述步骤701和步骤702,实现了控制器对终端设备A的服务调度。
步骤703:终端设备A重新向终端前置设备agent001发起频道dashcid-01的HTTP播放请求(即图5中的重新请求播放服务),在该播放请求中URL携带频道标识信息dashcid-01、频道dashcid-01所在组播设备的地址10.47.25.51。
步骤704:终端前置设备agent001收到终端设备A的播放请求后,向地址为10.47.25.51的组播设备发起HTTP频道dashcid-01的码率列表manifest.mpd文件下载请求。
步骤705:组播设备返回manifest.mpd文件以及组播信息,在终端设备中,进行本地记录和更新。
步骤706:终端前置设备agent001获取到的频道dashcid-01的码率列表manifest.mpd文件后,将manifest.mpd文件返回给终端设备A。
步骤707:终端设备A根据自身的策略选择选择一个视频子码率2048000和一个音频子码率160000,同时向终端前置设备agent001发起视频子码率2048000和音频子码率160000的服务请求。
步骤708:终端前置设备agent001从本地记录获取视频子码率2048000的组播信息,然后通过组播信息中的组播地址和端口,加入组播组,接收视频子码率2048000的组播流,再转码成单播码流对终端设备A服务;如果本地记录未找到视频子码率2048000的组播信息,则直接向直播源站发起视频子码率2048000的服务请求,从直播源站回源单播媒体流(图5未示出);该步骤中,音频子码率160000的处理流程跟视频子码率2048000相同,因此,不再详细描述。
步骤709:端前置设备agent001获取到媒体流后,将媒体流返回给终端设备A;如果终端前置设备agent001本地有频道dashcid-01的视频子码率2048000和音频子码率160000的缓存,则直接读取本地缓存后对终端设备A提供服务。
基于上述步骤703至步骤709,实现了终端设备A请求媒体服务。
图6为本发明实施例中多码率DASH频道动态组播实现过程的示意图,如图6所示,该过程可以包括:
步骤801:终端前置设备agent001和终端前置设备agent002定时上报相应的终端设备的媒体业务实时播放信息给控制器,该实时播放信息包含终端设备A和终端设备B正在播放频道的频道标识信息和视频码率。在本实施例中,终端***001两个终端设备的媒体业务实时播放信息的内容如下:
Figure PCTCN2019128623-appb-000017
步骤802:控制器接收终端前置设备发送的终端设备的媒体业务实时播放信息后,在本地记录和更新。
步骤803:控制器定时汇总所有终端前置设备上报的媒体业务实时播放信息,统计出每个频道各视频子码率对应的终端设备数,并根据频道各视频子码率对应的终端设备数进行排序。在本实施例中,排序如下:
Figure PCTCN2019128623-appb-000018
Figure PCTCN2019128623-appb-000019
热点视频码率根据设定的热度阈值来计算。热度阈值的设定取决于CDN组播***的组播能力,本实施例中,CDN组播***内有3台组播设备,每台组播设备最大支持4路组播频道,则***最大支持12路组播频道,则热度阈值设定为12,终端设备数排名前12的频道视频子码率为热点视频码率;控制器将这12个热点视频码率的频道标识信息、码率值等记录到本地。
步骤804:直播管理平台定时向控制器发送热点视频码率信息采集请求。
步骤805:控制器读取本地存储数据,将步骤803中计算出的热点视频码率信息,返回给CDN组播***,在本实施例中,热点视频码率信息的内容如下:
Figure PCTCN2019128623-appb-000020
基于上述步骤801至步骤805,实现了控制器热点频道统计。
步骤806:直播管理平台接收控制器返回的热点视频码率信息,依据动态组播算法自动生成频道dashcid-05的视频子码率2048000以及其他热点视频码率的组播计划,本实施例中频道dashcid-05的子码率2048000未启动组播,则生成该码率的组播计划,组播计划开始时刻为1分钟后,时长1小时,组播地址225.0.0.1,组播端口10010;当频道中一个或多个视频码率变成热点码率,则该频道所有的音频码率均启动组播,当频道所有视频码率都变成非热 点时,音频码率停止组播,频道dashcid-05的视频码率2048000启动组播后,音频码率160000和320000也同时生成组播计划,组播开始和结束时刻与视频码率一致,组播地址和端口需要另外分配。
步骤807:直播管理平台定时扫描热点组播计划,当组播计划中的组播开始时刻到达时,下发频道视频子码率2048000、音频子码率160000和320000的组播创建请求给组播设备。
步骤808:组播设备在收到直播管理平台下发的组播创建请求之后,执行频道标识信息为dashcid-05的视频子码率2048000、音频子码率160000和320000的组播创建任务,从直播源站回源视频子码率2048000、音频子码率160000和320000的单播码流,转码成组播流发送到各码率对应的组播地址和端口,组播服务开始。
基于上述步骤806至步骤808,实现了基于热点频道启动组播过程。
第六实施例
为了能够更加体现本发明的目的,在本发明前述实施例的基础上,进行进一步的举例说明。
本发明第六实施例中,以给用户终端提供MSS协议服务为例说明如何实施本发明。
本发明第六实施例中,设置一个CDN组播***、一个采用MSS协议传输媒体流的直播源站、一个控制器、100个家庭用户使用的终端***;CDN组播***由1个直播管理平台和3台组播设备组成,每个家庭均有2台终端设备(采用IE浏览器的终端),且部署了一台集成了终端前置设备的家庭网关,总计200台终端设备、100台家庭网关(即上述终端前置设备),家庭网关设备标识信息分别为agent001至agent100;组播设备与直播源站使用MSS协议交互,CDN组播***对终端***提供组播服务,直播源站对终端***提供单播服务;直播源站有10个频道,频道ID分别为msscid-01到msscid-10,每个频道的媒体内容均为视频和音频双轨,视频轨有3种子码率,分别为1024000、2048000和3072000,音频轨有2种码率,分别为160000和320000。
控制器心跳消息处理过程:
步骤901:终端前置设备开机后,终端前置设备定时向控制器发送心跳消息,心跳消息中携带终端前置设备的设备标识信息、设备地址和设备状态。在本实施例中,心跳消息的内容如下:
Figure PCTCN2019128623-appb-000021
步骤902:控制器接收到终端前置设备发送的心跳消息后,在本地记录和更新终端前置设备的设备标识信息、设备地址和设备状态。
控制器频道分布信息处理过程:
步骤1001:当CDN组播***内有组播频道创建或更新,直播管理平台会向控制器发送当前CDN组播***的频道分布信息,频道分布信息包含频道标识信息、频道所在组播设备地址。在本实施例中,频道msscid-01和msscid-03的某些子码率已经创建了组播频道,频道分布信息的内容如下:
Figure PCTCN2019128623-appb-000022
步骤1002:控制器接收到直播管理平台发送的频道分布信息后,在本地记录和更新频道ID以及频道所在组播设备的地址;
图7为本发明实施例中终端设备A请求MSS直播服务过程的示意图,如图7所示,该过程可以包括:
步骤1101:家庭用户001的终端设备A向控制器发起频道msscid-01的HTTP播放请求(即图7中的频道播放请求),播放请求中URL携带频道标识信息msscid-01和所属终端前置设备的设备标识agent001,在本实施例中,终端设备向控制器发送播放请求的内容如下:
Figure PCTCN2019128623-appb-000023
步骤1102:控制器在本地记录中获取频道msscid-01所在的组播设备地址;同时在本地记录中获取终端前置设备agent001的设备状态;终端前置设备agent001的设备状态正常,控制器则将家庭用户001的终端设备A重定向到终端前置设备agent001,返回的重定向信息中包含终端前置设备agent001的地址、频道标识信息、频道msscid-01所在组播设备的地址。在本实施例中,控制器给终端设备返回的重定向信息内容如下:
Figure PCTCN2019128623-appb-000024
基于上述步骤1101和步骤1102,实现了控制器对终端设备A的服务调度
步骤1103:终端设备A重新向终端前置设备agent001发起频道msscid-01的HTTP播放请求(即图7中的重新请求播放服务),在该播放请求中URL携带频道标识信息dashcid-01、频道msscid-01所在组播设备的地址10.47.25.51。
步骤1104:终端前置设备agent001收到终端设备A的播放请求后,向地址为10.47.25.51的组播设备发起HTTP频道msscid-01的码率列表manifest文件下载请求。
步骤1105:组播设备返回manifest文件以及组播信息,在终端设备中,进行本地记录和更新。
步骤1106:终端前置设备agent001获取到的频道msscid-01的码率列表manifest文件后,将manifest文件返回给终端设备A。
步骤1107:终端设备A根据自身的策略选择选择一个视频子码率2048000和一个音频子码率160000,同时向终端前置设备agent001发起视频子码率2048000和音频子码率160000的服务请求。
步骤1108:终端前置设备agent001从本地记录获取视频子码率2048000的组播信息,然后通过组播信息中的组播地址和端口,加入组播组,接收视频子码率2048000的组播流,再转码成单播码流对终端设备A服务;如果本地记录未找到视频子码率2048000的组播信息,则直接向直播源站发起视频子码率2048000的服务请求,从直播源站回源单播媒体流(图7未示出);该步骤中,音频子码率160000的处理流程跟视频子码率2048000相同,因此,不再详细描述。
步骤1109:终端前置设备agent001获取到媒体流后,将媒体流返回给终端设备A;如果终端前置设备agent001本地有频道msscid-01的视频子码率2048000和音频子码率160000的缓存,则直接读取本地缓存后对终端设备A提供服务。
基于上述步骤1103至步骤1109,实现了终端设备A请求媒体服务。
图8为本发明实施例中多码率MSS频道动态组播实现过程的示意图,如图8所示,该过程可以包括:
步骤1201:终端前置设备agent001和终端前置设备agent002定时上报相应的终端设备的媒体业务实时播放信息给控制器,该实时播放信息包含终端设备A和终端设备B正在播放频道的频道标识信息和视频码率。在本实施例中,终端***001两个终端设备的媒体业务实时播放信息的内容如下:
Figure PCTCN2019128623-appb-000025
Figure PCTCN2019128623-appb-000026
步骤1202:控制器接收终端前置设备发送的终端设备的媒体业务实时播放信息后,在本地记录和更新。
步骤1203:控制器定时汇总所有终端前置设备上报的媒体业务实时播放信息,统计出每个频道各视频子码率对应的终端设备数,并根据频道各视频子码率对应的终端设备数进行排序,在本实施例中,排序如下:
Figure PCTCN2019128623-appb-000027
热点视频码率根据设定的热度阈值来计算。热度阈值的设定取决于CDN组播***的组播能力,本实施例中,CDN组播***内有3台组播设备,每台组播设备最大支持4路组播频道,则***最大支持12路组播频道,则热度阈值设定为12,终端设备数排名top12的频道视频子码率为热点视频码率。控制器将这12个热点视频码率的频道标识信息、码率值等记录到本地。
步骤1204:直播管理平台定时向控制器发送热点视频码率信息采集请求。
步骤1205:控制器读取本地存储数据,将步骤1203中计算出的热点视频码率信息,返回给CDN组播***,在本实施例中,热点视频码率信息的内容如下:
Figure PCTCN2019128623-appb-000028
基于上述步骤801至步骤805,实现了控制器热点频道统计。
步骤1206:直播管理平台接收控制器返回的热点视频码率信息,依据动态组播算法自动生成频道msscid-05的视频子码率2048000以及其他热点视频码率的组播计划,本实施例中频道msscid-05的子码率2048000未启动组播,则生成该码率的组播计划,组播计划开始时刻为1分钟后,时长1小时,组播地址225.0.0.1,组播端口10010;当频道中一个或多个视频码率变成热点码率,则该频道所有的音频码率均启动组播,当频道所有视频码率都变成非热点时,音频码率停止组播,频道dashcid-05的视频码率2048000启动组播后,音频码率160000和320000也同时生成组播计划,组播开始和结束时刻与视频码率一致,组播地址和端口需要另外分配。
步骤1207:直播管理平台定时扫描热点组播计划,当组播计划中的组播开始时刻到达时,下发频道视频子码率2048000、音频子码率160000和320000的组播频道创建请求给组播设备。
步骤1208:组播设备在收到直播管理平台下发的组播创建请求之后,执行频道标识信息为msscid-05的视频子码率2048000、音频子码率160000和320000的组播频道创建任务,从直播源站回源视频子码率2048000、音频子码率160000和320000的单播码流,转码成组播流发送到各码率对应的组播 地址和端口,组播服务开始。
第七实施例
为了能够更加体现本发明的目的,在本发明前述实施例的基础上,进行进一步的举例说明。
本发明第七实施例中,以给用户终端提供HDS协议服务为例说明如何实施本发明。
本发明第七实施例中,设置一个CDN组播***、一个采用HDS协议传输媒体流的直播源站、一个控制器、100个家庭用户使用的终端***;CDN组播***由1个直播管理平台和3台组播设备组成,每个家庭均有2台终端设备(采用chrome浏览器的终端),且部署了一台集成了终端前置设备的家庭网关,总计200台终端设备、100台家庭网关(即上述终端前置设备),家庭网关设备标识信息分别为agent001至agent100;组播设备与直播源站使用HDS协议交互,CDN组播***对终端***提供组播服务,直播源站对终端***提供单播服务;直播源站有10个频道,频道ID分别为hdscid-01到hdscid-10,每个频道均有3种子码率,音视频同轨,分别为1024000、2048000和3072000。
控制器心跳消息处理过程可以包括:
步骤1301:终端前置设备开机后,终端前置设备定时向控制器发送心跳消息,心跳消息中携带终端前置设备的设备标识信息、设备地址和设备状态,在本实施例中,心跳消息的内容如下:
Figure PCTCN2019128623-appb-000029
步骤1302:控制器接收到终端前置设备发送的心跳消息后,在本地记录和更新终端前置设备的设备标识信息、设备地址和设备状态。
控制器频道分布信息处理过程:
步骤1401:当CDN组播***内有组播频道创建或更新时,直播管理平台会向控制器发送当前CDN组播***的频道分布信息,频道分布信息包含频道标识信息、频道所在组播设备地址,在本实施例中,频道hdscid-01和hdscid-03的某些子码率已建了组播频道,频道分布信息的内容如下:
Figure PCTCN2019128623-appb-000030
步骤1402:控制器接收到直播管理平台发送的频道分布信息后,在本地记录和更新频道ID以及频道所在组播设备的地址。
图9为本发明实施例中终端设备A(安装有flash插件)请求HDS直播服务过程的示意图,如图9所示,该过程可以包括:
步骤1501:家庭用户001的终端设备A向控制器发起频道hdscid-01的HTTP播放请求(即图9中的频道播放请求),播放请求中URL携带频道标识信息hdscid-01和所属终端前置设备的设备标识agent001。在本实施例中,终端设备向控制器发送服务请求的内容如下:
Figure PCTCN2019128623-appb-000031
步骤1502:控制器在本地记录中获取频道hdscid-01所在的组播设备地址;同时在本地记录中获取终端前置设备agent001的设备状态;终端前置设备agent001的设备状态正常,控制器则将家庭用户001的终端设备A重定向到终端前置设备agent001,返回的重定向信息中包含终端前置设备agent001的 地址、频道标识信息、频道hdscid-01所在组播设备的地址。在本实施例中,控制器给终端设备返回的重定向信息内容如下:
Figure PCTCN2019128623-appb-000032
基于上述步骤1501和步骤1502,实现了控制器对终端设备A的服务调度。
步骤1503:终端设备A重新向终端前置设备agent001发起频道hdscid-01的HTTP播放请求(即图9中的重新请求播放服务),在该播放请求中URL携带频道标识信息hdscid-01、频道hdscid-01所在组播设备的地址10.47.25.51。
步骤1504:终端前置设备agent001收到终端设备A的播放请求后,向地址为10.47.25.51的组播设备发起HTTP频道hdscid-01的码率列表manifest文件下载请求。
步骤1505:组播设备返回manifest文件以及组播信息,在终端设备中,进行本地记录和更新。
步骤1506:终端前置设备agent001获取到的频道hdscid-01的码率列表manifest文件后,将manifest文件返回给终端设备A。
步骤1507:终端设备A根据自身的策略选择选择一个子码率2048000,向终端前置设备agent001发起子码率2048000的服务请求(即图9中的子码率服务请求)。
步骤1508:终端前置设备agent001从本地记录获取子码率2048000的组播信息,然后通过组播信息中的组播地址和端口,加入组播组,接收子码率2048000的组播流,再转码成单播码流对终端设备A服务;如果本地记录未找到子码率2048000的组播信息,则直接向直播源站发起子码率2048000的服务请求,从直播源站回源单播媒体流。
步骤1509:终端前置设备agent001获取到媒体流后,将媒体流返回给终 端设备A;如果终端前置设备agent001本地有请求服务子码率2048000的缓存,则直接读取本地缓存后对终端设备A提供服务;
基于上述步骤1503至步骤1509,实现了终端设备A请求媒体服务。
图10为本发明实施例中多码率HDS频道动态组播实现过程的示意图,如图10所示,该过程可以包括:
步骤1601:终端前置设备agent001和终端前置设备agent002定时上报相应的终端设备的媒体业务实时播放信息给控制器,该实时播放信息包含终端设备A和终端设备B正在播放频道的频道标识信息和视频码率。在本实施例中,终端***001两个终端设备的媒体业务实时播放信息的内容如下:
Figure PCTCN2019128623-appb-000033
步骤1602:控制器接收终端前置设备发送的终端设备的媒体业务实时播放信息后,在本地记录和更新。
步骤1603:控制器定时汇总所有终端前置设备上报的媒体业务实时播放信息,统计出每个频道各子码率对应的终端设备数,并根据频道各码率的终端设备数进行排序,在本实施例中,排序如下:
Figure PCTCN2019128623-appb-000034
Figure PCTCN2019128623-appb-000035
热点码率根据设定的热度阈值来计算。热度阈值的设定取决于CDN组播***的组播能力,本实施例中,CDN组播***内有3台组播设备,每台组播设备最大支持4路组播频道,则***最大支持12路组播频道,则热度阈值设定为12,终端设备数排名top12的频道子码率为热点码率。控制器将这12个热点码率的频道标志、码率值等记录到本地;
步骤1604:直播管理平台定时向控制器发送热点码率信息采集请求。
步骤1605:控制器读取本地存储数据,将步骤1603中计算出的热点视频码率信息,返回给CDN组播***,在本实施例中,热点视频码率信息的内容如下:
Figure PCTCN2019128623-appb-000036
基于上述步骤1601至步骤1605,实现了控制器热点频道统计。
步骤1606:直播管理平台接收控制器返回的热点码率信息,依据动态组播算法自动生成频道hdscid-05的子码率2048000以及其他热点码率的组播计划,本实时例中频道hdscid-05的子码率2048000未启动组播,则生成该码率的组播计划,组播计划开始时刻为1分钟后,时长1小时,组播地址225.0.0.1, 组播端口10010。
步骤1607:直播管理平台定时扫描热点组播计划,当组播计划中的组播开始时刻到达时,下发频道子码率2048000的组播创建请求给组播设备。
步骤1608:组播设备在收到直播管理平台下发的组播创建请求之后,执行频道标识信息为hdscid-05的子码率2048000的组播创建任务,从直播源站回源子码率2048000的单播码流,转码成组播流发送到组播地址225.0.0.1,发送端口为10010,组播服务开始。
第八实施例
在本发明前述实施例提出的组播方法的基础上,本发明第八实施例提出了一种组播装置,可以应用于直播管理平台中。
图11为本发明实施例的一种组播装置的组成结构示意图,如图11所示,该装置包括:获取模块1101和第一处理模块1102。
获取模块1101,用于获取热点频道信息,所述热点频道信息包括当前播放量不低于预定播放量的至少一种媒体业务的标识信息。
第一处理模块1102,用于根据所述热点频道信息,调整当前的组播业务。
在一实施方式中,每种媒体业务对应一个频道,所述媒体业务的标识信息为对应的频道的标识信息。
在一实施方式中,每种媒体业务对应一个频道和一个码率,所述媒体业务的标识信息包括:对应的频道的标识信息和对应的码率。
在一实施方式中,所述热点频道信息是根据各终端设备的媒体业务实时播放信息得出的。
在一实施方式中,所述获取模块1101,用于在生成热点频道信息采集请求后,根据所述热点频道信息采集请求采集热点频道信息;或者,周期性地接收热点频道信息。
在一实施方式中,所述第一处理模块1102,具体用于执行以下至少一项:
在所述当前播放量不低于预定播放量的至少一种媒体业务中,存在未正 在进行组播的媒体业务时,针对所述未正在进行组播的媒体业务,创建对应的组播业务;
在所述当前播放量不低于预定播放量的至少一种媒体业务中,存在正在进行组播的媒体业务,且当前时刻与所述正在进行组播的媒体业务的组播结束时刻的时间差小于设定时长时,延后所述正在进行组播的媒体业务的组播结束时刻;
正在进行组播的媒体业务中,存在低热度媒体业务时,删除所述低热度媒体业务对应的组播业务;所述低热度媒体业务不属于所述当前播放量不低于预定播放量的至少一种媒体业务。
在一实施方式中,所述第一处理模块1102,具体用于向组播设备发送组播创建请求,使所述组播设备根据所述组播创建请求进行组播业务创建,所述组播创建请求用于请求针对所述未正在进行组播的媒体业务,创建对应的组播业务。
在一实施方式中,所述第一处理模块1102,具体用于向组播设备发送组播延后请求,使所述组播设备根据所述组播延后请求延后组播结束时刻,所述组播延后请求用于请求延后所述正在进行组播的媒体业务的组播结束时刻。
在一实施方式中,所述第一处理模块1102,具体用于向组播设备发送组播删除请求,使所述组播设备根据所述组播删除请求删除组播业务,所述组播删除请求用于请求删除所述低热度媒体业务对应的组播业务。
在一实施方式中,所述第一处理模块1102,还用于在每个组播业务的组播开始时刻到达时,下发组播业务创建请求至组播设备;每个组播业务的组播结束时刻到达时,下发组播业务删除请求至组播设备。
在一实施方式中,所述第一处理模块1102,还用于在任一频道的至少一个码率的第一类媒体业务属于所述当前播放量不低于预定播放量的至少一种媒体业务时,针对对应频道的所***率的第二类媒体业务,创建对应的组播业务,所述第一类媒体业务为视频媒体业务时,所述第二类媒体业务为音频媒体业务;所述第一类媒体业务为音频媒体业务时,所述第二类媒体业务为视频媒体业务。
在一实施方式中,所述第一处理模块1102,还用于在任一频道的所***率的第一类媒体业务属于低热度媒体业务时,针对对应频道的所***率的第二类媒体业务,删除对应的组播业务;其中,所述低热度媒体业务不属于所述当前播放量不低于预定播放量的至少一种媒体业务;所述第一类媒体业务为视频媒体业务时,所述第二类媒体业务为音频媒体业务;所述第一类媒体业务为音频媒体业务时,所述第二类媒体业务为视频媒体业务。
在一实施方式中,所述第一处理模块1102,还用于在创建或删除组播业务时,向控制器发送当前组播业务对应的频道分布信息,使所述控制器更新当前组播业务对应的频道分布信息。
实际应用中,上述获取模块1101和第一处理模块1102均可由直播管理平台中的CPU、微处理器(Micro Processor Unit,MPU)、DSP、或FPGA等实现。
另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
具体来讲,本实施例中的一种组播方法对应的计算机程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种组播方法对应的计算机程序指令被一电子设备读取或被执行时,实现前述第二实施例的任意一种组播方法的步骤。
基于前述实施例相同的技术构思,参见图12,其示出了本发明实施例提供的一种组播设备120,该设备可以包括:第一存储器121和第一处理器122;其中,
所述第一存储器121,用于存储计算机程序和数据;
所述第一处理器122,用于执行所述存储器中存储的计算机程序,以实现前述第二实施例的任意一种组播方法的步骤。
在实际应用中,上述第一存储器121可以是易失性存储器,例如RAM;或者非易失性存储器,例如ROM,快闪存储器,HDD或SSD;或者上述种类的存储器的组合,并向第一处理器122提供指令和数据。
上述第一处理器122可以为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述第一处理器功能的电子器件还可以为其它,本发明实施例不作具体限定。
第九实施例
在本发明前述实施例提出的组播方法的基础上,本发明第九实施例提出了一种组播装置,可以应用于控制器中。
图13为本发明实施例的另一种组播装置的组成结构示意图,如图13所示,该装置包括:生成模块1301和第二处理模块1302。
生成模块1301,用于生成热点频道信息,所述热点频道信息包括当前播放量不低于预定播放量的至少一种媒体业务的标识信息。
第二处理模块1302,用于向直播管理平台发送所述热点频道信息,使所述直播管理平台根据所述热点频道信息,调整当前的组播业务。
在一实施方式中,所述第二处理模块1301,具体用于接收各终端设备的媒体业务实时播放信息,根据所述各终端设备的媒体业务实时播放信息,生成所述热点频道信息。
在一实施方式中,所述第二处理模块1301,具体用于确定热度阈值,所述热度阈值用于表示所述直播管理平台最大能支持的并行组播业务的路数; 根据所述各终端设备的媒体业务实时播放信息、以及所述热度阈值,生成所述热点频道信息。
在一实施方式中,所述媒体业务实时播放信息包括:当前播放频道的标识信息。
在一实施方式中,所述媒体业务实时播放信息还包括:当前播放的媒体业务的码率。
在一实施方式中,所述第二处理模块1301,还用于在接收直播管理平台在创建或删除组播业务时,发送的当前组播业务对应的频道分布信息;根据接收的频道分布信息,更新当前组播业务对应的频道分布信息;
接收终端前置设备发送的心跳消息,所述心跳消息包括终端前置设备的设备标识信息、设备地址和设备状态;根据所述心跳消息,更新所述终端前置设备的设备标识信息、设备地址和设备状态。
在一实施方式中,所述第二处理模块1301,还用于接收到终端设备发送的服务重定向请求时,根据所述当前组播业务对应的频道分布信息、所述终端前置设备的设备标识信息、所述终端前置设备的设备地址和所述终端前置设备的设备状态,向所述终端设备发送针对所述服务重定向请求的重定向信息。
本发明实施例还提出了一种控制器,图14为本发明实施例的控制器的内部结构示意图,如图14所示,该控制器可以包括:心跳消息接收模块、频道分布信息接收模块、实时播放信息接收模块、热点频道统计模块、热点频道信息发送模块和调度模块,其中,
心跳消息接收模块,用于接收终端***上报的心跳消息,并在本地记录和更新,心跳消息包含终端前置设备的设备标识信息、设备地址和设备状态;
频道分布信息接收模块,用于接收CDN组播***同步的频道分布信息,并在本地记录和更新,频道分布信息包含频道ID、频道所在组播设备地址;
实时播放信息接收模块,用于接收终端***上报的媒体业务实时播放信息,并在本地记录和更新,媒体业务实时播放信息包含终端设备当前播放频道的ID;
热点频道统计模块,用于负责汇总所有终端设备的媒体业务实时播放信息,按照设定的热度阈值计算出热点频道,记录到本地;
热点频道信息发送模块,用于向CDN组播***发送热点频道信息,热点频道信息包含热点频道的频道ID;实际实施时,可以在接收到CDN组播***的热点频道信息采集请求时,触发热点频道信息的发送,也可以根据特定的周期,主动发送热点频道信息给CDN组播***;
调度模块,用于接收终端设备发起的服务重定向请求,服务重定向请求携带频道ID和所属终端前置设备的标识信息。调度模块根据终端设备发送的直播服务请求中的频道ID,在本地记录中获取频道所在的组播设备地址;同时根据服务重定向请求中的标识信息,在本地记录中获取发起请求的终端设备归属的终端前置设备的设备状态。如果终端前置设备的设备状态正常,则将终端设备重定向到终端前置设备,返回的重定向信息中包含当前终端设备归属的终端前置设备的地址、频道ID、频道所在组播设备的地址;如果终端前置设备的设备状态异常,则不提供服务。
实际应用中,上述生成模块1301、第二处理模块1302、心跳消息接收模块、频道分布信息接收模块、实时播放信息接收模块、热点频道统计模块、热点频道信息发送模块和调度模块均可由控制器中的CPU、MPU、DSP、或FPGA等实现。
另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读 存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
具体来讲,本实施例中的一种组播方法对应的计算机程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种组播方法对应的计算机程序指令被一电子设备读取或被执行时,实现前述第三实施例的任意一种组播方法的步骤。
基于前述实施例相同的技术构思,参见图12,其示出了本发明实施例提供的另一种组播设备150,该设备可以包括:第二存储器151和第二处理器152。
所述第二存储器151,用于存储计算机程序和数据。
所述第二处理器152,用于执行所述存储器中存储的计算机程序,以实现前述第三实施例的任意一种组播方法的步骤。
在实际应用中,上述第二存储器151可以是易失性存储器,例如RAM;或者非易失性存储器,例如ROM,快闪存储器,HDD或SSD;或者上述种类的存储器的组合,并向第二处理器152提供指令和数据。
上述第二处理器152可以为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述第二处理器功能的电子器件还可以为其它,本发明实施例不作具体限定。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计 算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (27)

  1. 一种组播方法,所述方法包括:
    获取热点频道信息,所述热点频道信息包括当前播放量不低于预定播放量的至少一种媒体业务的标识信息;
    根据所述热点频道信息,调整当前的组播业务。
  2. 根据权利要求1所述的方法,其中,每种媒体业务对应一个频道,所述媒体业务的标识信息为对应的频道的标识信息。
  3. 根据权利要求2所述的方法,其中,每种媒体业务还对应一个码率,所述媒体业务的标识信息还包括:对应的码率。
  4. 根据权利要求3所述的方法,其中,所述方法还包括:
    任一频道的至少一个码率的第一类媒体业务属于所述当前播放量不低于所述预定播放量的至少一种媒体业务时,针对对应频道的所***率的第二类媒体业务,创建对应的组播业务,所述第一类媒体业务为视频媒体业务和音频媒体业务中的一者,所述第二类媒体业务为视频业务和音频媒体业务中的另一者。
  5. 根据权利要求3或4所述的方法,其中,所述方法还包括:
    任一频道的所***率的第一类媒体业务属于低热度媒体业务时,针对对应频道的所***率的第二类媒体业务,删除对应的组播业务;其中,所述低热度媒体业务不属于所述当前播放量不低于所述预定播放量的至少一种媒体业务;所述第一类媒体业务为视频媒体业务和音频媒体业务中的一者,所述第二类媒体业务为视频业务和音频媒体业务中的另一者。
  6. 根据权利要求1至4任一项所述的方法,其中,所述热点频道信息是 根据各终端设备的媒体业务实时播放信息得出的。
  7. 根据权利要求1至4任一项所述的方法,其中,所述获取热点频道信息包括:
    响应于热点频道信息采集请求,采集请求采集热点频道信息;
    或者,周期性地接收热点频道信息。
  8. 根据权利要求1至4任一项所述的方法,其中,所述根据所述热点频道信息,调整当前的组播业务,包括以下至少一项:
    在所述当前播放量不低于所述预定播放量的至少一种媒体业务中,存在未正在进行组播的媒体业务时,针对所述未正在进行组播的媒体业务,创建对应的组播业务;
    在所述当前播放量不低于所述预定播放量的至少一种媒体业务中,存在正在进行组播的媒体业务,且当前时刻与所述正在进行组播的媒体业务的组播结束时刻的时间差小于设定时长时,延后所述正在进行组播的媒体业务的组播结束时刻;
    正在进行组播的媒体业务中,存在低热度媒体业务时,删除所述低热度媒体业务对应的组播业务;所述低热度媒体业务不属于所述当前播放量不低于所述预定播放量的至少一种媒体业务。
  9. 根据权利要求8所述的方法,其中,所述创建对应的组播业务,包括:
    向组播设备发送组播创建请求,使所述组播设备根据所述组播创建请求进行组播业务创建,所述组播创建请求用于请求针对所述未正在进行组播的媒体业务,创建对应的组播业务。
  10. 根据权利要求8所述的方法,其中,所述延后所述正在进行组播的媒体业务的组播结束时刻,包括:
    向组播设备发送组播延后请求,使所述组播设备根据所述组播延后请求延后组播结束时刻,所述组播延后请求用于请求延后所述正在进行组播的媒体业务的组播结束时刻。
  11. 根据权利要求8所述的方法,其中,所述删除所述低热度媒体业务对应的组播业务,包括:
    向组播设备发送组播删除请求,使所述组播设备根据所述组播删除请求删除组播业务,所述组播删除请求用于请求删除所述低热度媒体业务对应的组播业务。
  12. 根据权利要求8所述的方法,其中,所述方法还包括:
    每个组播业务的组播开始时刻到达时,下发组播业务创建请求至组播设备;每个组播业务的组播结束时刻到达时,下发组播业务删除请求至组播设备。
  13. 根据权利要求1至4任一项所述的方法,其中,所述方法还包括:在创建或删除组播业务时,向控制器发送当前组播业务对应的频道分布信息,使所述控制器更新当前组播业务对应的频道分布信息。
  14. 根据权利要求1至4任一项所述的方法,其中,所述预定播放量为媒体业务中播放量排在第N位的媒体业务对应的播放量,其中,N为直播管理平台最大能支持的并行组播业务的路数。
  15. 一种组播方法,其中,所述方法包括:
    生成热点频道信息,所述热点频道信息包括当前播放量不低于预定播放量的至少一种媒体业务的标识信息;
    向直播管理平台发送所述热点频道信息,使所述直播管理平台根据所述 热点频道信息,调整当前的组播业务。
  16. 根据权利要求15所述的方法,其中,所述生成热点频道信息,包括:
    接收各终端设备的媒体业务实时播放信息,根据所述各终端设备的媒体业务实时播放信息,生成所述热点频道信息。
  17. 根据权利要求16所述的方法,其中,所述根据所述各终端设备的媒体业务实时播放信息,生成所述热点频道信息,包括:
    确定热度阈值,所述热度阈值用于表示所述直播管理平台最大能支持的并行组播业务的路数;根据所述各终端设备的媒体业务实时播放信息、以及所述热度阈值,生成所述热点频道信息。
  18. 根据权利要求17所述的方法,其中,所述媒体业务实时播放信息包括:当前播放频道的标识信息。
  19. 根据权利要求18所述的方法,其中,所述媒体业务实时播放信息还包括:当前播放的媒体业务的码率。
  20. 根据权利要求15所述的方法,其中,所述方法还包括:接收直播管理平台在创建或删除组播业务时,发送的当前组播业务对应的频道分布信息;根据接收的频道分布信息,更新当前组播业务对应的频道分布信息;
    所述方法还包括:接收终端前置设备发送的心跳消息,所述心跳消息包括终端前置设备的设备标识信息、设备地址和设备状态;根据所述心跳消息,更新所述终端前置设备的设备标识信息、设备地址和设备状态。
  21. 根据权利要求20所述的方法,其中,所述方法还包括:
    响应于接收到终端设备发送的服务重定向请求,根据所述当前组播业务 对应的频道分布信息、所述终端前置设备的设备标识信息、所述终端前置设备的设备地址和所述终端前置设备的设备状态,向所述终端设备发送针对所述服务重定向请求的重定向信息。
  22. 一种组播设备,其中,所述设备包括:第一处理器和用于存储能够在处理器上运行的计算机程序的第一存储器;其中,
    所述第一处理器用于运行所述计算机程序时,执行权利要求1至14任一项所述方法的步骤。
  23. 一种组播设备,其中,所述设备包括第二处理器和用于存储能够在处理器上运行的计算机程序的第二存储器;其中,
    所述第二处理器用于运行所述计算机程序时,执行权利要求15至21任一项所述方法的步骤。
  24. 一种组播装置,其中,所述装置包括:获取模块和第一处理模块,其中,
    获取模块,用于获取热点频道信息,所述热点频道信息包括当前播放量不低于预定播放量的至少一种媒体业务的标识信息;
    第一处理模块,用于根据所述热点频道信息,调整当前的组播业务。
  25. 一种组播装置,其中,所述装置包括:生成模块和第二处理模块,其中,
    生成模块,用于生成热点频道信息,所述热点频道信息包括当前播放量不低于预定播放量的至少一种媒体业务的标识信息;
    第二处理模块,用于向直播管理平台发送所述热点频道信息,使所述直播管理平台根据所述热点频道信息,调整当前的组播业务。
  26. 一种计算机存储介质,其上存储有计算机程序,其中,该计算机程 序被处理器执行时实现权利要求1至14任一项所述方法的步骤。
  27. 一种计算机存储介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时实现权利要求15至21任一项所述方法的步骤。
PCT/CN2019/128623 2018-12-26 2019-12-26 一种组播方法、装置、设备和计算机存储介质 WO2020135562A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811605190.4 2018-12-26
CN201811605190.4A CN111372103B (zh) 2018-12-26 2018-12-26 一种组播方法、装置、设备和计算机存储介质

Publications (1)

Publication Number Publication Date
WO2020135562A1 true WO2020135562A1 (zh) 2020-07-02

Family

ID=71128685

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/128623 WO2020135562A1 (zh) 2018-12-26 2019-12-26 一种组播方法、装置、设备和计算机存储介质

Country Status (2)

Country Link
CN (1) CN111372103B (zh)
WO (1) WO2020135562A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022691A (zh) * 2022-05-31 2022-09-06 青岛海信宽带多媒体技术有限公司 一种智能机顶盒及直播频道播放方法
WO2023246599A1 (zh) * 2022-06-22 2023-12-28 中兴通讯股份有限公司 非签约内容提供商的服务资源分发方法和视频服务***

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114339269A (zh) * 2020-10-10 2022-04-12 中国电信股份有限公司 视频传输方法、组播管理平台、终端以及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101394296A (zh) * 2007-09-17 2009-03-25 中兴通讯股份有限公司 一种流媒体点播组播方法和装置
CN101399690A (zh) * 2007-09-28 2009-04-01 中国科学院软件研究所 一种多媒体数据传输方法及其***
CN103716658A (zh) * 2012-09-28 2014-04-09 株式会社日立制作所 视频点播服务装置与方法
KR20140087623A (ko) * 2012-12-31 2014-07-09 한국과학기술원 멀티캐스트 그룹 가입자 정보를 이용한 시청률 조사 시스템 및 그 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1996933B (zh) * 2005-12-31 2010-08-11 华为技术有限公司 对实时组播业务进行拥塞控制的方法
CN1852119A (zh) * 2006-02-28 2006-10-25 华为技术有限公司 对组播节目进行按次计费的方法
CN103327372A (zh) * 2013-06-06 2013-09-25 深圳市龙视传媒有限公司 一种交换式视频广播的视频推流的方法、服务器及***
CN104283694A (zh) * 2013-07-02 2015-01-14 北京邮电大学 基于ip组播及p2p补偿的流媒体传输方法
WO2015027429A1 (zh) * 2013-08-29 2015-03-05 华为技术有限公司 聚合传输的方法、装置和***以及网络服务器和用户设备
US20150156249A1 (en) * 2013-12-04 2015-06-04 Verizon Patent And Licensing Inc. Providing notifications regarding the multicast of scheduled content or popular content
EP3127334B1 (en) * 2014-03-31 2020-10-21 British Telecommunications public limited company Multicast streaming
WO2016086419A1 (zh) * 2014-12-05 2016-06-09 华为技术有限公司 多媒体广播多播业务的方法、装置和***
CN105335517A (zh) * 2015-11-06 2016-02-17 努比亚技术有限公司 选择热度多媒体的方法及终端
CN106102167B (zh) * 2016-06-22 2019-03-19 武汉大学 实时按需数据广播调度自适应信道划分与分配***及方法
CN106454396A (zh) * 2016-10-26 2017-02-22 山东浪潮商用***有限公司 一种提高直播时移电视并发能力的实现方法
CN107995603A (zh) * 2016-10-27 2018-05-04 中兴通讯股份有限公司 一种能力开放实现方法及装置
CN106658044B (zh) * 2016-12-30 2020-05-01 优地网络有限公司 一种直播方法和装置
CN108668178B (zh) * 2017-03-31 2020-12-04 华为技术有限公司 一种组播实现方法及相关网络设备
CN107205159B (zh) * 2017-05-25 2020-08-04 武汉斗鱼网络科技有限公司 网络直播中流媒体的比特率调整方法、装置和存储介质
CN108155999B (zh) * 2017-12-27 2020-08-07 乐自科技(南京)有限公司 带tcp补包机制的智能udp组播文件分发***及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101394296A (zh) * 2007-09-17 2009-03-25 中兴通讯股份有限公司 一种流媒体点播组播方法和装置
CN101399690A (zh) * 2007-09-28 2009-04-01 中国科学院软件研究所 一种多媒体数据传输方法及其***
CN103716658A (zh) * 2012-09-28 2014-04-09 株式会社日立制作所 视频点播服务装置与方法
KR20140087623A (ko) * 2012-12-31 2014-07-09 한국과학기술원 멀티캐스트 그룹 가입자 정보를 이용한 시청률 조사 시스템 및 그 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022691A (zh) * 2022-05-31 2022-09-06 青岛海信宽带多媒体技术有限公司 一种智能机顶盒及直播频道播放方法
CN115348467A (zh) * 2022-05-31 2022-11-15 青岛海信宽带多媒体技术有限公司 一种智能机顶盒及直播频道播放方法
CN115022691B (zh) * 2022-05-31 2024-05-24 青岛海信宽带多媒体技术有限公司 一种智能机顶盒及直播频道播放方法
WO2023246599A1 (zh) * 2022-06-22 2023-12-28 中兴通讯股份有限公司 非签约内容提供商的服务资源分发方法和视频服务***

Also Published As

Publication number Publication date
CN111372103B (zh) 2023-05-26
CN111372103A (zh) 2020-07-03

Similar Documents

Publication Publication Date Title
US10547659B2 (en) Signaling and processing content with variable bitrates for adaptive streaming
US10320870B2 (en) Method and apparatus for carrier controlled dynamic rate adaptation and client playout rate reduction
US10616623B2 (en) Optimized near-simultaneous distribution of multimedia content
JP5588517B2 (ja) データセグメントのオプションのブロードキャスト配信によるストリーミング
US9158769B2 (en) Systems and methods for network content delivery
US8826349B2 (en) Multicast adaptive stream switching for delivery of over the top video content
US9118738B2 (en) Systems and methods for controlling access to a media stream
RU2526744C2 (ru) Способ общесетевого хранения и распределения данных и система для телевидения в сетях передачи данных по протоколу ip
US8200747B2 (en) Session handoff of segmented media data
WO2020135562A1 (zh) 一种组播方法、装置、设备和计算机存储介质
US20140258449A1 (en) Segmented content delivery
CN104093088B (zh) 实现自适应流媒体播放控制的***及方法
CN1703087A (zh) 宽带电信***及减少多媒体接收机信道切换延迟时间方法
US8316108B2 (en) Method and apparatus for obtaining media over a communications network
US8316148B2 (en) Method and apparatus for obtaining media over a communications network
EP2670109B1 (en) Method, system and devices for multimedia delivering in content delivery networks
WO2013071517A1 (zh) 媒体流的发送方法及服务器
CN112533020B (zh) 面向电视直播***的负载均衡动态组网***及方法
WO2023186531A1 (en) Content delivery
JP6009501B2 (ja) データセグメントのオプションのブロードキャスト配信によるストリーミング
WO2024056452A1 (en) Multicast join policy
WO2023052190A1 (en) Content delivery
WO2024056455A1 (en) Multicast leave policy
CN117675774A (zh) 流媒体数据传输方法、装置及电子设备
CN116743944A (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: 19901978

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 18.11.2021)

122 Ep: pct application non-entry in european phase

Ref document number: 19901978

Country of ref document: EP

Kind code of ref document: A1