Skip to main content

Upload your favorite music albums directly to YouTube !

Project description

muzak2yt

Upload your favorite music albums directly to YouTube !

Program written under Python 3.9

Requirements

The following modules need to be installed with pip :

  • youtube_uploader_selenium==0.1.0
  • oauth2client==4.1.3
  • httplib2==0.19.0
  • fleep==1.0.1
  • mutagen==1.45.1
  • google_api_python_client==1.12.8

To facilitate the process, you can run the command pip install -r requirements.txt

In addition, the following conditions need to be fullfiled :

  • You must have ffmpeg installed (and added to your PATH if you're on Windows)
  • You must have Firefox installed, as well as geckodriver (add to your PATH or drag and drop in your Python folder)

Usage

  1. Add an image to your album folder that will be used by ffmpeg to generate the video. The image has to be named "image.png", as well as having even width and height values (640x480 is ok, 641x480 is not)
  2. Run the "muzak2yt.py" file in the same folder as your music album.
  3. Once the video is generated by ffmpeg, it will be uploaded to YouTube. The script will automatically open FireFox, you need to connect to YouTube manually the first time.

The program takes the following arguments :

usage: muzak2yt [options]

Convert to mp4 and upload to YouTube

optional arguments:
  -h, --help   show this help message and exit
  -nu, --noup  Not upload to YouTube, only convert to MP4

Additional Notes

  • If your video titles are messed up by the script, follow this guide : "Title not setting correctly" (The init.py file will be in your site-packages/youtube-uploader-selenium folder (you can run python -c 'import site; print(site.getsitepackages())' to get the location)
  • If you want ffmpeg to overwrite the existing mp4 files, replace the argument "-n" by "-y" in the subprocess.call
  • If you want to modify the way titles and descriptions are generated, edit the following lines :
title = str(audio["album"]).strip('[\']') + " - " +  str(audio["title"]).strip('[\']')
metadata = {
                "title":  title,
                "description": "Album: " + str(audio["album"]).strip('[\']') + "\nArtist(s): " + str(audio["artist"]).strip('[\']').replace("\"", "")
            }

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

muzak2yt-1.0.2.tar.gz (3.6 kB view details)

Uploaded Source

Built Distribution

muzak2yt-1.0.2-py3-none-any.whl (15.9 kB view details)

Uploaded Python 3

File details

Details for the file muzak2yt-1.0.2.tar.gz.

File metadata

  • Download URL: muzak2yt-1.0.2.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.1

File hashes

Hashes for muzak2yt-1.0.2.tar.gz
Algorithm Hash digest
SHA256 b0e7afbecccecf6ad670c6cb7f7fb618ac3577d7dada645335fa4d6222604656
MD5 513b8a9dba4e7eda090003dc33cf9f09
BLAKE2b-256 b6411431ec521b0ca2e4654c5c629040fdc4ec8fd6a542c43a9cddba67b725ba

See more details on using hashes here.

File details

Details for the file muzak2yt-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: muzak2yt-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 15.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.1

File hashes

Hashes for muzak2yt-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7ccbdc3f4519c91dbea7df39f26819ab4b450fdd6a8cba53a681e4b9a8d3e9f2
MD5 78150867fa0ef093553d21ccb9bce42e
BLAKE2b-256 808bc5de2c336fab5a7b730440c2f1b9682a5ae125db75abae417395d0fc76e7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page