The Tech Club 01: Miniencuesta sobre el reproductor de video, y por qué no está Amphibia en Latino

¡Hola!

Muchos de ustedes han visto que en los últimos meses hemos probado un nuevo reproductor de video, y pues queremos ver si te funciona mejor o no. Si viniste solo por la encuesta, puedes votar y si deseas comentar tu experiencia en los comentarios, estaría genial. Según esto, tomaremos decisiones para el nuevo diseño en 2022.

De los dos players, ¿cuál prefieres?

  • TOC1 el original (usado en theowlclub.net, hecho a mano por Looper) (49%, 3.479 Votos)
  • TOC2 el nuevo (usado en la T3 de Amphibia y la web de Molly) (10%, 716 Votos)
  • ¡Ambos me van bien! (40%, 2.784 Votos)
  • Ninguno me gusta o me funciona bien (detallo más en comentarios) (1%, 60 Votos)

Votantes totales: 7.039

Cargando ... Cargando ...

Si quieres curiosear los detalles técnicos, continúa leyendo.


¡Hola de nuevo! Este es el primer post en el proyecto de TOC que está orientado a cosas más técnicas, de ahí el nombre The Tech Club y ahora les comentaremos qué estuvimos haciendo tras bambalinas en estos meses.

Cómo servimos video a miles de usuarios

En nuestro caso, al contrario que en otros, mantenemos varios de los servidores con los que el usuario final tiene contacto (no usamos proxys o storage de terceros, como ejemplo). Aunque eso se ve bonito y tiene un buen rendimiento, como desventaja principal se tiene los costos y el trabajo adicional (aunque, gracias a ustedes mediante las donaciones y los aportes al proyecto, ¡estamos saludables!)

Al empezar, nunca pensé que The Owl Club llegue a ser lo que es ahora, y pues se han tomado decisiones técnicas algo cuestionables. Por ejemplo: preparé mi propio reproductor web (sumando video.js, varios plugins y algo de javascript) y armé a mano el ensamblado del video (HLS y el pipeline de codificado con ffmpeg).

No se suele hacer esto: cuando armas algo nuevo en programación, no solo necesitas saber armarlo sino mantenerlo vivo, cuidarlo y repararlo. Por eso la mayoría de cosas nuevas se hace reutilizando algo que ya existe: de esa manera, si algo no sale bien, puedes lanzar la carga a otra persona xd.

Bueno, pues ahora me toca cuidar mi pequeña obra de arte. Cuando tienes 100 visitas por día pues todo anda bien: un 5% de los visitantes (5 personas) pueden tener alguna configuración rara y yo debería trabajar más para solucionar sus problemas. Pero cuando te llegan 1000 visitas por día (50 personas con problemas), 10000 visitas por día (500 personas con problemas)…, bueno, ya ven.

Primero, solo acomodé la web para escritorio (1366×768, ya que no tenía mejor hardware). Los visitantes con pantallas Full HD y los de móviles (más del 50%, auch) verían cosas fuera de lugar.
Lo de las tabletas y tabléfonos es perdonable, no tengo ninguna para probar.

Pero, ¿quién iba a pensar que personas verían TOC en consolas, navegadores de coche, wearables o reproductores de TV? De seguro muchos de ellos tuvieron experiencias extrañas, y pues una disculpa por eso. No sabía que había tanta variedad.

En cuántos problemas estoy metido

Uno de los dispositivos con los que tengo más líos es con cosas de Apple. Los iPhones no soportan las HTML5 MSE (algo que TOC usa mucho) y pues eso me dio problemas. Como ahora casi la mitad de visitantes de TOC viene del fandom internacional, ese es un problema grave.

Como cherry en la torta, pues la experiencia de usuario no es de lo mejor. No pensé mucho en eso, pero cuando Tubbo (streamer con 5M de seguidores en Twitch) abrió la web y quedó confundido, pues ahí vi que la web puede llegar a ser algo compleja.
El visitante que llega recién, ¿a dónde debe ir? La web le muestra los últimos episodios, pero eso es para los que están al día con la serie. ¿O quizás ya se vio la primera temporada, pero no la segunda?
¿Cuando entra a un episodio, por qué solo aparece algo negro? ¿Había que presionar uno de esos cuadros? ¿Cómo se puede listar todos los episodios?

Usualmente suelo ignorar esas cosas diciendo que son pequeñas, pero hice lo mismo con los subtítulos en inglés («casi nadie los debe usar, supongo») y resulta que gente que aprende inglés y personas con problemas de audición los utilizan. Oops.

Bueno, con un poco de suerte estaremos resolviendo varios de esos problemas en el transcurso de estos meses. Aunque TOC es un equipo, al momento solo yo ando manteniendo estas cosas, asi que si eres alguien que sabe de esto y quieres al menos darme unos consejos, déjame un mail a looper [@] theowlclub.net y estaré muy agradecido por eso.

Nuevo reproductor

Estuve haciendo pruebas con TOC2 (PeerTube), el nuevo reproductor que otra gente mantiene que me aligerará la carga. Codifica los videos solito (bueno, tuve que agregarle mi receta secreta) y más gente lo puede usar sin saber programar. Hice algunas pruebas con los estrenos de TOC, fracasó estrepitosamente por la gente que se le echó encima, y estuve invirtiendo meses para hacerlo algo más resistente. Aunque aparatos con Apple funcionaron mejor, con este sistema hubieron dos cosas que no me gustaron:

  • No hay soporte multiaudio y para tener eps. en latino o en más doblajes, debemos duplicar el video. Esto multiplica nuestros costos de almacenamiento, incrementa el tráfico (caro) dentro el CDN y en el datacenter (que tienen una conexión lentísima), y gasta CPU.
  • No es realmente automatizable. El Teniente ya no puede subir el ep a las 3 AM.

Los episodios de Amphibia en latino, y los subtítulos en inglés quedaron atrapados en esta transición: no me animo a preparar 36 episodios para un sistema si al final debo descartar mi trabajo y volver a preparar las cosas. El resto del trabajo (subtítulos en español, etc) es igual de incómodo de hacer, pero no podemos no hacerlo y debemos prepararlo todo a mano.

He intentado automatizar esto, pero se ve que la API interna de TOC2 no es estable y no me siento cómodo trabajando ahí, además de negociar demasiadas cosas (tokens, etc) lo que dificulta la tarea.

Por eso hago el post. Quiero ver a qué reproductor le voy a dedicar lo que queda de mi sanidad mental, para así descartar el otro para siempre, y además, saber si tienen un problema que yo deba tomar en cuenta.