Home

Awesome

:tv: Watch and :radio: listen 🇵🇹 RTP Play without a :computer: browser

Coverage Status Known Vulnerabilities Docker Stars Docker Pulls

Watch 8 TV and listen 14 radio channels on any device that can play HTTP Live Streaming.

<p align="center"><img src="share/github/overview.gif" width="620"></p>

Features

How to use

Use it in your terminal

Using it in your terminal requires Docker installed in your system.

Run the Docker image in a container

Detach from the container and expose port 4543.

docker run -d -p "4543:3000" hfreire/watch-rtp-play
Play RTP1 with ffmpeg player
ffplay http://localhost:4543/playlist.m3u8?channel=rtp1
AirPlay RTP1 to Kodi

Use kodi.sh gist to stream RTP1 to a Kodi media player.

kodi.sh localhost:36667 http://localhost:4543/playlist.m3u8?channel=rtp1
Cast RTP1 to Chromecast

Use castnow to stream RTP1 to a Chromecast media player.

castnow http://192.168.0.1:4543/playlist.m3u8?channel=rtp1

Available REST API endpoints

Swagger documentation available at http://localhost:4543/docs.

Available usage environment variables

VariableDescriptionRequiredDefault value
PORTThe port to be used by the HTTP server.false3000
API_KEYSThe secret keys that should be used when securing endpoints.falseundefined
SO_TIMEOUTTCP socket connection timeout.false120000
BASE_PATHBase path to be prefixed to all available endpoint paths.false/
PING_PATHEndpoint path for pinging app.false/ping
HEALTHCHECK_PATHEndpoint for checking app health.false/healthcheck
LOG_LEVELThe log level verbosity.falseinfo
ENVIRONMENTThe environment the app is running on.falseundefined
ROLLBAR_API_KEYThe server API key used to talk with Rollbar.falseundefined

How to build

Clone the GitHub repo
git clone https://github.com/hfreire/watch-rtp-play.git
Change current directory
cd watch-rtp-play
Run the NPM script that will build the Docker image
npm run build

How to deploy

Deploy it from your terminal

Deploying it from your terminal requires terraform installed on your system and an antifragile infrastructure setup available in your AWS account.

Clone the GitHub repo
git clone https://github.com/hfreire/watch-rtp-play.git
Change current directory
cd watch-rtp-play
Run the NPM script that will deploy all functions
npm run deploy

Available deployment environment variables

VariableDescriptionRequiredDefault value
VERSIONThe version of the app.falselatest
ANTIFRAGILE_STATE_AWS_REGIONThe AWS region used for the antifragile state .falseundefined
ANTIFRAGILE_STATE_AWS_S3_BUCKETThe AWS S3 bucket used for the antifragile state.falseundefined
ANTIFRAGILE_STATE_AWS_DYNAMODB_TABLEThe AWS DynamoDB table used for the antifragile state.falseundefined
ANTIFRAGILE_INFRASTRUCTURE_DOMAIN_NAMEThe domain used for the antifragile infrastructure.trueundefined

How to contribute

You can contribute either with code (e.g., new features, bug fixes and documentation) or by donating 5 EUR. You can read the contributing guidelines for instructions on how to contribute with code.

All donation proceedings will go to the Sverige för UNHCR, a swedish partner of the UNHCR - The UN Refugee Agency, a global organisation dedicated to saving lives, protecting rights and building a better future for refugees, forcibly displaced communities and stateless people.

License

Read the license for permissions and limitations.