docs(quick): Add a rote quick start guide
This is what I came up with when I tried to write instructions requiring as little understanding as possible. Doing so really did reinforce my impression that this just shouldn't be done, that significant understanding is required for *any* use of ytdl-sub and even offering a quick start may be irresponsible. I'm still on the fence, thoughts? That said, I also think I got some good explanations out of this and a better understanding of what the next bits of the Getting Started should be. This Quick Start is currently redundant with other parts of the Getting Started pages. I suspect that I'll end up repeating and/or reorganizing parts of this Quick Start into the next bits of the Getting Started. To that end I might argue that this change is a WIP and that merging should wait. But I could also argue that this is an incremental improvement and can be merged before that other work. Your call.
This commit is contained in:
parent
899143db98
commit
dd87526987
3 changed files with 107 additions and 37 deletions
|
|
@ -15,12 +15,12 @@ __preset__:
|
||||||
music_video_directory: "/music_videos"
|
music_video_directory: "/music_videos"
|
||||||
|
|
||||||
# For 'Only Recent' preset, only keep vids within this range and limit
|
# For 'Only Recent' preset, only keep vids within this range and limit
|
||||||
only_recent_date_range: "2months"
|
# only_recent_date_range: "2months"
|
||||||
only_recent_max_files: 30
|
# only_recent_max_files: 30
|
||||||
|
|
||||||
# Pass any arg directly to yt-dlp's Python API
|
# Pass any arg directly to yt-dlp's Python API
|
||||||
ytdl_options:
|
# ytdl_options:
|
||||||
cookiefile: "/config/cookie.txt"
|
# cookiefile: "/config/cookie.txt"
|
||||||
|
|
||||||
###################################################################
|
###################################################################
|
||||||
# Subscriptions nested under this will use the
|
# Subscriptions nested under this will use the
|
||||||
|
|
@ -35,52 +35,54 @@ Plex TV Show by Date:
|
||||||
# Sets genre tag to "Documentaries"
|
# Sets genre tag to "Documentaries"
|
||||||
= Documentaries:
|
= Documentaries:
|
||||||
"NOVA PBS": "https://www.youtube.com/@novapbs"
|
"NOVA PBS": "https://www.youtube.com/@novapbs"
|
||||||
"National Geographic": "https://www.youtube.com/@NatGeo"
|
# "National Geographic": "https://www.youtube.com/@NatGeo"
|
||||||
"Cosmos - What If": "https://www.youtube.com/playlist?list=PLZdXRHYAVxTJno6oFF9nLGuwXNGYHmE8U"
|
# "Cosmos - What If": "https://www.youtube.com/playlist?list=PLZdXRHYAVxTJno6oFF9nLGuwXNGYHmE8U"
|
||||||
|
|
||||||
# Sets genre tag to "Kids", "TV-Y" for content rating
|
# Sets genre tag to "Kids", "TV-Y" for content rating
|
||||||
= Kids | = TV-Y:
|
# = Kids | = TV-Y:
|
||||||
"Jake Trains": "https://www.youtube.com/@JakeTrains"
|
# "Jake Trains": "https://www.youtube.com/@JakeTrains"
|
||||||
"Kids Toys Play": "https://www.youtube.com/@KidsToysPlayChannel"
|
# "Kids Toys Play": "https://www.youtube.com/@KidsToysPlayChannel"
|
||||||
|
|
||||||
= Music:
|
# = Music:
|
||||||
# TV show subscriptions can support multiple urls and store in the same TV Show
|
# # TV show subscriptions can support multiple urls and store in the same TV Show
|
||||||
"Rick Beato":
|
# "Rick Beato":
|
||||||
- "https://www.youtube.com/@RickBeato"
|
# - "https://www.youtube.com/@RickBeato"
|
||||||
- "https://www.youtube.com/@rickbeato240"
|
# - "https://www.youtube.com/@rickbeato240"
|
||||||
|
|
||||||
# Set genre tag to "News", use `Only Recent` preset to only store videos uploaded recently
|
# Set genre tag to "News", use `Only Recent` preset to only store videos uploaded recently
|
||||||
= News | Only Recent:
|
# = News | Only Recent:
|
||||||
"BBC News": "https://www.youtube.com/@BBCNews"
|
# "BBC News": "https://www.youtube.com/@BBCNews"
|
||||||
|
|
||||||
###################################################################
|
###################################################################
|
||||||
# Subscriptions nested under these will use the various prebuilt
|
# Subscriptions nested under these will use the various prebuilt
|
||||||
# music presets
|
# music presets
|
||||||
YouTube Releases:
|
|
||||||
= Jazz: # Sets genre tag to "Jazz"
|
|
||||||
"Thelonious Monk": "https://www.youtube.com/@theloniousmonk3870/releases"
|
|
||||||
|
|
||||||
YouTube Full Albums:
|
# YouTube Releases:
|
||||||
= Lofi:
|
# = Jazz: # Sets genre tag to "Jazz"
|
||||||
"Game Chops": "https://www.youtube.com/playlist?list=PLBsm_SagFMmdWnCnrNtLjA9kzfrRkto4i"
|
# "Thelonious Monk": "https://www.youtube.com/@theloniousmonk3870/releases"
|
||||||
|
|
||||||
SoundCloud Discography:
|
# YouTube Full Albums:
|
||||||
= Chill Hop:
|
# = Lofi:
|
||||||
"UKNOWY": "https://soundcloud.com/uknowymunich"
|
# "Game Chops": "https://www.youtube.com/playlist?list=PLBsm_SagFMmdWnCnrNtLjA9kzfrRkto4i"
|
||||||
= Synthwave:
|
|
||||||
"Lazerdiscs Records": "https://soundcloud.com/lazerdiscsrecords"
|
|
||||||
"Earmake": "https://soundcloud.com/earmake"
|
|
||||||
|
|
||||||
Bandcamp:
|
# SoundCloud Discography:
|
||||||
= Lofi:
|
# = Chill Hop:
|
||||||
"Emily Hopkins": "https://emilyharpist.bandcamp.com/"
|
# "UKNOWY": "https://soundcloud.com/uknowymunich"
|
||||||
|
# = Synthwave:
|
||||||
|
# "Lazerdiscs Records": "https://soundcloud.com/lazerdiscsrecords"
|
||||||
|
# "Earmake": "https://soundcloud.com/earmake"
|
||||||
|
|
||||||
|
# Bandcamp:
|
||||||
|
# = Lofi:
|
||||||
|
# "Emily Hopkins": "https://emilyharpist.bandcamp.com/"
|
||||||
|
|
||||||
###################################################################
|
###################################################################
|
||||||
# Can choose between:
|
# Can choose between:
|
||||||
# - Plex Music Videos:
|
# - Plex Music Videos:
|
||||||
# - Jellyfin Music Videos:
|
# - Jellyfin Music Videos:
|
||||||
# - Kodi Music Videos:
|
# - Kodi Music Videos:
|
||||||
"Plex Music Videos":
|
|
||||||
= Pop: # Sets genre tag to "Pop"
|
# "Plex Music Videos":
|
||||||
"Rick Astley": "https://www.youtube.com/playlist?list=PLlaN88a7y2_plecYoJxvRFTLHVbIVAOoc"
|
# = Pop: # Sets genre tag to "Pop"
|
||||||
"Michael Jackson": "https://www.youtube.com/playlist?list=OLAK5uy_mnY03zP6abNWH929q2XhGzWD_2uKJ_n8E"
|
# "Rick Astley": "https://www.youtube.com/playlist?list=PLlaN88a7y2_plecYoJxvRFTLHVbIVAOoc"
|
||||||
|
# "Michael Jackson": "https://www.youtube.com/playlist?list=OLAK5uy_mnY03zP6abNWH929q2XhGzWD_2uKJ_n8E"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,72 @@
|
||||||
Quick Start
|
Quick Start
|
||||||
===========
|
===========
|
||||||
|
|
||||||
TODO
|
:ref:`Again <guides/getting_started/index:prerequisite knowledge>`, if the following
|
||||||
|
serves all your needs, then you're probably better off with :ref:`one of the more
|
||||||
|
user-friendly yt-dlp wrappers available <introduction:motivation>`. If you still want to
|
||||||
|
get ``ytdl-sub`` up and running quickly and without understanding, then follow these
|
||||||
|
instructions to the letter.
|
||||||
|
|
||||||
|
#. Install using :ref:`the official Docker GUI image variant <guides/install/docker:gui
|
||||||
|
image>`.
|
||||||
|
|
||||||
|
#. Update the paths for your media library:
|
||||||
|
|
||||||
|
Edit :ref:`the subscriptions file <guides/install/docker:configuration>`. Near the
|
||||||
|
top, under ``__preset__:`` and then ``overrides:``, update the values under the
|
||||||
|
``*_directory:`` keys with the correct paths for your media library *as they appear
|
||||||
|
inside the container*.
|
||||||
|
|
||||||
|
#. Select your media library software:
|
||||||
|
|
||||||
|
Change the ``Plex TV Show by Date:`` *key itself* to the preset for your media
|
||||||
|
library software. See the comment above for the available options.
|
||||||
|
|
||||||
|
#. Select the genre:
|
||||||
|
|
||||||
|
Under the library software preset key from the previous step, change the ``=
|
||||||
|
Documentaries`` *key itself* to the genre for this subscription prefixed with ``=
|
||||||
|
...``. When adding other subscriptions that have the same genre, place them under the
|
||||||
|
same key.
|
||||||
|
|
||||||
|
#. Update the subscription name and URL:
|
||||||
|
|
||||||
|
Under the genre key from the previous step, update the ``"NOVA PBS":`` key to the
|
||||||
|
directory name the downloaded files should be placed beneath. This directory will be
|
||||||
|
created under the ``tv_show_directory:`` from step #2. Then update the
|
||||||
|
``"https://www.youtube.com/@novapbs"`` value to the URL of the channel or playlist
|
||||||
|
for this subscription.
|
||||||
|
|
||||||
|
#. Preview what ``ytdl-sub`` would do for this subscription:
|
||||||
|
|
||||||
|
Run the :ref:`'sub' sub-command <usage:sub options>` but with the ``max_downloads``
|
||||||
|
setting from ``yt-dlp`` along with the ``--dry-run`` and ``--match`` options from
|
||||||
|
``ytdl-sub`` to minimize requests and prevent actual downloads. Be sure to update the
|
||||||
|
``--match="..."`` value with the subscription name::
|
||||||
|
|
||||||
|
$ ytdl-sub --dry-run sub -o '--ytdl_options.max_downloads 3' --match="NOVA PBS"
|
||||||
|
|
||||||
|
Examine the output carefully.
|
||||||
|
|
||||||
|
#. Review the results of real downloads:
|
||||||
|
|
||||||
|
Run it again without the ``--dry-run`` option to actually download media and place
|
||||||
|
the files in your library::
|
||||||
|
|
||||||
|
$ ytdl-sub sub -o '--ytdl_options.max_downloads 3' --match="NOVA PBS"
|
||||||
|
|
||||||
|
Examine the output carefully, then examine how the downloads work in your
|
||||||
|
library. Repeat with a larger value for ``max_downloads`` and examine the output and
|
||||||
|
downloads again.
|
||||||
|
|
||||||
|
#. Add the rest of your subscriptions:
|
||||||
|
|
||||||
|
Repeat steps #4-7 for each of your subscriptions. Be sure to repeat the preview and
|
||||||
|
review steps for each subscription. In general, move slowly and carefully review
|
||||||
|
everything. It's best to catch issues early to avoid repeating downloads and to
|
||||||
|
minimize requests to avoid being throttled or banned by servers.
|
||||||
|
|
||||||
|
#. Automate downloads:
|
||||||
|
|
||||||
|
:ref:`Set up ytdl-sub to run periodically
|
||||||
|
<guides/getting_started/automating_downloads:docker and unraid>`.
|
||||||
|
|
|
||||||
|
|
@ -545,4 +545,4 @@ def test_default_docker_config_and_subscriptions():
|
||||||
default_subs = Subscription.from_file_path(
|
default_subs = Subscription.from_file_path(
|
||||||
config=default_config, subscription_path=Path("docker/root/defaults/subscriptions.yaml")
|
config=default_config, subscription_path=Path("docker/root/defaults/subscriptions.yaml")
|
||||||
)
|
)
|
||||||
assert len(default_subs) == 15
|
assert len(default_subs) == 1
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue