Ero sivun ”Yle-dl” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
p (→‎Tiedostomuotojen muunnokset: - ohjeistusta uusittu)
Rivi 149: Rivi 149:
== Tiedostomuotojen muunnokset ==
== Tiedostomuotojen muunnokset ==


Areenan video- ja äänitallenteet lähetetään FLV-säiliömuodossa, jota harva mediasoitin tukee suoraan. FLV:n sisällä on kuitenkin H.264-videoraita ja AAC-ääniraita, joita useimmat soittimet osaavat purkaa, kun säiliömuodon vain vaihtaa MP4:ksi. Pelkkää ääntä sisältävissä radiotallenteissa (.fla-pääte) on AAC:n sijaan MP3-ääniraita, joka toimii FLV:stä ulos purettuna sellaisenaan.
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.


Tässä kuvatut muunnokset ovat häviöttömiä, eli niillä ei ole mitään vaikutusta videon ja äänen laatuun.
Tässä kuvatut muunnokset ovat häviöttömiä, eli niillä ei ole mitään vaikutusta videon ja äänen laatuun.
Rivi 155: Rivi 155:
=== Videotallenteet MP4-muotoon ===
=== Videotallenteet MP4-muotoon ===


[[ffmpeg]] on kätevä komentorivityökalu, joka osaa mm. lukea FLV-säiliön sisällön ja siirtää sen sellaisenaan MP4-säiliöön:
[[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:


  [[ffmpeg]] -i tiedosto.flv -vcodec copy -acodec copy tiedosto.mp4
  [[ffmpeg]] -i tiedosto.mkv -vcodec copy -acodec copy tiedosto.mp4


Korvaa <tt>tiedosto.flv</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.flv</tt>
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 ===
=== Äänitallenteet MP3-muotoon ===


Olettaen että FLV tai FLA -tiedostossa on MP3-ääniraita, sen voi kopioida ulos säiliöstä [[ffmpeg]]illä:
Vaikka MKV-tiedostoissa ääniraita on yleensä AAC-koodattu, MP3-ääniraidan voi kopioida ulos säiliöstä [[ffmpeg]]illä:


  [[ffmpeg]] -i tiedosto.fla -acodec copy tiedosto.mp3
  [[ffmpeg]] -i tiedosto.mkv -vn -c:a libmp3lame tiedosto.mp3
 
Saman voi tehdä myös [[MPlayer]]-ohjelmalla:
[[mplayer]] -dumpaudio tiedosto.fla -dumpfile tiedosto.mp3


=== Tiedoston sisällön tutkiminen ===
=== Tiedoston sisällön tutkiminen ===
Rivi 174: Rivi 171:
Jos et ole varma mediatiedoston säiliömuodosta ja sen sisältämien video- ja ääniraitojen formaateista, voit tutkia tiedostoa [[ffmpeg]]illä:
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.flv
  [[ffmpeg]] -i tiedosto.mkv


Se kertoo Areenasta ladatusta videosta seuraavaa:
Se kertoo Areenasta ladatusta videosta seuraavaa:
  Input #0, <b>flv</b>, from 'Uusi päivä (S): Osa 143-2012-01-17-20:00:00.flv':
 
  Metadata:
  Input #0, <b>matroska</b>,<b>webm</b>, from 'Uusi Päivä: Rahan puutteessa on moni köyhtynyt: S2011E143-2019-02-15T00:01.mkv':
    duration        : 1668
  Metadata:
    moovPosition    : 28
    ENCODER        : Lavf58.20.100
    width          : 640
   Duration: 00:27:47.18, start: 0.000000, bitrate: 4036 kb/s
    height          : 360
    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)
    videocodecid   : avc1
    Metadata:
    audiocodecid    : mp4a
      VARIANT_BITRATE : 4243601
    avcprofile      : 77
      DURATION        : 00:27:47.181000000
    avclevel        : 30
    Stream #0:1: Audio: <b>aac</b> (LC), 44100 Hz, stereo, fltp (default)
    aacaot          : 2
    Metadata:
    videoframerate  : 25
      VARIANT_BITRATE : 4243601
    audiosamplerate : 48000
      DURATION        : 00:27:47.161000000
    audiochannels  : 2
    Stream #0:2(fi): Subtitle: webvtt (default)
  Duration: 00:27:47.54, start: 0.000000, bitrate: N/A
    Metadata:
    Stream #0.0: Video: <b>h264 (Main)</b>, yuv420p, 640x360 [PAR 1:1 DAR 16:9], 25 tbr, 1k tbn, 50 tbc
      VARIANT_BITRATE : 4243601
    Stream #0.1: Audio: <b>aac</b>, 48000 Hz, stereo, s16
      COMMENT        : ohjelmatekstitys
      DURATION        : 00:27:37.920000000
At least one output file must be specified


==Jakelukohtainen asennus==
==Jakelukohtainen asennus==

Versio 20. huhtikuuta 2019 kello 22.46


yle-dl
Käyttöliittymä teksti
Lisenssi GPLv3
Kotisivu aajanki.github.io/yle-dl
yle-dl käytössä.
Ohjetekstiä.

yle-dl (aikaisemmalta nimeltään RTMPDump-YLE) on komentoriviohjelma video- ja äänitiedostojen lataamiseen Yle Areenasta ja Elävästä arkistosta. TV- ja radio-ohjelmien lisäksi yle-dl voi ladata Areenan nettiradioita ja suoria lähetyksiä. Se toimii Linuxilla, Windowsilla ja Mac OS X:llä.

yle-dl perustuu Andrej Stepanchukin RTMPDump-ohjelmaan, joka puolestaan perustuu Team Boxeen RTMPDumper-ohjelmakoodeihin. JSON-viestien jäsentämiseen käytetään json-c-kirjastoa.

Ylen ohjelmien lataaminen on sallittua vain yksityiseen käyttöön.

Asennus lähdekoodeista

Riippuvuudet

  • python (2.6 tai uudempi)
  • pycrypto
  • PHP-tulkki
  • PHP-laajennukset: bcmath, curl, mcrypt ja SimpleXML

Areenan radio-ohjelmien lataamiseen tarvitaan lisäksi:

  • rtmpdump (2.4 tai uudempi)

Ota PHP-laajennukset käyttöön lisäämällä seuraavanlaiset rivit oikeine polkuineen php.ini-tiedostoon (https://secure.php.net/manual/en/configuration.file.php):

extension=/polku/curl.so
extension=/polku/mcrypt.so

Asennus sekä päivitys

Ohjelman voi asentaa myös pipin avulla. Se löytyy myös AUR:sta.

Vaaditut kirjastot ja ohjelmat: python (2.7 tai uudempi), python-pip, pycrypto, ffmpeg, PHP-tulkki sekä seuraavat PHP-laajennukset: bcmath, curl, mcrypt ja SimpleXML. Areenan radio-ohjelmien lataamiseen tarvitaan lisäksi rtmpdump (versio 2.4 tai uudempi, mieluiten uusin kehitysversio projektin kotisivulta).

Komennot, jotka alkavat $-merkillä suoritetaan tavallisena käyttäjänä ja komennot, jotka alkavat #-merkillä suoritetaan pääkäyttäjänä. Katso myös su, sudo ja doas.
# pip3 install --user --upgrade yle-dl

Asennus lähdekoodeista

Ohjelman lähdekoodipaketin voi ladata sen kotisivuilta. Ladattu lähdekoodi täytyy tämän jälkeen kääntää.

Debianissa ja Ubuntussa käännöstyökalut ja tarvittavat kirjastot löytyvät paketeista build-essential, libssl-dev, libjson0-dev ja python-dev.

Ensin puretaan paketti komennolla

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.

sudo make install

Asennus Debian unstable (toukokuu 2016) ja Ubuntu 16.04

sudo apt-get install rtmpdump python python-crypto php-cli php-curl php-mcrypt php-xml php-bcmath
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 (sudon käyttöön ei ole oikeuksia), voi sen yrittää antaa muodossa

su -c "make install"

Jos make-komento antaa virheilmoituksen "/bin/sh: g++: not found" (tai vastaavan) puuttuu järjestelmästä kääntämiseen tarvittavia työkaluja. Yleensä ne saa asennettua asentamalla asentamalla (ainakin) paketit make ja gcc-c++ (tai jos sitä ei löydy, niin paketin g++ tai gcc). Debian-pohjaisissa jakeluissa (mm. Ubuntu) niiden asennus onnistuu myös asentamalla paketti build-essential. 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ö

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:

yle-dl yle_video_sivun_osoite [rtmpdump-valitsimet]

Esimerkiksi:

yle-dl http://areena.yle.fi/video/261405

Valitsin -o määrittelee kohdetiedoston nimen.

yle-dl http://areena.yle.fi/video/261405 -o /polku/hakemistoon/video.flv

Videon voi putkittaa suoraan Mplayeriin seuraavasti:

yle-dl http://areena.yle.fi/video/261405 -o - | mplayer -

Muita valitsimia:

optional arguments:
  -h, --help            näyttää tämän pikaohjeen
  -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

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.

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:

ffmpeg -i tiedosto.mkv -vcodec copy -acodec copy tiedosto.mp4

Korvaa tiedosto.mkv yle-dl:n tallentaman tiedoston nimellä ja tiedosto.mp4 haluamallasi mp4-tiedoston nimellä. Voit käyttää myös tiedoston koko polkua: /polku/hakemistoon/tiedosto.mkv

Äänitallenteet MP3-muotoon

Vaikka MKV-tiedostoissa ääniraita on yleensä AAC-koodattu, MP3-ääniraidan voi kopioida ulos säiliöstä ffmpegillä:

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 ffmpegillä:

ffmpeg -i tiedosto.mkv

Se kertoo Areenasta ladatusta videosta seuraavaa:

Input #0, matroska,webm, 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: h264 (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: aac (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 yle-dl

Fedora, RHEL, CentOS

yle-dl on saatavilla RPM Fusionista Fedoralle ja Red Hat Enterprise Linuxille ja sen kanssa yhteensopiville jakeluille, kuten CentOSille.

Jos RPM Fusion on otettu käyttöön, yle-dl:n asentaminen onnistuu komennolla

 su -c "yum install yle-dl"

Katso myös

Aiheesta muualla