README.md 2.4 KB

Introduction

Youtube-upload is a command-line script that uploads videos to Youtube.

Youtube-upload should work on any platform (GNU/Linux, BSD, OS X, Windows, ...) that runs Python.

Dependencies

Download & 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 ...
    

Usage 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 Bash 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 file but if you plan to use a heavy usage of the script, please create and use your own authentication file.

  • If a video does not comply with Youtube size limitations you must split it before using ffmpeg/avconv or any other tool.

More