{"id":18376837,"url":"https://github.com/bbc/radiovisdemo","last_synced_at":"2025-07-22T19:03:41.210Z","repository":{"id":136960655,"uuid":"242407","full_name":"bbc/RadioVisDemo","owner":"bbc","description":"RadioDNS and RadioVIS Slideshow Protocol Demo","archived":false,"fork":false,"pushed_at":"2025-05-08T18:05:40.000Z","size":246,"stargazers_count":28,"open_issues_count":4,"forks_count":12,"subscribers_count":23,"default_branch":"master","last_synced_at":"2025-05-08T19:24:31.227Z","etag":null,"topics":["radio","radiodns","radiovis"],"latest_commit_sha":null,"homepage":"https://www.bbc.co.uk/rd/projects/radiovis","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bbc.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2009-07-03T11:48:27.000Z","updated_at":"2025-05-08T18:05:44.000Z","dependencies_parsed_at":"2024-01-07T12:52:34.086Z","dependency_job_id":"6d413e97-7276-4fb2-b026-db14356d8400","html_url":"https://github.com/bbc/RadioVisDemo","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/bbc/RadioVisDemo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbc%2FRadioVisDemo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbc%2FRadioVisDemo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbc%2FRadioVisDemo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbc%2FRadioVisDemo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bbc","download_url":"https://codeload.github.com/bbc/RadioVisDemo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbc%2FRadioVisDemo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266553970,"owners_count":23947244,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["radio","radiodns","radiovis"],"created_at":"2024-11-06T00:25:01.867Z","updated_at":"2025-07-22T19:03:41.193Z","avatar_url":"https://github.com/bbc.png","language":"Python","readme":"[![Build Status](https://github.com/bbc/RadioVisDemo/actions/workflows/python-package.yml/badge.svg?branch=master)](https://github.com/bbc/RadioVisDemo/actions)\n\n# RadioVIS Demo Application\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/bbc/RadioVISDemo\"\u003e\u003cimg src=\"radiovis-demo.png\" alt=\"RadioVIS Demo screenshot\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## Introduction\n\nRadioVisDemo is a demonstration application for RadioDNS and RadioVIS. RadioVIS\nis the visualisation protocol that forms part of the RadioDNS suite of\napplication protocols, also known as Hybrid Digital Radio (DAB, DRM, RadioDNS)\nSlideshow, defined in the following ETSI standards:\n\n* [ETSI TS 103 270 v1.3.1 - RadioDNS Hybrid Radio; Hybrid lookup for radio services](https://www.etsi.org/deliver/etsi_ts/103200_103299/103270/01.03.01_60/ts_103270v010301p.pdf)\n* [ETSI TS 101 499 v3.1.1 - Slideshow](http://www.etsi.org/deliver/etsi_ts/101400_101499/101499/03.01.01_60/ts_101499v030101p.pdf)\n\nPlease visit \u003chttps://radiodns.org\u003e for more information about RadioDNS, and\n\u003chttps://www.bbc.co.uk/rd/projects/radiovis\u003e to learn more about this project,\nand \u003chttps://github.com/bbc/RadioVisDemo\u003e to obtain the latest release of this\nsoftware.\n\n## Installation\n\nRadioVisDemo is a Python application and requires several dependencies to be\ninstalled.\n\n### Ubuntu\n\nOn Ubuntu, install Python 3, pip, and the GTK development libraries, then\nuse pip to install the dependencies:\n\n```bash\nsudo apt-get install python3 python3-pip libgtk-3-dev\npip3 install -r requirements.txt\n```\n\nAlternatively, you may be able to install a pre-compiled version of wxPython:\n\n```bash\nsudo apt-get install python3 python3-pip python-wxgtk4.0\npip3 install -r requirements-ubuntu.txt\n```\n\n### Windows\n\nOn Windows, download and install Python v3.5 or later from\n\u003chttp://www.python.org/download/\u003e, then use pip to install the required\npackages:\n\n```bash\npip install -r requirements.txt\n```\n\n### Mac OSX\n\nOn Mac, you can use pip to install the required packages:\n\n```bash\npip3 install -r requirements.txt\n```\n\n# Running RadioVisDemo\n\nTo run the application, enter the following at a command prompt:\n\n```bash\npython3 radiovis_demo.py\n```\n\nThe default setting in the **Domain** field is `radiodns.org`. Change this option\nto perform radio station DNS lookups against a different domain, which is useful\nfor testing RadioDNS services during development.\n\nSelect a RadioDNS hostname in the **Hostname** field. The **Local Stomp Server** entry\nallows testing of a RadioVIS service running on the local machine (localhost,\nport 61613).\n\nPress the **Resolve** button to perform a DNS CNAME lookup on the selected hostname\nand then an SRV record query for available RadioDNS services (RadioVIS, RadioTAG,\nand RadioEPG). The results are shown in the **CNAME** and **Services** fields.\n\nIf a RadioVIS service is available, select this from the **Services** list and press\nthe **Connect** button. The options next to the **Connect** button allow HTTP requests\nand the Stomp connection to be routed through an HTTP proxy. Proxy settings are\nobtained from the `urllib.getproxies()` method, which returns the system proxy\nsettings (the `http_proxy` environment variable or Internet Explorer settings in\nWindows). A proxy server should not be used if connecting to a service on the\nlocal machine.\n\nOnce connected, the following fields show information received from the RadioVIS\nservice:\n\n * The **Log** field shows status messages and details of all Stomp messages\n   received.\n\n * The **Messages** field shows the history of received RadioVIS TEXT messages.\n\n * The **Image URL** field shows the URL of the image from the last received\n   RadioVIS SHOW message.\n\n * The **Link URL** field shows the hyperlink from the last received RadioVIS SHOW\n   message.\n\n * The **Image** field shows the image from the last received RadioVIS SHOW message.\n\n * The **Text** field displays the last received RadioVIS TEXT message.\n\n## Configuration\n\nThe RadioVIS demo application uses several configuration files, in the `conf`\ndirectory:\n\n### radiodns_domains.xml\n\nThis file contains a list of domains against which DNS lookups\nfor radio stations can be performed. By default, this list includes\n`radiodns.org` (for live services) and `test.radiodns.org` (for test purposes),\nbut you can modify this list to refer to your own domain in order to test\nyour own RadioDNS services before making them available via radiodns.org.\n\n### radio_stations.xml\n\nThis file contains a list of radio stations and their associated\nbroadcast parameters, which are shown in the **Hostname** field. Please read\nthe [RadioDNS documentation](http://radiodns.org/) for details of the\nbroadcast parameters.\n\nIf you'd like to add your radio station's details to this least, please\nsend us a pull request.\n\n### radiodns_services.xml\n\nThis file contains a list of the RadioDNS services and SRV\nrecord names, which are queried when the **Resolve** button is pressed. At\npresent these are RadioVIS, RadioTAG, and RadioEPG.\n\n### test_radiovis_services.xml\n\nThis file contains a list of test RadioVIS services that\nthe application can connect to. Each `test_radiovis_service` element should\ncontain the following entries:\n\n * `name`: The name of the test service name, for display in the user interface.\n\n * `hostname`: The hostname of the computer that runs the RadioVIS Stomp\n   service.\n\n * `port`: The port number of the RadioVIS Stomp service.\n\n * `text_topic`: The topic name for text message notifications.\n\n * `image_topic`: The topic name for slideshow image notifications.\n\n## Tests\n\nThe `test` directory contains unit tests. To run the tests use the following\ncommand:\n\n```bash\nnosetests\n```\n\n## Limitations\n\nThis software has a few limitations:\n\n * The software uses the system proxy server settings (the `http_proxy`\n   environment variable or Internet Explorer settings in Windows), and these\n   are not configurable within the program.\n\n * In the handling of RadioVIS SHOW messages, the trigger time is not used,\n   and the image is always shown immediately.\n\n * Error and redirect statuses are not handled when retrieving images over HTTP.\n\n * STOMP connections cannot be routed via a SOCKS proxy (fixing this requires\n   changes to the stomp.py module).\n\n## Authors\n\nThis software was written by [Chris Needham](https://github.com/chrisn) - chris.needham at bbc.co.uk.\n\n## Contact and Legal Information\n\nCopyright 2009-2024 British Broadcasting Corporation\n\nThe RadioVIS Demo Application is free software; you can redistribute it and/or\nmodify it under the terms of the Apache License, Version 2.0.\n\nThe RadioVIS Demo Application is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\nor FITNESS FOR A PARTICULAR PURPOSE.  See the Apache License, Version 2.0 for\nmore details.\n\nYour comments and suggestions are welcome. Please visit\n[our website](https://www.bbc.co.uk/rd/projects/radiovis) or send email to\nirfs@bbc.co.uk.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbbc%2Fradiovisdemo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbbc%2Fradiovisdemo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbbc%2Fradiovisdemo/lists"}