Re: Radio Loudness
"Marvin Scholz (ePirat)" <[email protected]> Thu, 25 Aug 2022 14:31:30 +0200
| Newsgroups | gmane.comp.audio.icecast.devel |
|---|---|
| Message-ID | <[email protected]> |
--===============3242252361075812557== Content-Type: multipart/alternative; boundary=Apple-Mail-1F2987FC-3ECE-4328-85A9-7EADEAA3DC02 Content-Transfer-Encoding: 7bit --Apple-Mail-1F2987FC-3ECE-4328-85A9-7EADEAA3DC02 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Accidentally replied off-list first, here again my reply on-list. Sorry for t= he confusion. Hi, see my replies inline: >=20 >>> On 25. Aug 2022, at 13:48, [email protected] wrote: >>>=20 >> =EF=BB=BF >> Dear Roman >>=20 >> Thank you for your answer. >>=20 >> 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 Setti= ngs. We were able to measure and align all Loudness differences and adjust t= o -23dB. >> Zapping from one TV Channel to another makes no audible difference anymor= e. >>=20 >> The Problem is the change from Live TV to Radio on our Android Set-Top-Bo= x. >> We are looking for a solution to align the Radio Loudness over the 500 Ra= dio Channels. >>=20 >> So you don't see any possibility to send an ExoPlayer message (like a Met= adata) to the Player? >=20 So if I understand correctly you want to send over a loudness adjustment par= ameter over for a specific radio station on start of playback? >>=20 >> We saw that the following commands are coming from the Backend IceCast Pr= oxy to the Android STB: >> =20 >=20 (Please note the correct spelling is Icecast) >> tvlib.ExoRadioPlayer: onPlaybackStateChanged(state=3DIdle) >> tvlib.ExoRadioPlayer: onIsLoadingChanged(isLoading=3Dfalse) >> tvlib.ExoRadioPlayer: onPlaybackStateChanged(state=3DBuffering) >>=20 >> Why not adding a ExoPlayer Volume Parameter within the Radio Channel star= t >> For example =E2=80=A6 >> exoPlayer.sendMessage(audioRenderer, MediaCodecAudioTrackRenderer.MSG_SET= _VOLUME, 0.9f); >>=20 >>=20 >=20 Icecast does not send any explicit messages over to the player, it just prov= ides a HTTP stream. One option would be to include a special HTTP header in Icecasts response, a= nd make ExoPlayer use that (not sure if it provides necessary API for that t= hough). >> 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.=20 >>=20 >=20 So you are not even invoking ExoPlayer programmatically in a way where you c= an set such settings? Then even the approach I suggested above might not be f= easible. However if you want someone to look further into the matter, this might be b= eyond what volunteers on this list can do, especially as it is not really ab= out solely Icecast but your specific integration/client software. >> Sincerely, >> Patrick >>=20 >> =20 >> Von: Roman Gorshunov <[email protected]>=20 >> Gesendet: Mittwoch, 24. August 2022 19:18 >> An: Schneider Patrick, B2C-TSP-ITE <[email protected]> >> Cc: [email protected] >> Betreff: Re: [Icecast-dev] Radio Loudness >> =20 >> Hello Patrick, >> =20 >> It=E2=80=99s not really a media streaming server=E2=80=99s (Icecast) job t= o 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 (playe= rs) to control media source (e.g. change volume or skip tracks). >> =20 >> I might misunderstood your question though. >> =20 >> Best regards, >> Roman Gorshunov >>=20 >>=20 >> On 24 Aug 2022, at 11:11, [email protected] wrote: >>=20 >> =EF=BB=BF=20 >> Dear All >>=20 >> We are looking for a solution to send a volume parameter to our ExoPlayer= during the icecast streaming initialization phase. >> Something like this =E2=80=A6 >>=20 >> Volume example: >> exoPlayer.sendMessage(audioRenderer, MediaCodecAudioTrackRenderer= .MSG_SET_VOLUME, 0.9f); >>=20 >> Is there a way to set the icecast egress streaming with an ExoPlayer defa= ult Volume? >>=20 >> Sincerely, >> Patrick >>=20 >>=20 >>=20 >> =20 >>=20 >> _______________________________________________ >> Icecast-dev mailing list >> [email protected] >> http://lists.xiph.org/mailman/listinfo/icecast-dev >> _______________________________________________ >> Icecast-dev mailing list >> [email protected] >> http://lists.xiph.org/mailman/listinfo/icecast-dev --Apple-Mail-1F2987FC-3ECE-4328-85A9-7EADEAA3DC02 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable <html><head><meta http-equiv=3D"content-type" content=3D"text/html; charset=3D= utf-8"></head><body dir=3D"auto"><div>Accidentally replied off-list first, h= ere again my reply on-list. Sorry for the confusion.</div><div><br></div><di= v><div dir=3D"ltr">Hi, see my replies inline:<br></div><blockquote type=3D"c= ite"><div dir=3D"ltr"><div dir=3D"ltr"><br><blockquote type=3D"cite">On 25. A= ug 2022, at 13:48, [email protected] wrote:<br><br></blockquot= e></div><blockquote type=3D"cite"><div dir=3D"ltr">=EF=BB=BF<div class=3D"Wo= rdSection1"><p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size: 1= 0pt; font-family: "Trebuchet MS", sans-serif; color: rgb(68, 84, 1= 06);">Dear Roman<br><br>Thank you for your answer.<br><br>We as Swisscom Swi= tzerland are in a difficult situation. We have around 1'000 Live / Replay TV= Channels and 500 Radio Channels on our Platform.<br>For Live TV we could ma= nage the Loudness in the Transcoder/Encoding Settings. We were able to measu= re and align all Loudness differences and adjust to -23dB.<br>Zapping from o= ne TV Channel to another makes no audible difference anymore.<br><br>The Pro= blem is the change from Live TV to Radio on our Android Set-Top-Box.<br>We a= re looking for a solution to align the Radio Loudness over the 500 Radio Cha= nnels.<br><br>So you don't see any possibility to send an ExoPlayer message (= like a Metadata) to the Player?<br></span></p></div></div></blockquote><div>= <br></div></div></blockquote><div dir=3D"ltr"><div>So if I understand correc= tly you want to send over a loudness adjustment parameter over for a specifi= c radio station on start of playback?</div><br></div><blockquote type=3D"cit= e"><div dir=3D"ltr"><blockquote type=3D"cite"><div dir=3D"ltr"><div class=3D= "WordSection1"><p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-siz= e: 10pt; font-family: "Trebuchet MS", sans-serif; color: rgb(68, 8= 4, 106);"><br>We saw that the following commands are coming from the Backend= IceCast Proxy to the Android STB:<o:p></o:p></span></p><p class=3D"MsoNorma= l"><span lang=3D"EN-US" style=3D"font-size: 10pt; font-family: "Trebuch= et MS", sans-serif; color: rgb(68, 84, 106);"> </span></p></div></= div></blockquote><div><br></div></div></blockquote><div dir=3D"ltr"><div>(Pl= ease note the correct spelling is Icecast)</div><br></div><blockquote type=3D= "cite"><div dir=3D"ltr"><blockquote type=3D"cite"><div dir=3D"ltr"><div clas= s=3D"WordSection1"><p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font= -size: 10pt; font-family: "Trebuchet MS", sans-serif; color: rgb(6= 8, 84, 106);">tvlib.ExoRadioPlayer: onPlaybackStateChanged(state=3DIdle)<o:p= ></o:p></span></p><p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-= size: 10pt; font-family: "Trebuchet MS", sans-serif; color: rgb(68= , 84, 106);">tvlib.ExoRadioPlayer: onIsLoadingChanged(isLoading=3Dfalse)<o:p= ></o:p></span></p><p class=3D"MsoNormal" style=3D"margin-bottom: 12pt;"><spa= n lang=3D"EN-US" style=3D"font-size: 10pt; font-family: "Trebuchet MS&q= uot;, sans-serif; color: rgb(68, 84, 106); background-color: yellow;">tvlib.= ExoRadioPlayer: onPlaybackStateChanged(state=3DBuffering)</span><span lang=3D= "EN-US" style=3D"font-size: 10pt; font-family: "Trebuchet MS", san= s-serif;"><o:p></o:p></span></p><p class=3D"MsoNormal"><span lang=3D"EN-US" s= tyle=3D"font-size: 10pt; font-family: "Trebuchet MS", sans-serif; c= olor: rgb(68, 84, 106);">Why not adding a ExoPlayer Volume Parameter within t= he Radio Channel start<br>For example =E2=80=A6<br></span><span lang=3D"EN-U= S" style=3D"font-size: 10pt; font-family: "Courier New";">exoPlaye= r.sendMessage(audioRenderer, MediaCodecAudioTrackRenderer.MSG_SET_VOLUME,&nb= sp;<span style=3D"background-color: yellow;">0</span><span style=3D"backgrou= nd-color: yellow;">.9f</span>);</span><span lang=3D"EN-US" style=3D"font-siz= e: 10pt; font-family: "Trebuchet MS", sans-serif; color: rgb(68, 8= 4, 106);"><br><br><o:p></o:p></span></p><p class=3D"MsoNormal"><span lang=3D= "EN-US" style=3D"font-size: 10pt; font-family: "Trebuchet MS", san= s-serif; color: rgb(68, 84, 106);"><br></span></p></div></div></blockquote><= div><br></div></div></blockquote><div dir=3D"ltr"><div>Icecast does not send= any explicit messages over to the player, it just provides a HTTP stream.</= div><div><br></div></div><div dir=3D"ltr"><div>One option would be to includ= e a special HTTP header in Icecasts response, and make ExoPlayer use that (n= ot sure if it provides necessary API for that though).</div><br></div><block= quote type=3D"cite"><div dir=3D"ltr"><blockquote type=3D"cite"><div dir=3D"l= tr"><div class=3D"WordSection1"><p class=3D"MsoNormal"><span lang=3D"EN-US" s= tyle=3D"font-size: 10pt; font-family: "Trebuchet MS", sans-serif; c= olor: rgb(68, 84, 106);">A static setting on the ExoPlayer in the client is n= ot an option, because the Player is also used by other applications.<br>Chan= ging Volume in Set-top-box will affect all applications. <br><br></span= ></p></div></div></blockquote><div><br></div></div></blockquote><div dir=3D"= ltr"><div>So you are not even invoking ExoPlayer programmatically in a way w= here you can set such settings? Then even the approach I suggested above mig= ht not be feasible.</div></div><div dir=3D"ltr"><div><br></div></div><div di= r=3D"ltr"><div>However if you want someone to look further into the matter, t= his might be beyond what volunteers on this list can do, especially as it is= not really about solely Icecast but your specific integration/client softwa= re.</div><br></div><blockquote type=3D"cite" style=3D"color: rgb(0, 0, 0);">= <div dir=3D"ltr"><blockquote type=3D"cite"><div dir=3D"ltr"><div class=3D"Wo= rdSection1"><p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size: 1= 0pt; font-family: "Trebuchet MS", sans-serif; color: rgb(68, 84, 1= 06);">Sincerely,<br>Patrick<br><br><o:p></o:p></span></p><p class=3D"MsoNorm= al"><span lang=3D"EN-US" style=3D"font-size: 10pt; font-family: "Trebuc= het MS", sans-serif; color: rgb(68, 84, 106);"><o:p></o:p></span></p><p= class=3D"MsoNormal"><span lang=3D"EN-US"> </span></p><div><div style=3D= "border-style: solid none none; border-top-width: 1pt; border-top-color: rgb= (225, 225, 225); padding: 3pt 0cm 0cm;"><p class=3D"MsoNormal"><b><span lang= =3D"DE">Von:</span></b><span lang=3D"DE"> Roman Gorshunov <paye600@g= mail.com> <br><b>Gesendet:</b> Mittwoch, 24. August 2022 19:18<= br><b>An:</b> Schneider Patrick, B2C-TSP-ITE <Patrick.Schneider1@swi= sscom.com><br><b>Cc:</b> [email protected]<br><b>Betreff:</b>&nbs= p;Re: [Icecast-dev] Radio Loudness<o:p></o:p></span></p></div></div><p class= =3D"MsoNormal"><o:p> </o:p></p><div><p class=3D"MsoNormal">Hello Patric= k,<o:p></o:p></p></div><div><p class=3D"MsoNormal"><o:p> </o:p></p></di= v><div><p class=3D"MsoNormal">It=E2=80=99s not really a media streaming serv= er=E2=80=99s (Icecast) job to alter the volume. Volume is set either by the m= edia source or in player.<o:p></o:p></p></div><div><p class=3D"MsoNormal">In= addition to that, media streaming server does not allow clients (players) t= o control media source (e.g. change volume or skip tracks).<o:p></o:p></p></= div><div><p class=3D"MsoNormal"><o:p> </o:p></p></div><div><p class=3D"= MsoNormal">I might misunderstood your question though.<o:p></o:p></p></div><= div><p class=3D"MsoNormal"><o:p> </o:p></p></div><div><p class=3D"MsoNo= rmal">Best regards,<o:p></o:p></p></div><div><p class=3D"MsoNormal">Roman Go= rshunov<o:p></o:p></p></div><div><p class=3D"MsoNormal"><br><br><o:p></o:p><= /p><blockquote style=3D"margin-top: 5pt; margin-bottom: 5pt;"><p class=3D"Ms= oNormal" style=3D"margin-bottom: 12pt;">On 24 Aug 2022, at 11:11, <a hr= ef=3D"mailto:[email protected]">[email protected]= m</a> wrote:<o:p></o:p></p></blockquote></div><blockquote style=3D"marg= in-top: 5pt; margin-bottom: 5pt;"><p class=3D"MsoNormal">=EF=BB=BF <o:p= ></o:p></p><p class=3D"MsoNormal"><span lang=3D"EN-US">Dear All<br><br>We ar= e looking for a solution to send a volume parameter to our ExoPlayer during t= he icecast streaming initialization phase.<br>Something like this =E2=80=A6<= br></span><span lang=3D"EN-US" style=3D"font-size: 10pt; font-family: "= Trebuchet MS", sans-serif;"><br></span><span lang=3D"EN-US" style=3D"fo= nt-size: 10pt; font-family: "Courier New";">Volume example:<br>&nb= sp; exoPlayer.sendMessage(audioRenderer,= MediaCodecAudioTrackRenderer.MSG_SET_VOLUME, <span style=3D"background= -color: yellow;">0</span><span style=3D"background-color: yellow;">.9f</span= >);</span><o:p></o:p></p><p class=3D"MsoNormal" style=3D"margin-bottom: 12pt= ;"><span lang=3D"EN-US" style=3D"font-size: 10pt; font-family: "Trebuch= et MS", sans-serif;"><br>Is there a way to set the icecast egress strea= ming with an ExoPlayer default Volume?<br><br>Sincerely,<br>Patrick<br><br><= br></span><o:p></o:p></p><p class=3D"MsoNormal" style=3D"margin-bottom: 12pt= ;"><span lang=3D"EN-US" style=3D"font-size: 10pt; font-family: "Trebuch= et MS", sans-serif; color: rgb(68, 84, 106);"> </span><o:p></o:p><= /p><p class=3D"MsoNormal">_______________________________________________<br= >Icecast-dev mailing list<br><a href=3D"mailto:[email protected]">Icecast= [email protected]</a><br><a href=3D"http://lists.xiph.org/mailman/listinfo/iceca= st-dev">http://lists.xiph.org/mailman/listinfo/icecast-dev</a><o:p></o:p></p= ></blockquote></div>_______________________________________________<br>Iceca= st-dev mailing list<br>[email protected]<br>http://lists.xiph.org/mailman= /listinfo/icecast-dev</div></blockquote></div></blockquote></div><style>@fon= t-face { font-family: "Cambria Math"; } @font-face { font-family: Calibri; } @font-face { font-family: "Trebuchet MS"; } p.MsoNormal, li.MsoNormal, div.MsoNormal { margin: 0cm; font-size: 11pt; fon= t-family: Calibri, sans-serif; } a:link, span.MsoHyperlink { color: rgb(5, 99, 193); text-decoration: underli= ne; } .MsoChpDefault { font-size: 10pt; } @page WordSection1 { size: 612pt 792pt; margin: 70.85pt 70.85pt 2cm; } div.WordSection1 { page: WordSection1; }</style></body></html>= --Apple-Mail-1F2987FC-3ECE-4328-85A9-7EADEAA3DC02-- --===============3242252361075812557== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Icecast-dev mailing list [email protected] http://lists.xiph.org/mailman/listinfo/icecast-dev --===============3242252361075812557==--