Cómo pasar de YouTube a Ogg Vorbis - Theora

De BlogMail-Wiki, la enciclopedia libre.

Este artículo está en desarrollo. Prácticamente todas las páginas del Wiki de Blogx Populi son editables, pero en esta falta información esencial. Ampliándolo ayudarás a mejorar Blogx Populi.
Tal vez puedas ayudarte con los wikis catalán e inglés si tienen una página equivalente.

  • Te hace falta el programa que se descarga el flv de la web de YouTube y el programa que lo pasa a Ogg Vorbis - Theora, los formatos de audio y video libre aptos para web. En Debian se instalan de la siguiente manera (requiere lenny o superior):
apt-get install youtube-dl ffmpeg2theora
  • Ahora descargas el video en cuestión:
youtube-dl http://www.youtube.com/v/XXXXXXXXX

Donde XXXXXXXXX son los 9 u 11 caracteres alfanuméricos de referencia de YouTube

  • Ahora pásalo a los formatos libres
ffmpeg2theora XXXXXXXXX.flv
  • ¡Estupendo! ya tienes el archivo de YouTube en un formato libre, con el nombre XXXXXXXXX.ogg además la calidad de compresión es mucho mejor y ocupará menos sitio. Si piensas que el vídeo puede resultar de utilidad a alguien, puedes subirlo a internet y pasar su URL para que lo descarguen. Si quieres que se pueda ver vía web utiliza el servicio de Mediabase o crea tú uno con el applet de java Cortado o iTheora. Pero nunca compartas una URL de YouTube, ya que es software privativo, utiliza formatos cerrados que necesitan reproductores privativos y estás contribuyendo a una organización no libre.

Aqui presento un script que ideó un amigo mío para automatizar esa tarea y modifiqué yo un poco (el original está escrito en bash):


#!/usr/bin/python
# -*- coding: utf-8 -*-

#############################################################################################
# Basat en la documentació original de: http://es.blogxpopuli.org/index.php/YouTube2Theora  #
#############################################################################################

############################################################################
#   Copyright (C) 2007 by Julià Mestieri Ferrer  (Original Author),        #
#                         Andreu Correa Casablanca (Adaptation).           #
#                                                                          #
#   Email: castarco@gmail.com (Andreu Correa Casablanca)                   #
#                                                                          #
#   This program is free software; you can redistribute it and/or modify   #
#   it under the terms of the GNU General Public License as published by   #
#   the Free Software Foundation; either version 2 of the License, or      #
#   (at your option) any later version.                                    #
#                                                                          #
#   This program is distributed in the hope that it will be useful,        #
#   but WITHOUT ANY WARRANTY; without even the implied warranty of         #
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          #
#   GNU General Public License for more details.                           #
#                                                                          #
#   You should have received a copy of the GNU General Public License      #
#   along with this program; if not, write to the                          #
#   Free Software Foundation, Inc.,                                        #
#   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.              #
############################################################################

import os
import sys

argc = len(sys.argv)  #Guardo el nombre d'arguments en una variable
DIR  = os.getcwd()    #Guardo en una variable la ruta del directori actual

# Comprova que el programa tingui entre 1 i 2 arguments afegits
if argc != 2 and argc != 3:
	print "\nUsage:\v"+sys.argv[0]+" video_code result_file\n"
	sys.exit()

# Retoca els noms per simplificar el codi posterior
if   argc == 2:
	sys.argv.append(sys.argv[1]+".ogg")
elif argc == 3:
	if sys.argv[2][-4:] != ".ogg":
		sys.argv[2] += ".ogg"

# Comprova si ja existeix el fitxer que s'ha de construir
if os.system("test -e "+sys.argv[2]) == 0:
	print "El fitxer "+sys.argv[2]+" ja existeix, prova amb un altre nom"
	sys.exit()

# Anem al directori temporal per treballar allà amb els fitxers descarregats
os.chdir("/tmp")

# Baixem i convertim a format ogg el video de youtube
os.system("youtube-dl http://www.youtube.com/v/"+sys.argv[1])
os.system("ffmpeg2theora "+sys.argv[1]+".flv")

# Traslladem el fitxer resultat al directori indicat amb el nom indicat
if sys.argv[2][0] == '/':
	os.system("mv "+sys.argv[1]+".ogg "+sys.argv[2])
else:
	os.system("mv "+sys.argv[1]+".ogg "+DIR+"/"+sys.argv[2])
	
#Esborrem els fitxers temporals
os.remove(sys.argv[1]+".flv")


Ver también

Personal tools
Proyectos