[Icecast-dev] Server Side Spot Replacement?
Philipp Schafft
phschafft at de.loewenfelsen.net
Wed Apr 19 11:51:50 UTC 2017
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:icecast-dev-bounces at xiph.org] On Behalf Of
> Philipp Schafft
> Sent: 11. april 2017 17:54
> To: Rune Hafskjær
> Cc: icecast-dev at xiph.org
> 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:icecast-dev-bounces at xiph.org] On Behalf
> Of
> > Philipp Schafft
> > Sent: 11. april 2017 14:48
> > To: Rune Hafskjær
> > Cc: icecast-dev at xiph.org
> > 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: This is a digitally signed message part
URL: <http://lists.xiph.org/pipermail/icecast-dev/attachments/20170419/67056468/attachment.sig>
More information about the Icecast-dev
mailing list