Skip to content

Commit 89adafc

Browse files
committed
docs(intro): Update and clarify goals/motivation
To help calibrate our collaboration, I went uninhibited with these changes including: - assumptions about history I don't actually know: "this project was one of the early entrants" - description of the yt-dlp/ytdl-sub division of labor I'm not actually certain about - max opinion, both about this project and the domain in general - max cheeky/fun writing tone, with the intention of being personable - max editor's red pen, cut mercilessly IOW, review carefully and reject early and often to help me submit future changes that require less review and revision. To that end, give me more rather than less feedback on this change in particular. I include an endorsement of Pinchflat because [they do the same for ytdl-sub](https://github.com/kieraneglin/pinchflat?tab=readme-ov-file#what-it-does). It would be my next choice if ytdl-sub couldn't meet my needs or vanquished me. More than that link, in other Reddit comments and the like, the Pinchflat author clearly expresses preference for ytdl-sub as their own "next option".
1 parent d4458a1 commit 89adafc

2 files changed

Lines changed: 58 additions & 9 deletions

File tree

docs/source/index.rst

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,3 @@ ytdl-sub User Guide
1212
config_reference/index
1313
faq/index
1414
deprecation_notices
15-
16-
.. note:: The docs are heavily work-in-progress. Please bear with us while we're under construction!

docs/source/introduction.rst

Lines changed: 58 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,19 @@ What is ytdl-sub?
88
.. _plex: https://github.com/plexinc/pms-docker
99
.. _emby: https://github.com/plexinc/pms-docker
1010

11-
``ytdl-sub`` is a command-line tool that downloads media via `yt-dlp`_ and prepares it for your favorite media player (`Kodi`_, `Jellyfin`_, `Plex`_, `Emby`_, modern music players).
11+
``ytdl-sub`` is a command-line tool that builds on and orchestrates `yt-dlp`_ to
12+
download media from YouTube and/or other online services. It provides a declarative,
13+
expressive YAML configuration system that allows you to describe which media to download
14+
and how it should appear in your media library servers and applications such as
15+
`Jellyfin`_, `Plex`_, `Emby`_, `Kodi`_, modern music players, etc..
1216

13-
Visual examples
14-
===============
17+
To these ends, ``ytdl-sub``:
18+
19+
- wraps and runs `yt-dlp`_, per your configuration to:
20+
- download the media, remux and/or optionally transcode it
21+
- prepares additional metadata both embedded and in external files
22+
- renames the resulting files
23+
- places them in your library
1524

1625
.. figure:: https://user-images.githubusercontent.com/10107080/182677243-b4184e51-9780-4094-bd40-ea4ff58555d0.PNG
1726
:alt: The Jellyfin web interface, showing the thumbnails of various YouTube shows.
@@ -34,10 +43,52 @@ Visual examples
3443
SoundCloud albums and singles in MusicBee
3544

3645

37-
Why ytdl-sub?
38-
-------------
39-
There is a lack of open-source tools to download media and generate metadata to play it in these players. Most solutions involve using multiple tools or bash scripts to achieve this. ``ytdl-sub`` aims to consolidate all of this logic into a single easy-to-use application that can run automatically once configured.
46+
Motivation
47+
----------
48+
49+
`yt-dlp`_ has grown into a well maintained, central repository of the intricate,
50+
inscrutable, and extensive technical knowledge required to automate downloading media
51+
from online services. When those services change their APIs or otherwise change
52+
behavior, `yt-dlp`_ is the central, low-level tool to update. It does a best-in-class
53+
job at that task, and it does that job more effectively by narrowing focus to just that.
54+
As much knowledge as it encapsulates and as well as it does that, it still requires a
55+
great deal of additional knowledge to make its output accessible to end-users. Mostly
56+
this gap is about extracting and formatting metadata and correctly placing the resulting
57+
output files in a media library.
58+
59+
A number of tools, applications, and other projects have grown up around that central
60+
`yt-dlp`_ pillar to fill in those gaps, and this project was one of the early
61+
entrants. Many are `full-featured services that provide web UIs`_ including some that
62+
`provide media player web UIs`_. Most of those other projects necessarily narrow their
63+
scope to provide a more polished and integrated user experience.
64+
65+
Similarly, ``ytdl-sub`` can run automatically to accomplish the same goals, but aims to
66+
serve users that need lower-level control and/or have use cases not covered by the more
67+
narrow scope of those other projects. To some degree, this makes this project
68+
intrinsically less user friendly and requires more technical experience or learning.
69+
70+
Want something that "Just Works", try one of the other projects; we recommend
71+
`Pinchflat`_ as the next step towards that end. Want to download from more than just
72+
YouTube? Don't like the other restrictions inherent in the goals of those other
73+
projects? Have unique use cases? Then dig in, learn, and we hope ``ytdl-sub`` gives you
74+
enough rope and `a foot-gun`_ to get you there.
75+
76+
.. _`full-featured services that provide web UIs`:
77+
https://github.com/kieraneglin/pinchflat
78+
.. _`provide media player web UIs`:
79+
https://www.tubearchivist.com/
80+
.. _`Pinchflat`: `full-featured services that provide web UIs`_
81+
.. _`a foot-gun`: https://en.wiktionary.org/wiki/footgun
82+
4083

4184
Why download instead of stream?
4285
-------------------------------
43-
We believe it is important to download what you like because there is no guarantee it will stay online forever. We also believe it is important to download it in such a way that it is easy to consume. Most solutions today force you to watch/listen to your downloaded content via file system or web browser. ``ytdl-sub`` aims to format downloaded content for any media player.
86+
87+
Most of the tools in this `yt-dlp`_ ecosystem serve a similar set of larger, more
88+
general use cases, and so does ``ytdl-sub``:
89+
90+
- Don't rely on profit-driven corporate persons to keep more obscure content available.
91+
- Even if they do, don't depend on them to make it possible to use it in different ways.
92+
- Even when you pay, don't count on them not inserting ads later.
93+
- Regardless, don't depend on them to curate content for yourself and/or your family.
94+
- Free yourself and/or your family from what the algorithm would feed them next.

0 commit comments

Comments
 (0)