GithubHelp home page GithubHelp logo

minarox / racecast Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 1.66 MB

Interface for displaying race car data.

Home Page: https://rallye.minarox.fr

JavaScript 1.39% TypeScript 5.79% Astro 92.83%
pwa vite astro highcharts livekit openlayers realtime

racecast's Introduction

RaceCast

Website version  Project license  Code size  Website status

Web interface for the RaceCast project to broadcast live data from a rally car.
rallye.minarox.fr »


Table of Contents

About

The RaceCast project is a set of hardware and software solutions enabling a multitude of useful data to be broadcast live to spectators following the race.
This repository contains the Web interface that receives and displays data transmitted from the car, such as the audio/video stream from the onboard camera, and telemetry and GPS data.

Build With

Getting Started

Prerequisites

  • NodeJS 20.x or higher
  • npm 7.x or higher

Installation

  1. Clone the project
  git clone https://github.com/Minarox/RaceCast
  cd RaceCast
  1. Install dependencies
  npm install
  1. Create .env file at the root of the project with these variables:
PUBLIC_LIVEKIT_WS_URL="wss://example.com"
LIVEKIT_KEY="key"
LIVEKIT_SECRET="secret"
LIVEKIT_ROOM="room"
  1. Start the server
  npm run dev

The development server should start on localhost:4321.

Deployment

The project is configured to be automatically deployed on Cloudflare Pages.
To compile the project locally, run the following command:

  npm run build

A new dist folder will appear containing the entire compiled website.

Author

@Minarox

racecast's People

Contributors

minarox avatar dependabot[bot] avatar

racecast's Issues

Intégrations Astro

Ajouter des fonctionnalités grâce aux intégrations disponibles pour Astro.

Front-End pour les utilisateurs

Créer un Front-End pour les utilisateurs lambda pour visualiser le flux audio / vidéo principal et la position GPS et vitesse de la voiture.

Gauge chart animation

The animation of the gauge chart sometimes stops and does not recover until the API stops sending data and tu current animation of the chart ends.

Expiration de la room

Supprimer totalement l'expiration de la room LiveKit.
→ Documentation

# Requête
[POST] https://live.minarox.fr/twirp/livekit.RoomService/CreateRoom

# En-tête
- Authorization: Bearer ...
- Content-Type: application/json

# Contenu (JSON)
{
    "name": "racecast",
    "empty_timeout": 999999999,
    "max_participants": 0,
    "metadata":  "{\"name\": \"Rallye du Pays Viganais 2024\", \"link\": \"https://www.rallyego.com/rallye-du-pays-viganais/\", \"stages\": [{ \"name\": \"ES 1\", \"time\": null }, { \"name\": \"ES 2\", \"time\": null }, { \"name\": \"ES 3\", \"time\": null }, { \"name\": \"ES 4\", \"time\": null }, { \"name\": \"ES 5\", \"time\": null }]}"
}

Fixes

  • Remove Emitter from viewer count
  • Fix statistics not register users

Reconnexion LiveKit

  • Améliorer le délai de reconnexion au salon LiveKit
  • Garder en mémoire le flux audio / vidéo pour ne pas le recréer à chaque déconnexion longue

Interface responsive

Rendre l'interface responsive sur de plus petits écrans.

  • Corriger le scroll quand on le commence depuis le graphique d'accélération

Connexion automatique

Connexion automatique au serveur LiveKit à l'ouverture de l'interface.

  • Supprimer le bouton sur le player
  • Icône de chargement en attendant la connexion
  • Message de statut au milieu du player si l'émetteur est déconnecté / n'émet rien
  • Bouton d'activation du son si la lecture automatique à échouée

Compteur utilisateurs

Ajouter un module indiquant le nombre de personne actuellement en train de visionner le direct.

WebRTC

Implement WebRTC communication and stream in the application with auto-reconnection.

Statistiques

Rajouter le module de récupération des statistiques d'utilisation du site.

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.