Coder Social home page Coder Social logo

elijahahianyo / yle-dl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aajanki/yle-dl

0.0 0.0 0.0 1.83 MB

Download videos from Yle servers

Home Page: https://aajanki.github.io/yle-dl/index-en.html

License: GNU General Public License v3.0

Shell 0.38% Python 99.62%

yle-dl's Introduction

Download videos from Yle servers

Build status PyPI version

Copyright (C) 2010-2022 Antti Ajanki, [email protected]

License: GPL v3 or later

Homepage: https://aajanki.github.io/yle-dl/index-en.html

Source code: https://github.com/aajanki/yle-dl

yle-dl is a tool for downloading media files from the video streaming services of the Finnish national broadcasting company Yle: Yle Areena, Elävä Arkisto and Yle news.

Installation

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+
  • pip
  • ffmpeg (subtitles fully supported only on ffmpeg 4.1 or later)

Optionally for few rare streams:

  • wget

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 -e .

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

Usage

yle-dl [options] URL

or

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.

yle-dl options:

  • -o filename Save stream to the named file

  • -i filename Read input URLs to process from the named file, one URL per line

  • --latestepisode Download the latest episodes

  • --showurl Print the URL of the stream, don't download

  • --showtitle Print stream title, don't download

  • --showmetadata Print stream metadata as JSON

  • --vfat Create Windows-compatible filenames

  • --sublang lang Disable subtitles if lang is "none"

  • --resolution res Maximum vertical resolution in pixels

  • --maxbitrate br Maximum bitrate stream to download, integer in kB/s or "best" or "worst". Not all streams support limited bitrates.

  • --postprocess cmd Execute 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 uri HTTP(S) proxy to use. Example: --proxy localhost:8118

  • --destdir dir Save files to dir

  • --pipe Dump stream to stdout for piping to media player. E.g. yle-dl --pipe URL | vlc -.

  • -V, --verbose Show verbose debug output

Type 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 ...

Config file

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 configuration.

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

A list of contributed packages

Integration tests

pytest-3

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:

pytest-3 --geoblocked

Running only a single test file:

pytest-3 tests/integration/test_areena_radio_it.py

Examples

Save an Areena stream to a file with an automatically generated name:

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

or from Elävä Arkisto:

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

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

Release instructions

Known problems

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: ~/.local/bin/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

yle-dl's People

Contributors

aajanki avatar hugovk avatar akx avatar juntuu avatar tpikonen avatar pekkarr avatar hvrauhal avatar iheartgaming avatar pkorpine avatar arza-zara avatar hekkup avatar 6b6561 avatar artsa avatar codelingobot avatar emgalai avatar jackyf avatar kiistala avatar kallelampila avatar krisse7 avatar kmosiejczuk avatar mpartel avatar mikaela avatar arranna avatar oturpe avatar kynde avatar deffi420 avatar ernie77 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.