Download videos from Yle servers
Copyright (C) 2010-2022 Antti Ajanki, email@example.com
License: GPL v3 or later
Source code: https://github.com/aajanki/yle-dl
Below are general installation instructions. See a separate page for specialized installation instructions for Debian, Ubuntu, Mac OS X, Windows and Android.
1. Install the dependencies
- Python 3.6+
- ffmpeg (subtitles fully supported only on ffmpeg 4.1 or later)
Optionally for few rare streams:
2. Install yle-dl
Easier way (installation without downloading the source codes):
pip3 install --user --upgrade yle-dl
Installing the source distribution in the editable mode: Download the sources and run the following in the source directory:
pip3 install --user .
3. Fix the search path if necessary
If the command line shell complains that it can't find yle-dl when you try to execute it, add the installation location onto your $PATH:
# Set the path for the current terminal session export PATH=$PATH:$HOME/.local/bin # Make the change permanent. Adjust as needed if you are not using bash echo export PATH=$PATH:\$HOME/.local/bin >> ~/.bashrc
yle-dl [options] URL
yle-dl [options] -i filename
where URL is the address of the Areena or Elävä arkisto web page where you would normally watch the video in a browser.
-o filenameSave stream to the named file
-i filenameRead input URLs to process from the named file, one URL per line
--latestepisodeDownload the latest episodes
--showurlPrint the URL of the stream, don't download
--showtitlePrint stream title, don't download
--showmetadataPrint stream metadata as JSON
--vfatCreate Windows-compatible filenames
--sublang langDisable subtitles if lang is "none"
--resolution resMaximum vertical resolution in pixels
--maxbitrate brMaximum bitrate stream to download, integer in kB/s or "best" or "worst". Not all streams support limited bitrates.
--postprocess cmdExecute a command cmd after a successful download. The command is called with the downloaded video file as the first parameter and subtitle files (if any) as the following parameters.
--proxy uriHTTP(S) proxy to use. Example:
--destdir dirSave files to dir
--pipeDump stream to stdout for piping to media player. E.g.
yle-dl --pipe URL | vlc -.
-V, --verboseShow verbose debug output
yle-dl --help to see the full list of options.
To download through a SOCKS5 proxy, use tsocks or a similar wrapper.
Addresses for live TV broadcasts
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
Record the broadcast shown an hour (3600 seconds) ago:
yle-dl --startposition -3600 https://areena.yle.fi/tv/suorat/yle-tv1
Using with libav instead of ffmpeg
yle-dl --ffmpeg avconv --ffprobe avprobe ...
Arguments that start with '--' can also be set in a config file. The
default config file is
~/.yledl.conf or one can be specified via
--config. See yledl.conf.sample for an example
Config file syntax allows: key=value, flag=true. If an arg is specified in more than one place, then command line values override config file values which override defaults.
Contributed packages for various distros
Some tests succeed only when run on a Finnish IP address because some Areena streams are available only in Finland. By default these tests are skipped. To run all tests, include the "--geoblocked" flag:
Running only a single test file:
Save an Areena stream to a file with an automatically generated name:
or from Elävä Arkisto:
Save a stream to a file called video.mkv:
yle-dl https://areena.yle.fi/1-787136 -o video.mkv
Playing in mpv (or in vlc or in any other video player) without downloading first:
yle-dl --pipe https://areena.yle.fi/1-787136 | mpv --cache-secs=1000 --slang=fi -
Executing a script to postprocess a downloaded video (see the example postprocessing script at scripts/muxmp4):
yle-dl --postprocess scripts/muxmp4 https://areena.yle.fi/1-787136
Creating a new release
Problem: Subtitles are visible only for the first five minutes.
Solution: Update your ffmpeg to version 4.1 or later.
Problem: Subtitles are missing on live stream
This is a known problem. Currently there are no fixes.
Problem: I get warnings about unsupported subtitles and dropping subtitles
Downloading produces a bunch of warnings such as "Can't support the subtitle" and "Dropping 114 duplicated subtitle events".
These warning messages are harmless and can be ignored. Subtitles should get downloaded correctly in most cases despite the warnings. The only exceptions are live streams.
Problem: I installed yle-dl but get an error message "command not found" when I try to run it
The installation location is not on shell's search path. Use the full path to run yle-dl:
Better yet, append the search path permanently by editing shell's config file. For example, on bash do the following:
echo "export PATH=\"\$HOME/.local/bin:\$PATH\"" >> ~/.bashrc && source ~/.bashrc