Muokataan sivua Yle-dl

Siirry navigaatioon Siirry hakuun
Varoitus: Et ole kirjautunut sisään. IP-osoitteesi näkyy julkisesti kaikille, jos muokkaat. Jos kirjaudut sisään tai luot tunnuksen, muokkauksesi yhdistetään käyttäjänimeesi ja saat paremman käyttökokemuksen.

Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.

Nykyinen versio Oma tekstisi
Rivi 1: Rivi 1:
{{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}}
{{ Ohjelma | nimi=RTMPDump-YLE | kuva= | kuvateksti= | lisenssi=[[GPL]]v.2 | käyttöliittymä=teksti | kotisivu=[http://users.tkk.fi/~aajanki/rtmpdump-yle/index.html]}}
{{ Ohjelma  
[[Kuva:Yle-dl.png|right|200px|thumb|RTMPDump-YLE käytössä.]]
| nimi           = yle-dl
| kuva           =  
| kuvateksti     =  
| lisenssi       = [[GPLv3]]
| käyttöliittymä = teksti
| kotisivu       = [https://aajanki.github.io/yle-dl/ aajanki.github.io/yle-dl]
| lähdekoodi    = [https://github.com/aajanki/yle-dl github.com/aajanki/yle-dl]
}}
[[Kuva:Yle-dl.png|right|200px|thumb|yle-dl käytössä.]]
[[Kuva:Rtmpdump-yle.png|right|200px|thumb|Ohjetekstiä.]]
[[Kuva:Rtmpdump-yle.png|right|200px|thumb|Ohjetekstiä.]]
'''yle-dl''' on [[komentorivi]]ohjelma video- ja äänitiedostojen lataamiseen [[Yle Areena ja Elävä arkisto|Yle Areenasta ja Elävästä arkistosta]]. TV- ja radio-ohjelmien lisäksi yle-dl voi ladata [https://areena.yle.fi/audio/kanavat Areenan nettiradioita] ja [https://areena.yle.fi/tv/suorat suoria lähetyksiä]. Se toimii Linuxilla, Windowsilla ja macOS:lle.


Ylen ohjelmien lataaminen on sallittua vain yksityiseen käyttöön.
RTMPDump-YLE eli yle-dl on [[komentorivi]]ohjelma video- ja äänitiedostojen lataamiseen [[YLE Areena ja Elävä arkisto|YLE Areenasta]] kovalevylle. TV- ja radio-ohjelmien lisäksi ohjelmalla voi ladata Areenan nettiradioita sekä suoria lähetyksiä.  


==Asennus lähdekoodeista==
RTMPDump-YLE perustuu Andrej Stepanchukin RTMPDump-ohjelmaan, joka puolestaan perustuu Team Boxeen RTMPDumper-ohjelmakoodeihin. JSON-viestien jäsentämiseen käytetään json-c-[[kirjasto]]a.


===Riippuvuudet===
YLEn ohjelmien lataaminen on sallittua vain omaan käyttöön.


* Python 3.6+
==Asennus lähdekoodeista==
* pip
Ohjelman [[lähdekoodi]]paketin voi ladata sen [http://users.tkk.fi/~aajanki/rtmpdump-yle/index.html kotisivuilta]. Ladattu lähdekoodi täytyy tämän jälkeen [[kääntäminen|kääntää]]. Kääntämistä varten tarvitaan [[OpenSSL]]:n kehitystiedostot, jotka yleensä löytyvät [[paketinhallintajärjestelmä|paketinhallinnasta]] nimellä <tt>openssl-devel</tt> tai <tt>libssl-dev</tt> sekä libxml2:n kehitystiedostot, jotka yleensä löytyvät nimellä <tt>libxml2-devel</tt> tai <tt>libxml2-dev</tt>.
* ffmpeg (tekstitys toimii vain ffmpegin versiolla 4.1 tai sitä uudemmilla)
* setuptools (jos asennat lähdekoodeista)
 
Joidenkin harvojen ohjelmien lataamiseen tarvitaan lisäksi:
 
* wget
 
===Asennus sekä päivitys===
Ohjelman voi asentaa myös ''[[pip]]''in avulla. Se löytyy myös [[AUR]]:sta Ja [[Ubuntu]]sta.
 
Vaaditut kirjastot ja ohjelmat:
python (3.6 tai uudempi), python-pip, ffmpeg
 
{{oikeudet}}
# pip3 install --user --upgrade yle-dl
 
====Asennus lähdekoodeista====
Ohjelman [[lähdekoodi]]paketin voi ladata sen [https://aajanki.github.io/yle-dl/ kotisivuilta]. Ladattu lähdekoodi täytyy tämän jälkeen [[kääntäminen|kääntää]].  
 
Debianissa ja Ubuntussa käännöstyökalut ja tarvittavat kirjastot löytyvät paketeista <tt>build-essential</tt>, <tt>libssl-dev</tt>, <tt>libjson0-dev</tt> ja <tt>python-dev</tt>.


Ensin puretaan paketti komennolla
Ensin puretaan paketti komennolla
  [[tar]] xf ''paketinnimi''
  [[tar]] xf ''paketinnimi''
Tämän jälkeen siirrytään paketista purettuun hakemistoon komennon [[cd]] avulla ja annetaan komennot make joka kääntää ohjelman ja make install asentaa ohjelman.
Tämän jälkeen siirrytään paketista purettuun hakemistoon komennon [[cd]] avulla ja annetaan komennot
 
./configure
[[make]]
  [[sudo]] make install
  [[sudo]] make install


Asennus Debian unstable (toukokuu 2016) ja Ubuntu 16.04
Jos <tt>make</tt>-komento antaa virheilmoituksen <tt>"/bin/sh: g++: not found"</tt> (tai vastaavan) puuttuu järjestelmästä kääntämiseen tarvittavia työkaluja. Esimerkiksi Ubuntussa työkalujen asentaminen onnistuu [[ohjelmien asentaminen|asentamalla]] paketti <tt>build-essential</tt>, muissa jakeluissa esimerkiksi <tt>gcc</tt>. Lisätietoja löytyy artikkelista [[Kääntäminen]].


  sudo apt-get install rtmpdump python python-crypto php-cli php-curl php-mcrypt php-xml php-bcmath
  Mikäli viimeinen komento tuottaa virheilmoituksen ([[sudo]]n käyttöön ei ole oikeuksia), voi sen yrittää antaa muodossa
sudo phpenmod mcrypt
 
sudo make install
 
Asennus Debian 8 ja Ubuntu 15.10 ja niitä vanhemmissa versioissa.
 
sudo apt-get install rtmpdump python python-crypto php5-cli php5-curl php5-mcrypt
sudo php5enmod mcrypt
 
sudo make install
 
Mikäli viimeinen komento tuottaa virheilmoituksen ([[sudo]]n käyttöön ei ole oikeuksia), voi sen yrittää antaa muodossa
  [[su]] -c "make install"
  [[su]] -c "make install"
Jos <tt>make</tt>-komento antaa virheilmoituksen <tt>"/bin/sh: g++: not found"</tt> (tai vastaavan) puuttuu järjestelmästä kääntämiseen tarvittavia työkaluja. Yleensä ne saa asennettua asentamalla [[ohjelmien asentaminen|asentamalla]] (ainakin) paketit <tt>[[make]]</tt> ja <tt>[[gcc|gcc-c++]]</tt> (tai jos sitä ei löydy, niin paketin <tt>g++</tt> tai <tt>gcc</tt>). [[Debian]]-pohjaisissa jakeluissa (mm. [[Ubuntu]]) niiden asennus onnistuu myös asentamalla paketti <tt>build-essential</tt>. Lisätietoja löytyy artikkelista [[Kääntäminen]].
Asennuksen voi tehdä myös käyttäen [[Checkinstall]]-ohjelmaa, joka on tarkoitettu helpottamaan suoraan lähdekoodista asennettujen ohjelmapakettien poistamista sekä estämään paketinhallintajärjestelmän sotkeutuminen asennettaessa ohjelmia sen ulkopuolelta.
make
checkinstall


==Käyttö==
==Käyttö==
yle-dl on apuskripti, joka hakee videon tiedot Ylen sivuilta ja huolehtii rtmpdump-ylen käynnistämisestä oikeilla parametreilla. Ohjelman käyttö onnistuu seuraavan tyyppisellä komennolla:
Ohjelman käyttö onnistuu seuraavan tyyppisellä komennolla:
  yle-dl yle_video_sivun_osoite [rtmpdump-valitsimet]
  yle-dl yle_video_sivun_osoite [rtmpdump-valitsimet]


Esimerkiksi:
Esimerkiksi:
  yle-dl https://areena.yle.fi/1-444655
  yle-dl http://areena.yle.fi/video/261405


[[Valitsin]] <tt>-o</tt> määrittelee kohdetiedoston nimen.
[[Valitsin]] <tt>-o</tt> määrittelee kohdetiedoston nimen.
  yle-dl https://areena.yle.fi/1-444655 -o /polku/hakemistoon/video.mkv
  yle-dl http://areena.yle.fi/video/261405 -o /polku/hakemistoon/video.mp4
 
Videon voi putkittaa suoraan [[mpv]]n seuraavasti:
yle-dl https://areena.yle.fi/1-444655 -o - | mpv -


Muita valitsimia:
Muita valitsimia:
<pre>
*'''--resume''' - jatkaa aikaisemmin keskeytynyttä latausta
optional arguments:
*'''-o''' - kohdetiedosto
  -h, --help            näyttää tämän pikaohjeen
*'''--help''' - pikaohje
  -V, --verbose, --debug
                        Näyttää laajennetun virheenjäljityksen
  -c FILENAME, --config FILENAME
                        asetustiedoston polku
Input and output:
  url                  Areenan, Elävän Arkiston tai Yle uutissivuston osoite
  -i FILENAME          Lukee URLit nimetystä tiedostosta, yksi URL per rivi
  -o FILENAME          Tallentaa suoratoiston nimettyyn tiedostoon
  --output-template TEMPLATE
                        Malline tiedoston nimen luomiselle kun ei käytetä -o-kytkintä. Malline tukee seuraavia korvikkeita:
                        ${title} korvataan jakson nimellä, ${series} sarjan nimellä, ${episode} on kauden numero ja
                        jaksonumero "S02E12", ${timestamp} on suoratoiston julkaisuaika "2018-12-01T18:30", ${date} on suoratoiston
                        julkaisu päivämäärä "2018-12-01", $$ on pakomerkki se korvataan kirjaimellisesti "$". Kaikki muu näkyy
                        kuten ovat.
  --pipe                Putkittaa suoratoiston stdout esimerkiksi mediatoistimelle. Esim. "yle-dl --pipe URL | vlc -"
  --destdir DIR        Tallentaa tiedostot DIR-sijaintiin
  --showurl            Tulostaa URL, muttei lataa
  --showtitle          Tulostaa suoratoiston otsikon, muttei lataa
  --showepisodepage    Tulostaa verkkosivun jokaiselle jaksolle
  --showmetadata        Tulostaa metatiedot saatavissa olevista suoratoistoista
  --vfat                Tekee Windows-yhteensopivat tiedostonimet
  --resume              Jatkaa aikaisemmin keskeytynyttä latausta
  --ratelimit BR        Enimmäiskaistan käyttö, kokonaisluku kt/s
  --proxy URI          HTTP(S)-välityspalvelin jota käytetään. Esimerkiksi: --proxy localhost:8118
  --postprocess CMD    Suorittaa komennon CMD onnistuneen latauksen jälkeen. CMD is called with two arguments: video, subtitle
 
Stream type and quality:
  --audiolang LANG      Valitse suoratoiston äänen kieli, "fin" tai "swe"
  --sublang LANG        Lataa tekstitykset, jos LANG on "all" (oletus) tai ei lataa tekstityksiä LANG ollessa "none".
  --hardsubs            Polttaa tekstitykset kuvaan jos mahdollista
  --latestepisode      Lataa sarjan viimeisimmän jakson
  --maxbitrate RATE    Enimmäisbittivirta suoratoiston lataamiseen, kokonaisluku kt/s tai "best" tai "worst".
  --resolution RES      Enimmäispystyresoluutio pikseleissä, oletus: korkein mahdollinen resoluutio
  --duration S          Tallentaa ainostaan ensimmäiset S sekunnit suoratoistosta
  --preferformat F      Haluttu videoformaatti: mkv (oletus) tai mp4. Käytössä vain kun ladataan ffmpeg:llä
 
Downloader backends:
  --backend BE          Lataajia, joita yritetään kunnes yksi niistä onnistuu (pilkulla eroteltu lista). Mahdollisia arvoja: "wget",
                        "ffmpeg", "adobehdsphp" = AdobeHDS.php, "youtubedl" = youtube-dl, "rtmpdump"
  --rtmpdump PATH      Asettaa polun rtmpdump binääriin
  --ffmpeg PATH        Asettaa polun ffmpeg binääriin
  --ffprobe PATH        Asettaa polun ffprobe binääriin
  --adobehds CMD        Asettaa komennon AdobeHDS.php suorittamiseen
  --wget PATH          Asettaa polun wget binääriin
</pre>
 
== Tiedostomuotojen muunnokset ==
 
Oletuksena yle-dl pyrkii tallentamaan MKV-säiliömuodossa. (.mkv-pääte). MKV:n sisällä on kuitenkin H.264-videoraita ja AAC-ääniraita, joita useimmat soittimet osaavat purkaa. Pelkkää ääntä sisältävissä radiotallenteissa (.mp3-pääte) on MP3-ääniraita.
 
Jos jostain syystä tarve tulee muuntaa MKV vaikkapa MP4-muotoon, alla on ohjeet. Tässä kuvatut muunnokset ovat häviöttömiä, eli niillä ei ole mitään vaikutusta videon ja äänen laatuun.
 
=== Videotallenteet MP4-muotoon ===


[[ffmpeg]] on kätevä komentorivityökalu, joka osaa mm. lukea MKV-säiliön sisällön ja siirtää sen sellaisenaan MP4-säiliöön:
== Radio-ohjelmat mp3-muodossa ==
Pelkkää ääntä sisältävät ohjelmat (eli radio-ohjelmat) lähetetään mp3-formaatissa, mutta ne on "kääritty Flashiin", eikä ladattuja tiedostoja siksi voi soittaa kaikilla mp3-soittimilla. Flash-kerroksen saa kuorittua pois (ilman mitään vaikutusta äänenlaatuun) ffmpeg-nimisellä ohjelmalla, käyttäen seuraavaa komentoa:
ffmpeg -i tiedosto.fla -acodec copy tiedosto.mp3


[[ffmpeg]] -i tiedosto.mkv -vcodec copy -acodec copy tiedosto.mp4
Korvaa "tiedosto.fla" yle-dl:n tallentaman tiedoston nimellä, ja "tiedosto.mp3" haluamallasi mp3-tiedoston nimellä.
 
Korvaa <tt>tiedosto.mkv</tt> yle-dl:n tallentaman tiedoston nimellä ja <tt>tiedosto.mp4</tt> haluamallasi mp4-tiedoston nimellä. Voit käyttää myös tiedoston koko polkua: <tt>/polku/hakemistoon/tiedosto.mkv</tt>
 
=== Äänitallenteet MP3-muotoon ===
 
Vaikka MKV-tiedostoissa ääniraita on yleensä AAC-koodattu, MP3-ääniraidan voi kopioida ulos säiliöstä [[ffmpeg]]illä:
 
[[ffmpeg]] -i tiedosto.mkv -vn -c:a libmp3lame tiedosto.mp3
 
=== Tiedoston sisällön tutkiminen ===
 
Jos et ole varma mediatiedoston säiliömuodosta ja sen sisältämien video- ja ääniraitojen formaateista, voit tutkia tiedostoa [[ffmpeg]]illä:
 
[[ffmpeg]] -i tiedosto.mkv
 
Se kertoo Areenasta ladatusta videosta seuraavaa:
 
Input #0, <b>matroska</b>,<b>webm</b>, from 'Uusi Päivä: Rahan puutteessa on moni köyhtynyt: S2011E143-2019-02-15T00:01.mkv':
  Metadata:
    ENCODER        : Lavf58.20.100
  Duration: 00:27:47.18, start: 0.000000, bitrate: 4036 kb/s
    Stream #0:0: Video: <b>h264</b> (High), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 1k tbn, 50 tbc (default)
    Metadata:
      VARIANT_BITRATE : 4243601
      DURATION        : 00:27:47.181000000
    Stream #0:1: Audio: <b>aac</b> (LC), 44100 Hz, stereo, fltp (default)
    Metadata:
      VARIANT_BITRATE : 4243601
      DURATION        : 00:27:47.161000000
    Stream #0:2(fi): Subtitle: webvtt (default)
    Metadata:
      VARIANT_BITRATE : 4243601
      COMMENT        : ohjelmatekstitys
      DURATION        : 00:27:37.920000000
At least one output file must be specified
 
==Jakelukohtainen asennus==
 
===Arch Linux sekä siihen pohjautuvat===
 
[[AUR]] löytyy kolme vaihtoehtoa, joista pelkkä yle-dl on paras vaihtoehto.
yay -S {{AUR|yle-dl}}
 
===Fedora, RHEL, CentOS===
 
yle-dl on saatavilla [[RPM Fusion]]ista [[Fedora]]lle ja [[Red Hat Enterprise Linux]]ille ja sen kanssa yhteensopiville jakeluille, kuten [[CentOS]]ille.
 
Jos [[RPM Fusion#Fedoran_vakaat_versiot|RPM Fusion on otettu käyttöön]], yle-dl:n asentaminen onnistuu komennolla
  [[su]] -c "yum install yle-dl"


==Katso myös==
==Katso myös==
*[[youtube-dl]]
*[[Youtube-dl]]
*[[Metacafe-dl]]
*[[nicovideo-dl]]
 
==Aiheesta muualla==
* [https://login.yle.fi/ Yle Passin] rekisteröityminen
 


[[Luokka:Multimedia]]
[[Luokka:Multimedia]]
[[Luokka:Suomi]]
[[Luokka:Komentorivin erikoisohjelmat]]
[[Luokka:Komentorivin erikoisohjelmat]]
[[Luokka:Verkkopalvelut]]
Wikin materiaali on kaikkien vapaasti käytettävissä Creative Commons 3.0 - nimi mainittava -lisenssin alaisuudessa. TEKIJÄNOIKEUDEN ALAISEN MATERIAALIN KÄYTTÄMINEN ILMAN LUPAA ON EHDOTTOMASTI KIELLETTYÄ!

Muokataksesi tätä sivua vastaa alla olevaan kysymykseen (lisätietoja):

Peruuta Muokkausohjeet (avautuu uuteen ikkunaan)

Tällä sivulla käytetyt mallineet:

Tämä sivu kuuluu seuraavaan piilotettuun luokkaan:

Noudettu kohteesta ”https://www.linux.fi/wiki/Yle-dl