Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - YdoWn

#1
Si no está haciendo ninguna tarea que te detenga puedes apagarlo tranquilamente
#2
PHP / Re: Descargar videos de youtube
3 Agosto 2021, 02:45 AM
Instala youtube-dl en el servidor, usa shell_exec para obtener los enlaces directos a googlevideo(cuando es youtube), con esos enlaces puedes ofrecerlos en descarga redirigiendo la descarga desde el servidor o abrir en una ventana del navegador pudiéndose descargar desde allí, esto último no funciona para una minoría de vídeos pero se pueden descargar redirigiendo la descarga...

ej...


### $gurl es el enlace youtube, twitter y youtube-dl compatible

##IMPORTANTE pasar FILTER_VALIDATE_URL para evitar inyección de código en shell_exec

$gurl = trim(filter_input(INPUT_POST,"gurl",FILTER_VALIDATE_URL));


$rd = shell_exec("youtube-dl --no-cache-dir -J $gurl");
$json = json_decode($rd);

function object_to_array($obj) {
       $_arr = is_object($obj) ? get_object_vars($obj) : $obj;
       foreach ($_arr as $key => $val) {
               $val = (is_array($val) || is_object($val)) ? object_to_array($val) : $val;
               $arr[$key] = $val;
       }
       return $arr;
}


$RES = object_to_array($json);

##IMprimimos el json a pantalla para ver como manejamos los datos...

print_r($RES);

##Siga Usted

------

obtienes los enlaces y otros datos (titulo,descripcion...) en formato json de youtube y otros sitios, estudiando el formato se pueden luego hacer cosas

redirigir descarga...

//donde $fichero es el enlace ya extraido anteriormente..


$fichero = $link;

$title = preg_replace("/[ \|\/\=·\"\']/si","_",urldecode($title));



if ($fp = @fopen(urldecode($link), 'r')) {


$meta = stream_get_meta_data($fp);


   //  print_r($meta);
     
     //return;
       
       
       foreach($meta["wrapper_data"] as $k => $value){
   
   if(preg_match("/^(Content\-Type\:) ?(audio|video)\/(.+)$/si",$value,$resdata)){
       
       $content_type=$resdata[1]." ".$resdata[2]."/".$resdata[3];
       $title  = $title.".".$resdata[3];
     
   }
   
   else if(preg_match("/^(Content-Length:) ?([0-9]+)$/si",$value,$resdata)){
       
       $length = $resdata[1]." ".$resdata[2];
       
   
     
   } else {
       continue;
   }
   
       }

if($content_type && $length){
   
  if($meta["uri"]){
   
      $url = $meta["uri"];
     
  }
   
   
}

   header('Content-Description: File Transfer');
   header($content_type);
   header('Content-Disposition: attachment; filename="'.$title.'"');
   header('Cache-Control: must-revalidate');
   header('Pragma: public');
   header($length);    
   fpassthru($fp);
} else {
   
    echo "<h1>ERROR</h1>";
    echo "Intenta acceder directamente desde <a href='".urldecode($link)."'>aquí</a>";
    echo "<br>".$url;
}



Código aunque a modo de ejemplo se usa en https://www.dontubes.com



Además youtube-dl, previa instalación, se puede usar desde cualquier aplicación invocándolo a la shell del sistema


ver captura en este hilo https://foro.elhacker.net/foro_libre/se_acabo_por_que_descargar_videos_de_youtube_es_ahora_mas_dificil-t507552.0.html;msg2246997;topicseen#msg2246997

salu2

#3
Aquí se puden descargar videos de youtube twitter y más sitios https://www.dontubes.com fácilmente o ver sin publicidad en linea.
El problema de conversión mp3 es que youtube guarda de cada vídeo varios formatos, video con sonido, video sin sonido, sonido sólo, ellos es creo, debido a facilitar los cambios de calidad en el reproductor,  Youtube no guarda archivos en formato mp3 de sonido sino en WEBM y M4a, por lo tanto ninguna aplicación debe bajar el video completo para pasarlo a mp3, baja el webm y lo pasa a mp3,  si por ejemplo se quiere bajar la máxima calidad, se baja el vídeo sin sonido de max calidad y el sonido de max calidad también y luego se unen en un sólo archivo en mp4 u otro formato que se le indique al conversor. A parte de esto, Youtube-dl puede hacer la operación de descargar audio y video y unirlos en un sólo archivo, cosa que tambien descargándolo por separado se puede hacer con otros programas.



En la imagen los enlaces en verde son video con sonido en formato mp4, el resto son distintos formatos vídeo sin sonido y audio sólo, se puede perfectamente descargar el audio en formato WEBM ym4a en varias calidades y reproducirlo en su formato o convertirlo, para convertirlos hay que usar conversores, por eso algunas plataformas lo descargan a su servidor, en la página dontubes.com se pueden abrir en el navegador o descargarlos, algún vídeo que youtube no deja ver directamente al navegador se puede descargar ya que redirecciona la descarga desde el servidor.
Youtube-dl sigue funcionando y actualizándose fácilmente con pip3 y otros métodos, la mayoría de los servidores lo usan para obtener los enlaces, y muchas aplicaciones de descarga también ya que es relativamente fácil extraer los enlaces usando youtube-dl


Para información técnica --> https://foro.elhacker.net/php/descargar_videos_de_youtube-t196189.0.html;msg2246999;topicseen#msg2246999

Salu2