Introduction
Youtube-upload is a command-line script that uploads videos to Youtube (it should work on any platform -GNU/Linux, BSD, OS X, Windows, ...- that runs Python).
Dependencies
- Python 2.6 or 2.7. Python 3.0 is NOT supported.
- Python Google API
Install
$ wget https://github.com/tokland/youtube-upload/archive/master.zip
$ unzip master.zip
$ cd youtube-upload-master
$ sudo python setup.py install
- If you don't want (or you can't) install software on the computer, run it directly from sources:
$ cd youtube-upload-master
$ PYTHONPATH=. python youtube_upload/youtube_upload.py ...
Examples
- Upload a video
$ youtube-upload --title="A.S. Mutter" --description="A.S. Mutter plays Beethoven" \
--category=Music --tags="mutter, beethoven" anne_sophie_mutter.flv
pxzZ-fYjeYs
- Upload a video with your own
client_secrets.json
:
$ youtube-upload --title="A.S. Mutter" --description="A.S. Mutter plays Beethoven" \
--category=Music --tags="mutter, beethoven"
--client-secrets=my_client_secrets.json anne_sophie_mutter.flv
pxzZ-fYjeYs
- Split a video with ffmpeg
Youtube currently limits videos to <2Gb and <15' for almost all users. You can use the example script to split it before uploading:
$ bash examples/split_video_for_youtube.sh video.avi
video.part1.avi
video.part2.avi
video.part3.avi
- Use a HTTP proxy
Set environment variables http_proxy and https_proxy:
$ export http_proxy=http://user:password@host:port
$ export https_proxy=http://user:password@host:port
$ youtube-upload ....
Caveats
-
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. -
If a video does not comply with Youtube size limitations you must split it (using ffmpeg/avconv, for example).
More
-
License: GNU/GPLv3.
-
Bugs: Open a issue.
-
New features: I'll try to fix bugs, but, to add functionality, please send a pull request.