defmodule Exyt do
alias Exyt.Requirements
alias Exyt.Media
@moduledoc """
Documentation for `Exyt`.
"""
@doc """
check_setup
## Examples
iex> Exyt.check_setup()
"""
def check_setup do
Requirements.check_setup()
end
@doc """
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})
"""
def download(url, opts \\ %{}) do
Media.download(url, opts)
end
def get_duration(url) do
Media.get_duration(url)
end
def list_formats(url) do
Media.list_formats(url)
end
def get_title(url) do
Media.get_title(url)
end
def get_description(url) do
Media.get_description(url)
end
def get_filename(url) do
Media.get_filename(url)
end
def get_format(url) do
Media.get_format(url)
end
def get_id(url) do
Media.get_id(url)
end
def get_thumbnail(url) do
Media.get_thumbnail(url)
end
def get_url(url) do
Media.get_url(url)
end
def download_getting_filename(url, opts \\ %{}) do
Media.download_getting_filename(url, opts)
end
@doc """
call ytdlp with custom params
## Examples
iex> Exyt.ytdlp(["--get-filename"], "https://www.youtube.com/watch?v=BaW_jenozKc")
"""
def ytdlp(params, url) do
Media.ytdlp(params, url)
end
end