Skip to content

countervolts/yt-ca

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

yt-ca (youtube channel archiver)

project im working on a bit

todo/have done

todo

  • create pip package so you can just python -m yt_archiver 'channel id' 'download_path'

future

  • add html, js and css code so the user can use the application better

finished

  • make setup.py:

    • downloads needed packages, gets needed data from user.
  • add a fast way to convert videos to different file types:

    • using ffmpeg basically all video file types are supported.
  • allow the user to change settings:

    • running setup.py again will let you change settings.
  • add video optimazation:

    • allowing the user to do api video optimization with Freeconvert.com video optimization (needs api key, not good for big channels).
    • also letting the user do local optimization using ffmpeg.
  • show user information:

    • using psutil and platform to get storage, os, other drives.
  • improve video download speed:

    • using the concurrent fragments ydl_opts and setting it to 5.
  • optimize youtube api calls:

    • saving called data locally then calling it when the user calls the same channel id.
  • clean code up:

    • seperated the functions in archiver.py into group files.
  • prevent youtube bot detection:

    • when detected the code will retry then if it fails again it will change the user agent (doesnt work for cli version).
  • cli:

    • added cli.py so if the user has the needed api data they can download a channel without needing a api key.
    • the user can also compress and convert videos within the cli using the -c and -cv argurments.
    • compressing and converting using moviepy instead of ffmpeg.
  • bypass config.py:

    • while adding the needed data that is called from the youtube api inside a folder called yt_data a user can basically remove the needing for config.py (this comes with the exception of not using local ffmpeg)
  • adding more options to cli:

    • -c --compress allows the user to use l (~30%), m (~50%) or h (~65%) to compress to X of the original bitrate (using moviepy)
    • -cv --convert lets the user convert to differet video file formats (using moviepy)