¿Cómo construir rápidamente un sistema completo de transmisión móvil en vivo?
Primero, el modelo de producción UGC de transmisión en vivo móvil es más obvio que el de transmisión en vivo por PC. Todo el mundo tiene un dispositivo para jugar en cualquier momento y en cualquier lugar, que cumple plenamente con los principios abiertos de la era de Internet y puede inspirar a más personas a crear y difundir contenido de alta calidad.
En segundo lugar, el ancho de banda y la velocidad de la red están mejorando gradualmente y los costos de la red están disminuyendo gradualmente, lo que proporciona un excelente entorno de desarrollo para la transmisión móvil en vivo. Texto, sonido, vídeo, juegos, etc. Se presentará en transmisión móvil en vivo para crear una experiencia de usuario más rica. La transmisión en vivo se puede conectar a su propia aplicación en forma de SDK. Por ejemplo, las tutorías extraescolares en el campo de la educación se pueden realizar en forma de transmisiones en vivo, y las empresas de comercio electrónico también pueden utilizar transmisiones en vivo para permitir a los usuarios seleccionar productos y promover las ventas.
Una vez más, una transmisión móvil en vivo combinada con tecnología VR/AR proporciona un nuevo espacio de desarrollo para el futuro de toda la industria. La transmisión en vivo de VR/AR puede sumergir a los usuarios en la escena, generar una interacción más cercana y real entre los presentadores y el público, y mejorar en gran medida la participación de los usuarios en la plataforma.
En la actualidad, los profesionales de Internet con solidez técnica y ventajas de tráfico no están dispuestos a perderse la transmisión en vivo. Cómo construir rápidamente un sistema de transmisión en vivo se ha convertido en una preocupación para todos. Quiero compartir mi experiencia contigo. Estoy involucrado en el desarrollo de un producto de transmisión en vivo. Para alcanzar el mercado rápidamente, no fabricamos todos nuestros productos nosotros mismos, sino que utilizamos el SDK de transmisión en vivo proporcionado por Quyun Service.
Todos los profesionales saben que un producto completo de transmisión en vivo debe incluir los siguientes enlaces: terminal de transmisión de medios (captura, preprocesamiento, codificación, transmisión de medios), procesamiento de servidor (transcodificación, grabación, capturas de pantalla, reconocimiento de pornografía), reproductor (streaming, decodificación, renderizado) y sistema de interacción (sala de chat, sistema de regalos, me gusta). A continuación, hablaré sobre el trabajo realizado por el SDK en vivo en varios aspectos.
1. ¿Qué trabajo debe hacer el extremo móvil de transmisión de medios en vivo?
El extremo de transmisión en vivo de los medios de transmisión, es decir, el extremo del ancla, recopila principalmente datos de video a través de la cámara del teléfono móvil y datos de audio a través del micrófono después de una serie de preprocesamiento, codificación y empaquetado. se envía a CDN para su distribución.
1. Adquisición
mobile live SDK recopila datos de audio y video directamente a través de la cámara y el micrófono del teléfono móvil. Entre ellos, los datos de muestreo de video generalmente adoptan el formato RGB o YUV, y los datos de muestreo de audio generalmente adoptan el formato PCM. La cantidad de audio y video originales recopilados es muy grande y debe procesarse mediante tecnología de compresión para mejorar la eficiencia de la transmisión.
2. Preprocesamiento
Este enlace trata principalmente de efectos como embellecimiento, marcas de agua y desenfoque. La función de belleza es casi una característica estándar de la transmisión en vivo. En nuestra investigación descubrimos que muchos casos fueron abandonados porque no tenían ninguna función cosmética. Además, el estado ha dejado claro que todas las transmisiones en vivo deben tener una marca de agua y reproducirse durante más de 15 días.
El embellecimiento es en realidad un algoritmo que identifica la parte de la piel en la imagen y ajusta el valor del color del área de la piel. Encuentre el área de la piel a través del contraste de color y podrá lograr el efecto de blanqueamiento ajustando el valor del color, agregando una capa blanca o ajustando la transparencia. En términos de procesamiento de belleza, GPUImage más famoso proporciona una gran cantidad de efectos y puede admitir iOS y Android al mismo tiempo. Admite su propio algoritmo para lograr su efecto más racional. GPUImage tiene incorporados 120 efectos de filtro de uso común. Se puede agregar un filtro con solo llamar unas pocas líneas de código.
3. Codificación
Para facilitar la inserción, extracción y almacenamiento de videos móviles, generalmente se utiliza tecnología de codificación y compresión de video para reducir el tamaño del video. La codificación de vídeo más utilizada hoy en día es H.264 en términos de audio, y el formato de codificación más utilizado es AAC. Otros como MP3 y WMA también son opciones. La codificación y compresión de vídeo mejoran enormemente la eficiencia del almacenamiento y la transmisión de vídeo. Por supuesto, el vídeo comprimido debe descodificarse durante la reproducción.
El estándar de códec H.265 nacido en 2012 ha sido muy mejorado en comparación con el anterior H.264. Se pueden reproducir vídeos de la misma calidad con sólo la mitad del ancho de banda original, y también se pueden transmitir vídeos de alta definición de 1080p en redes por debajo de 1,5Mbps. Alibaba Cloud y Kingsoft Cloud están promocionando su propia tecnología de códec H.265. Con el rápido desarrollo de la transmisión en vivo y su dependencia del ancho de banda, la tecnología de códec H.265 tiende a reemplazar completamente a H.264.
Diferencias técnicas entre los módulos H264 y H265:
Además, la codificación de hardware se ha convertido en la primera opción para las transmisiones móviles en vivo, y la tendencia a la codificación suave de videos por encima de 720p es muy obvia. En la plataforma iOS, la codificación de hardware tiene buena compatibilidad y se puede utilizar directamente. Sin embargo, en la plataforma Android, el rendimiento de los codificadores MediaCodec sigue siendo muy diferente para las diferentes plataformas de chips, y el costo de lograr la compatibilidad total de la plataforma sigue siendo muy alto.
4. Streaming
Para poder utilizarlos para streaming, los datos de audio y vídeo deben encapsularse y convertirse en datos de streaming a través de un protocolo de transporte. Los protocolos de transmisión de medios de uso común incluyen RTSP, RTMP, HLS, etc. La latencia de las transferencias RTMP suele ser de 1 a 3 segundos. RTMP también se ha convertido en el protocolo de transmisión de medios más utilizado en transmisiones móviles en vivo, que tiene requisitos de tiempo real muy altos. Finalmente, los datos de la transmisión de audio y video se envían a la red a través de un determinado algoritmo Qos y se distribuyen a través de CDN. En escenarios de transmisión en vivo, la inestabilidad de la red es muy común.
En este momento, Qos es necesario para garantizar la experiencia de los usuarios al ver transmisiones en vivo cuando la red es inestable. Los buffers generalmente se configuran en el extremo del ancla y en el extremo de la reproducción para igualar la velocidad del código. Además, la velocidad de bits dinámica y la velocidad de fotogramas también son las estrategias más utilizadas en condiciones de red cambiantes en tiempo real.
Por supuesto, en términos de transmisión de red, es básicamente poco realista hacerlo usted mismo. Encontrar un proveedor de servicios CDN que brinde soluciones es la mejor opción. Consulte el proveedor de servicios de video en la nube presentado al principio del artículo. Se entiende que Alibaba Cloud es el único fabricante en China que puede desarrollar de forma independiente servidores de caché CDN y su rendimiento está muy garantizado. Por supuesto, la mayoría de las plataformas de transmisión en vivo accederán a múltiples proveedores de servicios de video en la nube al mismo tiempo, de modo que las líneas de transmisión de medios puedan respaldarse entre sí. La optimización del clúster de video después de la transmisión también puede mejorar la fluidez y estabilidad de la transmisión en vivo.
2. ¿Qué trabajo debe hacer el servidor?
Para adaptarse a varios terminales y plataformas, el servidor también necesita transcodificar la transmisión, como admitir RTMP, HLS, FLV y otros formatos para extraer transmisiones, y admitir unidireccional a multicanal. Adaptación a terminales con diferentes redes y resoluciones.
1. Capturas de pantalla, grabaciones, marcas de agua
Los proveedores de servicios en la nube, como Alibaba Cloud, proporcionan tecnología de transcodificación en tiempo real para convertir las transmisiones push de los usuarios con altas velocidades de bits (como 720P). ) Streaming en tiempo real para baja definición (como 360P) para satisfacer las necesidades de los jugadores. Si desea crear su propio sistema de transcodificación en tiempo real, el costo es extremadamente alto. Un dispositivo de 8 núcleos sólo puede convertir 10 transmisiones en tiempo real. Si una plataforma de transmisión en vivo normal tiene 1000 transmisiones, requerirá 100 dispositivos, además de los costos posteriores de operación y mantenimiento, la mayoría de las empresas no pueden permitírselo.
2. Huang Jian
El 4 de abril de 2016, el Ministerio de Cultura descubrió que Douyu, Huya, YY, Panda TV, Liujianfang y 9158 eran sospechosos de proporcionar contenido que promueven la obscenidad, la violencia y las plataformas de transmisión en vivo en línea que instigan delitos están incluidas en la lista de investigación y castigo. La intervención del gobierno en la supervisión ayudará a la industria de la transmisión en vivo a crear una ecología saludable y entrar en un desarrollo saludable. Esto también significa que las transmisiones en vivo seguras deben identificar productos pornográficos, y el uso de medios técnicos para identificar productos pornográficos es una solución inevitable para las plataformas móviles de transmisión en vivo.
Existen en el mercado dos soluciones principales para proporcionar servicios de identificación amarilla. La primera es tomar una captura de pantalla del video, luego identificar la imagen amarilla y devolver el resultado del reconocimiento amarillo y la puntuación. Las empresas típicas incluyen Alibaba (Green Network), Atlas Technology, etc. Actualmente, todos admiten vídeo entrante directo y el servidor analiza los resultados. Por lo general, el sistema empresarial está conectado al servicio de identificación amarillo y controla la transmisión en vivo en función de los resultados de la identificación amarilla, como cortar la transmisión en vivo, bloquear cuentas, etc. El segundo es combinar CDN para analizar directamente la transmisión en vivo. Los resultados del reconocimiento se dividen en pornográficos, presuntamente pornográficos, sexys y normales. El sistema empresarial controla directamente la transmisión en vivo en función de los resultados del reconocimiento. Una empresa típica es Viscovery. La ventaja de esta solución es que puede garantizar el rendimiento en tiempo real, pero la desventaja es que debe implementarse en una CDN o en su propia sala de computadoras y el costo de uso es relativamente alto.
También existen proveedores integrales de soluciones de transmisión en vivo, como Qupai Cloud Service. Su enfoque es que siempre que los usuarios configuren el servicio de identificación amarillo en la consola, puedan realizar auditorías en tiempo real de cada aplicación y cada transmisión en vivo. En la consola, el servicio en la nube QuVideo devolverá resultados de identificación de pornografía en tiempo real. Los usuarios pueden ver directamente capturas de pantalla pornográficas en vivo e interfaces ilegales, controlar la transmisión en vivo al mismo tiempo y cortar transmisiones en vivo problemáticas. El proveedor de servicios también proporciona funciones de SMS, correo electrónico y correo electrónico en el sitio para evitar perder videos ilegales y causar pérdidas a la plataforma, por lo que adoptamos este método.
3. ¿Qué tareas deben realizar los jugadores?
Cómo habilitar segundos en el lado del reproductor para garantizar imágenes y sonidos claros durante la transmisión en vivo, mientras se estabiliza, procesa y no bloquea el tráfico de transmisión en vivo. Estas tareas requieren que el lado del jugador coopere con el lado del servidor. para la optimización para lograr precisión.
1. Flujo de extracción
El flujo de extracción es en realidad el proceso inverso al flujo de inserción. Primero, obtenga el flujo de código a través del reproductor. Los formatos de transmisión estándar incluyen RTMP, HLS, FLV, etc. RTMP es el protocolo propietario de Adobe y cuenta con el respaldo de software y bibliotecas de código abierto. Por ejemplo, la biblioteca librtmp de código abierto puede reproducir transmisiones en vivo RTMP de manera muy simple siempre que el reproductor admita flashPlayer. El retraso de la transmisión en vivo es generalmente de 1 a 3 segundos. HLS es un protocolo de transmisión de medios basado en HTTP propuesto por Apple. HTML5 se puede reproducir directamente y compartir a través de software como WeChat y QQ. Los usuarios también pueden ver la transmisión en vivo directamente. Se puede decir que la aplicación móvil de transmisión en vivo y el protocolo de transmisión HLS deben ser compatibles, pero la desventaja es que el retraso suele ser superior a 10 segundos. El protocolo FLV (HTTP-FLV) es un protocolo que utiliza el protocolo HTTP para transmitir contenido multimedia en tiempo real. No hay necesidad de preocuparse por ser secuestrado por las patentes de Adobe. El retraso de la transmisión en vivo también puede alcanzar 1_3 segundos.
Diferencias entre los diferentes protocolos de proceso de extracción:
La tecnología de transmisión en vivo del servicio Qu Video Cloud que utilizamos proporciona los tres formatos anteriores para satisfacer las necesidades de diferentes escenarios comerciales. Por ejemplo, si existen altos requisitos de inmediatez o interactividad, se pueden utilizar los formatos RTMP o FLV para la transmisión en vivo. Para necesidades de reproducción o multiplataforma, se recomienda HLS. Por supuesto, los tres protocolos se pueden utilizar al mismo tiempo, simplemente utilizando sus respectivos escenarios.
2. Decodificación y renderizado
Después de extraer la transmisión para obtener los datos de video encapsulados, el decodificador debe decodificarlo y renderizarlo antes de poder reproducirlo en el reproductor. Es el proceso inverso de la codificación, que se refiere a extraer datos originales de datos de audio y video.
Los formatos de codificación H.264 y H.265 introducidos anteriormente tienen compresión con pérdida, por lo que los datos originales extraídos no son los datos originales muestreados y hay una cierta pérdida de información. Por lo tanto, mantener la mejor imagen original a través de varios parámetros de codificación y al mismo tiempo minimizar la cantidad de video se ha convertido en el secreto central de las empresas de video.
Teniendo en cuenta la compatibilidad con la alta definición, la decodificación física es definitivamente la opción de decodificación. Como se mencionó anteriormente, el hardware del sistema iOS es relativamente simple y cerrado, y el soporte es relativamente bueno. Debido a las enormes diferencias entre plataformas, todavía queda mucho trabajo por hacer para que el códec sea totalmente compatible con todas las plataformas.
En cuarto lugar, el sistema interactivo en la transmisión móvil en vivo
Las interacciones más comunes en la transmisión móvil en vivo son salas de chat (aluvión), me gusta, recompensas y obsequios, etc. El sistema interactivo implica la interactividad y el tiempo real de los mensajes. En términos de implementación técnica, se realiza principalmente mediante el uso de la función de mensajería instantánea. En una sala con mucha gente en línea, habrá una gran cantidad de mensajes de bombardeo, que ni el anfitrión ni los usuarios podrán ver. Para reducir la presión sobre el servidor, es necesario realizar algunas optimizaciones necesarias en la estrategia del producto.
1. Sala de chat
La interacción de bombardeo en la transmisión en vivo móvil es el principal método de interacción entre los usuarios y los presentadores. En realidad, es la función de la sala de chat en la mensajería instantánea. Las salas de chat tienen funciones similares a los chats grupales, excepto que no es necesario distribuir los mensajes de la sala de chat a los usuarios fuera de línea y no es necesario ver los mensajes históricos. Después de ingresar a la sala de chat, los usuarios solo pueden ver los mensajes del chat y la información de los miembros del grupo. Ante condiciones de red complejas y en constante cambio, también es necesario seleccionar la sala de computadoras de línea única más cercana del operador correspondiente en función de la ubicación del usuario para acceder al servicio de mensajería de bombardeo para que el bombardeo sea más oportuno.
2. Sistema de regalos
El sistema de regalos es estándar para la mayoría de las plataformas móviles de transmisión en vivo y es la principal fuente de ingresos de estas plataformas. La forma de dar obsequios también mejora la interacción entre los usuarios y los presentadores, que también es la razón principal por la que los presentadores confían en la plataforma.
El envío y recepción de regalos también se realiza mediante la interfaz de la sala de chat, normalmente mediante mensajes personalizados en mensajería instantánea. Cuando los usuarios reciben o envían un regalo, se les presenta un gráfico de regalo que corresponde a un mensaje personalizado.
Lo anterior es nuestra experiencia con productos de transmisión en vivo después de utilizar servicios SDK de terceros. Esperamos que sea útil para empresarios y profesionales.