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).
$ 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 ...
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
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 ....
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).
License: GNU/GPLv3.
Bugs: Open a issue.
New features: I'll try to fix bugs, but, to add functionality, please send a pull request.