lcezermf / exyt

simple elixir wrapper for yt-dlp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

exyt-dlp

docs https://hexdocs.pm/exyt_dlp/Exyt.html#content

simple elixir wrapper for the great yt-dlp:
https://github.com/yt-dlp/yt-dlp

pre-requisites:

setup and install yt-dlp in your system:

https://github.com/yt-dlp/yt-dlp/wiki/Installation

how to use:

check installation:

iex> Exyt.check_setup()
"Installed yt-dlp version: 2023.07.06\n"

iex> url = "https://www.youtube.com/watch?v=BaW_jenozKc"
iex> Exyt.download(url, %{output: "/tmp/test/", format: "mp4", quality: :fhd})

or with default params(best quality available, .webv format, /tmp/exyt/ output)
iex> Exyt.download(url)

NOTE: :best quality will always return a .webm file.

and you can find your downloaded file at: /tmp/exyt/

                    def download(url, opts \\ %{})                         

Download

url :: valid yotube string opts :: map

options: :quality :: (:hd | :fhd | :qhd | :uhd | :best) NOTE: default is :best and :best always will generate a webm file., :output :: directory to save downloaded files :format :: ("webm", "mp4", "m4a")

Examples

iex> url = "https://www.youtube.com/watch?v=BaW_jenozKc"
iex> Exyt.download(url, %{output: "/tmp/test/", format: "mp4", quality: :fhd})

"[youtube] Extracting URL: https://www.youtube.com/watch?v=BaW_jenozKc [youtube] BaW_jenozKc: Downloading webpage [youtube] BaW_jenozKc: Downloading ios player API JSON [youtube] BaW_jenozKc: Downloading android pla yer API JSON [youtube] BaW_jenozKc: Downloading m3u8 information [info] BaW_jenozKc: Downloading 1 format

TODO:
-test and add support to windows/mac;
-test and add support do yt-dlp advanced features(aria);
-format output list_formats()

About

simple elixir wrapper for yt-dlp


Languages

Language:Elixir 100.0%