All Projects → bbc → RadioVisDemo

bbc / RadioVisDemo

Licence: Apache-2.0 License
RadioDNS and RadioVIS Slideshow Protocol Demo

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to RadioVisDemo

DABDUINO
The DABDUINO is DAB/DAB+/FM Arduino shield with 32-bit, 384kHz PCM DAC (cinch) + Toslink optical digital audio output.
Stars: ✭ 34 (+36%)
Mutual labels:  radio
jradio
Software radio decoding
Stars: ✭ 40 (+60%)
Mutual labels:  radio
cariboulite
CaribouLite turns any 40-pin Raspberry-Pi into a Tx/Rx 6GHz SDR
Stars: ✭ 785 (+3040%)
Mutual labels:  radio
PothosComms
Communications blocks and support libraries
Stars: ✭ 15 (-40%)
Mutual labels:  radio
nrsc5-dui
An enhanced, user-friendly version of nrsc5-gui that is not heavily dependent upon Python processing for audio generation.
Stars: ✭ 49 (+96%)
Mutual labels:  radio
qc image unpacker
Qualcomm image unpacker
Stars: ✭ 44 (+76%)
Mutual labels:  radio
nfc-laboratory
NFC signal and protocol analyzer using SDR receiver
Stars: ✭ 41 (+64%)
Mutual labels:  radio
reddit-radio
Discord bot that streams music and radio to voice channels.
Stars: ✭ 29 (+16%)
Mutual labels:  radio
AMChoice
Radio Button and check box for iOS
Stars: ✭ 45 (+80%)
Mutual labels:  radio
gr-etcetera
Additional PyBOMBS recipes that aren't in gr-recipes
Stars: ✭ 71 (+184%)
Mutual labels:  radio
codec2 talkie
Turn your Android phone into Codec2 Walkie-Talkie (Bluetooth/USB/TCPIP KISS modem client for DV digital voice communication)
Stars: ✭ 65 (+160%)
Mutual labels:  radio
FT857d
CAT support for Arduino, simulating a Yaesu FT-857D
Stars: ✭ 31 (+24%)
Mutual labels:  radio
Virgo
📡 Virgo: A Versatile Spectrometer for Radio Astronomy
Stars: ✭ 85 (+240%)
Mutual labels:  radio
kodi.plugin.yandex-music
Yandex Music plugin for Kodi
Stars: ✭ 33 (+32%)
Mutual labels:  radio
HyperCast
A JavaScript/Discord.JS bot for Discord named HyperCast. HyperCast is an original bot that has a feature like a radio in a car. You can listen to different genres and switch by using a single command.
Stars: ✭ 14 (-44%)
Mutual labels:  radio
jackpifm
📡 Turn your Raspberry Pi into an FM transmitter broadcasting live audio from JACK
Stars: ✭ 21 (-16%)
Mutual labels:  radio
Radio
Simple Android webradio player
Stars: ✭ 21 (-16%)
Mutual labels:  radio
pyradio
📻 Play your favorite radio station from the terminal
Stars: ✭ 69 (+176%)
Mutual labels:  radio
kirby-imageradio
Add illustrations to Kirby's radio buttons. Kirby 2 and 3.
Stars: ✭ 49 (+96%)
Mutual labels:  radio
PHP-Broadcast-radio
🌈 Autonomous streaming audio ,serveronline internet radio is free streaming music for your listening pleasure, as well as news and announcements.
Stars: ✭ 38 (+52%)
Mutual labels:  radio

Build Status

RadioVIS Demo Application

RadioVIS Demo screenshot

Introduction

RadioVisDemo is a demonstration application for RadioDNS and RadioVIS. RadioVIS is the visualisation protocol that forms part of the RadioDNS suite of application protocols, also known as Hybrid Digital Radio (DAB, DRM, RadioDNS) Slideshow, defined in the following ETSI standards:

Please visit https://radiodns.org for more information about RadioDNS, and https://www.bbc.co.uk/rd/projects/radiovis to learn more about this project, and https://github.com/bbc/RadioVisDemo to obtain the latest release of this software.

Installation

RadioVisDemo is a Python application and requires several dependencies to be installed.

Ubuntu

On Ubuntu, install Python 3, pip, and the GTK development libraries, then use pip to install the dependencies:

sudo apt-get install python3 python3-pip libgtk-3-dev
pip3 install -r requirements.txt

Alternatively, you may be able to install a pre-compiled version of wxPython:

sudo apt-get install python3 python3-pip python-wxgtk4.0
pip3 install -r requirements-ubuntu.txt

Windows

On Windows, download and install Python v3.5 or later from http://www.python.org/download/, then use pip to install the required packages:

pip install -r requirements.txt

Mac OSX

On Mac, you can use pip to install the required packages:

pip install -r requirements.txt

Running RadioVisDemo

To run the application, enter the following at a command prompt:

python3 radiovis_demo.py

The default setting in the Domain field is radiodns.org. Change this option to perform radio station DNS lookups against a different domain, which is useful for testing RadioDNS services during development.

Select a RadioDNS hostname in the Hostname field. The Local Stomp Server entry allows testing of a RadioVIS service running on the local machine (localhost, port 61613).

Press the Resolve button to perform a DNS CNAME lookup on the selected hostname and then an SRV record query for available RadioDNS services (RadioVIS, RadioTAG, and RadioEPG). The results are shown in the CNAME and Services fields.

If a RadioVIS service is available, select this from the Services list and press the Connect button. The options next to the Connect button allow HTTP requests and the Stomp connection to be routed through an HTTP proxy. Proxy settings are obtained from the urllib.getproxies() method, which returns the system proxy settings (the http_proxy environment variable or Internet Explorer settings in Windows). A proxy server should not be used if connecting to a service on the local machine.

Once connected, the following fields show information received from the RadioVIS service:

  • The Log field shows status messages and details of all Stomp messages received.

  • The Messages field shows the history of received RadioVIS TEXT messages.

  • The Image URL field shows the URL of the image from the last received RadioVIS SHOW message.

  • The Link URL field shows the hyperlink from the last received RadioVIS SHOW message.

  • The Image field shows the image from the last received RadioVIS SHOW message.

  • The Text field displays the last received RadioVIS TEXT message.

Configuration

The RadioVIS demo application uses several configuration files, in the conf directory:

radiodns_domains.xml

This file contains a list of domains against which DNS lookups for radio stations can be performed. By default, this list includes radiodns.org (for live services) and test.radiodns.org (for test purposes), but you can modify this list to refer to your own domain in order to test your own RadioDNS services before making them available via radiodns.org.

radio_stations.xml

This file contains a list of radio stations and their associated broadcast parameters, which are shown in the Hostname field. Please read the RadioDNS documentation for details of the broadcast parameters.

If you'd like to add your radio station's details to this least, please send us a pull request.

radiodns_services.xml

This file contains a list of the RadioDNS services and SRV record names, which are queried when the Resolve button is pressed. At present these are RadioVIS, RadioTAG, and RadioEPG.

test_radiovis_services.xml

This file contains a list of test RadioVIS services that the application can connect to. Each test_radiovis_service element should contain the following entries:

  • name: The name of the test service name, for display in the user interface.

  • hostname: The hostname of the computer that runs the RadioVIS Stomp service.

  • port: The port number of the RadioVIS Stomp service.

  • text_topic: The topic name for text message notifications.

  • image_topic: The topic name for slideshow image notifications.

Tests

The test directory contains unit tests. To run the tests use the following command:

nosetests

Limitations

This software has a few limitations:

  • The software uses the system proxy server settings (the http_proxy environment variable or Internet Explorer settings in Windows), and these are not configurable within the program.

  • In the handling of RadioVIS SHOW messages, the trigger time is not used, and the image is always shown immediately.

  • Error and redirect statuses are not handled when retrieving images over HTTP.

  • STOMP connections cannot be routed via a SOCKS proxy (fixing this requires changes to the stomp.py module).

Authors

This software was written by Chris Needham - chris.needham at bbc.co.uk.

Contact and Legal Information

Copyright 2009-2020 British Broadcasting Corporation

The RadioVIS Demo Application is free software; you can redistribute it and/or modify it under the terms of the Apache License, Version 2.0.

The RadioVIS Demo Application is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache License, Version 2.0 for more details.

Your comments and suggestions are welcome. Please visit our website or send email to [email protected].

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].