TVplayer: Porovnání verzí

Z Poznámkový blok
Přejít na: navigace, hledání
(Založena nová stránka s textem „Jde o jednoduchý SW zejména určený pro malé obce které chtějí pro občany zajistit distribuci televizního vysílání z obce. == Návrh == Požado…“)
 
(Spouštěč)
 
(Není zobrazeno 7 mezilehlých verzí od stejného uživatele.)
Řádka 1: Řádka 1:
 
Jde o jednoduchý SW zejména určený pro malé obce které chtějí pro občany zajistit distribuci televizního vysílání z obce.
 
Jde o jednoduchý SW zejména určený pro malé obce které chtějí pro občany zajistit distribuci televizního vysílání z obce.
 
== Návrh ==
 
== Návrh ==
Požadované komponenty:
+
'''Požadované komponenty:'''
 
* Web server (Apache, nginx, ..)
 
* Web server (Apache, nginx, ..)
 
* Databaze (MariaDB)
 
* Databaze (MariaDB)
Řádka 9: Řádka 9:
 
* ....
 
* ....
  
Vlastní řešení se bude skládat z několika samostatných částí - SW:
+
'''Vlastní řešení se bude skládat z několika samostatných částí - SW:'''
 
* Web rozhraní pro administrativu a správu
 
* Web rozhraní pro administrativu a správu
 +
* API rozhraní pro vázané komponenty (služby)
 +
* Přehrácač - služba bežící ve screne a zajištující přehrání požadovaneho programu
 +
* Spouštěč - služba systemd zajištující spustění jednotlivých přehravačů ve srene
 +
 +
== Spouštěč ==
 +
Služba, servisd (asi bash) zajištující spoštění jednotlivých kanálů. Ty načte přes API a pod názvem ID kanálu je ve screeně spustí. Také ověřuje (v cca 1 minuta) zda nepřibyl nový kanál,
 +
případně některý není ukončen. Pokud budu umět předat parametr @idkanalu (v rámci systemd), tak by případně restartoval/ukončil/spustil jen tento konrétní kanál nezávisle na API.
 +
 +
'''Vstupní parametry:'''
 +
* file (/etc/default/tvplayer) z parametry:
 +
** URL adresa API serveru (http://127.0.0.1/api1)
 +
** KEY pro autentizaci (zatim neaplikovano)
 +
 +
'''API dotaz'''
 +
* channels - seznam kanálů, které se mají spustit (yml, json)
 +
 +
== Přehravač ==
 +
Program (asi bash) který zajistí spuštění ffmpegu z potřebnými parametry. Nastaví ochranu, jak dlouho se má konkretní program přehrávat. Po skončení aktuálně hraného programu se zeptá přes API, co dál přehrávat. Pokud nedostane odpově, pustí založní stream, viz pocatecni nastaveni přes API při spusštění.
 +
 +
'''Vstupní parametry:'''
 +
* URL z adresou API (http://127.0.0.1/api1)
 +
* ID názvu TV kanálu
 +
* Key pro oveření přístupu (zatim nepouzito)
 +
 +
'''Při spuštění si načte přes API'''
 +
* Parametry vystupu (nastaveni pro ffmpeg pro předávání streamu)
 +
* Parametry pro záložní stream (pokud nebude odpověd na další program)
 +
* Parametry aktuálního streamu
 +
** Doba, jak dlouho se ma stream maximálně přehrávat
 +
** Zdroj streamu (soubor, live, cizí odkaz, ...)
 +
** Parametry pro předání

Aktuální verze z 14. 5. 2023, 17:39

Jde o jednoduchý SW zejména určený pro malé obce které chtějí pro občany zajistit distribuci televizního vysílání z obce.

Návrh

Požadované komponenty:

  • Web server (Apache, nginx, ..)
  • Databaze (MariaDB)
  • FTP/SCP server
  • FFmpeg
  • Bash
  • ....

Vlastní řešení se bude skládat z několika samostatných částí - SW:

  • Web rozhraní pro administrativu a správu
  • API rozhraní pro vázané komponenty (služby)
  • Přehrácač - služba bežící ve screne a zajištující přehrání požadovaneho programu
  • Spouštěč - služba systemd zajištující spustění jednotlivých přehravačů ve srene

Spouštěč

Služba, servisd (asi bash) zajištující spoštění jednotlivých kanálů. Ty načte přes API a pod názvem ID kanálu je ve screeně spustí. Také ověřuje (v cca 1 minuta) zda nepřibyl nový kanál, případně některý není ukončen. Pokud budu umět předat parametr @idkanalu (v rámci systemd), tak by případně restartoval/ukončil/spustil jen tento konrétní kanál nezávisle na API.

Vstupní parametry:

  • file (/etc/default/tvplayer) z parametry:

API dotaz

  • channels - seznam kanálů, které se mají spustit (yml, json)

Přehravač

Program (asi bash) který zajistí spuštění ffmpegu z potřebnými parametry. Nastaví ochranu, jak dlouho se má konkretní program přehrávat. Po skončení aktuálně hraného programu se zeptá přes API, co dál přehrávat. Pokud nedostane odpově, pustí založní stream, viz pocatecni nastaveni přes API při spusštění.

Vstupní parametry:

  • URL z adresou API (http://127.0.0.1/api1)
  • ID názvu TV kanálu
  • Key pro oveření přístupu (zatim nepouzito)

Při spuštění si načte přes API

  • Parametry vystupu (nastaveni pro ffmpeg pro předávání streamu)
  • Parametry pro záložní stream (pokud nebude odpověd na další program)
  • Parametry aktuálního streamu
    • Doba, jak dlouho se ma stream maximálně přehrávat
    • Zdroj streamu (soubor, live, cizí odkaz, ...)
    • Parametry pro předání