onlinereceivers.net gaat stoppen

10 jaar streaming 24/7 is genoeg.

In het voorjaar van 2003 is het idee geboren. Op internet kwam ik eind 2002 een Amerikaanse website tegen waar een Ten-Tec RX320 kon worden afgestemd en met een media player kon naar het audio geluisterd worden. Een prachtige vondst en het leek me wel wat om dat ook te realiseren.

Op vrijwel hetzelfde moment kwam mijn zwager met het ontwerp van een Wideband Magnetisch Loop antenne. Ideaal om aan een RX320 te koppelen en daarmee kon hij zijn antenne testen en ik het internetexperiment verder uitvoeren. Daar kwam nog bij dat ik tegen een PCR100 ontvanger aanliep waarmee ik dus naast een HF ontvanger ook nog een VHF/UHF ontvangst op internet kon aanbieden.

De software voor de besturing van de PCR100 en RX320 werd door mijn zoon Tom in Java geschreven en de website maakte ik zelf in HTML en PHP. In de eerste jaren van het experiment zijn talloze verbeteringen aangebracht en werd steeds meer functionaliteit toegevoegd . Doordat ik voor mijn werk veelal in het buitenland zat was ik vaak ‘s avonds op mijn hotelkamer via internet aan het programmeren. Talloze verbeteringen en uittesten van de beste en snelste mogelijkheid om audio te streamen hebben me beziggehouden.

Als je bedenkt dat er een complete database is gebouwd om gebruikers te registreren, het afstemmen te loggen de shoutbox clean te houden plus dat er een paar ingewikkelde (althans vond ik) scripts moesten worden gebouwd om locktijd te kopen via de site kun je je voorstellen dat dat heel wat uren vrije tijd heeft gekost. Overigens heeft het nooit wat opgeleverd. De hosting en bandbreedte slokten de inkomsten volledig op. In de tussentijd ging de techniek verder en kwamen er ook andere initiatieven om frequentiespectrum aan te bieden via Internet.

Begin 2006 hebben we ontvangers ondergebracht op onlinereceivers.net. Tot die tijd waren de ontvangers bereikbaar via www.pa3ang.nl, een site die toen nog met de hand gebouwd was. Tegenwoordig is het een op wordpress templates gebouwde blog omgeving.

Vanaf 2009 is er geen spectaculaire nieuwbouw meer geweest en begon eigenlijk al een periode van stabilisatie en afbouw. Een opsomming van alle streams die er geweest zijn naast de RX320 en PCR100 in Zwolle:

  • RX320 in Boston
  • RX320 in New York
  • PCR1000 in Manilla
  • FT-817 in Zwolle
  • FT-817 in Pt-à-Celles (België)
  • RX320 in Pretoria  (onderdeel van het commerciële project)

Ook hebben we een verscheidenheid aan vaste streams gehad:

  • Flex-1500 WA5QPZ in Texas, US
  • D-STAR stream South Yorkshire, Engeland
  • D-STAR stream PI1DSA – REF017 A en later DCS007 B
  • Tetra stream, Amersfoort
  • 70 MHZ stream, Zwolle

en sinds begin 2013 zelfs een pagina met 5 vaste streams met lokale Nederlandse repeaters.

In de periode 2007 tot 2009 hebben we gewerkt aan onlinerecivers.org en onlinereceivers.biz. Zie hiervoor ook een ander blogje. Dit was een tijd waarin ik veel aan het programmeren was om geluidsopnamen via de site aan te bieden en om alle beschikbare Rhombic antennes (16 stuks) op een antennefarm in de buurt van Pretoria schakelbaar te maken via remote bedienbare coaxschakelaars. Ook real time geluid via Skype hoorden erbij en klantspecifieke webpagina’s. Een leerzame periode, maar de internet technologie ging met rasse schreden vooruit en ik kon het eerlijk gezegd allemaal niet meer bijhouden. (af en toe moet je ook nog werken)

De grootste vernieuwing, naast onbegrensde bandbreedte, is de geboorte van websdr. Op dezelfde Universiteit als waar Tom (mijn Java programmerende zoon) studeerde is het uitgedacht en in feite is het de ultieme methode van onlinereceivers.

Ondanks die ontwikkelingen heb ik onlinereceivers.net in de lucht gehouden. De .org en .biz sites werden weer gesloten en de activiteiten gestaakt. Op .net waren ondertussen google-ads verschenen waarvan een deel werd gedoneerd aan de MAF en aan Groot Nieuws Radio. Gedurende de hoogtijdagen hadden we 300 bezoekers per dag en kreeg ik klachten van mijn hoster. Ik moest toen een aantal database scripts verbeteren en mijn hostingplan opschroeven. Allemaal verleden tijd, want het aantal bezoekers nam af en ook verdwenen een aantal ontvangers en vaste streams.

Door de loop der jaren heb ik uitsluitend positieve reacties gehad. Door de site zijn mensen weer aan de hobby begonnen, werd interesse gewekt voor radio ontvangst en zelfs de NASA maakte gebruik van de PCR100 om de ARISS contacten te volgen. In de tijd dat de politie nog analoog was zijn vele uren luisterplezier doorgebracht op de PCR100. (het blogje daarover en hier.)

Een paar blogjes over de onlinereceivers door de jaren heen.

en niet te vergeten de demo ontvangers die je nog steeds deels hier kunt bekijken.

Eigenlijk 10 jaar aan het klussen, spelen en perfectioneren van website, ontvangst en beheer. Tja en dan komt een moment dat je het los wil laten. Moderne en betere techniek is wel heel nadrukkelijk aanwezig. Betere website templates  (onlinereceivers is volledig met de hand gebouwd), grotere variatie en streaming (webbrowsers, pc, netbook, android etc.) en het enorme potentieel aan websdr locaties geven mij de geruststelling dat er alternatieven zijn voor mijn vaste bezoekers.

In de loop van de jaren zijn er vriendschappen ontstaan via onlinereceivers en de spin-off zie je terug op teamspeak.

Ik wil iedereen bedanken die mij de support door de jaren heeft gegeven. Ik weet nog niet wanneer de stekker eruit gaat maar dat zal toch binnenkort zijn.

vy 73 de Johan, PA3ANG

Onlinereceivers, de Server Software.

Een uitleg van achter de schermen.

Het moet er toch eens van komen, een uitleg (met wat plaatjes) van de server software waarmee de online ontvangers met het internet verbonden zijn.

Mijn online receivers (Icom PCR100, Ten-Tec RX320 en af en toe de Yaesu FT817) zijn natuurlijk ‘niet zomaar’ op het internet beschikbaar. Er is speciale sofware voor geschreven en met behulp van vrij beschikbare software, een aantal gekochte programma’s en natuurlijk veel coderen, is een en ander gerealiseerd.

Allereerst maar eens het complete blokschema.

Je zit hier alle scripts en ‘blokken’ software welke gebruikt worden. De SAM Encoder V3.7.1 (website) is aangeschaft. De Winamp player is V2.9.1 (website). Dit is een oude versie! om de belasting voor de server zo laag mogelijk te houden. De Shoutcast server is eveneens een oude versie namelijk v1.6.0rc2/win32 (website). De oude vesie van de Shoutcast server is nodig om een minimale vertraging te behouden. Als je de laaste versie gebruikt (v1.9.7) kan de vertraging in het audiosignaal oplopen tot wel zo’n 2 minuten. NB: Alle sofware draait op een Windows 98 omgeving.

Tijdens het laden van de HTML pagina wordt automatisch gecontroleerd of er gebruik gemaakt kan worden van de RealPlayer (4 seconden delay) of dat er moet worden uitgeweken naar de Windows Media Player (10 seconden delay).

Goed dat wat betreft de audio verbinding. Dan nu de aansturing van de ontvanger, welke start op de remote HTML /PHP server. Daar wordt door middel van een PHP script een HTML-FORM aangemaakt (controller), die de ontvanger instellingen uitleest en als de gebruiker veranderingen wenst, dit doorzend naar de ontvanger. Het doorsturen vindt vanuit de remote server plaats via een beveiligde verbinding naar de local server.

Op de lokale server staat een in java geschreven programma te draaien. De ‘tree’ van dit programma vindt je hieronder waarbij gebruik gemaakt wordt van de Java JDK 1.5 Design Kit.

Deze server software bevat modules voor de verschillende ontvangers en bevat alle functies om via de beveiligde verbinding met de remote server te communiceren en via RS-232 met de ontvanger(s). Deze in java gecodeerde software is ‘ons’ eigendom en niet voor publicatie beschikbaar. Om je toch een indruk te geven, hieronder een stukje code.

Goed, dat is dat. Nu de rest. Op de remote server draait nog wat andere sofware. Scripts nodig voor de opmaak van de site en scripts voor bijvoorbeeld de shoutbox of de embedded players. Ook de registratie en de nieuwsbalk worden hier dynamisch met behulp van PHP scripting gemaakt. (PHP is ideaal voor dit doel en goed te beveiligen). Verder wordt er gebruik gemaakt van een MYSQL database waar allerlei statistieken in bijgehouden worden. Deze database is IP-nummer georienteerd.

We kunnen hierdoor de luisteraars uit de anonimiteit halen (naam in de shoutbox) en bijvoorbeeld ook statistieken per ontvanger maken.

Tot slot nog een foto-tje van de server plus de PCR100 en RX320 ontvangers. (op een plank onder mijn bureau)

De server PC is een oude IBM Thinkpad 390 (P2/450MHz) en voor de 2e RS-232 en 2e Soundcard wordt gebruik gemaakt van een Sitecom USB-Serial Cable en een Sitecom USB Audio 5.1 Adapter. Daarnaast is er een PCMCIA LAN kaartje van 3COM geplaatst.

Op de server draaien twee  ‘Winamp – SAM encoder – Shoutcast server‘  combinaties. De belasting van de PC blijft ruim onder de 50%, dus de server staat op z’n gemakkie zijn werk te doen.

Verder hebben we op het geheel nog een paar SMS ‘alerts’ staan waarbij de status (of juist de verandering) van de server(s) wordt gemeld. Ook zijn de beide servers op afstand toegankelijk.

Ik hoop dat dit verhaal enige duidelijkheid geeft over de opzet van de ‘online ontvangers’. Mocht je vragen hebben dan kun je me altijd mailen.

vy 73 de Johan, PA3ANG

An Icom PCR100 online – what to do

PCR100 On-line receiver, how does it work.  (klik hier voor Nederlandse tekst)

IC-PCR100 Image

Hardware

The Icom PCR100 wideband receiver can only be controlled by computer.
It’s capable frequency range covers 10 KHz to 1300 MHz. Click here for the commercial leaflet.
AM and FM modulated signals can be received and the PCR100 has 4 different bandwitdh (6, 15, 50 en 230 KHz).

Software

The PCR100 is controllable using the supplied software. Fortunatly, other software has been made for this receiver (and his bigger brother the PCR1000) over time, which is even more user friendly and include extra handy features. An example of this is TalkPCR. On the designer site TalkPCR software can be downloaded. There is even a Yahoo group.

Layout TalkPCR

The good thing of the PCR100 receiver is it’s easy way to control the receiver using the RS232 port of the PC. This makes it very easy to write some own software to use the receiver. A command summary of the PCR1000 (almost the same to the PCR100) can be found here.

On-line control

When controlling the receiver via the internet, a subset of all usable commands can be applied. The user / listener should easaly be able to tune the receiver. The only settings needed are frequency, mode and bandwitdh. Next to this, it’s also handy to get the values back in order to inform new listerners logging in to the receiver about the current settings.
We realised this type of control in Java. The direct controlling of the receiver resides on a P2/233Mhz laptop and the complete communication (RS232) interception and distribution of commands and controlling of the scanning mode is done using Java. We did not implement the use a Java Applet as client (user side) , but organised the user interface by means of PHP scripts. These scripts resides nicely on a public webserver and sensitive information such as ip adress and poortnumbers are hidden.

In a diagram it looks like this:

Layout TalkPCR

Audio

Audio can be distributed roughly in 2 ways.
1) Use a so-called Stream Server.
This gives the advantage that your own hardware and netwerk will not be overloaded. The listeners will logon to a public server.
2) All listeners will logon to your own computer. Usally this means a direct hit based on your IP adress en port. This makes you vulnerable and there is a limit to the number of listeners.

Next to this you have to decided in which format you want to stream. Stay within Windows Media with for instance and use a WMA codec or stream with an MP3 formats. The final choce is also dependent on the used Stream Server and will have an effect on the used player.
And there will be a difference in throughput. The speed will differ per format and is also influenced by the used bandwitdh. In our case we want ‘as fast as possible’, because wen you tune the receiver you would like to have the results fast and want to know if there is something the hear at the tuned frequency.
The at us implemented solution has both protocols. There is a WME stream, reachable via public Stream Server nl.: webcast.xs4all.nl (a slower but save solution) and a direct connectable MP3 stream. Therefor we have a local shoutcast server active which is made known to the public directory service of shoutcast.
If you are using a real player the stream delay is about 4 seconds! The WME solution, using the xs4all webcast, will induce about 20 seconds delay.

Server

The configuration on the server pc consists of the floowing components:
1) Java program controlling the PCR100
2) Winamp player V2.9.1
3) SAM encoder software (DSP add-on for Winamp 2) V3.7.1
4) Shoutcast Server V1.6.0rc2/win32

The laptop (IBM390 ThinkPad – P2/233) has a Windows 98(SE) operating system and overhead software has been kept to the minimal.

The server screen looks as follows:

Layout Server Screen

The SAM encoder generated a MP3 as well as a WMA9 stream. The bandwidth is kept low resp. 16Kb/s and 20Kb/s. SAM encoders are products from Spacial Audio and you must register in order to have 24/7 use.
The Winamp player is an old version V2.9.1. You can download it from several sites. (just google)

Antenna

Last but not least,,, what’s a receiver without antenna. At 15 meters hight, a Sirio SD1300(N) Discone antenna has been placed. The antenna has a covarge from 50 till 1300 MHz, but lower frequencies will give reasonable results with this discone antenna.

Sirio SD1300

Een Icom PCR100 online – hoe doe je dat

PCR100 On-line receiver, hoe werkt het.    (click here for English text)

IC-PCR100 Image

Hardware

De Icom PCR100 is een wideband ontvanger welke uitsluitend via de computer te bedienen is. Het frequentiebereik loopt van 10 KHz tot 1300 MHz. Klik hier voor de commerciele folder. De ontvanger is geschikt voor de ontvangst van AM en FM gemoduleerde signalen en heeft 4 verschillende bandbreedtes (6, 15, 50 en 230 KHz).

Software

De PCR100 is bestuurbaar met de bijgeleverde software. Er zijn echter ook andere programma’s geschreven voor deze ontvanger (en zijn grotere broer de PCR1000) welke nog gebruikersvriendelijker zijn en daarnaast een aantal extra nuttige functies hebben. Een voorbeeld hiervan is TalkPCR. Je kunt op de site van de ontwerper deze TalkPCR software downloaden. Er is zelf een Yahoo group.

Layout TalkPCR

Het mooie van de PCR100 ontvanger is dat je op een vrij eenvoudig manier commando’s aan de ontvanger kan sturen via RS232. Het is dan ook erg makkelijk om met een eigen geschreven programma de besturing verrichten. Een commando overzicht van de PCR1000 (vrijwel gelijk aan de PCR100) kun je hier vinden.

On-line besturing

Om de ontvanger via internet te kunnen besturen, kun je volstaan met een beperkte instructieset. Je wil immers dat de gebruikers / luisteraars op een eenvoudige manier de ontvanger kunnen bedienen. Wat volstaat is frequentie, modulatie en bandbreedte veranderingen. Daarnaast is het handig om een terugmelding van de ingestelde waarden te krijgen, zodat nieuwe inmelders weten waarop de ontvanger is afgestemd.
We hebben dit gerealiseerd in Java. De directe besturing van de ontvanger draait op een P2/233Mhz laptop en de volledige communicatie (RS232) het afvangen en doorsturen van de commando’s en het eventueel inschakelen van de scanning mode is door middel van java gerealiseerd. We hebben daarbij niet gekozen voor een Java Applet aan de client (user) kant, maar organiseren de user interface door middel van PHP scripts. Deze scripts kunnen we eenvoudig op een publieke webserver draaien waarbij ‘gevoelige’ gegevens zoals ip adressen en poortnummers afgeschermd blijven.

Schematisch ziet het er dan als volgt uit:

Layout TalkPCR

Audio

Voor het versturen van de ontvangen audio zijn grofweg 2 mogelijkheden.
1) Je maakt gebruik van een zogeheten Stream Server.
Het voordeel is dat je eigen hardware en netwerk minimaal belast worden. De luisteraars loggen aan op een publieke server.
2) Al je luisteraars loggen in op je eigen computer. Vaak door middel van een directe hit op je IP adres en poort.
Dit maak je kwetsbaarder en daarnaast ben je gelimiteerd in het aantal luisteraars.

Verder zul je een keuze moeten maken op welke wijze je de audio gaat formateren. Je kunt binnen Windows Media blijven met bv. WMA codecs of gebruik maken van MP3 varianten. De format keuze wordt tevens bepaalt door de eventuele Stream Server en heeft ook invloed op de gebruikte player.
Daarnaast is er verschil in ‘doorgifte’ snelheid bij de verschillende formaten en natuurlijk de gebruikte bandbreedte. In ons geval willen we ‘zo snel mogelijk’, omdat je de ontvanger kunt bedienen en dan wel snel wil weten of er iets te ontvangen is op die frequentie.
De oplossing welke door ons geimplementeerd is omvat beide oplossingen en protocollen. Er is een WME stream welke bereikbaar is via een publieke Stream Server nl.: webcast.xs4all.nl (dit is een langzame maar veilige variant) en een MP3 stream welke direct bereikbaar is. Hiertoe hebben we een locale shoutcast server draaien welke in de publieke directory service van shoutcast terug te vinden is.
Als je gebruik maakt van de realplayer heeft dit een doorgifte vertraging van 4 seconden! De WME oplossing via de xs4all webcast geeft al gauw 20 seconden vertraging.

Server

De configuratie op de server pc heeft de volgende componenten:
1) Java besturing voor de pcr100
2) Winamp speler V2.9.1
3) SAM encoder software (DSP add-on voor Winamp) V3.7.1
4) Shoutcast Server V1.6.0rc2/win32

De laptop (IBM390 ThinkPad – P2/233) is voorzien van Windows 98(SE) en zoveel mogelijk overhead software is uitgeschakeld.

Het server scherm ziet er als volgt uit:

Layout Server Screen

De SAM encoder heeft zowel een MP3 als een WMA9 stream. De bandbreedte is beperkt resp. 16Kb/s en 20Kb/s. SAM encoders zijn producten van Spacial Audio en de software moet geregistreed zijn voor 24/7 gebruik.
De Winamp speler is een oude versie V2.9.1. Je kunt hem op verschillende sites nog downloaden. (even google-en)

Antenne

Tenslotte,,, wat is een ontvanger zonder antenne. Op 15 meter hoogte hebben we een Sirio SD1300(N) Discone antenne geplaatst. De antenne heeft een bereik van 50 tot 1300 MHz maar ook de lagere frequenties geven een redelijk resultaat met deze antenne.

Sirio SD1300

Audio streams van de on-line ontvangers zijn nu ‘MP3 only’.

Een korte update (veranderd 30 april)

Omdat de server steeds vastliep heb ik nog eens kritisch naar de audiostreams gekeken. Het bleek dat de cpu belasting vrijwel 100% was en dat de IBM Thinkpad 390 (P2/288MHz) notebook daar niet goed mee overweg kon.

Ik ben nu naar de volgende configuratie overgestapt:

  • Drie SHOUTcast servers V1.6.0rc2/win32. Deze werken met een kleine buffering waardoor er minimale vertraging ontstaat in de audioketen. Maximaal 8 seconden Media Player en 4 seconden Real Player, terwijl de laaste versie van de SHOUTcast server V1.9.5 ca. 2 minuten delay heeft. De YP functie van V1.6.0rc2 werkt echter niet goed meer, dus de servers zijn niet ‘public’.
  • Twee WINAMP players, versie V2.91 met beide een SAM encoder V3.7.1 (DSP add-on). Door twee maal een player te installeren in aparte directories kun je simultaan meerder spelers actief hebben.
  • Het eigen geschreven JAVA programma welke de interface is tussen internet en de beide ontvangers!

Ik heb de WMA encoding in de SAM encoders nu uitgezet. Hierdoor is de loading van de cpu van 100% terug naar minder dan 40%. Het blijkt dus dat het maken van een WMA stream veel cpu tijd kost. Omdat vrijwel iedereen tegenwoordig wel Media Player versie 9 of hoger heeft kan ik gerust alleen MP3 streamen. Nadeel is nu wel dat ik niet meer te zien ben bij XS4ALL webcast. Alle scripts op de website verwijzen nu voor de audiostreams, zowel de realplayer alswel de windows media player naar een van de SHOUTcast servers.

Speciaal voor het decoderen van datasignalen en het luisteren naar FM stereo uitzendingen heb ik de PCR100 ontvanger voorzien van een 48kbps stream. Je kunt vanuit de pagina overschakelen op de breedbandversie en terug. Het aantal luisteraars op deze stream is beperkt tot 4.

Kortom oude versie van de software en allen MP3. Het operating systeem is nog W98, maar gaat uiteindelijk denk ik toch naar Linux. Overigens wil je oude versie van software downloaden kijk dan op www.oldversion.com, want nieuwer is niet altijd beter!

Door deze ingreep zal de server naar verwachting weer stabiel opereren in plaats van elke week plat gaan.

vy 73 de Johan, PA3ANG