Akamai Closed Captioning Fix
Reconocida empresa de medios digitales que desarrolla sistemas de gestión de contenidos, soluciones publicitarias y plataformas de vídeo en streaming diseñadas para empresas de difusión de noticias locales.
Todos los clientesEquipo dedicado
Nos aseguramos de entender exactamente cuál era el problema y asignamos al equipo los hackers hardcore profesionales adecuados que sabíamos que podían realizar este trabajo.
Más informaciónMedios de comunicación y entretenimiento
Los proyectos de Redwerk en el ámbito de los medios de comunicación y el entretenimiento contribuyen a mejorar y simplificar la gestión de la transmisión a la audiencia multimillonaria de los hogares estadounidenses.
Más informaciónDesafío
Casi todos los canales de televisión alojan vídeos en sus sitios web, por ejemplo, informativos de última hora que ofrecen a los visitantes de sus páginas un acceso rápido y cómodo a lo que ocurre en el mundo y en sus ciudades. Para preparar estos vídeos para el usuario, primero se cargan como archivos de vídeo a través del backend.
Sin embargo, el verdadero reto es la retransmisión en directo que suelen ofrecer los sitios web de los canales de televisión. Se captura directamente de la fuente de vídeo y se retransmite al navegador del visitante. En este caso concreto, los vídeos también tenían que contener subtítulos (CC).
Los subtítulos son un proceso que consiste en mostrar texto superpuesto al vídeo para proporcionar información adicional o interpretativa al espectador. Un uso típico de los subtítulos en la vida real es la transcripción en directo de la parte de audio de un programa, que también puede incluir ciertos elementos no verbales.
Esta tecnología no era compatible con la solución de streaming utilizada por Worldnow. Por lo tanto, Redwerk tuvo que crear una solución moderna y eficaz que permitiera mostrar los subtítulos junto con los archivos de vídeo transmitidos.
Solución
La tecnología utilizada por Worldnow para retransmitir y mostrar secuencias en directo en los sitios web de sus clientes fue proporcionada por Akamai Technologies, una red estadounidense especializada en la entrega de contenidos por Internet. Aunque se trata de una de las mayores plataformas informáticas distribuidas del mundo y actualmente sirve entre el 15 y el 20 por ciento de todo el tráfico web, la visualización de los subtítulos resultó ser un problema, ya que desaparecían en cuanto se cargaba en sus servidores una señal de vídeo que contenía datos CC. Nuestros expertos en software identificaron rápidamente el origen del problema: Flash media live encoder (FMLE) borraba todos los datos CC al codificar la señal de vídeo en AAC/H264.
Para hacer que esto funcionara de una manera que satisficiera a nuestro cliente y ofreciera una gran experiencia al usuario final, se identificaron dos posibles caminos para que nuestro equipo de proyecto los tomara:
1. Encontrar una solución a los problemas causados por el flujo de trabajo existente y FMLE
Durante el análisis de la solución existente, se detectaron las siguientes deficiencias de FMLE:
- No se pueden leer los datos de los subtítulos de la clavija de un dispositivo.
- No se pueden copiar secuencias sin modificarlas
- Los datos CC se borraron durante la codificación h264
- No hay opción de configuración disponible para remediar este comportamiento
- No hay solución de código abierto disponible para modificar esta información
2. Encontrar codificador(es) alternativo(s) capaz(s) de conservar los datos CC durante la codificación
Probamos varias soluciones de software de codificación, como Afritelly encoder, Wirecast y Sorenson Squeeze. Sin embargo, las cosas resultaron difíciles, ya que todos ellos tenían problemas similares con los datos CC o eran incompatibles con el streaming a Akamai. La razón era la conexión segura utilizada por Akamai, que está protegida por nombres de usuario y contraseñas.
Al final y tras muchas deliberaciones, el ganador fue… ffmpeg, que es un proyecto de código abierto con una configuración muy flexible y soporta toneladas de formatos para codificación y streaming. Sin embargo, para adaptar esta solución a nuestras necesidades, había que investigar mucho:
- Repetir el proceso de flujo de trabajo actual de streaming de vídeo y audio a Akamai a través de ffmpeg. Esto resultó ser un éxito, ya que la transmisión de ffmpeg a Akamai a través de autenticación básica funcionó sin problemas.
- Codificar los datos CC como un flujo en directo y enviar este flujo a Akamai a través de ffmpeg. Aquí, era importante asegurarse de que no se perdería ningún dato CC. En esta etapa, el desarrollo se vio obstaculizado debido a algunos errores en ffmpeg, que hicieron imposible implementar la funcionalidad tal y como se requería:
1. El programa es incapaz de leer correctamente los pines del dispositivo, por lo que no se pueden leer datos CC del mismo
2. FFmpeg borra los datos CC al codificar en H264, al igual que FMLE; incluso si podemos leer los subtítulos y codificarlos en el flujo de vídeo, ffmpeg seguirá borrando los datos CC durante la codificación.
Esto resultó ser un proyecto complejo, debido a las razones antes mencionadas, pero el final feliz llegó cuando descubrimos que si se omite el paso de la codificación de vídeo y se utiliza ffmpeg sólo para transmitir el flujo a Akamai, los datos CC no se eliminan.
Tras esta buena noticia, la tarea restante se simplificó mucho: encontrar la forma de codificar el vídeo a H264 sin perder los datos CC y subirlo a Akamai a través de ffmpeg. Para superar este último obstáculo, nos decidimos por el codificador MainConcept H264, que es capaz de utilizar secuencias de bytes de vídeo y CC como datos de entrada y producir una señal con los subtítulos codificados en la secuencia de vídeo (la llamada secuencia elemental).
Resultado
Los expertos de Redwerk tuvieron que pasar por un largo proceso de pruebas con un gran número de configuraciones diferentes para ffmpeg (¡utilizando también dos ffmpegs!) antes de lograr finalmente el objetivo del proyecto de enviar datos CC a Akamai y evitar la pérdida de dichos datos durante la codificación. Todos los contenidos transmitidos se muestran ahora correctamente a través de Flash Player (RTMP, streaming HDS) y también en iDevices (streaming HLS). El problema del cliente pudo resolverse de forma satisfactoria, ¡y ahora se garantiza una gran experiencia de vídeo para todos los usuarios finales!
¿Quieres complementar tu equipo local con hackers empedernidos?
ContactoTecnologías
¿Impresionado?
ContrátenosOtros casos prácticos
Adfectious
Desarrollo de un sistema de publicidad móvil inspirado en AdMob de Google y utilizado en medios de comunicación rumanos populares como meteoromania.ro
Gooroo
Desarrollo de una aplicación de tutoría electrónica para iOS con una clasificación de 5 estrellas en la App Store y el puesto nº 3 en Product Hunt