Actualmente utilizo Youtube para almacenar vídeos chorra, sin importancia: de mis padres, la familia, la novia, etc… y en Blip.tv guardo los verdaderamente importantes: un gorrión comiendose una miga de pan, una nube que pasa, etc…
Dejé de usar Youtube para alojar mis vídeos a favor de Blip.tv desde que el primero anunció la inserción de publicidad sobre los vídeos. Yo, que soy de naturaleza miedica, entendí la amenaza a la primera y ese día migré los videos a Blip.tv un servicio más modesto, desarrollado sobre software libre y con una API que me permite acceder externamente a mis datos e imágenes y desde la cual construir la sección de vídeos. Con eso me sobra.
El otro día, rencoroso que soy por naturaleza, pensaba como podría colapsar el servicio de vídeos de Google, y se me ocurrió: podría hacer un script que cada noche subiera el timelapse producido con las imágenes de la cámara4.
Al final no creo que llegue la sangre al rio, me dán pena los de Google, tampoco es para tanto el rencor que les guardo ni la grandiosidad del cielo de Cartagena es tan interesante como para subir cientos de vídeos de dias inmaculadamente azules.

Por si acaso, el script para subir vídeos a Youtube ya está hecho en Python y estos son los pasos para hacerlo funcionar.

Registrate como desarrollador Google

Necesitas registar una aplicación y el developer_key asignado a dicha aplicación. Logeate desarrollador aqui: https://code.google.com/apis/youtube/dashboard/
Crea (si no tienes ya) una aplicación y copia el developer_key que te ofrece la página después de crear la aplicación.

Descarga e instala libreria GData

Descarga de GoogleCode la última versión de GData. http://code.google.com/p/gdata-python-client/downloads/list

Script Python

Copia este contenido en un archivo de texto llamado (p.ejm): subidor.py
#!/usr/bin/python
## -*- coding: UTF-8 -*-
import sys
import time
import os
from gdata.youtube import YouTubeVideoEntry
from gdata.youtube.service import YouTubeService
import gdata
import argparse
def subidor(archivo, titulo, descripcion):
if len(descripcion)<3:
descripcion_in=os.popen( "kdialog --textinputbox 'Descripción del Video' --icon youtube --name \"Subir_Youtube\" --title \"Subir a Youtube\" \""+descripcion+"\"")
descripcion=str(descripcion_in.readline())
if len(titulo)<3:
titulo_in=os.popen( "kdialog --textinputbox 'Titulo del video' --icon youtube --name \"Subir_Youtube\" --title \"Subir a Youtube\" \""+titulo+"\"")
titulo=str(titulo_in.readline())
yt_service = gdata.youtube.service.YouTubeService()
yt_service.email = 'tu email de Gmail usado como developer'
yt_service.password = 'tu contraseña de gmail'
yt_service.developer_key = 'key de tu aplicación'
yt_service.client_id = 'nombre de tu aplicacion'
yt_service.source = 'nombre de tu applicacion'
yt_service.ProgrammaticLogin()
video_meta = gdata.media.Group(
title=gdata.media.Title(text=titulo),
description=gdata.media.Description(description_type='plain',text=descripcion),
keywords=gdata.media.Keywords(text='cuaderno de campo, script, uploader'),
category=[gdata.media.Category(text='Entertainment', scheme='http://gdata.youtube.com/schemas/2007/categories.cat', label='Ocio')],
player=None )
donde = gdata.geo.Where()
donde.set_location((37.606148, -0.996256))
video_datos = gdata.youtube.YouTubeVideoEntry(media=video_meta, geo=donde)
video_archivo = archivo
video_nuevo = yt_service.InsertVideoEntry(video_datos, video_archivo)
if __name__ == '__main__':
parser=argparse.ArgumentParser(description='Sube vídeos etiquetados y titulados a youtube.')
parser.add_argument('-f', '--file', help='ruta absoluta a un archivo de vídeo', required=True)
parser.add_argument('-t', '--titulo', help='titulo del vídeo en youtube', required=False, default="Sin titulo")
parser.add_argument('-d', '--descripcion', help='Descripción del vídeo en youtube', required=False, default="Sin descripción")
argumentos=parser.parse_args()
try:
subidor(argumentos.file, argumentos.titulo, argumentos.descripcion)
except Exception, e:
os.popen( "kdialog --textinputbox 'Error: respuesta de Google' --icon youtube --name \"Subir_Youtube\" --title \"Subir a Youtube\" \""+e+"\"")
sys.exit(1)
else:
os.popen( "kdialog --msgbox 'Video subido correctamente' --icon youtube --name \"Subir_Youtube\" --title \"Subir a Youtube\" ")
sys.exit(0)

Descargar el script desde aqui con las tabulaciones de python :
http://www.trebol-a.com/publicar/youtube_upload.py.txt

En dicho script reemplaza las lineas:
18, tu email usado para logearte en Youtube
19, tu contraseña en youtube
20, la developer_key de tu aplicacion.
21 y 22, nombre de tu aplicación.
27, cambia las etiquetas que por defecto se aplican al video subido.

Las lineas 11 a 16 solicitan titulo y descripción si cualquiera de estas miden menos de 3, pero podeis eliminar estas lineas (11 a 16,ambas inclusive) sin problemas.

Uso del script

Copiad el script subidor.py a tu ~/bin y hazlo ejecutable: chmod +x subidor.py
usage: subidor.py [-h] -f FILE [-t TITULO] [-d DESCRIPCION]

Ahora podeis incorporar este script al menú de contexto del escritorio para que aparezca al hacer click derecho sobre un vídeo (lo explicado aqui es perfectamente válido)