Dear Roman
A static Volume setting is absolutely fine for us. We don't need dynamic
changes at the moment.
Thank you for the info's below. Very useful.
We will read the documentation concerning ? custom HTTP headers per mount point
Sincerely,
Patrick
Von: Roman Gorshunov <paye600 at gmail.com>
Gesendet: Donnerstag, 25. August 2022 16:47
An: Schneider Patrick, B2C-TSP-ITE <Patrick.Schneider1 at swisscom.com>
Cc: icecast-dev at xiph.org
Betreff: Re: [Icecast-dev] Radio Loudness
Dear Patrick,
> We saw that the following commands are coming from the Backend IceCast
Proxy to the Android STB
Icecast does not explicitly send any commands to its clients (players). It
simply pushes audio streams and a little bit of metadata (title, artist,
bitrate, etc.) over HTTP.
HTTP protocol and Icecast do allow embedding arbitrary HTTP protocol headers [0]
and send them to the client, and it would be up to the client to interpret them.
However, these headers are rather static, and can not be changed dynamically on
the fly. If your media sources require different but static adjustment of
loudness (e.g. "Radio 1" always needs "+10" adjustment, and
"radio 2" always nesds "-5" adjustment), then you can set it
in your custom HTTP headers per mount point, and process those settings in your
client (ExoPlayer in STB?) to change volume. With a bit of software development
you could make it possible to adjust HTTP headers dynamically [1]. To do so you
would need to continuously monitor loudness of source media streams and send
metadata update commands to the Icecast server.
Another possible solution would be to add a software between your original media
sources (radio stations) and Icecast, which will normalize loudness and then
push modified audio to Icecast as a media source. Some possible media source
clients are listed [2] on Icecast web site.
[0] -
https://icecast.org/docs/icecast-2.4.1/config-file.html#mountsettings<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Ficecast.org%2Fdocs%2Ficecast-2.4.1%2Fconfig-file.html%23mountsettings&data=05%7C01%7CPatrick.Schneider1%40swisscom.com%7C4ce28db658b04d62ef0708da86a8bf46%7C364e5b87c1c7420d9beec35d19b557a1%7C0%7C0%7C637970356562664425%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Mak1hdLc1zFCuw1EG8rsnu%2FwDHXMFW31SJ21PMC04Dc%3D&reserved=0>
, look for <http-headers> description
[1] - in a way similar to stream Metadata updates
https://icecast.org/docs/icecast-2.4.1/admin-interface.html<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Ficecast.org%2Fdocs%2Ficecast-2.4.1%2Fadmin-interface.html&data=05%7C01%7CPatrick.Schneider1%40swisscom.com%7C4ce28db658b04d62ef0708da86a8bf46%7C364e5b87c1c7420d9beec35d19b557a1%7C0%7C0%7C637970356562664425%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=vBTtJo0YPL93iwQUg1dw9nvTWuIv2Q9xdBzVq9jBCXw%3D&reserved=0>
[2] -
https://icecast.org/apps/<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Ficecast.org%2Fapps%2F&data=05%7C01%7CPatrick.Schneider1%40swisscom.com%7C4ce28db658b04d62ef0708da86a8bf46%7C364e5b87c1c7420d9beec35d19b557a1%7C0%7C0%7C637970356562664425%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Hoopy0CNXXvvBg2WagZagJFR2Vqj5Tke2GcE%2BcmDe8c%3D&reserved=0>
Best regards,
Roman Gorshunov
On Thu, 25 Aug 2022 at 12:48, <Patrick.Schneider1 at
swisscom.com<mailto:Patrick.Schneider1 at swisscom.com>> wrote:
Dear Roman
Thank you for your answer.
We as Swisscom Switzerland are in a difficult situation. We have around
1'000 Live / Replay TV Channels and 500 Radio Channels on our Platform.
For Live TV we could manage the Loudness in the Transcoder/Encoding Settings. We
were able to measure and align all Loudness differences and adjust to -23dB.
Zapping from one TV Channel to another makes no audible difference anymore.
The Problem is the change from Live TV to Radio on our Android Set-Top-Box.
We are looking for a solution to align the Radio Loudness over the 500 Radio
Channels.
So you don't see any possibility to send an ExoPlayer message (like a
Metadata) to the Player?
We saw that the following commands are coming from the Backend IceCast Proxy to
the Android STB:
tvlib.ExoRadioPlayer: onPlaybackStateChanged(state=Idle)
tvlib.ExoRadioPlayer: onIsLoadingChanged(isLoading=false)
tvlib.ExoRadioPlayer: onPlaybackStateChanged(state=Buffering)
Why not adding a ExoPlayer Volume Parameter within the Radio Channel start
For example ?
exoPlayer.sendMessage(audioRenderer,
MediaCodecAudioTrackRenderer.MSG_SET_VOLUME, 0.9f);
A static setting on the ExoPlayer in the client is not an option, because the
Player is also used by other applications.
Changing Volume in Set-top-box will affect all applications.
Sincerely,
Patrick
Von: Roman Gorshunov <paye600 at gmail.com<mailto:paye600 at
gmail.com>>
Gesendet: Mittwoch, 24. August 2022 19:18
An: Schneider Patrick, B2C-TSP-ITE <Patrick.Schneider1 at
swisscom.com<mailto:Patrick.Schneider1 at swisscom.com>>
Cc: icecast-dev at xiph.org<mailto:icecast-dev at xiph.org>
Betreff: Re: [Icecast-dev] Radio Loudness
Hello Patrick,
It?s not really a media streaming server?s (Icecast) job to alter the volume.
Volume is set either by the media source or in player.
In addition to that, media streaming server does not allow clients (players) to
control media source (e.g. change volume or skip tracks).
I might misunderstood your question though.
Best regards,
Roman Gorshunov
On 24 Aug 2022, at 11:11, Patrick.Schneider1 at
swisscom.com<mailto:Patrick.Schneider1 at swisscom.com> wrote:
?
Dear All
We are looking for a solution to send a volume parameter to our ExoPlayer during
the icecast streaming initialization phase.
Something like this ?
Volume example:
exoPlayer.sendMessage(audioRenderer,
MediaCodecAudioTrackRenderer.MSG_SET_VOLUME, 0.9f);
Is there a way to set the icecast egress streaming with an ExoPlayer default
Volume?
Sincerely,
Patrick
_______________________________________________
Icecast-dev mailing list
Icecast-dev at xiph.org<mailto:Icecast-dev at xiph.org>
http://lists.xiph.org/mailman/listinfo/icecast-dev<https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.xiph.org%2Fmailman%2Flistinfo%2Ficecast-dev&data=05%7C01%7CPatrick.Schneider1%40swisscom.com%7C4ce28db658b04d62ef0708da86a8bf46%7C364e5b87c1c7420d9beec35d19b557a1%7C0%7C0%7C637970356562664425%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=wRtqzrw8Oll1vtSs0WQGIJZPY53mLEN5JN5Kv4UVl2g%3D&reserved=0>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.xiph.org/pipermail/icecast-dev/attachments/20220825/c6259372/attachment-0001.htm>