Re: Server Side Spot Replacement?
Philipp Schafft <[email protected]> Wed, 19 Apr 2017 11:51:50 +0000
| Newsgroups | gmane.comp.audio.icecast.devel |
|---|---|
| Message-ID | <[email protected]> |
Good morning, On Tue, 2017-04-18 at 12:17 +0000, Rune Hafskjær wrote: > Hi Philipp, > > Thank you for insights and suggestions. Please see my recent answer > and questions to Lin in the same matter. (I did, but answering here, keeping in mind your other answer.) > I'm talking about thousands of listeners, and individual mounts are > probably not the way to go. A client can also be attached to an internal source, normally reading a file from the disk. That is what happens when you request a random file from Icecast (e.g. an image for the status page). The same can be used (but requires a patch) to move listeners on and back to the other source after the file ended. We have done something very similar for another client already. > A dream scenario would be to trigger a move of all listeners at the > start of an ad break to a mount with a dynamic scripted playlist of > ads playing from a separate CDN. And move everybody back to the > original mount when the playlist is finished. If that can be done... It can. My main concern is the load that this could cause on the server. e.g. reading a file for each listener will generate a lot I/O-load on that machine. But most of those effects are inherent to the situation (e.g. a webserver will have the same problem with the same number of simultaneous clients). Some may be within Icecast. I think it's possible with only a bit of work to see how it performs. Before writing a real patch. > > Any thoughts and detailed help to move further are much appreciated. I would be pleased if you could answer my question on which formats/codecs should be supported. I also think such a test could be a potential first step. To see if the direction is one that is possible or if some dedicated solution as Mr. Marcin suggested would be a better option. Also feel free to contact me off-list if you're interested in commercial support (including writing such a patch). Have a nice day, with best regards, > > -----Original Message----- > From: Icecast-dev [mailto:[email protected]] On Behalf Of > Philipp Schafft > Sent: 11. april 2017 17:54 > To: Rune Hafskjær > Cc: [email protected] > Subject: Re: [Icecast-dev] Server Side Spot Replacement? > > Good afternoon, > > > On Tue, 2017-04-11 at 13:03 +0000, Rune Hafskjær wrote: > > Thank you Phillip, > ^^-^ > > > > my first time here. > > No problem. > > > > What I want to achieve is to replace ads in a live ad break on > live > > streamed radio with personal spots for each listener. I want to > > recognize the start of the break, split listeners into separate > > streamed spots and then back again to the live stream when the > spots > > has been played. > > > > The main goal is to offer programmatic data driven ads on streamed > > radio and bring radio into the modern advertising world. > > > > There are a number of companies that offers this in various cloud > > solutions in connection with Icecast servers, but there are pros > and > > cons with the offerings and I want to understand how it's done and > > consider build it myself. > > Ok. I think that can be done but needs modification of Icecast (to > detect the break). It also depends on the used codec. > Most codecs work like that: > segment header(metadata), segment data, segment header(metadata), > segment data, ... > > ('segment' here as a general term. codecs/containers may use > different > names.) > > The easiest way to detect the break would be to have a look at e.g. > the metadata. It could contain a ID that can be used to identify the > segment with the ad. > > Which codecs do you plan to use? I do not see much trouble with Ogg > based streams (Vorbis or Opus). With ICY based streaming (MP3 and AAC) > there is the problem that metadata updates happen out of band and can > not be synchronized to the audio perfectly. That is one of many > restrictions MP3 and AAC has by design. It's independent on the > implementation. > > > Are your listeners group regarding the ads? What is the ratio of > listener clients to alternative replacements? e.g: every listener get > it's own specific content vs. there are 5 groups of ads, a listener is > in one of those groups. > > This is important in terms of scaling. Icecast's engine is made for > 1->n streaming (broadcast, all get the same). It's not designed for > n->n (every listener has it's own content). The more you go in > direction of the later case the less performant Icecast will be. e.g. > 5 groups is perfectly fine. 100 groups may still work nicely. 500 > groups is a bad idea, 50000 groups will likely kill performance. > > So this is important to evaluate the options for an actual > implementation. > > I hope this was helpful to you, > > with best regards, > > > > > Best regards, > > Rune > > > > -----Original Message----- > > From: Icecast-dev [mailto:[email protected]] On Behalf > Of > > Philipp Schafft > > Sent: 11. april 2017 14:48 > > To: Rune Hafskjær > > Cc: [email protected] > > Subject: Re: [Icecast-dev] Server Side Spot Replacement? > > > > Good afternoon, > > > > On Tue, 2017-04-11 at 11:06 +0000, Rune Hafskjær wrote: > > > Hi guys, > > > > > Can anyone share some (deep technical) light on how «Server Side > > Spot > > > Replacement” on live radio streaming with Icecast can be done? > > > > I think it would be helpful if you could give some more context. > Maybe > > by explaining your goal in a non-technical way (that often helps). > > -- Philipp Schafft (CEO/Geschäftsführer) Telephon: +49.3535 490 17 92 Löwenfelsen UG (haftungsbeschränkt) Registration number: Bickinger Straße 21 HRB 12308 CB 04916 Herzberg (Elster) VATIN/USt-ID: Germany DE305133015 _______________________________________________ Icecast-dev mailing list [email protected] http://lists.xiph.org/mailman/listinfo/icecast-dev
signature.asc
(application/pgp-signature, 490 B)
-----BEGIN PGP SIGNATURE----- Comment: Because it's your freedom iQEcBAABCAAGBQJY909WAAoJEHz9i3MWdaObzfgH/2irRVDMEorWAFKPUtrCtUsK Hf18QfS2SVeF24cjCGIxDDkZeBJdvkFCrtbeNJrFPsZOagDIxrCa3wC/jK8BXWOn Amt6DpIW2u9OEXPlCVJZSXJuuqgrkn4j2i18lE7kjMUid8WhfHyDKHau7+noPa3g gp3RWQGWbXJ29u97B5ctETg7ncnzBFJWZJ7TVAtcyGE32cbfyopmBM1unRdNuu32 Ymata+AfPtXeV93edSSHYaKBfmkFGNqSLKkacVHiFNHQyAEQ8sbf5/lMSby5By3H YOEXBgIH0yq0FE306DARRO4tf/260nmiCISeQpEoX9VLHfURoqlFqCqC4mv85wY= =9cGy -----END PGP SIGNATURE-----