Sobre o projeto

ytdl-sub é uma ferramenta de linha de comando que automatiza o download de mídia através do yt-dlp e prepara os arquivos resultantes para reprodutores e servidores de mídia populares, incluindo Kodi, Jellyfin, Plex, Emby e reprodutores de música modernos. De acordo com o README, não são necessários plugins adicionais ou scrapers externos. Como funciona: as assinaturas são definidas em arquivos YAML. Cada assinatura importa predefinições que descrevem como os arquivos de mídia devem ser tratados e gerados. O projeto vem com muitas predefinições pré-construídas para que os usuários possam começar a baixar sem precisar criar uma configuração do zero. Um único comando, `ytdl-sub sub subscriptions.yaml`, processa o arquivo. Casos de uso típicos mostrados no README incluem tratar canais do YouTube como programas de TV, organizar videoclipes e shows, e lidar com discografias do SoundCloud ou Bandcamp. O README observa que o tratamento do SoundCloud grava tags de música através da API do beets. A saída é organizada em diretórios como tv_shows, music e music_videos, com miniaturas geradas, arquivos de metadados .nfo, pôsteres e fanart adequados para servidores de mídia. A configuração é flexível: substituições globais podem ser definidas em uma seção `__preset__`, e as opções podem ser passadas diretamente para a API Python do yt-dlp, por exemplo, um arquivo de cookies. As predefinições podem definir tags de gênero, classificações de conteúdo e usar uma predefinição "Only Recent" para limitar os downloads por intervalo de datas e contagem de arquivos. Configurações personalizadas são suportadas, com um guia passo a passo e exemplos de configurações vinculados no README. As opções de instalação listadas incluem Docker Compose (Web-GUI, headless, passthrough de CPU/GPU), Docker CLI, Windows, Unraid, Linux, Linux ARM, PIP, instalação local e compilação local do Docker. A imagem Docker Web-GUI é descrita como a combinação da imagem code-server do LinuxServer.io com o ytdl-sub pré-instalado, sendo recomendada pelo README. O suporte da comunidade está disponível através de um canal no Discord, GitHub Issues para solicitações de recursos e relatórios de bugs, e um FAQ na documentação. O README também contém links para a readthedocs com informações detalhadas sobre todos os campos de configuração.