Saltar al contenido

¿Cómo descargar anuncios de video de Youtube?

Solución:

Una solución mucho más simple es hacer clic derecho en la ventana de video y seleccionar Stats for nerds.

ingrese la descripción de la imagen aquí

Aparecerá una lista de estadísticas, busque Video ID y cópielo: solo copie la parte de la cadena antes del / personaje, ya que solo necesitas el Video ID, no la sCPN cuerda. (Por ejemplo, estaba buscando un video de Sam Ovens, pero el video del anuncio no tenía un enlace en el que se pueda hacer clic, así que usé el Stats for nerds característica y encontró la identificación: a-C4m7teAAU).

ingrese la descripción de la imagen aquí

Luego, simplemente agregue la identificación de video al estándar YouTube ver URL así:

https://www.youtube.com/watch?v=a-C4m7teAAU

Actualizar

Algunas personas dicen que esto ya no funciona. Lo probé en un video de Samsung y todavía funciona bien: https://www.youtube.com/watch?v=aw-qPNT7E0k

ingrese la descripción de la imagen aquí

Cuando encontré su pregunta, pensé que sería divertido jugar con ella, ya que recientemente desarrollé un sitio (http://savedeo.com) que le permite descargar un video de muchos sitios, incluido YouTube.

Solo busqué en el sistema de anuncios de Youtube, esto no funcionará para otros sistemas (lo más probable). Lo bueno de YouTube es que puedes obtener toda la información necesaria directamente desde una página de video, por lo que es más fácil rastrearla muy rápido (descargué casi 22 millones de páginas de video en un solo día en un servidor muy pequeño). Entonces la parte que buscas es ;ytplayer.config = {(.*?)}; que contiene un objeto json en línea (fácil de manejar). No necesitarás nada más.

Si no desea analizarlo desde el HTML, puede obtener directamente solo el objeto json agregando un parámetro &spf=prefetch al final de cualquier enlace de video de Youtube, por ejemplo, https://www.youtube.com/watch?v=bbEoRnaOIbs&spf=prefetch

No todos los videos de YouTube muestran anuncios (según mis estadísticas, solo el 18% de los videos lo hace). Puede verificar si los anuncios están habilitados para el video con solo buscar ad_tag clave dentro del objeto json.

YouTube utiliza tres sistemas de anuncios diferentes:

  • AdSense
  • AdSense / ADX
  • Sistema de terceros

para publicar anuncios de dos fuentes diferentes: – video subido a YouTube usado como anuncio (en su mayoría solo se muestra una parte del video) – video de una fuente externa (servidor de anuncios de terceros)

El punto de partida para todos ellos es el mismo. Localizar dynamic_allocation_ad_tag clave dentro del objeto json. Contiene una URL que conduce al servidor de DoubleClick. Esta URL no funcionará hasta que cambie esta parte. sz=WIDTHxHEIGHT; con valores reales de AR, p. ej. sz=480x70,480x360,480x361;.

Quieres localizar otras tres llaves tpas_partner_id, tpas_video_id y video_id (es el video_id de la URL) en el mismo archivo json, ya que se utilizarán para el sistema de anuncios de terceros.

Ahora puede presionar la URL de doble clic, que devolverá un archivo XML con información sobre el anuncio que se publicará para este video. El archivo completo es interesante y está lleno de información importante (por lo que probablemente debería almacenarlo con el video). Busque estas tres llaves AdSystem, AdTitle y Description.

  • AdSystem: le indica qué sistema se utiliza para publicar el anuncio. Hay tres opciones (como mencioné antes)

    • AdSense
    • AdSense / ADX
    • GDFP
  • AdTitle: le dice qué tipo de anuncio es (por ejemplo, video o banner)
  • Descripción: le dice casi lo mismo que AdTitle, pero a veces contiene una descripción del anuncio.

Si el anuncio se sirve desde el sistema adsense (tanto adsense como adx), este xml contiene toda la información del anuncio, incluida la duración y el enlace directo del anuncio. El enlace es exactamente lo que está buscando y puede encontrarlo debajo de una clave MediaFile.

El enlace en su mayoría se ve así http://www.youtube.com/get_video?video_id=LCeDi-d5CRg&ts=1391921207&t=CyJEI0XYwJVJEYE5CVhqY-DF3KQ&gad=1 y te redirige al archivo real en formato mp4. Si el sistema de anuncios es ADX, obtendrá un enlace directo principalmente a un archivo flv, por ejemplo http://playtime.tubemogul.com/ad_promoted_videos/4799351_dhxsYlMYHmLMmxL0oBem_1390593897.flv

Si el anuncio es un servidor de un sistema de terceros, GDFP, tienes que llamar a un servidor diferente. Para anuncios de terceros, Youtube utiliza el servicio FreeWheel. Para obtener los datos del anuncio, debe preparar una solicitud XML, que tiene este aspecto:

    <?xml version="1.0" encoding="UTF-8"?>
    <adRequest profile="{profile}" network version="1">
       <capabilities>
          <expectMultipleCreativeRenditions />
          <supportsAdUnitInMultipleSlots />
          <supportsSlotCallback />
          <supportNullCreative />
          <supportAdBundle />
          <supportsFallbackAds />
          <autoEventTracking />
          <requiresRendererManifest />
          <requiresVideoCallbackUrl />
       </capabilities>
       <visitor caller="AS3-5.6.0-r9954-1305270957">
          <httpHeaders>
             <httpHeader value="https://www.youtube.com/watch?v={video_id}" name="referer" />
             <httpHeader value="12,0,0,38" name="x-flash-version" />
          </httpHeaders>
       </visitor>
       <keyValues>
          <keyValue key="_fw_distributorvideoassetid" value="{video_id}" />
          <keyValue key="_fw_yt_type" value="short" />
          <keyValue key="_fwu:10613:lang" value="eng" />
       </keyValues>
       <siteSection pageViewRandom="{random}" custom siteSectionNetwork>
          <videoPlayer>
             <videoAsset autoPlay="true" duration="318" videoPlayRandom="{random}" custom videoAssetNetwork>
                <adSlots height="390" defaultSlotProfile="{profile}" width="699" compatibleDimensions="2560,1440">
                   <temporalAdSlot height="390" adUnit="preroll" timePosition="0" custom width="699" />
                   <temporalAdSlot height="390" adUnit="overlay" timePosition="0" custom width="699" />
                </adSlots>
             </videoAsset>
             <adSlots>
                <nonTemporalAdSlot height="60" custom width="300" acceptCompanion="true" />
                <nonTemporalAdSlot height="250" custom width="300" acceptCompanion="true" />
             </adSlots>
          </videoPlayer>
          <adSlots />
       </siteSection>
    </adRequest>

Probablemente haya visto varias variables en {}. Debe reemplazarlos con datos personalizados, principalmente con los datos que ha obtenido del objeto json.

  • tpas_partner_id: Obtenido del objeto json
  • tpas_video_id: Obtenido del objeto json
  • aleatorio: tiempo desde la época en microsegundos
  • video_id: Obtenido del objeto json (o de la URL de youtube)
  • perfil: Encontré dos perfiles diferentes. A veces uno funciona y otro no y viceversa. Prueba cada vez que ambos 10613:10613_youtube_as3_player y 10613:youtube2.

Ahora, envía este archivo XML como una solicitud POST a https://2975c.v.fwmrm.net/ad/p/1? (no olvide enviar con el tipo de contenido application/xml).

La respuesta contiene otro archivo XML donde tiene todos los datos necesarios para el anuncio, incluidos enlaces directos en varios formatos y dimensiones. Puedes encontrarlos en la clave asset. Nuevamente, probablemente debería almacenar todo el archivo con el video, ya que contiene datos adicionales para el anuncio.

Eso es todo, feliz caza.

2020 mayo, estos métodos funcionaron para mí.

Modo de 3 segundos

  • Haga clic con el botón derecho en el anuncio de video mientras se reproduce.
  • Seleccione [Stats for nerds].
  • Abra la consola del navegador de su desarrollador y pegue esto. Comprobar el Sección de explicación si te preocupa este javascript:
alert("https://www.youtube.com/watch?v="+$(".html5-video-info-panel-content").children[0].children[1].textContent.replace(" ","").split("https://foroayuda.es/")[0])
  • Se le pedirá la URL lista para copiar y pegar.

url

  • Puede usar http://savefrom.net para descargar el video.

Modo manual

  • Haga clic con el botón derecho en el anuncio de video mientras se reproduce.
  • Seleccione [Copy Debug Info].
  • Luego abra cualquier programa de edición de texto como el Bloc de notas en Windows y péguelo allí.
  • Busque en el texto pegado la línea que dice “ad_debug_videoId”: “XXXXXXXXX”.
  • La URL del video será:
https://www.youtube.com/watch?v=XXXXXXXXX
  • Puede usar http://savefrom.net para descargar el video.

Explicación

En el momento de escribir esto, html de [Stats for nerds] era:

<div data-layer="4">
   <button title="close">[x]</button>
   <div>
      <div>
         <div>Video ID / sCPN</div>
         <span>I4VzIvGdTxI / GD6Y 2G9R N3W5</span>
      </div>
      <div>
         <div>Viewport / Frames</div>
         <span>640x360 / 0 dropped of 1706</span>
      </div>   
      <!-- a lot of divs    -->
   </div>
</div>

Como puede ver, nuestra identificación está dentro de lapso Cuál es el segundo niño de primero hijo de div con clase html5-video-info-panel-content.

Jquery nos ayuda a obtener el valor del intervalo:

$(".html5-video-info-panel-content").children[0].children[1]

Luego, debemos eliminar los espacios vacíos y dividirlos para obtener nuestra identificación de video:

.textContent.replace(" ","").split("https://foroayuda.es/")[0]

Finalmente concatenamos este valor a

"https://www.youtube.com/watch?v="

Referencias

  • https://www.quora.com/Why-can-we-not-replay-pre-roll-ads-on-YouTube/answer/Fernando-Juliao
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *