Haperende spelers

Technische vragen / problemen? Leg ze hier neer..

Moderator: admin6

Plaats reactie
Gebruikersavatar
ColinC
Berichten: 69
Lid geworden op: 21 aug 2009 05:47

Haperende spelers

Bericht door ColinC »

Hi allen, we hebben al langere tijd een issue met de spelers. We hebben er nu 9 getest en op allerlei manieren blijft het terug komen. Na een lange tijd spelen stopt de speler zomaar of schiet ie in een eindeloze buffer.
Dit gebeurt ook vaak wanneer live DJs bijvoorbeeld de non stop overnemen of andersom.

Weet iemand waar dit aan kan liggen? De server draait op Everest Cast, aan de verbindingssnelheid ligt het niet en de bitrate is 192 kbps.
Gebruikersavatar
remco_k
Berichten: 5502
Lid geworden op: 06 sep 2003 16:35

Re: Haperende spelers

Bericht door remco_k »

Je hebt waarschijnlijk last van 'clock precision' of ook wel 'clock drift'. Dat is de samplerate van de gebruikte geluidskaaten die niet zo precies is (48kHz bij de opneem kant is niet exact 48kHz, bij de afspelende kant eveneens afwijkingen). Dat resulteert erin dat bij de speler aan de ontvangende kant, gedurende lange tijd (zeg een uur) de buffer steeds voller loopt tot dat niet meer lukt, of steeds leger loopt tot hij leeg is. Dit is bij asynchrone digitale audio toepassingen (zoals dat hier is) altijd het geval.
Hoe de spelende applicatie daarmee omgaat is wat jij ervaart -> Crashen, stoppen, bufferen, of even pauze en weer doorgaan.
Hoeveel last je hebt van clock drift is eenvoudig meetbaar: Zet (op een losse pc of laptop of telefoon) de speler aan en meet (exact) hoeveel seconden en tienden ervan je achter het realtime signaal zit. Laat een kwartier spelen zonder verdere interactie en meet nogmaals, herhaal dat 4x, of zo vaak je wilt. Je zult zien dat hier een permanent verloop (vooruit of achteruit) in zit en dus nooit hetzelfde blijft. Dat is clock drift. 10 seconden afwijking op een uur is helemaal geen raar getal bij consumenten apparatuur.
Andere dagelijkse voorbeelden van clock drift:
* Pak 2 analoge klokken met secondewijzer. Zet ze exact gelijk en kijk even later nogmaals: ze lopen niet meer exact gelijk.
* Pak 2 platenspelers, zelfde plaat erop, zelfde toerental. Zorg dat in beginsel de audio exact gelijk loopt en wacht maar af. Het zal na verloop van tijd gaan verlopen.


Dit 'clock drift' probleem bestaat in dit scenario dus altijd en is niet oplosbaar zonder aan te gang te gaan met professionele apparatuur (of software) aan de verzendende én ontvangende kant.
Het is soms wel tweakbaar dat het probleem minder snel of minder merkbaar voorkomt, 2 opties:

1. Als je aan de verzendende kant gebruik maakt van professionele audio devices dan kan je daar vaak de samplerate (zeg die 48kHz, of 44,1kHZ, net wat je gebruikt) een heel klein beetje aanpassen. Zet die clock iets hoger, b.v. +1%. Is je clock drift meer dan 10 seconden op een uur, dan moet je denken aan +3 a +4% Dit zorgt er doorgaans voor dat buffers aan de ontvangende zijde langzaam voller lopen, ipv leger (wat meestal het geval is en het meest vervelend). De afspelende kant zal langzaam aan steeds verder achter gaan lopen.
2. Aan de ontvangende kant, op het moment dat je wilt gaan afspelen, eerst de stream voor langere tijd pauzeren. Als je bv. in bovenstaande meetbare situatie weet dat je clock drift 10 seconden per uur is en je weet dat je een uur wilt afspelen, pauzeer de speler dan tenminste 10 seconden voordat je hem op play drukt. De speler loopt nu (naast zijn initiele buffer) een extra 10 seconden achter op de bron, maar houdt het wel langer uit. Dit is een veelgebruikte truuk om dit probleem een beetje te omzeilen.

Niet alle streamplayers werken exact hetzelfde, dus je zal even moeten uitproberen wat voor jouw werkt. Ik heb hiermee in het verleden succesvol hele lange periodes (2 tot 4 uur) met Winamp kunnen overbruggen.

Ik ben benieuwd naar je meet resultaten en of dit daadwerkelijk de oorzaak is.
www.digiplay.nl: SHOUTcast V2 streaming, 3 mountpoints, met gratis web app, statistieken en SSL support!
Levert ook: Radio Bingo software. Print je eigen bingokaarten met je printer of naar een PDF bestand.
Gebruikersavatar
ColinC
Berichten: 69
Lid geworden op: 21 aug 2009 05:47

Re: Haperende spelers

Bericht door ColinC »

Ik waardeer je oplossing enorm maar dit is het niet.
De non stop wordt aangestuurd door een externe server dmv een hosting met een auto DJ functie (Everest Cast)
Inmiddels is wel duidelijk dat het probleem daar vandaan komt, het is namelijk elke keer op de 42e minuut dat ie stopt. (Zowel op eigen players als op TuneIn) En met een andere teststream doet ie dit niet.
Gebruikersavatar
remco_k
Berichten: 5502
Lid geworden op: 06 sep 2003 16:35

Re: Haperende spelers

Bericht door remco_k »

ColinC schreef: 23 nov 2022 12:05 Ik waardeer je oplossing enorm maar dit is het niet.
Op basis van welk gegeven weet je zeker dat dit het niet is?
De non stop wordt aangestuurd door een externe server dmv een hosting met een auto DJ functie (Everest Cast)
Inmiddels is wel duidelijk dat het probleem daar vandaan komt, het is namelijk elke keer op de 42e minuut dat ie stopt. (Zowel op eigen players als op TuneIn)
Dit betekend niet dat clock drift geen oorzaak van het probleem is. Ook in dit scenario heb je last van clock drift.
En met een andere teststream doet ie dit niet.
... of veel minder snel.
Ook hier geldt dat niet bewezen is dat clock drift geen oorzaak is.

Natuurlijk kan er een heel andere oorzaak liggen in jouw probleem. Maar het devies is: Meten is weten.
Clock drift is te meten. Dan kan je dit afschrijven, of op doorzoeken.
www.digiplay.nl: SHOUTcast V2 streaming, 3 mountpoints, met gratis web app, statistieken en SSL support!
Levert ook: Radio Bingo software. Print je eigen bingokaarten met je printer of naar een PDF bestand.
Gebruikersavatar
big T
Berichten: 3634
Lid geworden op: 25 jul 2004 01:59

Re: Haperende spelers

Bericht door big T »

remco_k schreef: 23 nov 2022 10:10 Je hebt waarschijnlijk last van 'clock precision' of ook wel 'clock drift'. Dat is de samplerate van de gebruikte geluidskaaten die niet zo precies is (48kHz bij de opneem kant is niet exact 48kHz, bij de afspelende kant eveneens afwijkingen).
Dank je wel voor deze heldere uitleg!
Ik heb al jaren dat ik zie, dat een opname van exact 60 minuten, geen 60 minuten is bij het afspelen.
Er zit altijd wel een seconde langzamer of langer in.
Heb me altijd afgevraagd hoe dit kwam.
Daarom heeft Stereo Tool ook een vinkje bij het synchroniseren van kaarten en samplen?
Gebruikersavatar
remco_k
Berichten: 5502
Lid geworden op: 06 sep 2003 16:35

Re: Haperende spelers

Bericht door remco_k »

^^ Precies. Meerdere verschillende bronnen worden op die manier met elkaar in sync gehouden, ondanks de bestaande clock drift.
In het professionele segment wordt er in zo'n geval 1 centrale wordclock in het pand gebruikt, dan heb je dat hele probleem niet en loopt alles altijd in de pas, dus geen clock drift meer. Het is dus grotendeels om die reden dat een wordclock in profi audio studios en radio studios wordt gebruikt.
In sommige (of misschien wel veel gevallen, dat weet ik niet) wordt zo'n wordclock via GPS in sync gehouden, zodat je tussen verschillende workclocks in verschillende locaties (mocht je die hebben) onderling ook geen clock drift hebben.
www.digiplay.nl: SHOUTcast V2 streaming, 3 mountpoints, met gratis web app, statistieken en SSL support!
Levert ook: Radio Bingo software. Print je eigen bingokaarten met je printer of naar een PDF bestand.
Gebruikersavatar
ColinC
Berichten: 69
Lid geworden op: 21 aug 2009 05:47

Re: Haperende spelers

Bericht door ColinC »

Ben nog nooit zo diep in de materie moeten gaan haha :p Ik snap inmiddels wat je bedoelt. Maar het is op meerdere apparaten, o.a. op de Google Home zelfs.
Hoe is het te meten als de server niet lokaal draait? Je hebt namelijk altijd 10-20 sec vertraging tussen de server en de speler. Dat is hetzelfde als met liveshows.

Edit: Ook in Spanje is het getest daar stopt ie al na 11 minuten.
https://www.dropbox.com/s/xrpt1wbnehlf8 ... 7.mp4?dl=0
Gebruikersavatar
remco_k
Berichten: 5502
Lid geworden op: 06 sep 2003 16:35

Re: Haperende spelers

Bericht door remco_k »

ColinC schreef: 24 nov 2022 10:43 Ben nog nooit zo diep in de materie moeten gaan haha :p Ik snap inmiddels wat je bedoelt. Maar het is op meerdere apparaten, o.a. op de Google Home zelfs.
Hoe is het te meten als de server niet lokaal draait? Je hebt namelijk altijd 10-20 sec vertraging tussen de server en de speler. Dat is hetzelfde als met liveshows.
Het is soms leuk om even ergens diep te gaan. Dus hou effe vol, kan leuk en leerzaam zijn. :)) Of het zin heeft voor je probleem, valt nog te bezien. :roll:
Je kan neem ik aan wel realtime zien en even daarna horen wanneer een nieuwe plaat of jingle start? Dat zien is je t1, noteer de tijd.
Totdat je de plaat hoort starten, noteer tijdstip t2. De stream vertraging (delta) is t2-t1, dus je Δt(delta t): Δt1 komt ergens in de buurt van 10-20 sec uit.
Dit herhaal je elke 15 minuten. Daar komt een Δt2, Δt3, Δt4.... enz. uit. Noteer ook even de tijdstippen wanneer je deze Δt's hebt gemeten.
Al die Δt's verlopen onderling iets en dat zal een constant verloop zijn over een bepaalde periode. Dat verschil is je clock drift.
Edit: Ook in Spanje is het getest daar stopt ie al na 11 minuten.
https://www.dropbox.com/s/xrpt1wbnehlf8 ... 7.mp4?dl=0
Dat het ergens anders sneller (of langzamer) fout gaat is extra onderbouwing dat het om clock drift gaat. Maar ik heb 2 kanttekeningen:
1. Na 11 minuten al door de buffer heen zijn is wel erg snel, dus dan is de clock drift zeer excessief. Of er is iets anders aan de hand.
2. Ik vind het raar dat het ermee stopt. Meestal hoor je gewoon een korte drop out en daarna gaat de stream weer even verder, of je hoort een skip. Maar stoppen, dat zie je niet vaak. Probleem wat je hier beschrijft doet mij nu toch vermoeden dat je naar een ander probleem aan het kijken bent als clock drift, maar doe in ieder geval die meting even. Ook op dat systeem in spanje.

Kijk even of er op dat tijdstip van stoppen iets in de logfile staat van Everest Cast.
www.digiplay.nl: SHOUTcast V2 streaming, 3 mountpoints, met gratis web app, statistieken en SSL support!
Levert ook: Radio Bingo software. Print je eigen bingokaarten met je printer of naar een PDF bestand.
Gebruikersavatar
ColinC
Berichten: 69
Lid geworden op: 21 aug 2009 05:47

Re: Haperende spelers

Bericht door ColinC »

remco_k schreef: 24 nov 2022 12:49
ColinC schreef: 24 nov 2022 10:43 Ben nog nooit zo diep in de materie moeten gaan haha :p Ik snap inmiddels wat je bedoelt. Maar het is op meerdere apparaten, o.a. op de Google Home zelfs.
Hoe is het te meten als de server niet lokaal draait? Je hebt namelijk altijd 10-20 sec vertraging tussen de server en de speler. Dat is hetzelfde als met liveshows.
Het is soms leuk om even ergens diep te gaan. Dus hou effe vol, kan leuk en leerzaam zijn. :)) Of het zin heeft voor je probleem, valt nog te bezien. :roll:
Je kan neem ik aan wel realtime zien en even daarna horen wanneer een nieuwe plaat of jingle start? Dat zien is je t1, noteer de tijd.
Totdat je de plaat hoort starten, noteer tijdstip t2. De stream vertraging (delta) is t2-t1, dus je Δt(delta t): Δt1 komt ergens in de buurt van 10-20 sec uit.
Dit herhaal je elke 15 minuten. Daar komt een Δt2, Δt3, Δt4.... enz. uit. Noteer ook even de tijdstippen wanneer je deze Δt's hebt gemeten.
Al die Δt's verlopen onderling iets en dat zal een constant verloop zijn over een bepaalde periode. Dat verschil is je clock drift.
Edit: Ook in Spanje is het getest daar stopt ie al na 11 minuten.
https://www.dropbox.com/s/xrpt1wbnehlf8 ... 7.mp4?dl=0
Dat het ergens anders sneller (of langzamer) fout gaat is extra onderbouwing dat het om clock drift gaat. Maar ik heb 2 kanttekeningen:
1. Na 11 minuten al door de buffer heen zijn is wel erg snel, dus dan is de clock drift zeer excessief. Of er is iets anders aan de hand.
2. Ik vind het raar dat het ermee stopt. Meestal hoor je gewoon een korte drop out en daarna gaat de stream weer even verder, of je hoort een skip. Maar stoppen, dat zie je niet vaak. Probleem wat je hier beschrijft doet mij nu toch vermoeden dat je naar een ander probleem aan het kijken bent als clock drift, maar doe in ieder geval die meting even. Ook op dat systeem in spanje.

Kijk even of er op dat tijdstip van stoppen iets in de logfile staat van Everest Cast.
Ik acht de kans ook klein dat het om clock drift gaat, maar wil het best meten.
Klopt, dropouts zijn niet zo'n ramp maar dit is volledig stoppen.

Vanochtend uitgebreid in gesprek geweest met de hoster, wil geen inzage in logs geven maar blijft volhouden dat er niks aan de hand is en dat het absoluut niet aan de logs kan liggen.
We hebben nu een testserver gekregen om het ook op te testen.
Gebruikersavatar
ColinC
Berichten: 69
Lid geworden op: 21 aug 2009 05:47

Re: Haperende spelers

Bericht door ColinC »

Ik denk dat ik weet in welke richting ik moet gaan zoeken, mogelijk een bug in Everest Cast ontdekt, wordt nog vervolgd!
Gebruikersavatar
ColinC
Berichten: 69
Lid geworden op: 21 aug 2009 05:47

Re: Haperende spelers

Bericht door ColinC »

Eerste tests zijn gunstig. Het lijkt erop dat het een bug is in EverestCast die hierdoor wordt veroorzaakt;
https://i.ibb.co/80nNDyb/everestbug.png
Plaats reactie