Sign up ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

Are there any desktop applications for uploading video to youtube?

share|improve this question
Why not just use – dv3500ea Jan 21 '11 at 14:33

4 Answers 4

up vote 16 down vote accepted

Try using googleclInstall googlecl , this tool provides a user-friendly command-line interface to some of the Google Data Protocol (gdata) APIs.

You can nicely upload a video to YouTube from the command line with the command:

google youtube post --category Education --devtags GoogleCL test.mp4

This will upload the video test.mp4 to your YouTube (the one you granted GoogleCL access to) account, in the Education category. This is a simple test, so click the links below for some useful guides.

See this link below for a script that uses zenity to give you a little GUI.

share|improve this answer

Shotwell ( Installed by default )

Publish photos and videos to Facebook, Flickr, Picasa Web Albums, and YouTube.

share|improve this answer

Try the firefox extension Fireuploader, works like a charm ;)

share|improve this answer

As stated here, use this straightforward tutorial on accessing the standard Youtube Cloud API, takes 10 mins to setup and gets the job done:

Google happens to have its own script, and I could make it work with some, or rather a lot of, efforts mainly because of authentication. There’s probably a better way (comments welcome), but here’s what I had to do in Ubuntu 14.04, although I should work as well for 12.04 / 13.10:

Download the script:

mkdir youtube-upload
cd youtube-upload

Download and extract Google API Python Client, and move relevant directories to the directory where the script is located:

tar xzvf google-api-python-client-1.2.tar.gz
cd google-api-python-client-1.2/
mv apiclient/ oauth2client/ uritemplate/ ..
cd ..

In a computer with a Desktop interface, create a project called “Youtube Upload Script” with Google Cloud Console (the name and id does not matter) using the YouTube credential, and Enable YouTube Data API v3 in APIs & auth->API. In Credentials, click on CREATE NEW CLIENT ID, select Installed application for Application Type, and Other for Installed application type, and click Create Client ID. You should now have a Client ID for native application that looks like:


Back to the command line, create a file client_secrets.json vi your preferred editor (e.g. nano, vi, …), with the Client ID, Client secret, and redirect URIs above:

  "installed": {
    "client_id": "",
    "redirect_uris": ["http://locahost", "urn:ietf:wg:oauth:2.0:oob"],
    "auth_uri": "",
    "token_uri": ""

Now you can upload a video to your YouTube account with the script. There are two cases: You have access to a desktop browser such as Chromium or Firefox on the machine where the script is executed:

python --file=video.webm --title="Video Title" \ 
--description="Video Description" --keywords="keyword1, keyword2" \
--category=22 --privacyStatus="unlisted"
Most options are self-descriptive. Category 22 refers to People and Blog. other categories available are: Comedy “23”, Education “27”,  Entertainment “24”,   Film & Animation “1”,  Gaming “20”,  Howto & Style “26”,  Music “10”, News & Politics  “25”,  Nonprofits & Activism “29”, People & Blogs  “22”,  Pets & Animals “15”,  Science & Technology “28”,  Sports “17”, and   Travel & Events “19”.

privacyStatus lets you choose between unlisted, private or public. The machine where the script is executed does not have access to a desktop browser, and you need to use a browser in another machine, run the following command instead:

python --file=video.webm --title="Video Title" \
--description="Video Description" --keywords="keyword1, keyword2" \
--category=22 --privacyStatus="unlisted" --noauth_local_webserver

It will provide a link to access in your browser, to get a verification code that you can enter in the terminal. This is only requires for the first time, after you can just upload the videos without user intervention for authentication. If you run the command without noauth_local_webserver, and if you only have access to a text based web browser this won’t work, as they don’t usually support JavaScript. That’s it, the video should now upload to your YouTube account.

Authentication successful.
Uploading file...
Video id 'sbRf3O3VCEI' was successfully uploaded.

I’ve tested it myself with with one of our videos and it went pretty quickly, from a VPS.

Read more:

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.