¿Es legal descargar vídeos de YouTube?
Muchos usuarios quieren descargar vídeos de YouTube, ya sea para ver en línea o para hacer copias de seguridad de sus propios vídeos.
A pesar de que está en contra de los términos de uso de YouTube, muchos de esos usuarios recurren a scripts PHP para automatizar la descarga. Sin embargo, dado que YouTube ha cambiado la forma en que funcionan sus reproductores de vídeo, los scripts PHP que funcionaban en el pasado, ya no funcionan.
Lee este artículo para aprender sobre los scripts de PHP existentes que pueden resolver el problema de descargar vídeos de YouTube usando PHP.
Como bono también puedes aprender a buscar en YouTube tráilers de películas de 2018, 2017, 2016, o cualquier otro año, así como obtener más información sobre películas y episodios de programas de televisión del sitio IMDB.
¿Qué es un script (secuencia de comandos) de YouTube Downloader?
Un script de descarga de YouTube es una secuencia de comandos de programación con código escrito en PHP o en cualquier otro idioma que puede descargar uno o más vídeos a un archivo en la máquina del usuario en formato MP4 o algún otro formato de vídeo compatible con YouTube.
¿Es legal descargar vídeos de YouTube?
El propósito de este artículo no es animar a romper ninguna ley de derechos de autor, dueño de vídeo o los términos de uso de YouTube cuando se tiene acceso a los vídeos de una manera que no puede ser autorizada por YouTube o los propietarios de los vídeos.
El objetivo aquí es guiar a muchos usuarios que han accedido y seguirán accediendo a este y otros sitios en busca de scripts PHP para descargar vídeos de YouTube.
En caso de duda, debes ponerse en contacto con YouTube para determinar si la forma en que estás accediendo a los videos disponibles allí es aceptable para ellos.
En cuanto a si es legal descargar vídeos de YouTube, depende de quién sea el dueño de los derechos de autor del vídeo.
Descarga de vídeos de otros
Si quieres descargar vídeos de otros usuarios de YouTube, no solo puedes estar violando los términos de uso de YouTube, sino que también puedes estar violando los derechos de autor del propietario.
YouTube permite a los vídeos tener una de dos posibles licencias: la Licencia de YouTube estándar y la licencia de Creative Commons. La descarga de un vídeo con la licencia de Creative Commons no estaría violando los derechos de propiedad del dueño.
Si no eres el propietario de los vídeos, todavía puedes ser capaz de descargar vídeos para verlos sin conexión, independientemente de la licencia, usando YouTube Red. Se trata de un servicio basado en suscripción proporcionado por YouTube que permite tener privilegios adicionales al acceder a vídeos de YouTube.
Ten en cuenta que YouTube es en gran parte un sitio apoyado por publicidad. Pagar una suscripción de YouTube Red es una forma alternativa de pagar a YouTube por el servicio de proporcionar el contenido de vídeo, así como recompensar a los creadores de vídeo por su trabajo.
Desafortunadamente, YouTube Red no está disponible en todos los países, por lo que es posible que no puedas disfrutar de sus beneficios.
Cómo descargar tus propios vídeos
Si eres el propietario de los vídeos, descargar los vídeos de YouTube no es ilegal. Sin embargo, puedes infringir los términos de servicio de YouTube y YouTube puede cancelar tu cuenta.
La manera de hacerlo con 100% de certeza de que no violas los términos de uso de YouTube es ir a la página de administrador de vídeo de tu cuenta y usar el botón de descarga de los vídeos que quieras descargar.
Sin embargo, si deseas descargar muchos de tus vídeos a la vez, puede convertirse en una tarea tediosa. Una posible situación en la que quizás quieras descargar muchos vídeos de YouTube a la vez es guardar una copia contigo mismo o incluso recuperar tus vídeos en caso de que perdieras el disco duro en el que tenías guardados tus vídeos originales.
Script PHP para descargar vídeos de YouTube
Uno de los vídeos de YouTube que podría descargarse a granel podría haber estado utilizando la API de YouTube. Sin embargo, actualmente la API de YouTube no proporciona medios para descargar vídeos, ni siquiera los que enviaste.
Una solución alternativa es utilizar el paquete PHP YouTube Video Downloader de Nitesh Apte. Puedes descargar los archivos del paquete o instalarlos con el programa composer desde el repositorio PHP Classes composer.
Este paquete recupera los metadatos de un vídeo para determinar si los vídeos están disponibles para descargar desde una URL determinada. La clase en sí puede descargar el vídeo a un archivo local en un directorio determinado. El vídeo descargado podría estar en formato MP4, pero hoy en día es muy probable que esté en el formato WebM.
He aquí un ejemplo de script:
$bean = new YouTubeBean();
$bean->setVideoId("xACG4MClvLo");
$bean->setVideoFormat("43");
$bean->setMethod("curl");
$bean->setDestination("./");
$downloader = new YouTubeVideoDownloader();
$downloader->startDownload($bean);
Listado de los vídeos de tu canal
Si quieres recuperar la lista de todos los vídeos de tu canal de vídeos, puedes hacerlo utilizando la YouTube API v3. Es necesario obtener una clave de API de la credenciales desde la página Google Developers Console:
<?php
// Your API key here
$key = 'Your API Key from the Google Developers Console';
// Your channel ID here
$channel = 'UC__StEqeMNvJ-uNhvBwjxuw';
// Get the channel playlists
$response = file_get_contents( 'https://www.googleapis.com/' . 'youtube/v3/channels' . '?part=contentDetails' . '&id='.$channel.'&key='.$key);
$playlists = json_decode($response);
// Get the uploads playlist videos
$playlist = $playlists -> items[0] -> contentDetails -> relatedPlaylists->uploads;
$response = file_get_contents( 'https://www.googleapis.com/' . 'youtube/v3/playlistItems' . '?part=contentDetails' . '&playlistId='.$playlist.'&key='.$key);
$videos = json_decode($response);
foreach($videos->items as $video)
{
// Get the video details
$id = $video->contentDetails->videoId;
$response = file_get_contents( 'https://www.googleapis.com/' . 'youtube/v3/videos' . '?part=contentDetails' . '&id='.$id.'&key='.$key);
$details = json_decode($response);
print_r($details);
}
Script PHP YouTube MP4 Converter
Dado que hoy en día los vídeos se descargan en formato WebM, es posible que desees convertirlos a MP4. En este caso, la forma más fácil es utilizar el comando ffmpeg.
<?php
Exec('ffmpeg -i video.webm video.mp4');
Alternativamente, también puedes utilizar el paquete PHP Video Toolkit para usar una interfaz PHP para el ffmpeg y otros programas para realizan también otras operaciones como la extracción de cuadros de imagen, extraer un segmento de un vídeo, convertir a formato GIF animado, extraer pistas de audio, etc. .
Los archivos de paquetes también se pueden descargar en formato zip o instalarlos mediante la herramienta composer desde el repositorio PHP Classes composer.
Script PHP YouTube MP3 Converter
Si sólo deseas extraer el audio de un vídeo en un archivo de audio MP3, también puede utilizar el comando ffmpeg.
<?php
Exec('ffmpeg -i video.webm video.mp3');
También puedes utilizar el paquete PHP Video Toolkit para este propósito.
Obtén tráilers de películas de YouTube de 2018, 2017, 2016 o cualquier otro año
Como bono adicional para este artículo, si deseas buscar o ver tráilers de películas en YouTube, puedes utilizar el paquete de PHP YouTube Movie Trailers también de Nitesh Apte.
El paquete puede buscar en YouTube tráilers de películas de un año determinado y devolver sus identificadores de vídeo. El script de ejemplo muestra cómo insertar los vídeos en una página Web.
Obtén más información de la película buscando el IMDB
Si deseas recuperar más detalles acerca de diferentes películas hay varias clases PHP para buscar el IMDB, incluyendo una más reciente que busca en películas IMDB que desguaza las páginas web de Francois Dantigny, o uno más viejo que realmente busca películas que utilizan la API de IMDB por Tiago André, o de uno a buscar episodios de programas de televisión en IMDB de Arturs Sosins.
Conclusión
Si estás interesado en vídeos, películas o programas de televisión y quieres hacer con ellos algo útil en PHP, este artículo presenta varios scripts y paquetes de classes que puedes usar.
Ten en cuenta que algunos de los paquetes se basan en rascar páginas o utilizar API no documentadas. Por lo tanto, pueden dejar de trabajar en el futuro.
Este artículo se actualizará con el tiempo para presentar soluciones que funcionan en el presente. Si descubres que alguna de las soluciones presentadas aquí ya no funcionan, publica un comentario aquí para que el artículo pueda actualizarse.
Mientras tanto, si te gustó este artículo, utiliza los botones compartidos de arriba para que otros desarrolladores lo sepan. También publica un comentario si tienes alguna pregunta.