Apuohjelma videoiden lataamiseen Yle Areenasta
Copyright (C) 2010-2021 Antti Ajanki, antti.ajanki@iki.fi
Ohjelmistolisenssi: GPLv3
Kotisivu: https://aajanki.github.io/yle-dl/
Lähdekoodi: https://github.com/aajanki/yle-dl

yle-dl on apuohjelma tiedostojen lataamiseen Yle Areenasta
(https://areena.yle.fi), Elävästä arkistosta
(http://yle.fi/aihe/elava-arkisto) ja Ylen uutissivustolta
(http://yle.fi/uutiset/).

Asennusohjeet
-------------

Alla on yleiset asennusohjeet. Yksityiskohtaisemmat asennusohjeet
Debianille, Ubuntulle, Mac OS X:lle, Windowsille ja Androidille
löytyvät tiedostosta OS-install-instructions.md.

### 1. Asenna riippuvuudet:

* Python 3.6+
* pip
* ffmpeg (tekstitys toimii vain ffmpegin versiolla 4.1 tai sitä uudemmilla)
* setuptools (jos asennat lähdekoodeista)

Joidenkin harvojen ohjelmien lataamiseen tarvitaan lisäksi:

* wget

### 2. Asenna yle-dl

Asenna seuraavaksi yle-dl joko asentamalla esikäännetty paketti (ei
vaadi lähdekoodien lataamista):

pip3 install --user --upgrade yle-dl

tai lataamalla lähdekoodit ja ajamalla seuraava komento
lähdekoodihakemistossa:

python3 setup.py install --user

### 3. Lisää tarvittaessa hakemisto hakupolulle

Jos komentotulkki valittaa, ettei se löydä yle-dl:ää yrittäessäsi suorittaa ohjelmaa, lisää asennushakemisto hakupolulle näille komennoilla:
```
# Lisää polun komentotulkkin tämänhetkiseen sessioon
export PATH=$PATH:$HOME/.local/bin

# Tekee muutoksesta pysyvän. Tämä vaatii muokkaamista, jos käytät
# jotain muuta komentotulkkia kuin bash.
echo export PATH=$PATH:\$HOME/.local/bin >> ~/.bashrc
```


Käyttö
------

yle-dl [valitsimet] URL

tai

yle-dl [valitsimet] -i tiedosto


Korvaa URL webbi-osoitteella, missä ladatavaa ohjelmaa voisi katsoa
nettiselaimen kautta. URL voi olla joko Yle Areenan tai Elävän
arkiston osoite.

Valitsimet:

-o filename     Tallenna striimi nimettyyn tiedostoon
-i filename     Lue käsiteltävät URLit tiedostosta, yksi URL per rivi
--latestepisode Lataa viimeisimmän jakson sivulta
--showurl       Tulostaa videon URL, ei lataa tiedostoa
--showtitle     Tulostaa ohjelman nimen, ei lataa tiedostoa
--showmetadata  Tulostaa metatietoja ohjelmasta. Katso docs/metadata.md
--vfat          Tuota Windows-yhteensopivia tiedoston nimiä
--sublang lan   Jätä tekstitykset lataamatta, jos lang on "none"
--resolution r  Rajoita ladattavan striimin pystyresoluutiota
--maxbitrate br Rajoita ladattavan striimin bittinopeutta (kB/s)
--postprocess c Suorita ohjelma c onnistuneen latauksen jälkeen.
                Ohjelmalle c annetaan parametriksi ladatun videotiedoston nimi
                ja mahdollisten tekstitystiedostojen nimet.
--proxy uri     Käytä HTTP(S)-proxyä. Esimerkki: --proxy localhost:8118
--destdir dir   Aseta hakemisto mihin tiedostot tallennetaan
--pipe          Ohjaa striimi stdout:iin, esim. "yle-dl --pipe URL | vlc -"
-V, --verbose   Tulosta enemmän tietoja latauksen etenemisestä

Luettelon mahdollisista valitsimista (englanniksi) näkee
komentamalla

yle-dl --help

Lataaminen SOCKS5-proxyn kautta on mahdollista käyttämällä
tsocks-ohjelmaa.


Suorien TV-lähetysten tallentaminen
-----------------------------------

yle-dl https://areena.yle.fi/tv/suorat/yle-tv1

yle-dl https://areena.yle.fi/tv/suorat/yle-tv2

yle-dl https://areena.yle.fi/tv/suorat/yle-teema-fem


Tallenna tunti (eli 3600 sekuntia) sitten TV1:llä näytettyä lähetystä:

yle-dl --startposition -3600 https://areena.yle.fi/tv/suorat/yle-tv1


libav:n käyttö ffmpegin sijaan
------------------------------

yle-dl --ffmpeg avconv --ffprobe avprobe ...


Asetustiedosto
--------------

Kahdella viivalla (--) alkavien valitsimien arvot voi asettaa myös
asetustiedostossa. Asetukset luetaan tiedostosta ~/.yledl.conf tai
tiedostosta, jonka nimi annetaan --config-valitsimella. Lähdekoodien
mukana tulee esimerkkitiedosto yledl.conf.sample.

Asetustiedoston syntaksi: avain=arvo, avain=true.
Komentorivivalitsimet ohittavat asetustiedostossa annetut arvot, jos
sama valitsin on määritelty kummallakin tavalla.


Valmiit asennuspaketit
----------------------

Katso lista saatavilla olevista asennuspaketeista osoitteesta
https://aajanki.github.io/yle-dl/#packages


Integraatiotestien ajaminen
---------------------------

pytest-3

Jotkin testit onnistuvat vain suomalaisesta IP-osoitteesta, koska osa
Areenan videoista on saatavilla vain Suomessa. Oletuksena tällaiset
testit jätetään suorittamatta. Ajaaksesi myös nämä testit käytä
"--geoblocked"-vipua:

pytest-3 --geoblocked


Esimerkkejä
-----------

* Areenan ohjelman lataaminen automaattisesti nimettävään tiedostoon:

  yle-dl https://areena.yle.fi/1-1544491

* Elävän arkiston ohjelman kaikkien jaksojen lataaminen:

  yle-dl http://yle.fi/aihe/artikkeli/2010/10/28/studio-julmahuvi-roudasta-rospuuttoon

* Ohjelman lataaminen tiedostoon uutiset.mkv:

  yle-dl https://areena.yle.fi/1-1544491 -o uutiset.mkv

* Lataa uusimmat uutiset

  yle-dl --latestepisode https://areena.yle.fi/?q=uutiset

* Toistaminen suoraan videotoistimessa:

  yle-dl --pipe https://areena.yle.fi/1-2409251 | mpv --cache=1000 --slang=fi -

* Ladatun tiedoston jatkokäsitteleminen skriptillä (katso esimerkki
  scripts/muxmp4-tiedostossa):

  yle-dl --postprocess scripts/muxmp4 https://areena.yle.fi/1-1864726
