lulzsun / RePlays

Open-source game recording management software
GNU General Public License v3.0
128 stars 16 forks source link

Add YouTube destination #129

Open eiqnepm opened 1 year ago

eiqnepm commented 1 year ago

This is a cool project!

I'm just toying around with it for now, however the ability to upload to YouTube would be greatly appreciated if you ever get the time.

You just can't beat the unlimited free video storage that YouTube provides at the moment.

sonicv6 commented 11 months ago

I was working on this at one point, ran into some troubles with Google's API. there seems to be essentially no way of doing it without technically violating their API terms

eiqnepm commented 11 months ago

Projects like ShareX are able to use Google authentication to upload to YouTube, so I imagine it's possible.

lulzsun commented 11 months ago

Using the official YouTube API is easy, but there are a lot of things to watch out for when using their API.

A quick search shows that the free usage is limited to 10,000 units per day unless we contact Google and ask them to increase the quota for our project. Uploading one video costs 1,600 units, so we would collectively only be allowed to upload 6 videos a day.

If we want to increase the quota limit, we must comply with their terms, there is a lot of gotchas, and it seems they are very strict in enforcing them.

So that means we would have to make an official application request to Google given that we are in the clear of their TOS, in order to increase the quota. I'm not sure if its still free by then or not.

Can read this ShareX issue for some insight.

I would love to have support for YouTube in the future. But I don't think it is worth the time (at the moment) to implement and try to comply with their terms, considering the number of people using this project right now (I don't track any usage or data, but I'm guessing it is very low).

But feel free to send pull requests to forward this feature if you are willing to take on the challenge.

sonicv6 commented 11 months ago

When I was working on it the issue I had was storing the API keys. There basically seems to be no way of storing them for distributed applications without violating their TOS, so it'd mean storing them on our own system somewhere and doing some kind of exchange for API requests.

sshcrack commented 2 months ago

Bump. Maybe we could just add it to destinations and leave the setup to the user (creating oauth application etc).