youtube-batch is a command line Python script that uploads all videos (e.g.: batch upload) in the given folders to Youtube (it should work on any platform -GNU/Linux, BSD, OS X, Windows, ...- that runs Python) using the Python script on GitHub tokland/youtube-upload which uses the Youtube APIv3.
- Python 2.6/2.7/3.x.
- GitHub:tokland/youtube-upload
- Packages: google-api-python-client, progressbar2 (optional).
Check if your operating system provides those packages and you don't want to use easy_install
as shown the Install
instructions below, otherwise install them with pip
:
sudo pip install --upgrade google-api-python-client progressbar2
First you have to install the Python script tokland/youtube-upload.
easy_install https://github.com/tokland/youtube-upload/archive/master.zip
Or install it manually
wget https://github.com/tokland/youtube-upload/archive/master.zip
unzip master.zip
cd youtube-upload-master
sudo python setup.py install
Then install youtube-batch
easy_install https://github.com/tkersten09/youtube-batch/archive/master.zip
Or manually as above
wget https://github.com/tkersten09/youtube-batch/archive/master.zip
unzip master.zip
cd youtube-batch-master
sudo python setup.py install
If you want to add new features to the package, you can clone this folder:
git clone https://github.com/tkersten09/youtube-batch/ your_folder_name
and install it in development mode via:
python setup.py develop
This way the package is installed by linking to this cloned git folder. Then you can test code changes without having to install the package again with
python setup.py install
You'll see that there is no email/password options. Instead, the Youtube API uses OAuth 2.0 to authenticate the upload. The first time you try to upload a video, you will be asked to follow a URL in your browser to get an authentication token. If you have multiple channels for the logged in user, you will also be asked to pick which one you want to upload the videos to. You can use multiple credentials, just use the option --credentials-file
. Also, check the token expiration policies.
The package includes a default client_secrets.json
file. If you plan to make a heavy use of the script, please create and use your own OAuth 2.0 file, it's a free service. Steps:
- Go to the Google console.
- Create project.
- Side menu: APIs & auth -> APIs
- Top menu: Enabled API(s): Enable all Youtube APIs.
- Side menu: APIs & auth -> Credentials.
- Create a Client ID: Add credentials -> OAuth 2.0 Client ID -> Other -> Name: youtube-upload -> Create -> OK
- Download JSON: Under the section "OAuth 2.0 client IDs". Save the file to your local system.
- Use this JSON as your credentials file:
--client-secrets=CLIENT_SECRETS
- Upload a video:
youtube-batch --endings="mpg, mp4" "D:\Dateien\upload1" "D:\Dateien\upload2"
Other extra medata available :
--privacy (public | unlisted | private)
--publish-at (YYYY-MM-DDThh:mm:ss.sZ)
--location (latitude=VAL,longitude=VAL[,altitude=VAL])
--thumbnail (string)
- Upload a video using a browser GUI to authenticate:
youtube-upload --title="A.S. Mutter" --auth-browser anne_sophie_mutter.flv
- Use a HTTP proxy
Set environment variables http_proxy and https_proxy:
export http_proxy=http://user:password@host:port
export https_proxy=$http_proxy
youtube-batch ....
- Check the Youtube Data API.
- Some Youtube API examples provided by Google.
-
youtube-upload Its the basis of this script and its uploads videos to Youtube but can not batch-upload all videos in given folders.
-
shoogle can send requests to any Google API service, so it can be used not only to upload videos, but also to perform any operation regarding the Youtube API.
-
youtubeuploader uploads videos to Youtube from local disk or from the web. It also provides rate-limited uploads.
- License: GNU/GPLv3.