AtresMedia HTML5 player

HTML5 player for AtresPlayer.com, avoiding the Flash Player plugin and sundry advertisements. Adds a download button.

< Valutazione su AtresMedia HTML5 player

Recensione: Bene - lo script funziona

§
Pubblicato: 13/04/2016
Modificato: 13/04/2016

Atresplayer HTML5 - Subtitulos

¿Se podría añadir la opción de subtitulos? Aunque sólo fuese para descarga vendría bien.

SwyterAutore
§
Pubblicato: 13/04/2016

Le he estado echando un vistazo y por ahora el tema de subtítulos en reproductores HTML5 es algo complicado, los de la página utilizan SRT, y los reproductores de los navegadores sólo admiten WebVTT.

Entiendo perfectamente que la versión en Flash tenga soporte para personas con problemas auditivos y para los que aprenden el idioma. Y es algo que respeto y me parece necesario, no mucha gente piensa en la accesibilidad.

Creo que puedo poner un botón para descargar el archivo SRT. Por lo que si te bajas el vídeo o abres su dirección en un programa como VLC junto a los subtítulos tienes un buen método para ver programas.

¿Te vale con eso? Lo siento mucho, pero esto es un hobby para mí. No me pidas hacer un conversor de SRT a WebVTT, al menos no por el momento.

SwyterAutore
§
Pubblicato: 13/04/2016
Modificato: 13/04/2016

Vale. Ya está, ahora debería aparecer un botón llamado Subt. al final de la botonera.

Ah. Y hay muchos vídeos que vienen sin subtítulos, por lo que en vez de descargarte el archivo te mandará a una página 404 diciéndote que el recurso no existe.

No pasa nada, es de esperar.

De nada.

§
Pubblicato: 14/04/2016

Quizás esto pueda ayudar: https://github.com/thomassturm/VideoSub

SwyterAutore
§
Pubblicato: 14/04/2016

Ya le había echado un vistazo hace algún tiempo para otra historia. Pero sí, puede servir. La alternativa sería bajarse el SRT por XHR, pasarle un regex con unos pequeños cambios para convertirlo en WebVTT y pegarlo en una etiqueta track como un blob.

Hay muchas formas de hacerlo, pero ninguna de ellas es fácil ni limpia. Todo se complica innecesariamente. No me gusta añadir dependencias.

SwyterAutore
§
Pubblicato: 14/04/2016

Lo que leéis arriba es lo que hice. En una línea se pueden convertir los subtítulos al formato que usan los reproductores HTML5 y va que chuta. Se siguen pudiendo descargar de forma independiente.

He añadido otro botón para conmutar la opción. Ale, a pasarlo bien.

§
Pubblicato: 14/04/2016

Error: script: (E015) Unclosed regular expression on line: 46 at character: 20

Te faltaron los símbolos de apertura y cierre { y } al declarar la nueva función insertButton.

SwyterAutore
§
Pubblicato: 14/04/2016

A mi me va. Los corchetes delimitan un bloque, pero mi función solo tiene una línea, el problema tiene pinta de estar en otro sitio. ¿Me pasas la URL que te da el problema?

§
Pubblicato: 14/04/2016
Modificato: 14/04/2016

No, no. En este caso, los corchetes declaran la función.

Las líneas 36 y 37

  function insertButton(bt_text, bt_option)
    document.querySelector(".mod_producto_social > div > div > p").insertAdjacentHTML(

deberían ser

  function insertButton(bt_text, bt_option) {
    document.querySelector(".mod_producto_social > div > div > p").insertAdjacentHTML(

Asimismo, en línea 47 se debe cerrar el corchete.

SwyterAutore
§
Pubblicato: 14/04/2016

Ah sí. ¿Y esto que es, magia?

§
Pubblicato: 14/04/2016

No pretendo crear una discusión, pero eso no es magia, es permisividad. Que en alguna ocasión se permita no quiere decie que sea correcto en cualquier caso. Este es el estándar: http://www.ecma-international.org/ecma-262/6.0/#sec-function-definitions

A mí me da error en cualquier enlace. Por ejemplo este: http://www.atresplayer.com/television/programas/salvados/temporada-11/capitulo-17-mariano-rajoy-una-hora-moncloa_2016040100475.html

La solución al error fue simplemente colocar los corchetes correspondientes, tal y como he indicado.

El texto completo del error es el siguiente:

VM1603:53 Syntax error @ "AtresMedia HTML5 player"!
##########################
JSHINT output:
script: (W004) 'b' is already defined on line: 28 at character: 41
script: (W033) Missing semicolon on line: 28 at character: 115
script: (W033) Missing semicolon on line: 28 at character: 152
script: (W004) 'd' is already defined on line: 28 at character: 167
script: (W033) Missing semicolon on line: 28 at character: 210
script: (W004) 'e' is already defined on line: 28 at character: 229
script: (W033) Missing semicolon on line: 28 at character: 265
script: (W004) 'f' is already defined on line: 28 at character: 286
script: (W033) Missing semicolon on line: 28 at character: 320
script: (W004) 'g' is already defined on line: 28 at character: 343
script: (W033) Missing semicolon on line: 28 at character: 372
script: (W004) 'h' is already defined on line: 28 at character: 397
script: (W033) Missing semicolon on line: 28 at character: 427
script: (W030) Expected an assignment or function call and instead saw an expression on line: 28 at character: 483
script: (W004) 'i' is already defined on line: 28 at character: 492
script: (W030) Expected an assignment or function call and instead saw an expression on line: 28 at character: 2790
script: (W033) Missing semicolon on line: 28 at character: 2807
script: (W033) Missing semicolon on line: 28 at character: 2911
script: (W033) Missing semicolon on line: 28 at character: 3067
script: (W033) Missing semicolon on line: 28 at character: 3110
script: (W030) Expected an assignment or function call and instead saw an expression on line: 28 at character: 3261
script: (W033) Missing semicolon on line: 28 at character: 3326
script: (W030) Expected an assignment or function call and instead saw an expression on line: 28 at character: 3452
script: (W033) Missing semicolon on line: 28 at character: 3462
script: (W033) Missing semicolon on line: 28 at character: 3515
script: (W033) Missing semicolon on line: 28 at character: 3544
script: (W033) Missing semicolon on line: 28 at character: 3573
script: (W033) Missing semicolon on line: 28 at character: 3609
script: (W033) Missing semicolon on line: 28 at character: 3642
script: (W033) Missing semicolon on line: 28 at character: 3697
script: (W033) Missing semicolon on line: 28 at character: 3762
script: (W030) Expected an assignment or function call and instead saw an expression on line: 28 at character: 3771
script: (W033) Missing semicolon on line: 28 at character: 3772
script: (W030) Expected an assignment or function call and instead saw an expression on line: 28 at character: 3778
script: (W118) 'function closure expressions' is only available in Mozilla JavaScript extensions (use moz option) on line: 36 at character: 43
script: (E024) Unexpected '`' on line: 38 at character: 19
script: (E030) Expected an identifier and instead saw '<' on line: 39 at character: 22
script: (W116) Expected ')' and instead saw 'input' on line: 39 at character: 23
script: (E024) Unexpected '`' on line: 39 at character: 29
script: (W033) Missing semicolon on line: 40 at character: 44
script: (W033) Missing semicolon on line: 41 at character: 76
script: (E024) Unexpected '`' on line: 44 at character: 22
script: (E015) Unclosed regular expression on line: 45 at character: 20
script: (E041) Unrecoverable syntax error. (27% scanned) on line: 45 at character: 20
##########################

SyntaxError: Unexpected identifier
    at u (eval at <anonymous> (unknown source), <anonymous>:52:286)
    at F (eval at <anonymous> (unknown source), <anonymous>:52:350)
    at Object.Pa.create (eval at <anonymous> (unknown source), <anonymous>:61:195)
    at z (eval at <anonymous> (unknown source), <anonymous>:13:184)
    at Object.K.run (eval at <anonymous> (unknown source), <anonymous>:13:298)
    at eval (eval at <anonymous> (unknown source), <anonymous>:62:33)
    at Array.forEach (native)
    at eval (eval at <anonymous> (unknown source), <anonymous>:62:11)
    at eval (eval at <anonymous> (unknown source), <anonymous>:62:43)
    at TM_back (eval at <anonymous> (unknown source), <anonymous>:63:3)
§
Pubblicato: 14/04/2016

Creo que está aclarado.

'function closure expressions' is only available in Mozilla JavaScript extensions

SwyterAutore
§
Pubblicato: 14/04/2016

Explícame cómo es que te da error utilizando Firefox. No lo entiendo.

§
Pubblicato: 14/04/2016

En ningún momento he dicho que utilice Firefox.

SwyterAutore
§
Pubblicato: 14/04/2016

No hace falta, lo pone al lado de tu nombre. Y utilizar scripts de usuario en Chrome es puro masoquismo para desarrolladores y usuarios.

Voy a marcarlo como sólo para Firefox, no tengo otro navegador para probar, y otros gestores de extensiones se pueden quejar por mil cosas.

Prefiero una sintaxis limpia.

§
Pubblicato: 14/04/2016

¿Por no poner dos corchetes? Bueno, es tu decisión.

Ruego me indiques bajo qué licencia aportas este código, para ver las posibilidades de adaptarlo a mis preferencias.

PD: no confíes en las imágenes junto al nombre de usuario.

SwyterAutore
§
Pubblicato: 14/04/2016

Na, es broma. Carlos es el que me ha pedido la función y (parece que) usa Chrome.
Ya hay que ser para cambiar el agente de usuario a propósito.

§
Pubblicato: 14/04/2016

Tampoco he dicho que lo he cambiado a propósito.
Todos los scripts los pruebo con dos navegadores, y tengo abiertos ambos.

Aunque mi preferencia es Firefox, acepto que la mucha gente usa Chrome.
Opera y Safari ya son básicamente similares al Chrome.
Los de Microsoft no respetan casi nada con su IE, por lo que ni me molesto. El Edge nunca lo he usado. Y el resto ya no debe sumar ni un 1%.

Lo mejor es dar servicio al mayor número de usuarios.
Pero si cumples con Firefox y Chrome, cumples con la amplia mayoría.
Por eso me molesto en probar las cosas con ambos.

Esto se nos ha ido ***MUY*** OFFTOPIC.

De todos modos, me interesa igualmente conocer la licencia.

SwyterAutore
§
Pubblicato: 14/04/2016

No tiene, es software propietario. ¿Qué prefieres, puro MIT, BSD capitalista o eres más de Richard Stallman?

Y yo no me preocuparía por irte por las ramas. El asunto ya está resuelto, y de forma muy elegante. Voy a exponer mi código o algo.

Una bonita línea hace más que toda la biblioteca hipster que me has puesto arriba.

§
Pubblicato: 14/04/2016

No tiene, es software propietario. ¿Qué prefieres, puro MIT, BSD capitalista o eres más de Richard Stallman?

Me resulta indiferente, con tal de saber si legalmente puedo editar y redistribuir la nueva versión; y bajo qué condiciones.

SwyterAutore
§
Pubblicato: 14/04/2016

Por eso te estoy preguntando. Y no, de momento no quiero competencia.

§
Pubblicato: 14/04/2016

Lo entiendo y lo respeto. Es un gran script.

SwyterAutore
§
Pubblicato: 14/04/2016

Y porque no has visto el resto, tengo un montón. :hushed:

No, en serio, te estoy tomando el pelo. Se me hace raro ver a un desarrollador patrio por aquí que me ponga la salida del JSHint. Me caes bien.

Lo he cambiado a GNU/GPL para aumentar la sinergia y 'compartición' mutua.

A ver que haces con él.

§
Pubblicato: 28/04/2016

Ostras, eres el amo. Lo digo en serio.

No tengo ninguna discapacidad, pero creo que alguien lo puede necesitar y era una opción que no la contemplan ni ellos mismo.

De verdad muchas gracias.

§
Pubblicato: 07/02/2018
Modificato: 07/02/2018

¿Se podría añadir la opción de subtitulos? Aunque sólo fuese para descargaratresplayer.com vendría bien.

Y como sería esta opción, estoy buscando algo con estas funcionalidades.

§
Pubblicato: 08/02/2018
Modificato: 08/02/2018

Acabo de toparme con esta web. No tengo ni idea de cómo encontrar el script para añadir estas funcionalidades (subtítulos) para la web de Atrasplayer a fin de poder descargar subtítulos. Debéis disculpar mi torpeza. Gracias por vuestro excelente trabajo.

Editado: ¡Finalmente he encontrado el script! Muchas gracias, Swyter. No sale el botón de descargar pero como mínimo permite la activación de subtítulos.

§
Pubblicato: 25/04/2018

Hola, parece que la web de Atresplayer ha experimentado cambios ya que no me aparece ninguna funcionalidad. No hay manera de activar subtítulos. Hasta tres semanas pude disfrutar de la serie Cuerpo de Élite.

Estaría eternamente agradecida si encuentras un pequeño espacio en tu agenda para resolver esta incidencia.

Gracias.

Pubblica risposta

Accedi per pubblicare una risposta.