Code Monkey home page Code Monkey logo

watch-rtp-play's Introduction

πŸ“Ί 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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.