Skip to content

erickdavidson/AmeDoko

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AmeDoko

vTuber Members Stream Archiver

Description

AmeDoko is a script meant to easily archive the member only streams of a vTuber using Holodex lookup to find content. It archives the following from each members only stream:

  • Stream video
  • Comments
  • Live Chat
  • Any available subtitles including auto-generated ones
    • By default English is downloaded but languages can be set in the config

It saves progress as it goes along and lets you resume on the next run.

Currently only works on Windows.

!!!WARNING BAN RISK!!!

I am not responsibly for any ban or other retaliation from YouTube for use of this script. I have used it multiple times with no detrimental effects but that is no guarantee. Downloading video content is against terms of service and downloading large amounts of content is a risk. When possible it's recommended to use a burner account to download content and not your primary.

PreReqs

Setup

  1. Install Python 3
  2. Extract the AmeDoko.zip contents to folder of choice
  3. Extract yt-dlp and ffmpeg to the same directory as AmeDoko.py, the following files specifically are required:
    • yt-dlp.exe
    • ffmpeg.exe
    • ffprobe.exe
  4. Set holodex_key in config.yaml to your holodex API key or put it in holodexKey.txt
  5. . Run Amedoko.py and follow the prompts to complete automatic setup:
python AmeDoko.py

Manual Setup

If automatic setup fails when running AmeDoko.py you can do the following to complete the setup manually before running:

  • Download the holodex library from https://github.com/Brok3nHalo/HolodexClient as zip
    • Extract the holodex folder from HolodexClient-Master.zip in the same directory as AmeDoko.py
  • Open a terminal to the directory of AmeDoko.py
    • Run the following command to install remaining dependencies:
    pip install -r requirements.txt
    

Usage

In config.yaml set cookies_from_browser to your browser of choice and log into youtube it that browser OR extract youtube cookies from your browser of choice in Netscape format and paste them into cookies.txt or another file specified via command line

Cookie Notes:

  • When using a cookie file avoid opening youtube in the browser you extracted the cookie from, it can void your cookies during download and cause it to fail
  • When using cookies_from_browser note that Chrome is broken on Windows, if you try it it will print out an error wirth a URL with more information if you want to attempt to work around the issue
  • I've only tested cookies_from_browser with FireFox, I don't know if the others besides that and chrome work or not

Open a terminal in the folder containing AmeDoko and run:

python AmeDoko.py

Parameters

python AmeDoko.py [-h] [-k KEYFILE] [-c COOKIESFILE] [-p PATH]

Options:

-h, --help                                  Show this help message and exit
-k KEYFILE, --keyFile KEYFILE               File containing Holodex API key, default holodexkey.txt, overrides key in config.yaml
-c COOKIESFILE, --cookiesFile COOKIESFILE   File containing YouTube cookies, overrides settings in config.yaml
-p PATH, --path PATH                        Path to where files should be saved, default current directory

Interface

On initial launch you'll be prompted to search for the channel to archive: 1 Search

If multiple matches are found you can select the one you want: 2 Search Results

On future launches previous searches will be saved and you can select which one to continue or N for a new search: 3 Selection

A list of available and missing videos will be shown so you can verify it's the correct channel: 4 Video List

Missing videos are no longer available to stream and can't be downloaded.

You can then choose to continue or press U to update the list if there have been new videos since the last use: 5 Continue or Update

As it downloads it will keep you updated on progress: 6 Downloading

It saves the current state after each download so it can be resumed later: 7 Finished Download

When continuing a previous download the video list will mark completed downloads with a X and errors with a !: 8 Finished and Error

If the last session had any errors, you will be asked if you'd like to retry the videos with issues: 9 Retry

If you need to exit early while downloading hit the spac bar, you will be prompted to exit safely

Currently there is no way to redownload successfully downloaded videos, currently the solution to this is to delete AmdeDoko.state and --continue files from the AmeDoko folder. Note this will lose track of all your current sessions and be a fresh start so you may want to back them up and restore them after you are done redownloading.

TODO

  • Improved UI
  • Redownloading support
  • Better failure handling
  • Download options
    • Other Topics
    • Videos in time span
    • Video count
    • Toggle to download comments/generated subtitles/live chats etc
    • Additional options
  • Video search paging
  • Video download selection
  • Better issue handling
  • Real Logging
  • Multiplatform support

About

vTuber Members Stream Archiver

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%