Foros del Web » Programando para Internet » PHP »

Descargar transcripción de videos de youtube

Estas en el tema de Descargar transcripción de videos de youtube en el foro de PHP en Foros del Web. Hola amigos, Ando intentando hacer un programa PHP que extraiga la transcripción que hace google de los videos de youtube ("captions") y que podemos ver ...
  #1 (permalink)  
Antiguo 24/01/2014, 13:59
Avatar de jja
jja
 
Fecha de Ingreso: diciembre-2010
Ubicación: BCN
Mensajes: 47
Antigüedad: 13 años, 3 meses
Puntos: 0
Pregunta Descargar transcripción de videos de youtube

Hola amigos,

Ando intentando hacer un programa PHP que extraiga la transcripción que hace google de los videos de youtube ("captions") y que podemos ver por ejemplo en videos como este: http://www.youtube.com/watch?v=Tn0D4zru-_E, tras pulsar el botón"transcription".

He visto que hay bastantes soluciones que funcionan muy bien para ello, como Google2SRT (Java), y otras que funcionan a medias, como este servicio http://www.serpsite.com, que le pasas la url de youtube y te devuelve la transcripción, y este otro, https://github.com/wp-plugins/youtub...cript-code.php, que me ha funcionado con algunos videos solo.

El caso es que estoy intentando estudiar el comportamiento de la página de youtube para llamar desde mi programa PHP al script que lance por detrás youtube para traer la transcripción del video, pero me estoy volviendo loco.

El botón de transcripción de la página de youtube es el siguiente:

<button class="action-panel-trigger yt-uix-button yt-uix-button-text yt-uix-button-size-default yt-uix-button-has-icon yt-uix-tooltip yt-uix-button-empty yt-uix-button-toggled" role="button" data-trigger-for="action-panel-transcript" data-button-toggle="true" type="button" title="Transcripción" onclick=";return false;" data-tooltip-text="Transcripción">

En teoría al pulsarle se trae por ajax el texto con la transcripción, pero en el onclick no veo que llame a ningún script.

¿Podéis ayudarme?

Gracias!
__________________
El supremo arte de la guerra es someter al enemigo sin luchar.

Sun Tzu
  #2 (permalink)  
Antiguo 24/01/2014, 17:47
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Descargar transcripción de videos de youtube

Yo creo que la cosa debe andar por lo del data-trigger-for="action-panel-transcript" y habría que revisar más a fondo el código Javascript, aunque me parece que no ejecuta una llamada AJAX, sino que envía instrucciones al reproductor para incorporar los subtítulos y, de hecho, no creo que esa parte sea muy útil para averiguar la ubicación del archivo.

Si tienes ya un código que funciona, aunque solo sea en algunos videos, lo más recomendable sería revisarlo y comenzar a hacer tus propias pruebas a partir de ahí.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 25/01/2014, 09:21
Avatar de jja
jja
 
Fecha de Ingreso: diciembre-2010
Ubicación: BCN
Mensajes: 47
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Descargar transcripción de videos de youtube

Gracias Triby!

Mira, el tema es que yo uso esta URL, como indican en otros foros, http://video.google.com/timedtext?lang=en&v=G7djoQfncRw, y con ella puedo ver los subtitulos del video de youtube http://www.youtube.com/watch?v=G7djoQfncRw. Pero si la cambio el ID del video, que va en el parametro "v" de la URL por otro, no me muestra la transcripcion de otros videos. :(
__________________
El supremo arte de la guerra es someter al enemigo sin luchar.

Sun Tzu
  #4 (permalink)  
Antiguo 25/01/2014, 10:04
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Descargar transcripción de videos de youtube

Pues lo más seguro es que no todos los vídeos tengan habilitada esa función, has intentado con otro vídeo que si tenga transcripción? Yo creo que YouTube solo tiene esa funcionalidad para ciertos vídeos, no para todos.

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #5 (permalink)  
Antiguo 25/01/2014, 10:25
Avatar de jja
jja
 
Fecha de Ingreso: diciembre-2010
Ubicación: BCN
Mensajes: 47
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Descargar transcripción de videos de youtube

Cita:
Iniciado por jonni09lo Ver Mensaje
Pues lo más seguro es que no todos los vídeos tengan habilitada esa función, has intentado con otro vídeo que si tenga transcripción? Yo creo que YouTube solo tiene esa funcionalidad para ciertos vídeos, no para todos.

Saludos
Sí, lo he probado siempre con videos que tienen transcripcion, pero solo me sale el feed con la transcripcion en algunos videos, y siempre si estan los subtitulos en ingles...
__________________
El supremo arte de la guerra es someter al enemigo sin luchar.

Sun Tzu
  #6 (permalink)  
Antiguo 25/01/2014, 10:40
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Descargar transcripción de videos de youtube

Puedes poner los vídeos de pruebas que estás usando? Los que funcionan y los que no, para darnos una idea de como reproducir el comportamiento.

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #7 (permalink)  
Antiguo 25/01/2014, 10:54
Avatar de jja
jja
 
Fecha de Ingreso: diciembre-2010
Ubicación: BCN
Mensajes: 47
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Descargar transcripción de videos de youtube

Hoa jonni09lo,

Mira, por ejemplo este video tiene transcripción: http://www.youtube.com/watch?v=CZTizpO539I

La transcripcion segun la web de youtube es la siguiente:

Código PHP:
Ver original
  1. que ayer en los funerales de nelson mandela se realizarán todas las
  2. 0:13
  3. personalidades del jefe de estado ministros de seguridad economía bueno
  4. 0:17
  5. la crema y nata de la política mundial
  6. 0:19
  7. para despedir a este líder también mundial nelson mandela
  8. 0:23
  9. resulta que unas fotos que le dieron la vuelta al mundo
  10. 0:27
  11. los celos de un ser humano excepcional
  12. 0:31
  13. además no había muchísima risa la secuencia además de los 60 la madre las
  14. 0:36
  15. faltas para poderlas porque primera sede
  16. 0:38
  17. qué esquina la primer ministra de dinamarca que esta medida platicando
  18. 0:42
  19. ahí estaré a veces soy casado y era ella está en la mira de abc radio si
  20. 0:48
  21. desea acceder a la misa en la habana ella están como que discutiendo el
  22. 0:51
  23. programa
  24. 0:53
  25. hasta las cuatro cargos bajo una saca tajada la fantasía
  26. 0:58
  27. y agregó está clara
  28. 0:59
  29. hasta el discurso que dio mediante la jornada
  30. 1:03
  31. en cada mercado
  32. 1:06
  33. la canadiense el diario israelí haáretz esta vez hace el diario
  34. 1:11
  35. en la copa américa también logrará el cambio de lugar el fiscal explica el
  36. 1:15
  37. escrito
  38. 1:16
  39. fíjense que eso es muy sintomático porque evidentemente de acuerdo al
  40. 1:19
  41. protocolo
  42. 1:20
  43. cuando el chef para digamos obama que es el orador i el tiene que ir al
  44. 1:24
  45. micrófono no se puede que alguien colocara vacío
  46. 1:27
  47. míchel aprovechó se sienta
  48. 1:29
  49. hace eco un tal alta la ministra de dinamarca que se manifiestaron inc
  50. 1:34
  51. después cuando regresaba magno hora regresó al lugar como el de lo mal que
  52. 1:37
  53. el protocolo
  54. 1:38
  55. se sentó junto a la susodicha
  56. 1:40
  57. pero de verdad tenía una cara de enojo sin ideas
  58. 1:44
  59. el mar estaba junto a yo les decía una cosa
  60. 1:46
  61. efectivamente existe es muy distinto baracoa parte de cc el hombre de la
  62. 1:51
  63. sonrisa y el ganador y la ministra no está apegado al rival guapa buenas
  64. 1:56
  65. pero también
  66. 1:57
  67. independientemente de los celos
  68. 1:59
  69. n también pudo ayudar al momento compartarse morín donde rige a alan
  70. 2:03
  71. garcía ya digo que iguala miseria es lo que realmente le molestaba zelaya
  72. 2:07
  73. volviera
  74. 2:08
  75. en dicha racha y ahora toma de la ciudad de hama para ello
  76. 2:11
  77. as atrás árabe
  78. 2:13
  79. bajar las corraletas hato el charcote ahora hay esperanza pero para la cara de
  80. 2:18
  81. nene
  82. 2:19
  83. cuando vargas en la final
  84. 2:21
  85. la tenían está latente
  86. 2:23
  87. y además llegó barack obama siempre acapara la atención de las cámaras de
  88. 2:27
  89. todo el mundo
  90. 2:28
  91. pero además en el asunto de ser el presidente de color de los estados
  92. 2:32
  93. unidos de siendo nelson mandela sat todo todo todo le cuadraba para que fuera
  94. 2:37
  95. verdad figura el funk el gasto de atención ese día andaba chacoteando
  96. 2:40
  97. dirigiré todititos sonrisitas no vete al y además en las redes sociales ya se
  98. 2:45
  99. veían la noche todas las fotografías y las cadenas de esto que yo no
  100. 2:48
  101. fox ahora obama le va a tocar lo que decidió alejarse de la perla en árabe
  102. 2:53
  103. la cara que tienen de que se ha vuelto a matar si se está haciendo esto esto que
  104. 2:57
  105. te pones mucho eso porque justamente este condicionante en topic
  106. 3:01
  107. durante todo el día en la mañana empezaron a circular las fotos
  108. 3:04
  109. fue las indiciadas
  110. 3:06
  111. como en el que narra la etiqueta que tenían que hasta quedar en 1 la número
  112. 3:10
  113. dos en la noche allá de la nave pero durante todo el día
  114. 3:13
  115. circularon estas fotos en la red fue muy popular el asunto pero pero llevan
  116. 3:17
  117. algunos shows que michelle obama estuvieron acaparando la jarana uno de
  118. 3:22
  119. los fotogramas de la cadena lo que llama mucho la atención pues costa salguero
  120. 3:25
  121. aunque seguramente trata tanto de pantalla en forma clara que le ha dado
  122. 3:29
  123. la vuelta
  124. 3:30
  125. al mundo esté de verdad
  126. 3:31
  127. en esa línea abierta con raúl con raúl castro
  128. 3:35
  129. qué
  130. 3:36
  131. los republicanos de la cámara maría mente como un pretexto para atacar cada
  132. 3:41
  133. arak obama para ocupar hijo raúl castro fue simplemente un saludo
  134. 3:45
  135. de gentes honestas como un gesto de cortesía
  136. 3:48
  137. a ver si tenemos la imagen press que zelaya porque justo este saludo de un
  138. 3:52
  139. presidente de estados unidos continente cuba ahí no se había registrado
  140. 3:56
  141. sintieran 50 años de relaciones rotas las relaciones diplomáticas rotas ahí
  142. 4:01
  143. está y estamos viendo el saludo
  144. 4:02
  145. labrador cortesía italianos que también de cifras minería tensión
  146. 4:06
  147. constante en la concentración también ante el betis
  148. 4:09
  149. pero no solamente fue el saludo se logra embargo llega a saludar a raúl castro
  150. 4:13
  151. todavía tienen hablan un poco más y ya van unos minutitos
  152. 4:17
  153. estas el abrazo o i7 y bueno y continuó el protocolo no salgan al resto de
  154. 4:22
  155. actores presentes esta categoría en la prensa cubana también hubo reacciones y
  156. 4:27
  157. es ahí él comenta que evidentemente lo vieron como un gesto
  158. 4:30
  159. de buena voluntad como el principio
  160. 4:33
  161. deber delfín de adp de la tierra se llama la filial del bloqueo económico
  162. 4:38
  163. d de poder defenderte césar estas hostilidades de estados unidos hacia
  164. 4:43
  165. cuba
  166. 4:43
  167. yo creo que no es tan así excusa ludo es algo es algo muy importante pero esto
  168. 4:49
  169. tampoco creo que cambie mucho en la gestión
  170. 4:51
  171. de acuerdo contigo
  172. 4:52
  173. i y además se había visto muy mal y c que le negara el saludo martínez
  174. 4:57
  175. herrera luque necesariamente por cortesía puede ocasionar saludo jajaja
  176. 5:01
  177. que ya empiecen a notar para hacerle frente a sara demás como dicen lo que
  178. 5:05
  179. tenía que hacer justamente
  180. 5:07
  181. relacionada con con mándela se llama mucho la atención también el que fue
  182. 5:11
  183. justamente en éste el evento es algo que se vio hecho estas son cifras muy
  184. 5:16
  185. importante porque hace mucho al que no se veía que
  186. 5:19
  187. tanto el presente estados unidos como un precedente banaliza la casa de cuba si
  188. 5:23
  189. estuvieran dando un discurso junto en el mismo acto y lo fueron y no es que hayan
  190. 5:27
  191. sido 20 presidentes 20 oradores fueron
  192. 5:30
  193. pues elegidos no es fueron amigos que estuvieron
  194. 5:32
  195. y por razones también muy importantes no como en algún momento se tuvo una
  196. 5:35
  197. relación con mandela muy fuerte fue el primer país de hecho que mándela
  198. 5:39
  199. visitó en 1991 cuba
  200. 5:41
  201. y esto nos recuerda mucho
  202. 5:43
  203. y por otra parte también es bueno obama el primer presidente negro de estados
  204. 5:47
  205. unidos y también mandela el primer presidente negro de sudáfrica en 2011
  206. 5:51
  207. será el año de la conmemoración como simbolismo muy importantes noticias y el
  208. 5:56
  209. impresionante dicen que en el 2000 en una concurrida de la onu en nueva york
  210. 6:00
  211. también hubo un saludo de clinton
  212. 6:02
  213. vonn con castro pero no hubo fortuna no no en el registro
  214. 6:07
  215. fue eso esta foto
  216. 6:08
  217. llamó la atención a nivel mundial porque es tenedor que éste
  218. 6:12
  219. perspectivas de de todas ellas de todos lados en casablanca y genting pues
  220. 6:17
  221. entonces
  222. 6:17
  223. a ella ya no dijeron no fue algo planeado fue algo muy lento es fortuito
  224. 6:22
  225. ningún gesto normal justo por las regiones en cuba decir adiós al aceptar
  226. 6:26
  227. el bloque económico no
  228. 6:28
  229. estamos este viendo qué va a pasar con esto
  230. 6:31
  231. con este apretón de manos ti pues su mamá era un caso como nos comenta por
  232. 6:36
  233. los dos líderes extranjeros oradores en el funeral de
  234.     6:19 Desde la Red: Michelle Obama se pone celosa (MEMES) / Titulares con Vianey Esquincade ExcélsiorTv104.261 reproducciones
  235.     3:14 ¿Una rubia puso celosa a Michelle Obama? / Andrea Newmande ExcélsiorTv41.527 reproducciones
  236.     1:30 Michelle Obama marca un alto a las risas entre la rubia y su esposo / Joanna Vegabiestrode ExcélsiorTv27.602 reproducciones
  237.     1:17 Interprete para sordomudos del homenaje a Mandela era un impostor / Paola Barquetde ExcélsiorTv4.129 reproducciones
  238.     2:55 Michelle Obama protagoniza escena de celos en los funerales de Nelson Mandelade CadenaTres Espectáculos71.875 reproducciones
  239.     2:09

Pero con la url http://video.google.com/timedtext?lang=en&v=CZTizpO539I no funciona y no devuelve el feed

Sin embargo si probamos con este otro video si que funciona y saca los subtitulos en formato feed: http://video.google.com/timedtext?lang=en&v=G7djoQfncRw
__________________
El supremo arte de la guerra es someter al enemigo sin luchar.

Sun Tzu
  #8 (permalink)  
Antiguo 25/01/2014, 11:05
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Descargar transcripción de videos de youtube

Para ese video en particular Google usa esta URL:

http://www.youtube.com/api/timedtext...kind=asr&fmt=1

Como vez es una URL distinta a la que tu usas

Ademas aún si colocas esta URL http://www.youtube.com/api/timedtext?v=CZTizpO539I no funcionará. Lo más seguro es que como el idioma es distinto, se requieran ciertos parametros adicionales para poder hacerlo funcionar.

Ahora bien, en vez de dar tanta vuelta tratando de entender como lo hace YouTube. ¿Por qué no has revisado la documentación respectiva?

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #9 (permalink)  
Antiguo 26/01/2014, 04:37
Avatar de jja
jja
 
Fecha de Ingreso: diciembre-2010
Ubicación: BCN
Mensajes: 47
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Descargar transcripción de videos de youtube

Hola jonni09lo,

Sí, lo he estado probando, y con ella he logrado buscar videos, recuperar informacion de los videos, comentarios, contador de visitas, etc. pero no los captions... Ademas que pone en el API que solo se pueden recuperar las transcripciones de los videos subidos por el usuario

Saludos
__________________
El supremo arte de la guerra es someter al enemigo sin luchar.

Sun Tzu
  #10 (permalink)  
Antiguo 26/01/2014, 10:01
Avatar de jja
jja
 
Fecha de Ingreso: diciembre-2010
Ubicación: BCN
Mensajes: 47
Antigüedad: 13 años, 3 meses
Puntos: 0
Pregunta Respuesta: Descargar transcripción de videos de youtube

He estado estudiando el código JAVA de la única aplicacion que me ha funcionado con todos los videos que he probado, en cualquier idioma, que es GOOGLE2SRT. Y he visto estas dos funciones donde parece que está la miga:

Código Java:
Ver original
  1. public static String getListURL(Method method, HashMap<String, String> otherparams) throws UnsupportedEncodingException {
  2.         String s;
  3.         switch (method) {
  4.             case Google:
  5.                 s = "http://video.google.com/videotranscript?frame=c&type=list&docid=" + otherparams.get("docid"); //+ id;
  6.                 System.out.println("(DEBUG) List URL: " + s);
  7.                 return s;
  8.             // Subtitles only (until v0.5.6)
  9.             //    s = "http://video.google.com/timedtext?type=list&v=" + id;
  10.             //    System.out.println("(DEBUG) Tracks list URL: " + s);
  11.             //    return s;
  12.             case YouTubeLegacy: // Subtitles and translations (from v0.6) using "legacy method"
  13.                 s = "http://video.google.com/timedtext?type=list&tlangs=1&v=" + otherparams.get("v");
  14.                 System.out.println("(DEBUG) Tracks with targets list URL (Legacy): " + s);
  15.                 return s;
  16.             case YouTubeSignature:
  17.                 /* ORIGINAL "Magic" URL example
  18.                 * http://www.youtube.com/api/timedtext?
  19.                 *      key=yttt1&
  20.                 *      hl=en_US&
  21.                 *      expire=1372005633&
  22.                 *      sparams=asr_langs,caps,v,expire&
  23.                 *      signature=4FE7A8E1FAAE338EAB840B58F3E05D1963F5550D.CE40D0149565FE4035DD4E914C144E864CE28302&
  24.                 *      caps=asr&
  25.                 *      v=L1hIAF5YvN0&
  26.                 *      asr_langs=ko,de,ja,pt,en,it,nl,es,ru,fr
  27.                 *
  28.                 * REQUIRED URL result
  29.                 * http://www.youtube.com/api/timedtext?
  30.                 *      key=yttt1&
  31.                 *      expire=1372005633&
  32.                 *      sparams=asr_langs,caps,v,expire&
  33.                 *      signature=4FE7A8E1FAAE338EAB840B58F3E05D1963F5550D.CE40D0149565FE4035DD4E914C144E864CE28302&
  34.                 *      caps=asr&
  35.                 *      v=L1hIAF5YvN0&
  36.                 *      asr_langs=ko,de,ja,pt,en,it,nl,es,ru,fr&
  37.                 *
  38.                 *      asrs=1&
  39.                 *      tlangs=1&
  40.                 *      type=list
  41.                 *
  42.                */        
  43.                 s = "https://www.youtube.com/api/timedtext" +
  44.                        "?key=" + otherparams.get("key") +
  45.                        "&expire=" + otherparams.get("expire") +
  46.                        "&sparams=" + otherparams.get("sparams") +
  47.                        "&signature=" + otherparams.get("signature") +
  48.                        "&caps=" + otherparams.get("caps") +
  49.                        "&v=" + otherparams.get("v") +
  50.                        "&asr_langs=" + otherparams.get("asr_langs") +                      
  51.                        "&asrs=1&type=list&tlangs=1";
  52.             System.out.println("(DEBUG) ASR/tracks with targets list URL (Signature): " + s);
  53.             return s;
  54.         }
  55.         return null;
  56.     }
  57.    
  58.     public static String getMagicURL(String YouTubeWebSource) throws UnsupportedEncodingException {
  59.         String result, s;
  60.         String[] strings;
  61.        
  62.         // "ttsurl": "http:\/\/www.youtube.com\/api\/timedtext?key=yttt1\u0026hl=en_US\u0026expire=1372005633\u0026sparams=asr_langs%2Ccaps%2Cv%2Cexpire\u0026signature=4FE7A8E1FAAE338EAB840B58F3E05D1963F5550D.CE40D0149565FE4035DD4E914C144E864CE28302\u0026caps=asr\u0026v=L1hIAF5YvN0\u0026asr_langs=ko%2Cde%2Cja%2Cpt%2Cen%2Cit%2Cnl%2Ces%2Cru%2Cfr",
  63.         strings = YouTubeWebSource.split("ttsurl");
  64.         s = strings[1];
  65.         strings = s.split(",");
  66.         s = strings[0];
  67.         strings = s.split("\"");
  68.         s = strings[2];
  69.        
  70.         s = s.replace("\\/", "/");
  71.         s = s.replace("\\u0026", "&");
  72.        
  73.         result = URLDecoder.decode(s, "UTF-8");
  74.        
  75.         return result;
  76.     }

Al parecer prueba varias técnicas para descargar los videos, con la misma URL base pero con distintos parámetros.

No acabo de entender exactamente como funciona, pero el caso es que la aplicacion tira bien, asi que el truco va a ser ese...
__________________
El supremo arte de la guerra es someter al enemigo sin luchar.

Sun Tzu

Etiquetas: videos, youtube
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:46.