domingo, 30 de marzo de 2014

¿Cómo subo videos a Youtube desde la Terminal?

En 1952, al inaugurar la Planta Militar de Tolueno Sintético en la localidad de Campana, Juan Perón expuso sobre la necesidad de tonificar la industria pesada, y explicó cómo subir videos pesados a Youtube desde la Consola Terminal en un sistema Linux.

¡Trabajadores!

Esta planta que inauguramos hoy no afrontará una solo tarea: desde la fabricación de lacas, explosivos, pinturas, adhesivos y cauchos, múltiples son los resultados que podremos obtener.
Grata es toda ocasión como esta en la cual se nos permite poner en funcionamiento la infraestructura necesaria para el crecimiento de la Nación y su industria. El bienestar del mañana será de quien domine los ciclos de producción industrial en las ramas de los petroquímicos y sus derivados. Por ello esta planta de tolueno, con una capacidad productiva de 15.000 toneladas anuales, nos pone a la vanguardia en el mundo.

Estos medios nos permiten avanzar en esto que ahora llaman Industria Pesada, para distinguirla de los procesos productivos poco intensivos. La industria pesada nos requiere el dominio de las etapas extractivas y de procesamiento de las materias primas, y es la cual mayores ganancias ofrece al País. Atrás quedarán los días en los que solo cuatro vivos vivían de lo que producían medio millón de trabajadores en los campos. Hoy, unos 15 millones de argentinos se dedicarán a la producción industrial intensiva. Ese es el mundo que nos proponemos, pues así será como esos 15 millones tendrán el salario que merecen. Es eso o distribuir la tierra entre todos en partes iguales...

Ahora bien, estos movimientos intensivos de materias primas y componentes procesados no deben su exclusividad al ámbito industrial. En software también tiene problemáticas parecidas.

Por ejemplo, uno de los grandes inconvenientes o limitaciones se puede dar cuando queremos subir a Youtube pesados videos. Esto se hace mucho más patente cuando queremos hacerlo desde la Terminal. Normalmente  no es posible, pues para cargar un video en los servidores que estos señores ponen a nuestra disposición, se hace obligatorio usar un navegador gráfico.

Mas hoy, gracias al Justicialismo, esos días quedarán en el pasado, pues os enseñaré un método que hará posible a los Descamisados la carga de videos desde la Terminal, con gran efectividad y velocidad.

Tengamos en cuenta que no podremos subir cualquier formato de video, sino que es preferible que los mismos se encuentren en formato MP4, AVI, FLV, MOV o Webm. Si no cumplimos con esta premisa, podremos usar el software Handbrake para convertir los videos a formato .m4v y luego renombrar el archivo resultante para que tenga la extensión MP4, de manera que esta técnica los acepte.

Os indicaré como hacer todo lo necesario. En primer lugar descargamos el Script. Esto es un guión de comandos pensado para cargar videos a Youtube, escrito por la propia gente de Google, el Youtube-Upload. Para ello abrimos una Terminal con Ctrl+Alt+T e ingresamos los siguientes Comandos de Organización:

sudo pip install --upgrade google-api-python-client progressbar2cd ~/youtube-upload-master
wget https://github.com/tokland/youtube-upload/archive/master.zip
unzip master.zip
cd youtube-upload-master
sudo python setup.py install

El Script anterior no funcionará por sí solo. Para que opere correctamente dependemos de una API (interfaz de programación) propia de Google y de un archivo de configuración del protocolo de autorización de la compañía, el OAuth2. El motivo detrás de esta sucia idea es proveer cierta autenticación e impedir un desarrollo cuasi descontrolado de aplicaciones que usen el servicio Youtube, sin tener al menos control sobre la porción del código que hace a la subida (carga) de los contenidos al servidor. Esta conducta no es libre, pero bajo las Banderas del Justicialismo deseamos tener lo que tiene el Capitalista pero sin pagarlo. Por ello, habremos de autenticar esta API contra nuestra cuenta de Google Cloud, a fin de usar esta API en pos de nuestra Felicidad, verdadero fin de nuestra Doctrina.

  • Nos dirigimos consola Google Cloud para desarrolladores y aceptamos los términos y condiciones del software como servicio.
  • Hacemos clic en +Crear Proyecto, y le indicamos un nombre descriptivo, como "subidor de youtube", "youtube-uploader", o lo que se nos ocurra.
  • En el panel lateral elegimos Administrador de APIs / Biblioteca, y en la categoría API de Youtube podemos encontrar la API "Youtube Data API". Debemos indicar que la queremos para la categoría "otros - aplicación de escritorio con UI".

  •  En el menú lateral vamos a: Administrador de APIs / Autenticación / APIs
  • En el menú superior: clic en Habilitar API(s): activamos todas las APIs de Youtube APIs, especialmente la Youtube API V3.

  • Menú lateral: APIs / autenticación / Credenciales.

  • Crear un Identificador de Cliente: Agregar credenciales al proyecto / Crear Identificador de cliente OAuth 2.0 / Otro / Nombre: youtube-upload / Crear / OK


  •  Descargar JSON: Bajo la sección "Identificador de Clientes OAuth 2.0". Descargamos el archivo .json a nuestro sistema. Tendrá un nombre muy largo, que consiste en un identificador individualizado.

  • Renombramos el contenido de este archivo xxxxx.JSON descargado al nombre client_secrets.json.
mv ~/youtube-upload-master/client_secret*.json ~/youtube-upload-master/client_secrets.json

Guardamos el archivo client_secrets.json y salimos del editor nano (Ctrl+o y Ctrl+x).

Ya deberíamos poder subir un video a Youtube.

Ahora bien, la primera vez que hagamos el procedimiento de carga de un video con nuestra cuenta de Usuario de Google, habremos de confirmar la autenticación desde un navegador de internet; ello el subidor de youtube nos otorgará en la terminal Código de Verificación ("token") único para nuestro usuario, a fin de autenticar autenticamente las subsiguientes operaciones de subida de videos desde la Terminal.

Un ejemplo suele aclararlo todo, como decía Napoleón. Supongamos que queremos subir un video llamado video.mp4 a youtube, con el título "video de prueba". Para ello ingresamos:

cd ~/youtube-upload-master/bin
youtube-upload --title="video de prueba" video.mp3


Como vemos, la primera ver, el programa nos indica la URL a ingresar en un navegador. Al pegarla en el mismo, nos dirigirá a la web oficial de Google Cloud y nos proporcionará un token o código de seguridad.
Debemos copiarlo e ingresarlo en el programa (a continuación del campo "Enter verification code"). Una vez pegado el token presionamos Enter y comenzará a subirse el archivo de video al servidor de Youtube. Una vez finalizada la subida, se nos informará la URL del video en Youtube.

Video URL: https://www.youtube.com/watch?v=xxxxxxxxxxxxx


Ahora bien, también podremos usar la terminal para ingresar los datos del video. Por ejemplo, si tuviésemos un archivo de video llamado peronismo.mp4 en nuestra carpeta /Videos, usaríamos los siguientes Comandos de Organización en la Terminal:

cd ~/youtube-upload-master/bin/

youtube-upload  --title="Discurso de Perón" --description="Juan Perón pronuncia un discurso" --tags="Juan Domingo Perón, Peronismo, Argentina" --privacy="public" ~/Videos/peronismo.mp4

Tengamos presente que lo que es absolutamente necesario es la variable --privacy=, que nos deja escoger la política a seguir a la hora de compartir este video (estableciéndose en "unlisted", "private" o "public" para denotar un video no listado, privado o público) y además la ruta del archivo de video propiamente dicho que querramos subir a Youtube. Estas dos son las únicas variables "obligatorias".

Las demás variables son "opcionales", y están conformadas por:
--title= definirá entre comillas el título del video de youtube
--description= permite agregar entre comillas una descripción.
--tags= os dejará asignar entre comillas una serie de etiquetas, separadas por comas.


De ahora en más, podremos subir videos simplemente llamando al script con el intérprete de python desde la Terminal.

cd ~/youtube-upload-master/bin

youtube-upload --privacy=public direccion/del/video.mp4

Nota: Si el equipo donde estamos instalando el Script Youtube-Upload no tuviese acceso a un navegador (por ejemplo, si lo estuviésemos instalando en una Linux embebido) la primera vez que subamos un video debemos ejecutar el comando como se explicó anteriormente, pero con el siguiente parámetro al final: --noauth_local_webserver. En el ejemplo anterior, el comando sería:


youtube-upload ~/Videos/peronismo.mp4 --title="Discurso de Perón" --description="Juan Perón pronuncia un discurso" --tags="Juan Domingo Perón, Peronismo, Argentina"  --privacy="unlisted" --noauth_local_webserver

Esto nos presentará el código de autorización y habremos de indicarlo en la Terminal cuando se nos solicite.

No hay comentarios:

Publicar un comentario