Skip to content

Latest commit

 

History

History
117 lines (93 loc) · 5.59 KB

README.md

File metadata and controls

117 lines (93 loc) · 5.59 KB

📺 Watch and 📻 listen 🇵🇹 RTP Play without a 💻 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.

Features

  • 8 TV channels 📺
  • 14 radio channels 📻
  • Uses Request on Steroids to rate limit, retry and circuit break outgoing HTTP requests ✅
  • Launch 🚀 inside a Docker container 🐳 so you don't need to manage the dependencies 🙌 ✅
  • Deploy on AWS using an Antifragile Infrastructure that allows you to easily monitor activity and scale 📈 capacity ✅

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

Variable Description Required Default value
PORT The port to be used by the HTTP server. false 3000
API_KEYS The secret keys that should be used when securing endpoints. false undefined
SO_TIMEOUT TCP socket connection timeout. false 120000
BASE_PATH Base path to be prefixed to all available endpoint paths. false /
PING_PATH Endpoint path for pinging app. false /ping
HEALTHCHECK_PATH Endpoint for checking app health. false /healthcheck
LOG_LEVEL The log level verbosity. false info
ENVIRONMENT The environment the app is running on. false undefined
ROLLBAR_API_KEY The server API key used to talk with Rollbar. false undefined

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

Variable Description Required Default value
VERSION The version of the app. false latest
ANTIFRAGILE_STATE_AWS_REGION The AWS region used for the antifragile state . false undefined
ANTIFRAGILE_STATE_AWS_S3_BUCKET The AWS S3 bucket used for the antifragile state. false undefined
ANTIFRAGILE_STATE_AWS_DYNAMODB_TABLE The AWS DynamoDB table used for the antifragile state. false undefined
ANTIFRAGILE_INFRASTRUCTURE_DOMAIN_NAME The domain used for the antifragile infrastructure. true undefined

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.