Upload Videos To YouTube using PythonV3 Library
Hi readers, Today's topic is a bit different than always. Today we are going to see how can we upload local videos to YouTube using a Python library....
Gurpreet Kait
Author
Hi readers, Today's topic is a bit different than always. Today we are going to see how can we upload local videos to YouTube using a Python library....
Gurpreet Kait
Author
Hi readers, Today's topic is a bit different than always. Today we are going to see how can we upload local videos to YouTube using a Python library.
I'll try to make it short and simple. So, that it would be easy for you to implement.
Before starting it out, you have to grab the API Keys so that you can perform actions using API. In Today's date, YouTube provides you with 10,000 tokens each day for API requests. The reason is to prevent misuse of the API. You can read about Api Quota Limit here on the Youtube Data API - Quota Calculator.
For Videos Upload it will cost s 1600 tokens each.
You can also read about Python Quickstart.
You have to go to the API Console and create a new project if you don't have one.
Now you'll see the credentials tab on the sidebar, visit the page. On Top, you'll see a button Create Credentials. Just click and you'll see something as I mentioned in the image below.
Click on Generate API Key. Then generate OAuth Client ID please make sure when you are selecting the Application Type select Desktop. The reason Web Applications have not worked for me.
Now, Hopefully, you'll have a client_secret___**.json
file that you can download from the download button.
Of course, we are gonna use a library for this. Because I have used ChatGpt for some use cases but eventually I found this awesome library that worked very well. Without any extra clutter, I got the results quickly.
We gonna use Simple YouTube API
#Installation
pip install simple-youtube-api
You can visit the library, it won't take much time for you to understand how to use the Library.
Ignore the .venv
folder. Because I have created the virtual environment because it wasn't working on my machine ubuntu. But the necessary files are your video/videos program.py
which is the main file. and the client_secret.json
file that you have download from the google API console.
Program.py
I'm using the same code that has been mentioned in the library itself. Nothing new but you can comment few actions that you don't want. For example: If you do have thumbnail you can uncomment the thumbnail setter method and just pass the correct path.
The below code has been implemented by myself so don't worry it will be working perfectly.
from simple_youtube_api.Channel import Channel
from simple_youtube_api.LocalVideo import LocalVideo
# loggin into the channel
channel = Channel()
channel.login("client_secret.json", "credentials.storage")
# setting up the video that is going to be uploaded
video = LocalVideo(file_path="video.webm")
# setting snippet
video.set_title("My Filemanager Built Using Laravel Livewire")
video.set_description("I have built a filemanager using laravel livewire")
video.set_tags(["this", "tag"])
video.set_category("gaming")
video.set_default_language("en-US")
# setting status
video.set_embeddable(True)
# if we don't want to make video license free then we can keep it to standard.
# video.set_license("creativeCommon") Creative Common means anybody can use the video on their channel.
video.set_privacy_status("private")
video.set_public_stats_viewable(True)
# setting thumbnail
# video.set_thumbnail_path("test_thumb.png") // you can set the thumbnail
# video.set_playlist("PLDjcYN-DQyqTeSzCg-54m4stTVyQaJrGi")
# uploading video and printing the results
video = channel.upload_video(video)
print(video.id)
print(video)
# liking video
video.like()
# this will cost you an extra token so if you want you can do like as well.
# let me resolve this isssue
When you run this file, It will open a new window and will ask for your permission to use your channel for uploading videos, etc. After authentication, you'll be able to upload videos. It will create a credentials.storage file in the root location of your project.
Result:
Recommended: Download Youtube Video Using YT-dlp Library
Source Code: https://github.com/robinkashyap-01/youtube-video-upload-py
I think this way you'll be ready to go. This implementation is pretty much simple. If you wanna extend this script don't hesitate to ask Chat Gpt. Thanks for reading. I'm done for the day.
Ask any question in the comment box I'll try to respond as soon as I'll get the notification.