# rtv4d-dl: program za prenašanje videoposnetkov iz arhiva TV SLO
## legalne stvari
z uporabo programa se strinjate z naslednjimi stavki:
* avtorja ne boste tožili in se strinjate, da je program povsem legalen.
* 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.
- smete ga uporabljati samo za zasebno nekomercialno uporabo.
## funkcije
* prenašanje videoposnetkov iz arhiva kot odklenjene videodatoteke
* [**novo!**] z različico 0.0.1 tudi prenašanje avdioposnetkov!
## možnosti uporabe programa
* prenos oddaje: `rtv4d-dl oddaja <URL/ID oddaje> [izhodna datoteka]`
- primer: `rtv4d-dl oddaja 4d.rtvslo.si/arhiv/vreme/89614963`
- primer: `rtv4d-dl oddaja 89614963 89614963.mp4`
* prenos metapodatkov oddaje: `rtv4d-dl meta-oddaja <URL> [datoteka]`
- primer: `rtv4d-dl meta-oddaja 89614963 89614963.txt`
- 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`
# 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
# trenutna izdaja programa:
* program je bil nazadnje ročno testiran 13. decembra 2020 in takrat je DELOVAL.
* različica: 0.0.2
## dnevnik sprememb:
* 0.0.2 - 13. december 2020: sedaj pravilno naloži samo največjo kvaliteto, pred
tem se naloži naključna kvaliteta.
# o
* program je spisan 100% v C programskem jeziku
* ne potrebuje nobenih knjižnic, razen seveda `stdio.h` in `stdlib.h` (še)
* navodila za grajenje (samo pod *GNU Compiler Collection*):
- `make` (sledite navodilom)
* rtv4d-dl na *najpopularnejšem operacijskem sistemu za osebne računalnike*
**NE DELUJE**
- za uporabo na tem operacijskem sistemu lahko uporabite
[Cygwin](http://cygwin.com), vendar tega še nisem testiral. če komu uspe,
naj mi pošlje `Makefile`
## formatiranje kode
* K&R komentarji
* GNUC
* levi zaviti oklepaj na isti vrstici kot funkcija, desni na svoji vrstici
* vrstica max. 80 znakov, upoštevajoč, da tabulator šteje za dva
* presledek za imenom funkcije in argumenti, vendar le ob deklaraciji
* enojni presledki za spacing so lahko izpuščeni, da nista potrebni dve vrstici
* tabulator za indentacijo, tabulator naj je izrisan kot dva presledka
* IF z enim stavkom naj nima zavitih oklepajev, razen, če je to nujno (f f e e)
* preprocesorske funkcije naj delujejo kot en blok kode, pazi pri aritmetiki ()
# še za narediti
* dodati podporo za varno povezavo, sedaj gre vsa komunikacija z RTV4D kot HTTP.
- 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
## predvajanje v živo
* ker predvajanje v živo na RTVSLO trenutno potrebuje Javascript, bi bilo
uporabno narediti minimalističen HTTP/RTP strežnik, ki bi delal zahteve na RTV
in kot izhod uporabniku ponudil pretok.
* 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.