TVplayer: Porovnání verzí
(→Návrh) |
(→Spouštěč) |
||
(Není zobrazeno 6 mezilehlých verzí od stejného uživatele.) | |||
Řádka 14: | Řádka 14: | ||
* Přehrácač - služba bežící ve screne a zajištující přehrání požadovaneho programu | * 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 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č == | == 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:''' | '''Vstupní parametry:''' | ||
* URL z adresou API (http://127.0.0.1/api1) | * URL z adresou API (http://127.0.0.1/api1) | ||
Řádka 23: | Řádka 37: | ||
'''Při spuštění si načte přes API''' | '''Při spuštění si načte přes API''' | ||
* Parametry vystupu (nastaveni pro ffmpeg pro předávání streamu) | * 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 | * Parametry aktuálního streamu | ||
** Doba, jak dlouho se ma stream maximálně přehrávat | ** Doba, jak dlouho se ma stream maximálně přehrávat | ||
** Zdroj streamu (soubor, live, cizí odkaz, ...) | ** Zdroj streamu (soubor, live, cizí odkaz, ...) | ||
** Parametry pro předání | ** 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:
- 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í