WO2021121026A1 - 广告插播方法、电子设备以及存储介质 - Google Patents
广告插播方法、电子设备以及存储介质 Download PDFInfo
- Publication number
- WO2021121026A1 WO2021121026A1 PCT/CN2020/133131 CN2020133131W WO2021121026A1 WO 2021121026 A1 WO2021121026 A1 WO 2021121026A1 CN 2020133131 W CN2020133131 W CN 2020133131W WO 2021121026 A1 WO2021121026 A1 WO 2021121026A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- advertisement
- program
- description file
- client
- description
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/812—Monomedia components thereof involving advertisement data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0277—Online advertisement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23424—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content 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/26258—Content 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44016—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/84—Generation or processing of descriptive data, e.g. content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/265—Mixing
Definitions
- the embodiments of the present application relate to the field of communications, and in particular, to an advertisement interruption method, an electronic device, and a storage medium.
- Video advertising is the main source of profit for video content service providers, so many program content will be inserted into advertising.
- the client needs to rely on the advertising server and the program service platform, that is, the client needs to obtain the program playback information from the program service platform, and the advertisement playback information from the advertisement server, and control the switching of programs and advertisements to achieve Advertising play.
- the purpose of the embodiments of the present application is to provide an advertising interruption method, electronic equipment, and storage medium, which can avoid phenomena such as black screens, turning circles, etc. during advertising interruption.
- the embodiment of the present application provides an advertisement insertion method, which is applied to a streaming media server, including: receiving a broadcast request of a program sent by a client, determining the advertisement that needs to be inserted in the program, and according to the broadcast request of the program The advertisement insertion strategy carried in the, splicing the description file of the advertisement and the description file of the program, and sends the spliced description file to the client for the client to play according to the spliced description file.
- the embodiment of the application also provides an advertisement insertion method, which is applied to a business platform, including: generating an advertisement insertion strategy according to a program playing request sent by the client, and sending the advertisement insertion strategy to the client for the client to carry the advertisement
- the broadcast request of the program of the interruption strategy is sent to the streaming media server.
- the embodiment of the present application also provides an electronic device, including: at least one processor, and a memory communicatively connected with the at least one processor, wherein the memory stores instructions executable by the at least one processor, and the instructions are at least One processor executes, so that at least one processor can execute the foregoing advertisement insertion method.
- the embodiment of the present application also provides a computer-readable storage medium that stores a computer program, and the computer program is executed by a processor to implement the foregoing advertisement insertion method.
- the streaming media server completes the splicing of the description file of the advertisement and the description file of the program, and sends the spliced description file to the client, so that the client can use the spliced description file according to the prior art.
- the streaming media server splicing the advertisement description file and the program description file can make the program code stream and
- the advertisement code stream belongs to the same code stream channel to be played by the client, so as to avoid the black screen and circle rotation caused by the need to switch the code stream channel to download programs and advertisements during the advertisement interruption; at the same time, for the client, it receives
- the code stream can be downloaded and played after the spliced description file, without the need to switch and control the advertisement code stream and the program code stream. Therefore, the embodiment of this application makes the implementation of the client easier, and relatively, can enhance the processing of the streaming media server ability.
- the advertising interruption strategy includes: the interruption time point of the advertisement in the program, and the interruption duration of the advertisement corresponding to the interruption time point.
- an advertisement of a specific duration can be inserted at a specific time point of a program.
- the advertisement description file and the program description file are spliced, including: identifying the splicing position of the advertisement in the program description file, where the program description file is being spliced The total duration of the program segment described at the location matches the interruption time point, and the advertisement description part to be spliced is identified from the description file of the advertisement, where the total duration of the advertisement segment described in the advertisement description part matches the interruption duration, and The splicing position where the advertisement description part is spliced in the description file of the program.
- the streaming media server determines the splicing position and the description part of the advertisement to be spliced by using the advertisement playing strategy, and splices the description part of the advertisement to be spliced into the splicing position in the description file of the program.
- This embodiment can simplify the description file of the advertisement and the description of the program. The stitching process of files.
- identifying the splicing position of the advertisement in the description file of the program includes: accumulating the duration of the program fragments one by one according to the order of the program fragments described in the description file of the program. Match, and use the description position of the accumulated program segment in the program description file as the splicing position.
- the splicing position of the advertisement description part can be accurately identified.
- identifying the part of the advertisement description to be spliced from the description file of the advertisement includes: accumulating the duration of the advertisement fragments one by one according to the order of the advertisement fragments described in the description file of the advertisement. The duration is matched, and the description information of each advertisement segment corresponding to the total duration is used as the description part of the advertisement to be spliced.
- the description information in the description file of the advertisement that needs to be spliced can be accurately identified.
- the broadcast request of the program also carries the attribute information of the client to determine the advertisements that need to be inserted in the program, including: combining the attribute information of the client to query the advertisement operator to obtain the advertisements that need to be inserted in the program.
- the advertising operator will push different advertisements for different clients according to the advertising operation strategy.
- the streaming media server obtains the advertisements that need to be inserted in the program from the advertising operator. This embodiment can provide different advertising services for different clients.
- receiving the playback request of the program sent by the client includes: receiving the playback request of the program sent by the client through the edge node in the content distribution network, and sending the spliced description file to the client, including: the spliced description
- the file is sent to the client through the edge node for the edge node to save the spliced description file, and the saved spliced description file is returned to the client when it receives a program playback request next time.
- the edge node in the content distribution network can save the spliced description file. If it receives the playback request of the program again, it can return the previously saved spliced description file to the client without the need for the streaming server to generate it again. Reduce the burden of streaming media server work, and feedback is faster.
- Fig. 1 is a schematic diagram of the advertising insertion service framework in the first embodiment of the present application
- FIG. 2 is a schematic diagram of the structure of the streaming media server in the first embodiment of the present application
- Fig. 3 is a flowchart of an advertisement insertion method in the first embodiment of the present application.
- FIG. 4 is a schematic diagram of the splicing of the advertising code stream and the program code stream in the first embodiment of the present application
- FIG. 5 is a diagram of the relationship between the first-level description file and the second-level description file in the first embodiment of the present application
- FIG. 6 is a flowchart of an advertisement insertion method in the second embodiment of the present application.
- FIG. 7 is a flowchart of an advertisement insertion method in the third embodiment of the present application.
- FIG. 8 is a schematic diagram of the structure of the electronic device in the fourth embodiment of the present application.
- the first embodiment of the present application relates to an advertisement insertion method, which is applied to a streaming media server.
- the streaming media server splices the description file of the advertisement that needs to be inserted in the program and the description file of the program according to the advertising play strategy carried in the program play request sent by the client, and sends the spliced description file to the client.
- the following specifically describes the implementation details of the data processing method of this embodiment. The following content is only provided for ease of understanding and is not necessary for the implementation of this solution.
- the advertisement insertion method can be applied to the field of Internet TV (Over The Top, OTT for short).
- the advertising insertion service framework shown in Figure 1 includes a streaming media server 101, a content management system 102, a business platform 103, and a client 104.
- the content management system 102 is responsible for providing programs and advertisements for the business platform 103 and the streaming media server 101 Specifically, the service platform 103 can obtain the attribute information of the program from the content management system 102, such as program name, program type, etc.; the streaming media server 101 can receive the content of the program and advertisement from the content management service system 102 and process it into The program fragments and advertisement fragments are stored locally.
- the structure diagram of the streaming media server 101 is shown in FIG. 2, and includes: a content injection unit 201, a control unit 202, and a dynamic generation unit 203.
- the content injection unit 201 is configured to process the programs and advertisements injected by the content management system 102 into slice files and store them;
- the dynamic generation unit 203 is configured to convert the description files of the advertisements after the streaming media server 101 receives the broadcast request of the program.
- control unit 202 is configured to identify the splicing position of the advertisement in the description file of the program during the process of splicing the description file of the advertisement and the description file of the program by the dynamic generating unit 203, and from the description of the advertisement
- the advertisement description part to be spliced is identified in the file.
- FIG. 3 The specific process of the advertisement insertion method in this embodiment is shown in Fig. 3, including:
- Step 301 Receive a program play request sent by the client.
- the broadcast request of the program carries an advertisement insertion strategy.
- the client 104 uses a communication protocol to send a program query request to the service platform 103, where the communication protocol includes hypertext transfer protocol, hypertext transfer security protocol, etc., which are not limited here; the service platform 103 receives After the program query request, the program information of the client 104 is returned, and the program information contains the advertisement insertion strategy and the uniform resource locator of the program; then, the client 104 sends a program playback request to the streaming media server 101, and the program playback request carries With the advertisement insertion strategy and the uniform resource locator of the program, the streaming media server 101 can also receive the playback request of the program sent by the client 104.
- the client 104 includes a mobile phone, a TV, a set-top box, a computer, etc., which is not limited here.
- the client 104 may splice the advertisement insertion strategy with the uniform resource locator of the program.
- the advertising insertion strategy is spliced to other positions of the program's uniform resource locator, it should be within the protection scope.
- Step 302 Determine the advertisement that needs to be inserted in the program.
- the streaming media server 101 after the streaming media server 101 receives the request for playing the program, it searches the advertisement operator for the advertisement that needs to be inserted in the program. Specifically, after the streaming media server 101 receives the request to play the program, it initiates a request to the advertising operator to obtain the corresponding advertisement of the program. The request carries the identifier of the program, and the advertising operator matches the corresponding advertisement for the program according to the identifier of the program.
- the specific method of advertising can be: the corresponding relationship between the program and the advertisement is determined in the advertising operation strategy formulated by the advertising operator, for example: program 1 corresponds to the advertisement a, then the advertising operator can find the corresponding relationship to the program according to the corresponding relationship. Advertisement; Next, the advertisement operator can return the relevant information of the advertisement to the streaming media server 101.
- the relevant information of the advertisement may be the identification of the advertisement, the type of the advertisement, etc., which is not limited here.
- the streaming media server 101 after the streaming media server 101 receives the broadcast request of the program, it can also match the corresponding advertisement for the program according to the identifier of the program in combination with the advertising operation strategy.
- the way of obtaining the advertising operation strategy may be: the streaming server 101 obtains it from the advertising operator in advance, or periodically obtains it from the advertising operator actively, or the advertising operator updates the advertising operation strategy and then informs the streaming server 101 to obtain it. , It is not limited here.
- the broadcast request of the program sent by the client 104 carries the attribute information of the client 104
- the streaming media server 101 can combine the attribute information of the client 104 to query the advertising operator to obtain the information that needs to be inserted in the program.
- advertising That is to say, the streaming media server 101 can initiate a request to the advertising operator to obtain the advertisement corresponding to the program, and the request carries the identifier of the program and the attribute information of the client 104.
- the advertising operator can according to the identifier of the program and the attribute of the client 104 Information, matching the corresponding advertisement for the program, and returning the relevant information of the advertisement to the streaming media server 101, so that different clients 104 can be provided with different advertisement services.
- the specific way for the advertising operator to match the corresponding advertisement for the program may be: the type of client 104 and the corresponding relationship between the program and the advertisement are determined in the advertising operation strategy formulated by the advertising operator, such as: program 1 and the first type of client Terminal 104 corresponds to advertisement a.
- the advertising operator classifies the client 104 by analyzing the attribute information of the client 104, and determines the advertisement that needs to be inserted in the program according to the corresponding relationship; or, the advertising operator queries the viewing history of the client 104 and analyzes
- the client 104’s preference for watching programs is shown to match the corresponding advertisements.
- the above two examples are only examples and are not necessary for implementing this embodiment.
- the streaming media server 101 can match the corresponding advertisements for the program by itself according to the program identifier carried in the program playback request and the attribute information of the client 104, and combined with the advertising operation strategy, so as to achieve different customers.
- the terminal 104 provides different advertising services. The manner in which the streaming media server 101 obtains the advertising operation strategy has already been introduced in the foregoing, and will not be repeated here.
- Step 303 According to the advertisement insertion strategy carried in the program play request, the advertisement description file and the program description file are spliced together.
- the streaming media server 101 stores the description file of the program and the description file of the advertisement corresponding to the program, and the advertisement insertion strategy includes the insertion time point of the advertisement in the program and the insertion time point of the advertisement corresponding to the insertion time point. duration.
- the streaming media server 101 first identifies the splicing position of the advertisement in the description file of the program, identifies the description part of the advertisement to be spliced from the description file of the advertisement, and then splices the description part of the advertisement into the splicing position in the description file of the program.
- the total duration of the program segments described in the splicing position of the program description file matches the time point of the interruption, and the total duration of the advertisement segments described in the advertisement description part matches the duration of the interruption.
- the streaming media server 101 accumulates the duration of the program segments one by one according to the program segmentation sequence described in the program description file. If the total duration obtained by this accumulation matches the interruption time point, the accumulated program segments are divided
- the description position of the film in the description file of the program is used as the splicing position. As shown in Figure 4, the schematic diagram of the splicing of the advertisement code stream and the program code stream.
- the streaming server 101 can The description position of the 6 program segments accumulated this time in the description file of the program is taken as the splicing position.
- the streaming media server 101 may accumulate the duration of the advertisement fragments one by one according to the order of the advertisement fragments described in the description file of the advertisement. If the total duration obtained by this accumulation matches the interruption duration, the advertisement fragments corresponding to the total duration The description information is used as the description part of the advertisement to be spliced.
- the streaming media server 101 when the streaming media server 101 accumulates to the 12th advertisement segment, the total duration of the advertisement segment 120s matches length1, then the streaming media server 101 can set the total duration
- the description information of each advertisement segment corresponding to 120s is used as the advertisement description part to be spliced; after determining the splicing position and advertisement description part in the description file of the program, the streaming media server 101 can splice the advertisement description part into the description file of the program In the splicing position in, thus completing the splicing of the description file of the advertisement and the description file of the program.
- the streaming media server 101 may perform accumulation according to a preset accumulation rule, and the accumulation rule may be expressed as: Among them, n represents the number of description files contained in the description file of the program/advertisement, m represents the number of slices in a description file, i represents the i-th description file, j represents the j-th slice, and BaseSliceTime represents the duration of the slice. , Generally 10s, where i is less than or equal to n and j is less than or equal to m.
- the streaming media server 101 may specify the duration of each program/advertisement segment, and how many programs/advertisement segments can be described by the description file of each program/advertisement. Assuming that the duration of each program/advertisement segment is 10s, the description file type of the program/advertisement is M3U8 description file, and each program/advertisement description file describes at most 10 segments, for an advertisement with a total duration of 120s , 12 advertisement fragments need to be described in two description files. In practical applications, there may be delays in the transmission of the program playback request due to poor network status.
- the streaming media server 101 can adjust the duration of the program/advertisement segmentation according to the current network status, for example: the basic segmentation duration is 10s, Now due to the poor network status, the streaming media server 101 adjusts the duration of each program/advertisement segment to 6s in order to ensure the viewing experience of the client 104.
- the accumulation rule can also be modified accordingly, for example: add an adjustment factor to the accumulation rule, set a certain delay and residual time through the adjustment factor to reduce the impact of network status changes, the accumulation rule after increasing the adjustment factor can be expressed as :
- ⁇ j , ⁇ represent impact factors
- n represents the number of description files contained in the description file of the program/advertisement
- m represents the number of segments in a description file
- i represents the i-th description file
- j represents the j-th segment.
- Slice BaseSliceTime represents the duration of the slice, generally 10s, where i is less than or equal to n, and j is less than or equal to m.
- the streaming server 101 generates the description information of the program/advertisement while accumulating the duration of the program/advertisement segments, thereby identifying the splicing position and determining the advertisement description during the process of generating the description information of the program/advertisement. Whether part of the splicing is completed. Specifically, suppose there is an interruption time point offset1, and an advertisement playback duration length1 corresponding to offset1, where offset1 indicates that the interruption time point is 60s, length1 indicates that the playback duration of the advertisement is 120s, and each stored in the streaming media server 101 The fragmentation duration is 10s.
- the streaming media server 101 After the streaming media server 101 receives the broadcast request of the program, it can generate the description information of the program, and accumulate the duration of the program fragments one by one according to the order of the program fragments described in the description information of the program. If the total duration is obtained by this accumulation Match the interrupt time point offset1, for example: according to the order of the program fragments described in the program description information, accumulate to the sixth program fragment, that is, the total duration of the accumulated program fragments is 60s, then the current Describe the location as the splicing location location1. Next, the streaming media server 101 generates the description information of the advertisement on location1, and accumulates the duration of the advertisement fragments one by one according to the order of the advertisement fragments described in the description information of the advertisement.
- the streaming media server 101 continues to generate after the advertisement description part
- the description information of the program after location1 assuming that the duration of the entire program is 200s. From the above description, it can be seen that the streaming media server 101 has generated the description information of the program before 60s.
- the type of the description file can be an M3U8 description file, which is not limited here.
- the description file spliced by the streaming media server 101 may be a first-level description file and/or a multi-level description file, as long as the client 104 can play according to the spliced description file.
- the first-level description file and the second-level description file are taken as an example, as shown in Fig. 5, the relationship diagram between the first-level description file and the second-level description file.
- the first-level description file contains the description information of the program and the description information of the advertisement. Assume that the description file of the advertisement is spliced into the description file of the program. As shown in Figure 5, the first part and the third part of the first-level description file are both programs.
- the first part and the third part together constitute the description information of the program, and the second part is the description information of the advertisement, that is, the advertisement description part.
- the description information about the program segments described in sequence1 in the secondary description file corresponds to the first part of the primary description file, for example: the first part corresponds to the description information of the program before the program location1, that is, it describes about the first to the sixth
- the description information of each program segment, then sequence1 also describes the description information about the first to sixth program segments; the second part and the third part are similar to the first part, and will not be repeated here.
- the advertising insertion strategy can include multiple insertion time points and the advertising insertion time lengths corresponding to these insertion time points, such as offset1-length1, offset2-length2, offset3-length3, etc., There is no limitation here. If there are multiple insertion time points and the advertising insertion time lengths corresponding to these insertion time points, the streaming media server 101 can also use a method similar to the above example to complete the splicing of the description file of the program and the description file of the advertisement. Go into details again.
- Step 304 Send the spliced description file to the client.
- the streaming media server 101 sends the spliced description file to the client 104 for the client 104 to play according to the spliced description file.
- the client 104 after the client 104 receives the spliced description file sent by the streaming media server 101, it can request the program fragments and advertisement fragments described therein, and download it from the streaming media server 101 according to the index in the description file. The corresponding program slices and advertisement slices are played.
- the streaming media server 101 completes the splicing of the description file of the advertisement and the description file of the program, and sends the spliced description file to the client 104, that is, the client 104 does not need to splice the program and the advertisement.
- the program and advertisement can be played according to the received spliced description file. Therefore, this embodiment can avoid black screens, turning circles, etc. during the process of inserting advertisements in the program.
- the second implementation manner of the present application relates to an advertisement insertion method.
- the second embodiment is roughly the same as the first embodiment, with the main difference being: in the second embodiment of the present application, the streaming media server 101 receives the broadcast request of the program sent by the client 104 through the edge node in the content distribution network; The media server 101 sends the spliced description file to the client 104 through the edge node, and the edge node saves the spliced description file. If it receives a playback request for the same program next time, it can return the saved spliced description file To the client 104.
- the following specifically describes the implementation details of the data processing method of this embodiment. The following content is only provided for ease of understanding and is not necessary for the implementation of this solution.
- the specific process is shown in Figure 6, including:
- Step 601 Receive a program play request sent by a client through an edge node in the content distribution network.
- the edge node in the content distribution network receives the play request of the program sent by the client 104, and forwards the play request of the program to the streaming media server 101.
- Step 602 Determine the advertisement that needs to be inserted in the program. It is similar to step 202 and will not be repeated here.
- Step 603 According to the advertisement insertion strategy carried in the broadcast request of the program, splicing the description file of the advertisement and the description file of the program. It is similar to step 203 and will not be repeated here.
- Step 604 Send the spliced description file to the client through the edge node.
- the streaming media server 101 sends the spliced description file to the edge node in the content distribution network, and the edge node saves the spliced description file, and when it receives the broadcast request of the program next time, it directly sends The saved description file obtained by splicing is returned to the client 104.
- the edge node in the content distribution network receives the play request of the program, but has not saved the spliced description file corresponding to the play request of the program before, then the edge node can send the play request of the program It is sent to the streaming media server 101, and the streaming media server 101 executes step 602 and the following steps after receiving the broadcast request of the program.
- step 601 and step 604 are specific implementations of step 601 and step 604, respectively.
- the streaming media server 101 receives the program playing request sent by the client 104 through the edge node in the content distribution network and sends the spliced description file to the client 104.
- the edge node in the content distribution network can save the spliced result If the playback request of the program is received again, the previously saved spliced description file can be returned to the client 104 without the streaming server 101 generating it again, which can reduce the workload of the streaming server 101.
- the third embodiment of the present application relates to an advertisement insertion method, which is applied to the service platform 103.
- the following specifically describes the implementation details of the data processing method of this embodiment. The following content is only provided for ease of understanding and is not necessary for the implementation of this solution.
- the specific process is shown in Figure 7, including:
- Step 701 Generate an advertisement insertion strategy according to the program playing request sent by the client.
- Step 702 Send the advertisement insertion strategy to the client.
- the client 104 may send a program play request to the service platform 103 when playing a program, and the service platform 103 may generate an advertising insertion strategy according to the program play request, and return the advertising insertion strategy to the client 104.
- the advertisement insertion strategy may include: an advertisement insertion time point in the program, and an advertisement insertion duration corresponding to the insertion time point.
- the service platform 103 generates an advertisement insertion strategy according to the broadcasting request of the program, and the client 104 sends the broadcasting request of the program carrying the advertisement insertion strategy to the streaming media server 101 for the streaming media server 101 according to the broadcasting request of the program.
- the carried advertisement insertion strategy splices the description file of the advertisement and the description file of the program, and sends the spliced description file to the client 104 for the client 104 to play according to the spliced description file.
- This embodiment can avoid the phenomenon of black screen and circle turning when switching between programs and advertisements.
- the fourth embodiment of the present application relates to an electronic device. As shown in FIG. 8, it includes at least one processor 801 and a memory 802 communicatively connected to the at least one processor 801.
- the memory 802 stores instructions that can be executed by at least one processor 801, and the instructions are executed by the at least one processor 801, so that the at least one processor 801 can execute the foregoing advertisement insertion method.
- the memory 802 and the processor 801 are connected in a bus manner.
- the bus may include any number of interconnected buses and bridges, and the bus connects one or more various circuits of the processor 801 and the memory 802 together.
- the bus can also connect various other circuits such as peripheral devices, voltage regulators, power management circuits, etc., which are all well-known in the art, and therefore, no further description will be given herein.
- the bus interface provides an interface between the bus and the transceiver.
- the transceiver may be one element or multiple elements, such as multiple receivers and transmitters, providing a unit for communicating with various other devices on the transmission medium.
- the data processed by the processor 801 is transmitted on the wireless medium through the antenna, and further, the antenna also receives the data and transmits the data to the processor 801.
- the processor 801 is responsible for managing the bus and general processing, and can also provide various functions, including timing, peripheral interfaces, voltage regulation, power management, and other control functions.
- the memory 802 may be used to store data used by the processor 801 when performing operations.
- the fifth embodiment of the present application relates to a computer-readable storage medium that stores a computer program.
- the computer program is executed by the processor, the above method embodiment is realized.
- the program is stored in a storage medium and includes several instructions to enable a device ( It may be a single-chip microcomputer, a chip, etc.) or a processor (processor) that executes all or part of the steps of the methods described in the embodiments of the present application.
- the aforementioned storage media include: U disk, mobile hard disk, read-only memory (Read-Only Memory, referred to as ROM), random access memory (Random Access Memory, referred to as RAM), magnetic disks or optical disks, etc.
- the medium of the program code include: U disk, mobile hard disk, read-only memory (Read-Only Memory, referred to as ROM), random access memory (Random Access Memory, referred to as RAM), magnetic disks or optical disks, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例涉及通信领域,公开了一种广告插播方法、电子设备以及存储介质。本申请的方法应用于流媒体服务器,方法包括:接收客户端发送的节目的播放请求,确定节目中需要插播的广告,根据节目的播放请求中携带的广告插播策略,将广告的描述文件和节目的描述文件进行拼接,将拼接得到的描述文件发送给客户端,供客户端根据拼接得到的描述文件进行播放。流媒体服务器完成节目的描述文件和广告的描述文件的拼接处理,客户端根据接收到的拼接后的描述文件进行播放,避免现有技术中客户端分别接收广告、节目播放地址来实现广告插播而带来的广告和节目切换播放时出现黑屏、转圈等现象。
Description
本申请实施例涉及通信领域,特别涉及广告插播方法、电子设备以及存储介质。
视频广告是视频内容服务提供商的主要盈利来源,所以很多节目内容中都会插播广告。目前的广告插播流程中,客户端需要依托广告服务器和节目业务平台,即客户端需要从节目业务平台获取节目播放信息,且从广告服务器获取广告播放信息,并控制节目和广告切换播放,以实现广告播放。
发明人发现现有技术中,客户端在控制节目和广告切换播放中,切换过程需要时间,因此容易导致广告和节目切换时播放画面不流畅,甚至出现黑屏、转圈等不良现象。
发明内容
本申请实施方式的目的在于提供一种广告插播方法、电子设备以及存储介质,能够避免广告插播中出现黑屏、转圈等现象。
为解决上述技术问题,本申请的实施方式提供了一种广告插播方法,应用于流媒体服务器,包括:接收客户端发送的节目的播放请求,确定节目中需要插播的广告,根据节目的播放请求中携带的广告插播策略,将广告的描述文件和节目的描述文件进行拼接,将拼接得到的描述文件发送给客户端,供客户端根据拼接得到的描述文件进行播放。
本申请的实施方式还提供了一种广告插播方法,应用于业务平台,包括:根据客户端发送的节目的播放请求生成广告插播策略,将广告插播策略发送给客户端,供客户端将携带广告插播策略的节目的播放请求发送给流媒体服务器。
本申请的实施方式还提供了一种电子设备,包括:至少一个处理器,以及,与至少一个处理器通信连接的存储器,其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的广告插播方法。
本申请的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述的广告插播方法。
本申请实施方式相对于现有技术而言,流媒体服务器完成广告的描述文件和节目的描述文件的拼接,并将拼接得到的描述文件发送给客户端,使得客户端根据拼接得到的描述文件就可以直接播放;也就是说,对于客户端而言,基于该拼接得到的描述文件,可以通过同一个码流通道下载节目码流和广告码流,而无需像现有技术中需要切换码流管道来分别获取节目码流和广告码流,且需要对切换时刻进行控制;因此,本申请实施例中,流媒体服务器对广告的描述文件和节目的描述文件进行拼接后,可以使得节目码流和广告码流归属于同一码流管道被客户端播放,从而能够避免广告插播中因需要切换码流管道来下载节目和广告而导致的黑屏、转圈等现象;同时,对于客户端而言,它接收到拼接后的描述文件后下载码流并播放即可,而不需要切换控制广告码流和节目码流,所以本申请实施例使得客户端的实现更加简单,相对的,能够增强流媒体服务器的处理能力。
另外,广告插播策略包括:广告在节目中的插播时间点、与插播时间点对应的广告的插播时长。本实施例能够实现在节目的特定时间点插播特定时长的广告。
另外,根据节目的播放请求中携带的广告插播策略,将广告的描述文件和节目的描述文件进行拼接,包括:识别出广告在节目的描述文件中的拼接位置,其中,节目的描述文件在拼接位置处描述的节目分片总时长与插播时间点相匹配,从广告的描述文件中识别出待拼接的广告描述部分,其中,广告描述部分描述的广告分片总时长与插播时长相匹配,将广告描述部分拼接在节目的描述文件中的拼接位置。流媒体服务器利用广告播放策略确定拼接位置和待拼接的广告描述部分,并将待拼接的广告描述部分拼接在节目的描述文件中的拼接位置,本实施例能够简化广告的描述文件和节目的描述文件的拼接过程。
另外,识别出广告在节目的描述文件中的拼接位置,包括:按照节目的描述文件中描述的节目分片顺序,逐个累加节目分片的时长,若本次累加得到的总时长与插播时间点匹配,将本次累加的节目分片在节目的描述文件中的描述位置作为拼接位置。本实施例通过累计节目的描述文件中描述的节目分片的时长的方式,并结合插播时间点确定拼接位置,能够准确的识别出广告描述部分的拼接位置。
另外,从广告的描述文件中识别出待拼接的广告描述部分,包括:按照广告的描述文件中描述的广告分片顺序,逐个累加广告分片的时长,若本次累加得到的总时长与插播时长匹配,将总时长对应的各广告分片的描述信息作为待拼接的广告描述部分。本实施例通过累计广告的描述文件中的广告分片的时长的方式,并结合插播时长确定广告描述部分,能够准确的识别出需要拼接的广告的描述文件中的描述信息。
另外,节目的播放请求中还携带有客户端的属性信息,确定节目中需要插播的广告,包 括:结合客户端的属性信息,向广告运营商查询得到节目中需要插播的广告。广告运营商会根据广告运营策略针对不同的客户端推送不同的广告,流媒体服务器从广告运营商得到节目中需要插播的广告,本实施例能够实现为不同客户端提供不同的广告服务。
另外,接收客户端发送的节目的播放请求,包括:通过内容分发网络中的边缘节点接收客户端发送的节目的播放请求,将拼接得到的描述文件发送给客户端,包括:将拼接得到的描述文件通过边缘节点发送至客户端,供边缘节点保存拼接得到的描述文件,并在下次接收到节目的播放请求时,将保存的拼接得到的描述文件返回给客户端。内容分发网络中的边缘节点可以保存拼接得到的描述文件,如果再次接收到该节目的播放请求,能够将之前保存的拼接得到的描述文件返回给客户端,而不需要流媒体服务器再次生成,能够减轻流媒体服务器工作的负担,且反馈更加快速。
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本申请的第一实施方式中的广告插播服务框架示意图;
图2是本申请的第一实施方式中的流媒体服务器结构示意图;
图3是本申请的第一实施方式中的广告插播方法流程图;
图4是本申请的第一实施方式中的广告码流和节目码流的拼接示意图;
图5是本申请的第一实施方式中的一级描述文件和二级描述文件的关系图;
图6是本申请的第二实施方式中的广告插播方法流程图;
图7是本申请的第三实施方式中的广告插播方法流程图;
图8是本申请的第四实施方式中的电子设备结构示意图。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本申请各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实 施例的划分是为了描述方便,不应对本申请的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本申请的第一实施方式涉及一种广告插播方法,应用于流媒体服务器。流媒体服务器根据客户端发送的节目的播放请求中携带的广告播放策略,将节目中需要插播的广告的描述文件和节目的描述文件进行拼接,并将拼接得到的描述文件发送给客户端。下面对本实施方式的数据处理方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
本实施方式中,广告插播方法可以应用于互联网电视(Over The Top,简称OTT)领域。如图1所示的广告插播服务框架,包括流媒体服务器101、内容管理系统102、业务平台103、客户端104,其中,内容管理系统102负责为业务平台103和流媒体服务器101提供节目和广告;具体的,业务平台103可以从内容管理系统102获取节目的属性信息,比如节目名称、节目类型等;流媒体服务器101可以从内容管理服务系统102接收节目和广告的内容,并将其处理成节目分片和广告分片存储在本地。
流媒体服务器101的结构示意图如图2所示,包括:内容注入单元201、控制单元202、动态生成单元203。其中,内容注入单元201设置为将内容管理系统102注入的节目和广告处理成切片文件并进行存储;动态生成单元203设置为在流媒体服务器101接收到节目的播放请求后,将广告的描述文件和节目的描述文件进行拼接;控制单元202设置为在动态生成单元203拼接广告的描述文件和节目的描述文件的过程中,识别出广告在节目的描述文件中的拼接位置,以及从广告的描述文件中识别出待拼接的广告描述部分。
本实施方式中的广告插播方法的具体流程如图3所示,包括:
步骤301,接收客户端发送的节目的播放请求。
其中,节目的播放请求中携带有广告插播策略。具体的,客户端104在播放节目时,利用通信协议向业务平台103发送节目查询请求,其中,通信协议包括超文本传输协议、超文本传输安全协议等,在此不做限定;业务平台103接收到节目查询请求后返回客户端104节目信息,节目信息中包含广告插播策略和节目的统一资源定位符;接着,客户端104向流媒体服务器101发送节目的播放请求,该节目的播放请求中携带广告插播策略和节目的统一资源定位符,那么,流媒体服务器101也就能够接收到客户端104发送的节目的播放请求。其中,客户端104包括手机、电视、机顶盒、电脑等,在此不做限定。
需要说明的是,客户端104可以将广告插播策略和节目的统一资源定位符进行拼接,假设广告插播策略包括广告在节目中的插播时间点offset1、与插播时间点对应的广告的插播时 长length1,且offset1=60s,length1=120s,那么拼接后的节目的统一资源定位符可以基于通信协议表示为:HTTP://ip:port/001/contentcode/index.m3u8?userid=xxx&InserADInfo=“60|120”或
HTTPS://ip:port/001/contentcode/index.m3u8?userid=xxx&InserADInfo=“60|120”,即,将广告插播策略中的插播时间点和与插播时间点对应的广告的插播时长拼接在节目的统一资源定位符后。在实际应用中,如果将广告插播策略拼接在节目的统一资源定位符的其他位置理应也在保护范围内。
步骤302,确定节目中需要插播的广告。
在一个具体的例子中,流媒体服务器101接收到节目的播放请求后,向广告运营商查找节目中需要插播的广告。具体地说,流媒体服务器101接收到节目的播放请求后,向广告运营商发起获取节目相应的广告的请求,该请求中携带节目的标识,广告运营商根据节目的标识为该节目匹配相应的广告,具体方式可以是:广告运营商制定的广告运营策略中确定了节目与广告的对应关系,比如:节目1对应于广告a,那么,广告运营商根据对应关系即可找到与该节目对应的广告;接着,广告运营商可以将该广告的相关信息返回给流媒体服务器101。其中,广告的相关信息可以是广告的标识、广告的类型等,在此不做限定。
在一个具体的例子中,流媒体服务器101接收到节目的播放请求后,也可以自行根据节目的标识并结合广告运营策略为节目匹配相应的广告。其中,广告运营策略的获取方式可以是:流媒体服务器101预先从广告运营商获取,或者,周期性的主动从广告运营商获取,或者,广告运营商更新广告运营策略后通知流媒体服务器101获取,在此不做限定。
在一个具体的例子中,客户端104发送的节目的播放请求中携带有客户端104的属性信息,流媒体服务器101可以结合客户端104的属性信息,向广告运营商查询得到节目中需要插播的广告。也就是说,流媒体服务器101可以向广告运营商发起获取节目对应的广告的请求,该请求中携带节目的标识和客户端104的属性信息,广告运营商根据节目的标识以及客户端104的属性信息,为该节目匹配相应的广告,并将广告的相关信息返回给流媒体服务器101,从而实现为不同的客户端104提供不同的广告服务。其中,广告运营商为节目匹配相应的广告的具体方式可以是:广告运营商制定的广告运营策略中确定了客户端104的类型和节目与广告的对应关系,比如:节目1和第一类客户端104对应于广告a,广告运营商通过分析客户端104的属性信息将客户端104分类,并根据对应关系确定节目中需要插播的广告;或者,广告运营商查询客户端104的观看历史,分析出该客户端104观看节目的偏好,从而为其匹配相应的广告,以上两个例子仅为举例说明,并不作为实现本实施例的必须。
在一个具体的例子中,流媒体服务器101可以根据节目的播放请求中携带的节目标识以及客户端104的属性信息,并结合广告运营策略,自行为节目匹配相应的广告,从而实现为不同的客户端104提供不同的广告服务。流媒体服务器101获取广告运营策略的方式上述内容已有介绍,在此不再赘述。
步骤303,根据节目的播放请求中携带的广告插播策略,将广告的描述文件和节目的描述文件进行拼接。
在一个具体的例子中,流媒体服务器101中存储有节目的描述文件和与节目对应的广告的描述文件,广告的插播策略包括广告在节目中插播时间点、与插播时间点对应的广告的插播时长。流媒体服务器101先识别出广告在节目的描述文件中的拼接位置,从广告的描述文件中识别出待拼接的广告描述部分,然后将广告描述部分拼接在节目的描述文件中的拼接位置,其中,节目的描述文件在拼接位置处描述的节目分片总时长与插播时间点相匹配,广告描述部分描述的广告分片总时长与插播时长相匹配。具体地说,流媒体服务器101按照节目的描述文件中描述的节目分片顺序,逐个累加节目分片的时长,若本次累加得到的总时长与插播时间点匹配,将本次累加的节目分片在节目的描述文件中的描述位置作为拼接位置。如图4所示的广告码流和节目码流的拼接示意图。假设插播时间点offset1为60s,每个节目分片的时长为10s,流媒体服务器101累加到第6个节目分片时,节目分片的总时长60s与offset1匹配,那么,流媒体服务器101可以将本次累加的6个节目分片在节目的描述文件中的描述位置作为拼接位置。另外,流媒体服务器101可以按照广告的描述文件中描述的广告分片顺序,逐个累加广告分片的时长,若本次累加得到的总时长与插播时长匹配,将总时长对应的各广告分片的描述信息作为待拼接的广告描述部分。假设插播时间点offset1对应的广告的插播时长length1为120s,流媒体服务器101累加到第12个广告分片时,广告分片的总时长120s与length1匹配,那么,流媒体服务器101可以将总时长120s对应的各广告分片的描述信息作为待拼接的广告描述部分;确定出节目的描述文件中的拼接位置和广告描述部分之后,流媒体服务器101就可以将广告描述部分拼接在节目的描述文件中的拼接位置上,从而完成广告的描述文件和节目的描述文件的拼接。进一步地,流媒体服务器101可以按照预先设定的累加规则进行累加,累加规则可以表示为:
其中,n表示节目/广告的描述文件包含的描述文件的数量,m表示一个描述文件中的分片数,i表示第i个描述文件,j表示第j个分片,BaseSliceTime表示分片的时长,一般为10s,其中,i小于或等于n,j小于或等于m。
需要说明的是,流媒体服务器101可以规定每个节目/广告分片的时长,以及每个节目/ 广告的描述文件可以描述多少个节目/广告分片。假设每个节目/广告分片的时长为10s,节目/广告的描述文件的类型是M3U8描述文件,且每个节目/广告描述文件最多描述10个分片,对于总时长为120s的广告来说,12个广告分片需要成两个描述文件进行描述。在实际应用中,可能由于网络状态不佳而存在节目的播放请求发送出现延迟的情况,流媒体服务器101可以根据当前网络状态调整节目/广告分片的时长,比如:基础分片时长为10s,现由于网络状态较差,流媒体服务器101为保证客户端104的观看体验,将每个节目/广告分片的时长调整为6s,由于生成的节目/广告分片的时长发生了改变,那么,累加规则也可以进行相应修改,比如:在累加规则中增加调整因子,通过调整因子设置一定的延迟和残差时间,以减少网络状态改变带来的影响,增加调整因子后的累加规则可以表示为:
其中,α
j、σ表示影响因子,n表示节目/广告的描述文件包含的描述文件的数量,m表示一个描述文件中的分片数,i表示第i个描述文件,j表示第j个分片,BaseSliceTime表示分片的时长,一般为10s,其中,i小于或等于n,j小于或等于m。
在一个具体的例子中,流媒体服务器101一边拼生成节目/广告的描述信息,一边累加节目/广告分片的时长,从而在生成节目/广告的描述信息的过程中识别拼接位置以及判断广告描述部分是否拼接完成。具体的,假设存在一个插播时间点offset1,以及与offset1对应的广告的播放时长length1,其中,offset1表示插播时间点为60s,length1表示广告的播放时长为120s,流媒体服务器101中存储的每个分片的时长为10s。流媒体服务器101在接收到节目的播放请求后,可以生成节目的描述信息,并按照节目的描述信息中描述的节目分片顺序,逐个累加节目分片的时长,若本次累加得到的总时长与插播时间点offset1匹配,比如:按照节目的描述信息中描述的节目分片的顺序,累加到第6个节目分片,即,累加的节目分片的总时长为60s,则将此时的描述位置作为拼接位置location1。接着,流媒体服务器101在location1上生成广告的描述信息,并按照广告的描述信息中描述的广告分片顺序,逐个累加广告分片的时长,若本次累加得到的总时长与插播时长length1匹配,比如:累加到第12个广告分片,即,累加的广告分片的总时长为120s,则判定需要拼接的广告描述部分拼接完成,最后,流媒体服务器101在该广告描述部分后继续生成location1后的节目的描述信息,假设整个节目的时长为200s,由上述描述可知,流媒体服务器101已生成60s之前的节目的描述信息,那么,若本次累加到的总时长为140s,则说明节目的描述信息拼接完成,从而完成广告的描述文件和节目的描述文件的拼接。其中,描述文件的类型可以是M3U8描述文件,在此不做限定。
进一步地,流媒体服务器101端拼接得到的描述文件可以是一级描述文件和/或多级描述文件,只要客户端104能够根据该拼接得到的描述文件进行播放即可。这里以一级描述文件 和二级描述文件为例,如图5所示的一级描述文件和二级描述文件的关系图。一级描述文件中包含节目的描述信息、广告的描述信息,假设将广告的描述文件拼接到节目的描述文件中,如图5所示,一级描述文件中第一部分和第三部分均是节目的描述信息,第一部分和第三部分共同组成节目的描述信息,第二部分是广告的描述信息,即,广告描述部分。二级描述文件中sequence1中描述的关于节目分片的描述信息对应于一级描述文件的第一部分,比如:第一部分对应节目location1之前的节目的描述信息,即,描述了关于第1到第6个节目分片的描述信息,那么sequence1中也描述关于第1到第6个节目分片的描述信息;第二部分、第三部分与第一部分类似,在此不再赘述。
需要说明的是,在实际应用中,广告插播策略可以包含多个插播时间点,以及分别与这些插播时间点对应的广告的插播时长,比如:offset1-length1、offset2-length2和offset3-length3等,在此不做限定。如果存在多个插播时间点以及分别与这些插播时间点对应的广告的插播时长,流媒体服务器101也可以利用与上述例子类似的方法完成节目的描述文件和广告的描述文件的拼接,在此不再赘述。
步骤304,将拼接得到的描述文件发送给客户端。
具体地说,流媒体服务器101将拼接得到的描述文件发送给客户端104,供客户端104根据拼接得到的描述文件进行播放。
在一个具体的例子中,客户端104接收到流媒体服务器101发送的拼接得到的描述文件后,可以请求其中描述的节目分片和广告分片,根据描述文件中的索引从流媒体服务器101下载相应的节目切片和广告切片并进行播放。
本实施例中,流媒体服务器101完成广告的描述文件和节目的描述文件的拼接,并将拼接后的描述文件发送给客户端104,也就是说,客户端104不需要进行节目和广告的拼接工作,根据接收到的拼接后的描述文件即可进行节目和广告的播放,因此,本实施例能够实现在节目中插播广告的过程中避免出现黑屏、转圈等现象。
本申请第二实施方式涉及一种广告插播方法。第二实施方式与第一实施方式大致相同,主要区别之处在于:本申请第二实施方式中,流媒体服务器101通过内容分发网络中的边缘节点接收客户端104发送的节目的播放请求;流媒体服务器101将拼接得到的描述文件通过边缘节点发送至客户端104,边缘节点会保存拼接得到的描述文件,若下次接收到相同的节目的播放请求,可以将保存的拼接得到的描述文件返回给客户端104。下面对本实施方式的数据处理方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。具体流程如图6所示,包括:
步骤601,通过内容分发网络中的边缘节点接收客户端发送的节目的播放请求。
具体地说,内容分发网络中的边缘节点接收客户端104发送的节目的播放请求,并将该节目的播放请求转发给流媒体服务器101。
步骤602,确定节目中需要插播的广告。与步骤202类似,在此不再赘述。
步骤603,根据节目的播放请求中携带的广告插播策略,将广告的描述文件和节目的描述文件进行拼接。与步骤203类似,在此不再赘述。
步骤604,将拼接得到的描述文件通过边缘节点发送至客户端。
在一个具体的例子中,流媒体服务器101将拼接得到的描述文件发送给内容分发网络中的边缘节点,边缘节点保存拼接得到的描述文件,并在下次接收到该节目的播放请求时,直接将保存的拼接得到的描述文件返回给客户端104。
在一个具体的例子中,假设内容分发网络中的边缘节点接收到节目的播放请求,而此前未保存与该节目的播放请求对应的拼接得到的描述文件,那么,边缘节点可以将节目的播放请求发送给流媒体服务器101,流媒体服务器101接收到节目的播放请求后执行步骤602及以后的步骤。
上述步骤601、步骤604分别为步骤601、步骤604的具体实现方式。
在实施例中,流媒体服务器101通过内容分发网络中的边缘节点接收客户端104发送的节目的播放请求以及向客户端104发送拼接得到的描述文件,内容分发网络中的边缘节点可以保存拼接得到的描述文件,如果再次接收到该节目的播放请求,能够将之前保存的拼接得到的描述文件返回给客户端104,而不需要流媒体服务器101再次生成,能够减轻流媒体服务器101工作的负担。
本申请第三实施方式涉及一种广告的插播方法,应用于业务平台103。下面对本实施方式的数据处理方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。具体流程如图7所示,包括:
步骤701,根据客户端发送的节目的播放请求生成广告插播策略。
步骤702,将广告插播策略发送给客户端。
在一个具体的例子中,客户端104播放节目时可以向业务平台103发送节目的播放请求,业务平台103可以根据该节目的播放请求生成广告插播策略,并将广告插播策略返回给客户端104,供客户端104将携带广告插播策略的节目的播放请求发送给流媒体服务器101,其中,广告插播策略可以包括:广告在节目中的插播时间点、与插播时间点对应的广告的插播时长。
本实施例中,业务平台103根据节目的播放请求生成广告插播策略,客户端104将携带 该广告插播策略的节目的播放请求发送给流媒体服务器101,供流媒体服务器101根据节目的播放请求中携带的广告插播策略,将广告的描述文件和节目的描述文件进行拼接,并将拼接得到的描述文件发送给客户端104,供客户端104根据拼接得到的描述文件进行播放。本实施例能够避免节目和广告切换播放时出现黑屏、转圈等现象。
本申请第四实施方式涉及一种电子设备,如图8所示,包括至少一个处理器801,以及,与至少一个处理器801通信连接的存储器802。其中,存储器802存储有可被至少一个处理器801执行的指令,指令被至少一个处理器801执行,以使至少一个处理器801能够执行上述的广告插播方法。
其中,存储器802和处理器801采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器801和存储器802的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器801处理的数据通过天线在无线介质上进行传输,进一步地,天线还接收数据并将数据传送给处理器801。
处理器801负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器802可以被用于存储处理器801在执行操作时所使用的数据。
本申请第五实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本申请的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。
Claims (11)
- 一种广告插播方法,应用于流媒体服务器,所述方法包括:接收客户端发送的节目的播放请求;确定所述节目中需要插播的广告;根据所述节目的播放请求中携带的广告插播策略,将所述广告的描述文件和所述节目的描述文件进行拼接;将拼接得到的描述文件发送给所述客户端,供所述客户端根据所述拼接得到的描述文件进行播放。
- 根据权利要求1所述的广告插播方法,其中,所述广告插播策略包括:所述广告在所述节目中的插播时间点、与所述插播时间点对应的所述广告的插播时长。
- 根据权利要求2所述的广告插播方法,其中,所述根据所述节目的播放请求中携带的广告插播策略,将所述广告的描述文件和所述节目的描述文件进行拼接,包括:识别出所述广告在所述节目的描述文件中的拼接位置;其中,所述节目的描述文件在所述拼接位置处描述的节目分片总时长与所述插播时间点相匹配;从所述广告的描述文件中识别出待拼接的广告描述部分;其中,所述广告描述部分描述的广告分片总时长与所述插播时长相匹配;将所述广告描述部分拼接在所述节目的描述文件中的所述拼接位置。
- 根据权利要求3所述的广告插播方法,其中,所述识别出所述广告在所述节目的描述文件中的拼接位置,包括:按照所述节目的描述文件中描述的节目分片顺序,逐个累加节目分片的时长;若本次累加得到的总时长与所述插播时间点匹配,将本次累加的节目分片在所述节目的描述文件中的描述位置作为所述拼接位置。
- 根据权利要求3所述的广告插播方法,其中,所述从所述广告的描述文件中识别出待拼接的广告描述部分,包括:按照所述广告的描述文件中描述的广告分片顺序,逐个累加广告分片的时长;若本次累加得到的总时长与所述插播时长匹配,将所述总时长对应的各广告分片的描述信息作为所述待拼接的所述广告描述部分。
- 根据权利要求1所述的广告插播方法,其中,所述节目的播放请求中还携带有所述客户端的属性信息;所述确定所述节目中需要插播的广告,包括:结合所述客户端的属性信息,向广告运营商查询得到所述节目中需要插播的广告。
- 根据权利要求1至6中任一项所述的广告插播方法,其中,所述接收客户端发送的节目的播放请求,包括:通过内容分发网络中的边缘节点接收客户端发送的节目的播放请求;所述将拼接得到的描述文件发送给所述客户端,包括:将所述拼接得到的描述文件通过所述边缘节点发送至所述客户端,供所述边缘节点保存所述拼接得到的描述文件,并在下次接收到所述节目的播放请求时,将保存的所述拼接得到的描述文件返回给所述客户端。
- 一种广告插播方法,应用于业务平台,包括:根据客户端发送的节目的播放请求生成广告插播策略;将所述广告插播策略发送给所述客户端,供所述客户端将携带所述广告插播策略的所述节目的播放请求发送给流媒体服务器。
- 根据权利要8所述的广告插播方法,其中,所述广告插播策略包括:所述广告在所述节目中的插播时间点、与所述插播时间点对应的所述广告的插播时长。
- 一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述的广告插播方法,或,以使所述至少一个处理器能够执行如权利要求8至9中任一项所述的广告插播方法。
- 一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的广告插播方法,或,所述计算机程序被处理器执行时实现权利要求8至9中任一项所述的广告插播方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP20903782.9A EP4080894A4 (en) | 2019-12-16 | 2020-12-01 | Advertisement insertion method, electronic device and storage medium |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201911294192.0 | 2019-12-16 | ||
| CN201911294192.0A CN112995783A (zh) | 2019-12-16 | 2019-12-16 | 广告插播方法、电子设备以及存储介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2021121026A1 true WO2021121026A1 (zh) | 2021-06-24 |
Family
ID=76343275
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2020/133131 Ceased WO2021121026A1 (zh) | 2019-12-16 | 2020-12-01 | 广告插播方法、电子设备以及存储介质 |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4080894A4 (zh) |
| CN (1) | CN112995783A (zh) |
| WO (1) | WO2021121026A1 (zh) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113473191A (zh) * | 2021-07-06 | 2021-10-01 | 深圳市英特飞电子有限公司 | 多设备广告同步播放方法、装置、计算机设备及存储介质 |
| CN114339366A (zh) * | 2021-12-22 | 2022-04-12 | 武汉市烽视威科技有限公司 | 一种回看节目中广告的替换方法、装置与设备 |
| CN116258524A (zh) * | 2023-03-14 | 2023-06-13 | 深圳乐信软件技术有限公司 | 基于布隆过滤器的广告投放方法、装置、设备及存储介质 |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12262081B2 (en) * | 2023-07-12 | 2025-03-25 | Netflix, Inc. | Systems and methods for splicing targeted content into live broadcast streams with targeted content breaks of unknown placement and duration |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2012162989A1 (zh) * | 2011-09-29 | 2012-12-06 | 华为技术有限公司 | 媒体流传输方法、频道初始化方法及设备 |
| CN104135678A (zh) * | 2014-08-13 | 2014-11-05 | 浪潮软件集团有限公司 | 一种基于hls协议实现视频点播中视频广告投放的方法 |
| CN104394443A (zh) * | 2014-09-16 | 2015-03-04 | 东方有线网络有限公司 | 一种在hls直播流媒体中进行节目动态插入播放的方法 |
| WO2016187592A1 (en) * | 2015-05-21 | 2016-11-24 | Viviso Inc. | Apparatus and method for replacing conventional commercials with targeted advertisements in online live streams |
| CN107295376A (zh) * | 2016-04-05 | 2017-10-24 | 北京优朋普乐科技有限公司 | 广告和正片的合并方法、装置和广告的投放系统 |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101022353A (zh) * | 2006-10-10 | 2007-08-22 | 鲍东山 | 定向流媒体广告插播系统 |
| CN101668194B (zh) * | 2008-09-05 | 2011-05-11 | 中兴通讯股份有限公司 | 一种基于内容分片的广告插入、播放方法及装置 |
| US9301020B2 (en) * | 2010-11-30 | 2016-03-29 | Google Technology Holdings LLC | Method of targeted ad insertion using HTTP live streaming protocol |
| US9066138B1 (en) * | 2011-05-10 | 2015-06-23 | Arris Solutions, Inc. | Replacing ads in HTTP-based manifest driven video transport |
| CN103188232A (zh) * | 2011-12-30 | 2013-07-03 | 大连天维科技有限公司 | 广告插播系统 |
| CN105898527A (zh) * | 2015-11-18 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | 广告视频拼接方法及视频服务器 |
| CN108668145B (zh) * | 2017-03-30 | 2021-01-15 | 华为技术有限公司 | 一种内容分发方法及装置 |
-
2019
- 2019-12-16 CN CN201911294192.0A patent/CN112995783A/zh active Pending
-
2020
- 2020-12-01 EP EP20903782.9A patent/EP4080894A4/en active Pending
- 2020-12-01 WO PCT/CN2020/133131 patent/WO2021121026A1/zh not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2012162989A1 (zh) * | 2011-09-29 | 2012-12-06 | 华为技术有限公司 | 媒体流传输方法、频道初始化方法及设备 |
| CN104135678A (zh) * | 2014-08-13 | 2014-11-05 | 浪潮软件集团有限公司 | 一种基于hls协议实现视频点播中视频广告投放的方法 |
| CN104394443A (zh) * | 2014-09-16 | 2015-03-04 | 东方有线网络有限公司 | 一种在hls直播流媒体中进行节目动态插入播放的方法 |
| WO2016187592A1 (en) * | 2015-05-21 | 2016-11-24 | Viviso Inc. | Apparatus and method for replacing conventional commercials with targeted advertisements in online live streams |
| CN107295376A (zh) * | 2016-04-05 | 2017-10-24 | 北京优朋普乐科技有限公司 | 广告和正片的合并方法、装置和广告的投放系统 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP4080894A4 * |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113473191A (zh) * | 2021-07-06 | 2021-10-01 | 深圳市英特飞电子有限公司 | 多设备广告同步播放方法、装置、计算机设备及存储介质 |
| CN113473191B (zh) * | 2021-07-06 | 2023-08-25 | 深圳市英特飞电子有限公司 | 多设备广告同步播放方法、装置、计算机设备及存储介质 |
| CN114339366A (zh) * | 2021-12-22 | 2022-04-12 | 武汉市烽视威科技有限公司 | 一种回看节目中广告的替换方法、装置与设备 |
| CN116258524A (zh) * | 2023-03-14 | 2023-06-13 | 深圳乐信软件技术有限公司 | 基于布隆过滤器的广告投放方法、装置、设备及存储介质 |
| CN116258524B (zh) * | 2023-03-14 | 2024-02-02 | 深圳乐信软件技术有限公司 | 基于布隆过滤器的广告投放方法、装置、设备及存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP4080894A1 (en) | 2022-10-26 |
| CN112995783A (zh) | 2021-06-18 |
| EP4080894A4 (en) | 2023-02-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN114727134B (zh) | 中断经不可侵犯清单协议提供的流传输内容的系统和方法 | |
| US11252211B2 (en) | Managing content on an ISP cache | |
| US10904639B1 (en) | Server-side fragment insertion and delivery | |
| CN103385008B (zh) | 内容递送方法和内容递送系统 | |
| CN103069826B (zh) | 发送设备和方法、接收设备和方法以及发送和接收系统 | |
| US9032463B2 (en) | Apparatus and method for providing broadcast contents in internet broadcast system | |
| EP4080894A1 (en) | Advertisement insertion method, electronic device and storage medium | |
| KR20200092249A (ko) | 라이브 스트림 슬라이싱 방법, 장치 및 시스템 | |
| TW201342864A (zh) | 用於受遞送媒體之彈性快取的方法及裝置 | |
| CN110495182A (zh) | 媒体流中媒体项目的有效插入 | |
| US8817983B2 (en) | Streaming video to cellular phones | |
| US20100031300A1 (en) | Operating method of contents on demand system | |
| CN103686255A (zh) | 一种基于hls协议的视频广告投放方法及其装置 | |
| US11115335B2 (en) | Information processing device and information processing method | |
| MX2014012110A (es) | Metodo para aceleracion de resolucion de decision de publicidad basada en activacion de oportunidad anticipada. | |
| CN113141522A (zh) | 资源传输方法、装置、计算机设备及存储介质 | |
| JP2015525014A (ja) | 同じ意味の複数の信号を取り込む方法 | |
| US8850053B2 (en) | System and method for providing information to users of a communication network | |
| US8234158B1 (en) | Analyzing text streams for cue points of advertisements in a media stream | |
| KR102611253B1 (ko) | 수신 장치, 송신 장치 및 데이터 처리 방법 | |
| EP3940557B1 (en) | Method of distributing files through a content delivery network based also on artificial intelligence algorithms, telematic system and servers that allow to implement it | |
| CN105979380A (zh) | 多媒体点播内容的试播方法及装置 | |
| US9503790B2 (en) | Sorting content assets | |
| US10257249B1 (en) | Method and system for communicating content to a client device by pulling content from a publisher from a content delivery network when first requested by the client device | |
| CN100559871C (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: 20903782 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2020903782 Country of ref document: EP Effective date: 20220718 |