ryanfox1985 / OctoPrint-Youtube-Timelapse

Automatically uploaded rendered timelapses to Youtube
14 stars 1 forks source link

OctoPrint-Youtube-Timelapse

Automatically upload rendered timelapses to Youtube. Can also delete after upload to save space on the Raspberry Pi SD Card.

Sponsor this project:

Prerequisites

OctoPrint 1.5.0

If you are using a version of OctoPrint older than version 1.5.0 this plugin will not work.

Python

Due to upstream dependencies this plugin has been updated to only work in Python 3. You can either flash OctoPi 0.18 which ships with Python 3 standard or use the upgrade instructions here to upgrade your instance.

Create a Google OAuth App

  1. Login to the Google Developers Console
    screenshot
  2. Create a new project giving it a name of your choice.
    screenshot
  3. In the sidebar on the left (via screenshot), select APIs and Services > Dashboard then at the top of the page click the button to Enable APIS and Services.
    screenshot
  4. Enter youtube in the search box at the top of the page and click YouTube Data API v3.
    screenshot
  5. Click the Enable button to allow our app to use the YouTube Data API v3.
    screenshot
  6. In the sidebar on the left, select APIS and Services > Credentials
    screenshot
  7. Click CONFIGURE CONSENT SCREEN button at the top of the page.
    screenshot
  8. Select the External user type if you do not use Google G Suite, otherwise you can select Internal and click Create.
    screenshot
  9. If you don't publish your app you need to add the user email that you will be using to access YouTube Data API as a Test User.
    screenshot
  10. Click Save and Continue on the remaining pages for your consent screen, and then click Back to Dashboard.
    screenshot
  11. In the sidebar on the left (via screenshot), select APIs and Services > Credentials again.
    screenshot
  12. Click on Create credentials and select OAuth client ID.
    screenshot
  13. Select Desktop App for application type and then enter a name (can be anything and does not really matter) and then click Create.
    screenshot
  14. Click OK to the confirmation page and then use the download button screenshot to save your client_secrets#####.json file.
    screenshot
  15. Use the downloaded client_secrets#####.json file to upload into the plugin’s settings to authorize its access to your YouTube Data API as described in the Configuration section below.

Setup

Install via the bundled Plugin Manager or manually using this URL:

https://github.com/ryanfox1985/OctoPrint-Youtube-Timelapse/archive/master.zip

Configuration

Once the Prerequisite steps above have been completed and you have downloaded your client_secrets.json file follow these steps to authorize the plugin to your newly created app.

  1. Open OctoPrint's settings from the System menu at the top of the page and select Youtube Timelapse in the left-hand navigation menu.
    screenshot
  2. Use the Browse button to select your downloaded client_secrets#####.json file and press the Upload button.
    screenshot
  3. An authentication URL will be generated and presented to you. Click that new URL to open a new window and authorize your custom Google app.
    screenshot
  4. Log in to your Google account you want to give YouTube access to. You will get a warning that the App isn't verified. This is normal as you have not submitted your custom app for verification by Google. You can choose to do that if you want but is not necessary for the operation of the plugin. Click the Advanced link at the bottom of the page and the click Go to <app name>.
    screenshot
  5. Click the Allow button to retrieve your authentication code to enter in the plugin's settings in the next step.
    screenshot
  6. Copy the code from step 5 and paste it into the Auth Code field and click Authorize.
    screenshot
  7. If everything went well then you will be presented with a successful message.
    screenshot