summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--README.md14
-rwxr-xr-xrtv4d-dlbin52776 -> 67272 bytes
-rw-r--r--rtv4d-dl.c27
4 files changed, 38 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index 62d67b2..ad65753 100644
--- a/Makefile
+++ b/Makefile
@@ -11,7 +11,7 @@ prepare:
sudo apt install build-essential gcc
compile:
- gcc rtv4d-dl.c -o rtv4d-dl -Wall -lm -I.
+ gcc rtv4d-dl.c -g -o rtv4d-dl -Wall -lm -I.
install:
mkdir -p ~/.local/bin
diff --git a/README.md b/README.md
index 0260c12..10aac13 100644
--- a/README.md
+++ b/README.md
@@ -39,13 +39,15 @@ z uporabo programa se strinjate z naslednjimi stavki:
* **živo**: za možne programe in razlago dolžine glej *dodatno o prenosu v živo*
# trenutna izdaja programa:
-* program je bil nazadnje ročno testiran 13. decembra 2020 in takrat je DELOVAL.
-* različica: 0.0.3
+* program je bil nazadnje ročno testiran 30. decembra 2020 in takrat je DELOVAL.
+* različica: 0.0.4
## dnevnik sprememb:
* 0.0.2 - 13. december 2020: sedaj pravilno naloži samo največjo kvaliteto, pred
tem se naloži naključna kvaliteta.
* 0.0.3 - 24. december 2020: dodano prenašanje VTT podnapisov in prenosov v živo
+* 0.0.4 - 30. december 2020: dodani alternativni strežniki za prenos v živo iz
+ tujine
# o
* program je spisan 100% v C programskem jeziku
@@ -73,6 +75,8 @@ z uporabo programa se strinjate z naslednjimi stavki:
- nizka prioriteta, bolje obdržati formo *brez knjižnjic*
* narediti mehanizem za avtomatsko posodobitev binarne datoteke
- namesto HTTP se bo uporabljajo preprosto podpisovanje, BREZ KNJIŽNIC
+* ugotoviti mehanizem rotacije/ponovne uporabe identifikatorjev kosov v živo,
+ glej [dodatno o prenosu v živo](#dodatno_o_prenosu_v_živo).
## predvajanje v živo
* ker predvajanje v živo na RTVSLO trenutno potrebuje Javascript, bi bilo
@@ -107,3 +111,9 @@ z uporabo programa se strinjate z naslednjimi stavki:
playlist.m3u8 datoteke in branje po kosih.
* če program ni bil prekinjen, bo po končanem prenosu v stdout napisal
metapodatke pretoka v živo.
+* **težava:** vsake toliko časa bo strežnik številko kosa rotiral nazaj. to
+ prepreči snemanje neskončno v prihodnost in program bo ostal v krogu.
+* za omogočanje snemanja iz tujine se gostiteljska imena pretočnih strežnikov
+ zamenjajo s slovenskimi. če slovenski strežniki niso več aktualni, program
+ ne bo delal. v tem primeru me kontaktirajte in med prevajanjem (angl.
+ *compilation*) nastavite zastavico RTV_NASTAVITEV_BREZ_LOKACIJSKIH_SPREMEMB.
diff --git a/rtv4d-dl b/rtv4d-dl
index 0c62ff1..e9b581a 100755
--- a/rtv4d-dl
+++ b/rtv4d-dl
Binary files differ
diff --git a/rtv4d-dl.c b/rtv4d-dl.c
index 6da6a61..1094ea5 100644
--- a/rtv4d-dl.c
+++ b/rtv4d-dl.c
@@ -65,7 +65,7 @@
#define RTV_JWT_SIZEOF 43+1
#define RTV_PREDVAJALNIK_URL "http://4d." RTV_SLD "/arhiv/v/%u"
#define RTV_PREDVAJALNIK_URL_SIZEOF (32+1 + 12)
-#define RTV_VER "0.0.3"
+#define RTV_VER "0.0.4"
#define RTV_ZIVO_PROGRAM_SIZEOF 12
#define RTV_API_ZIVO_URL \
"http://api." RTV_SLD "/ava/getLiveStream/tv.%." \
@@ -122,6 +122,16 @@
#define RTV_FREE(param) do { free(param); param = NULL; } while (0)
#define RTV_HTTP_SUCCESS(koda) ((koda / 100) == 2) /* če je koda 2xx */
#define RTV_ZIVO_P_DOLZINA 10
+#define RTV_INT_V_SLO(niz) /* niz naj bo http url */ \
+ if (strstr(niz, "-int.")) { \
+ strcpy(strstr(niz, "-int."), "-slo."); /* nastavimo povezavo kot medna. */ \
+ niz[8]--; /* pri medn. je štev. ponav. za 1 večja */ \
+ RTV_NAPISI(OPOZORILO, "izven Slovenije prenašate vsebino RTVSLO. Če ne " \
+ "plačujete RTV prispevka, ali če za to niste pooblaščeni, KRŠITE " \
+ "AVTORSKE PRAVICE in STE V PREKRŠKU - v tem primeru nemudoma" \
+ "prenehajte uporabljati program s Ctrl-C! naslovi so bili spremenjeni, " \
+ "tako da bo prenos še vedno deloval, če pa ne, pa poglejte navodila."); \
+ }
struct meta_oddaja {
size_t naslov_sizeof;
char * naslov; /* Vreme ob 22h */
@@ -574,6 +584,11 @@ int rtv_zivo_izpolni(struct rtv_zivo_meta * m) {
} else {
RTV_NAPISI(HROSC, "sedanjost je %u", m->sedanjost);
}
+#ifndef RTV_NASTAVITEV_BREZ_LOKACIJSKIH_SPREMEMB
+ RTV_INT_V_SLO(m->seznam_predvajanja_url);
+ RTV_INT_V_SLO(m->kazalo_url);
+ RTV_INT_V_SLO(m->kos_format);
+#endif
rtv_zivo_izpolni_returncleanly:
RTV_FREE(temp);
fclose(odgstream);
@@ -585,7 +600,7 @@ int rtv_zivo_izpolni(struct rtv_zivo_meta * m) {
int main (int argc, char ** argv) {
if (argc < 1+1) {
- fprintf(stderr, "preberi README.md pred uporabo programa, saj vsebuje"
+ fprintf(stderr, "preberi README.md pred uporabo programa, saj vsebuje "
"navodila in ostalo.\n");
return 1;
}
@@ -854,6 +869,14 @@ int main (int argc, char ** argv) {
fclose(fd);
returnstatus = 0;
}
+ fprintf(stdout, "program: %s\nsedanjost: %u\nprvi: %u\ndolzina: %u\n"
+ "diskrepanca: %u\nprenesenih_kosov_preteklost: %u\n"
+ "prenesenih_kosov_prihodnost: %u\npreteklost: %u\nprihodnost: %u\n"
+ "seznam_predvajanja_url: %s\nkazalo_url: %s\nkos_format: %s\n"
+ "api_url: %s\n", z->program, z->sedanjost, z->prvi, z->dolzina,
+ z->diskrepanca, z->prenesenih_kosov_preteklost,
+ z->prenesenih_kosov_prihodnost, z->preteklost, z->prihodnost,
+ z->seznam_predvajanja_url, z->kazalo_url, z->kos_format, z->api_url);
fclose(fd2);
break;
default: