Tag Archives: webm

Obtener video webm de Youtube (antes FLV) en PHP

Hace tiempo había publicado el código para obtener el código de FLV de Youtube (http://vida.danguer.com/2009/01/09/obtener-video-flv-de-youtube/), esto ya no funciona debido a que el archivo cambió y que Youtube ya no proporciona ahora un archivo FLV, ahora proporciona un archivo webm que es una extensión de un archivo Matroska, esto es debido a su iniciativa de soportar HTML5 para reproducir sus video.

El código para descargar el archivo webm es igual de fácil, pero no se puede reproducir con los reproductores “tradicionales” de flash, después de descargar el archivo pueden utilizar VLC o para web pueden utilizar el jwplayer (para reproducirlo deben cambiar la extensión a .webm)

Más información de webm: http://www.webmproject.org/

<?php
//video id by default
$video_id = 'v6xU96KLBL4';

if (isset($_REQUEST['video_id']))
        $video_id = trim($_REQUEST['video_id']);

//get vars from video
$url_info = 'http://www.youtube.com/get_video_info?video_id='.$video_id;
$info = file_get_contents($url_info);

$vars = array();
parse_str($info, $vars);

if ($vars['status'] == 'ok') {
	$vars_fmt = array();
	parse_str($vars['url_encoded_fmt_stream_map'], $vars_fmt);

	print "WEBM: {$vars_fmt['url']}";
} else
	print "Error: {$vars['reason']}";

Puedes descargar el código en github: https://github.com/danguer/blog-examples/blob/master/php/youtube/get-flv.php