mirror of
https://framagit.org/veretcle/tootube.git
synced 2025-07-20 20:41:17 +02:00
53 lines
1.8 KiB
Markdown
53 lines
1.8 KiB
Markdown
# What is it?
|
||
|
||
This program takes the very last video published on a PeerTube instance and pushes it to a corresponding YouTube channel.
|
||
|
||
# What the status of this?
|
||
|
||
This is an early prototype not really suited for production purposes for now:
|
||
* it still relies way too much on pre-determined value to upload the video to YouTube
|
||
* it cannot determine the playlists it needs to put them in
|
||
* it cannot determine the recording date (believe me, I tried!)
|
||
|
||
So consider this a work in progress that will slowly get better with time.
|
||
|
||
# What does it do exactly?
|
||
|
||
* it retrieves the latest PeerTube video download URL from an instance
|
||
* it creates a resumable upload into the target YouTube account
|
||
* it downloads/uploads the latest PeerTube video to YouTube without using a cache (stream-to-stream)
|
||
|
||
# What doesn’t it do exactly?
|
||
|
||
* it doesn’t retrieve ALL the original PeerTube video properties like licences, languages, categories, etc… again: early prototype
|
||
|
||
# Obtain Authorization Token from Google
|
||
|
||
The complicated part:
|
||
* create an OAuth2.0 application with authorization for Youtube DATA Api v3 Upload and Youtube DATA Api v3 (generally referenced as `../auth/youtube.upload` and `../auth/youtube`)
|
||
* create a OAuth2.0 client with Desktop client
|
||
|
||
You’ll need:
|
||
* the `client_id` from your OAuth2.0 client
|
||
* the `client_secret` from you OAuth2.0 client
|
||
|
||
Create your `tootube.toml` config file:
|
||
|
||
```toml
|
||
[peertube]
|
||
base_url="https://p.nintendojo.fr"
|
||
|
||
[youtube]
|
||
refresh_token="" # leave empty for now
|
||
client_id="<YOUR CLIENT_ID>"
|
||
client_secret="<YOUR CLIENT_SECRET>"
|
||
```
|
||
|
||
Then run:
|
||
|
||
```bash
|
||
tootube register --config <PATH TO YOUR TOOTUBE.TOML FILE>
|
||
```
|
||
|
||
You’ll be then prompted with all the necessary information to register `tootube`. You’ll end with a `refresh_token` that you can now paste inside your tootube configuration.
|