73 lines
3 KiB
TOML
73 lines
3 KiB
TOML
# Specifies the temporary, or work directory. Intermediate files will be put here
|
|
# and moved/deleted later when no longer needed.
|
|
TempDir = "/tmp/"
|
|
|
|
#####################################################################################
|
|
# This will download the 5 most recently uploaded videos, shorts and livestreams. #
|
|
# Since YouTube serves using separate video and audio streams, specifying both #
|
|
# VideoFormat and AudioFormat will invoke FFmpeg at the end of the download process #
|
|
# to merge the two together. In this example, they are merged into mkv. #
|
|
#####################################################################################
|
|
[Group.LinuxYouTubers]
|
|
URL = [
|
|
"https://www.youtube.com/@DistroTube",
|
|
"https://www.youtube.com/@MentalOutlaw"
|
|
]
|
|
|
|
# See https://pkg.go.dev/github.com/wader/goutubedl#Info for a list of possible placeholders.
|
|
# Not all of them will be valid for a particular platform though.
|
|
OutputDir = "videos/Linux/%Channel%/%Playlist%/"
|
|
FileName = "%Timestamp% - %Title%.mkv"
|
|
|
|
# FFmpeg container format
|
|
# See https://ffmpeg.org/ffmpeg-formats.html#Muxers for a full list
|
|
# "matroska" is a very safe option for videos as it can accept basically
|
|
# any combination of codecs. This is only needed if both VideoFormat and AudioFormat
|
|
# are specified, or if extracting audio.
|
|
CFormat = "matroska"
|
|
|
|
VideoFormat = "bestvideo[height<=720]" # Standard youtube-dl format filter
|
|
AudioFormat = "bestaudio" # Same here
|
|
NumVideos = 5
|
|
SizeLimit = 200000000 # In bytes
|
|
|
|
######################################################################################
|
|
# YTVA also supports other platforms like Odysee. Most of these platforms only serve #
|
|
# a single file though, so only "VideoFormat" needs to be specified. #
|
|
######################################################################################
|
|
[Group.Odysee]
|
|
URL = [ "https://odysee.com/@DistroTube:2", "https://odysee.com/@AlphaNerd:8" ]
|
|
OutputDir = "videos/Odysee/%Channel%/"
|
|
FileName = "%Timestamp% - %Title%.mp4"
|
|
CFormat = "mp4"
|
|
VideoFormat = "best[height<=720]"
|
|
NumVideos = 5
|
|
SizeLimit = 200000000
|
|
|
|
[Group.YouTubeMusic]
|
|
URL = [ "https://www.youtube.com/@NoCopyrightSounds", "https://www.youtube.com/@incompetech_kmac" ]
|
|
OutputDir = "videos/Music/%Channel%/"
|
|
FileName = "%Title%.webm"
|
|
CFormat = "webm"
|
|
AudioFormat = "bestaudio"
|
|
NumVideos = 5
|
|
SizeLimit = 10000000
|
|
|
|
# Filters use the same placeholder system as filenames and directories, combined with
|
|
# regular expression.
|
|
# Name: Filter name, mostly for debugging if unexpected filtering happens
|
|
# Input: String input. Placeholder values will be replaced with the relevant video information
|
|
# Pattern: Regex Pattern to match
|
|
# AllowDeny: true for allowlisting, false for denylisting
|
|
Filters = [
|
|
{Name = "No Shorts", Input = "%Playlist%", Pattern = ".*- Shorts$", AllowDeny = false}
|
|
]
|
|
|
|
[Group.OdyseeAudio]
|
|
URL = [ "https://odysee.com/@DistroTube:2", "https://odysee.com/@AlphaNerd:8" ]
|
|
OutputDir = "videos/Audio/%Channel%/"
|
|
FileName = "%Timestamp% - %Title%.m4a"
|
|
CFormat = "ipod"
|
|
ExtractFormat = "best"
|
|
NumVideos = 5
|
|
SizeLimit = 10000000
|