MyNixOS website logo
Description

Upload video to YouTube via YouTube API.

Upload a video to YouTube via YouTube API. The aim of this program is to simplify uploads of related videos.

First you must have the curl executable installed.

In order to use the youtube-upload command you need a YouTube account and an additional developer account. From the developer account you get a keyfile. If you want to upload videos you first have to login to YouTube. You can do this with

youtube-auth your_youtube_login

or

export YOUTUBEUSER=your_youtube_login
youtube-auth

As a result of this call you get an authentication token. Write this authentication token into the YOUTUBEAUTH environment variable. It is queried by youtube-upload. For every upload you have to pass the developer keyfile, an XML file containing meta data for the video and the video file.

The XML file must be encoded with UTF-8. I found it very useful to generate the XML files from an XML template file and a CSV table using the cvsreplace command from the spreadsheet package. I have included the example file upload-template.xml that you can use with a CSV file with the columns TITLE, DESCRIPTION, CATEGORY, TAGS.

The package is now deprecated. It only supports authentication via ClientLogin which was disabled by Google somewhen in 2017. Authentication via OAuth2.0 is pretty complicated. Better use a program that calls one of the official Google APIs like:

Metadata

Version

0.2.1.1

Maintainers (1)

Executables (2)

  • bin/youtube-upload
  • bin/youtube-auth

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows