diff options
-rw-r--r-- | README.md | 35 | ||||
-rw-r--r-- | rtv4d-dl.c | 2 |
2 files changed, 34 insertions, 3 deletions
@@ -6,11 +6,15 @@ z uporabo programa se strinjate z naslednjimi stavki: * program uporabljate na lastno odgovornost. * če ni kje drugje avtor napisal drugače ali če to ni zakonsko drugače: - ne smete distribuirati programa in izdelovali kopij. + - razlog: da lahko RTV v teoriji zahteva izbris programa iz Interneta - smete ga uporabljati samo za zasebno nekomercialno uporabo. + - ne smete spreminjate izvorne kode + - razlog: da lahko RTV kadarkoli blokira program prek user-agent niza. ## funkcije * prenašanje videoposnetkov iz arhiva kot odklenjene videodatoteke -* [**novo!**] z različico 0.0.1 tudi prenašanje avdioposnetkov! +* z različico 0.0.1 tudi prenašanje avdioposnetkov! +* [**novo**]: z različico 0.0.3 tudi prenašanje televizijskih prenosov v živo ## možnosti uporabe programa * prenos oddaje: `rtv4d-dl oddaja <URL/ID oddaje> [izhodna datoteka]` @@ -21,15 +25,18 @@ z uporabo programa se strinjate z naslednjimi stavki: - opomba: nekateri metapodatki veljajo omejeno časa (video URL) * prenos sličice oddaje: `rtv4d-dl slicica-oddaja <URL> [datoteka]` - primer: `rtv4d-dl slicica-oddaja 89614963 89614963.jpg` +* prenos zadnjih dveh ur prenosa v živo: `rtv4d-dl zivo <prog.> [dolž.] [dato.]` + - primer: `rtv4d-dl zivo tv.slo1 9999999 tv.slo1.ts` (prenese vse) # dodatne informacije: * pisanje v STDOUT: kot pot datoteke napišite `/dev/stdout` * program se poveže na \*.rtvslo.si, spremenite izvorno kodo za drugo infrastrukturo +* **ž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.2 +* različica: 0.0.3 ## dnevnik sprememb: * 0.0.2 - 13. december 2020: sedaj pravilno naloži samo največjo kvaliteto, pred @@ -70,3 +77,27 @@ z uporabo programa se strinjate z naslednjimi stavki: * RTV za avdio/radio v živo že ponuja možnost poslušanja brez javascripta, imajo namreč icecast2 strežnik na [mp3.rtvslo.si](mp3.rtvslo.si), tako da tega po mojem ni potrebno izdelati še v rtv4d-dl. +* RTV4D arhiv ponuja samo videokvalitete do 720p (1280x720 pikslov). Pri + prenosu v živo pa je maksimalna velikost 1080p (1920x1080 pisklov). Če torej hočemo dobiti kvalitetno vsebino, jo moramo posneti preden gre v arhiv. + +### dodatno o prenosu v živo +* prenos v živo ima zblojene timestampe. vsaka TS datoteka je ali 4 sekunde ali + 5 sekund. sicer bi bilo vse v redu, če bi chunklist datoteka vsebovala več + kot dve uri posnetkov. Kljub temu, da streaming strežnik takoj ne zbriše + datotek in da imajo datoteke imena po vrsti, je nemogoče predvideti, katera + datoteka je potrebna ob določenem času. +* za avtomatsko pridobitev vseh videoprogramov, ki so na voljo kot prenosi v + živo, bi bilo potrebno narediti podporo za HTTPS. zato so na voljo samo + naslednji programi: `tv.slo1`, tv.slo2`, `tv.slo3`, `tv.kp1`, `tv.mb1`, + `tv.mmctv`. programe lahko dodajate samo s spremembo izvorne kode. +* argument dolžina je število sekund od trenutnega časa do največjega zamika. + nastavitev 4 bo torej prenesla najmanj zadnje štiri sekunde. Ker TS datoteke + nimajo enake dolžine, bo pač preneseno toliko podatkov, da bo shranjeno enako + ali več sekund, kot je bilo navedenih. Če je specificiranih več kot za dve + uri sekund, oziroma več, kolikor jih ima chunklist z dolžinami, bo program + predvidel, da je vsaka datoteka dolga štiri sekunde. Ko na CDN strežniku ni + toliko sekund, kot jih uporabnik želi, bo to napisano kot OPOZORILO, naložilo + pa se bo vse, kar je na voljo. Brez argumenta dolžine se torej naloži vse, kar + CDN strežnik trenutno ima, recimo 10 ur v najvišji resoluciji 1080p. + - za bolj natančno štetje dolžin, ko se chunklist tabela konča, bi bilo + potrebno najti ali narediti sistem za pridobivanje dolžin iz TS datotek. @@ -58,7 +58,7 @@ #define RTV_JWT_SIZEOF 43+1 #define RTV_PREDVAJALNIK_URL "http://4d.rtvslo.si/arhiv/v/%u" #define RTV_PREDVAJALNIK_URL_SIZEOF 32+1 + 12 -#define RTV_VER "0.0.2" +#define RTV_VER "0.0.3" struct meta_oddaja { size_t naslov_sizeof; |