Red de conocimiento informático - Material del sitio web - ¿Cómo construir rápidamente un sistema completo de transmisión móvil en vivo?

¿Cómo construir rápidamente un sistema completo de transmisión móvil en vivo?

La popularidad de la industria de transmisión móvil en vivo continuará durante mucho tiempo a través de la integración con varias industrias, se convertirá en una industria con posibilidades ilimitadas. Las razones principales son las siguientes:

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. Todos tienen un dispositivo y pueden transmitir en vivo en cualquier momento y en cualquier lugar, lo cual está completamente disponible. en consonancia con el principio de apertura de la era de Internet, puede estimular a más personas a crear y difundir contenidos de alta calidad.

En segundo lugar, el ancho de banda y la velocidad de la red están aumentando gradualmente y los costos de la red están disminuyendo gradualmente, lo que proporciona un buen entorno de desarrollo para la transmisión móvil en vivo. Texto, sonido, vídeo, juegos, etc. se presentarán en transmisiones móviles en vivo, creando una experiencia de usuario más rica. Las transmisiones en vivo se pueden integrar en sus propias aplicaciones en forma de SDK. Por ejemplo, la tutoría extracurricular en el campo de la educación se puede realizar en forma de transmisiones en vivo. El comercio electrónico también puede utilizar transmisiones en vivo para permitir a los usuarios seleccionar productos y. promover las ventas.

En tercer lugar, la transmisión móvil en vivo combinada con la 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 el presentador y la audiencia y mejorar en gran medida la participación de los usuarios en la plataforma.

Hoy en día, 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. Me gustaría compartir mi experiencia con ustedes. Soy un desarrollador dedicado a productos de transmisión en vivo. Para alcanzar rápidamente el mercado, no fabricamos completamente nuestros productos nosotros mismos, sino que utilizamos el servicio SDK de transmisión en vivo proporcionado por Qupai Cloud.

Todos los profesionales saben que un producto completo de transmisión en vivo debe incluir los siguientes enlaces: final de la transmisión (captura, preprocesamiento, codificación, transmisión), procesamiento del lado del servidor (transcodificación, grabación, capturas de pantalla, recopilación de evidencia), reproductor (streaming, decodificación, renderizado), sistema interactivo (sala de chat, sistema de regalos, me gusta). A continuación hablaré sobre lo que hace el SDK de transmisión en vivo en cada parte.

1. ¿Qué trabajo debe realizar el terminal push de transmisión en vivo móvil?

El extremo de la transmisión en vivo es el extremo del ancla, que 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 encapsulación, luego se envían a CDN. para distribución.

1. Colección

El SDK de transmisión en vivo móvil recopila directamente datos de audio y video a través de la cámara y el micrófono del teléfono móvil. Entre ellos, los datos de muestreo de video suelen estar en formato RGB o YUV, y los datos de muestreo de audio suelen estar en formato PCM. El tamaño del audio y video sin procesar capturados es muy grande y debe procesarse mediante tecnología de compresión para mejorar la eficiencia de la transmisión.

2. Preprocesamiento

Esta parte trata principalmente de efectos como belleza, marca 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 había demasiados casos de aplicaciones abandonadas por falta de funciones de belleza. Además, el estado ha dejado en claro que todas las transmisiones en vivo deben tener marcas de agua y las repeticiones deben conservarse durante más de 15 días.

El embellecimiento es en realidad un algoritmo que identifica partes de la piel en una imagen y ajusta los valores de color de las áreas de la piel. Las áreas de la piel se encuentran mediante la comparación de colores y se pueden blanquear ajustando los valores de 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 especiales y es compatible con iOS y Android al mismo tiempo. Admite la escritura de sus propios algoritmos para lograr sus propios efectos más razonables. GPUImage tiene integrados más de 120 efectos de filtro de uso común. Agregar un filtro solo requiere 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. ahora se usa más comúnmente es H.264. En términos de audio, el formato de codificación más utilizado es la codificación AAC, y otras opciones como MP3 y WMA también son opciones. La codificación y compresión de vídeo han mejorado enormemente la eficiencia del almacenamiento y la transmisión de vídeo. Por supuesto, el vídeo comprimido debe decodificarse antes de poder reproducirse.

En comparación con el H.264 anterior, el estándar de códec H.265, que nació en 2012, se ha mejorado enormemente. La reproducción de vídeos de la misma calidad solo requiere la mitad del ancho de banda original y puede permitir vídeos. inferior a Una red de 1,5 Mbps transmite vídeo HD de 1080p. 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 por hardware se ha convertido en la solución preferida para transmisiones móviles en vivo, y la disminución de la codificación por software para manejar videos por encima de 720p es muy obvio. La codificación de hardware tiene una compatibilidad relativamente buena en la plataforma iOS y se puede usar directamente. Sin embargo, en la plataforma Android, las diferencias de rendimiento del codificador MediaCodec para diferentes plataformas de chip siguen siendo muy diferentes y el costo de lograr la compatibilidad total con la plataforma completa sigue siendo alto. .

4. Transmisión push

Para utilizar la transmisión push, los datos de audio y video deben encapsularse utilizando el protocolo de transmisión y convertirse en datos de transmisión. Los protocolos de transmisión más utilizados incluyen RTSP, RTMP, HLS, etc. El retraso de transmisión de RTMP suele ser de 1 a 3 segundos. Para este escenario con requisitos de tiempo real extremadamente altos, RTMP se ha convertido en el protocolo de transmisión de medios más utilizado en transmisiones móviles en vivo. Finalmente, a través de un determinado algoritmo Qos, los datos de la transmisión de audio y video se envían a la red desconectada y se distribuyen a través de CDN. En escenarios de transmisión en vivo, la inestabilidad de la red es muy común, lo que requiere que Qos garantice la experiencia de los usuarios al ver transmisiones en vivo cuando la red es inestable. El almacenamiento en caché generalmente se configura en el lado del ancla y en el lado del reproductor para unificar la velocidad del código. Además, la tasa de bits dinámica y la velocidad de fotogramas también son las estrategias más utilizadas para las condiciones cambiantes de la red 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 servicios de transmisión para brindar soluciones es la mejor opción. Puede consultar el artículo. El proveedor de servicios de vídeo en la nube presentó al principio. Se entiende que Alibaba Cloud es el único fabricante nacional que puede desarrollar su propio servidor 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 para atraer tráfico puedan prepararse mutuamente. La optimización del grupo de video para impulsar el tráfico también puede mejorar la fluidez y estabilidad de la transmisión en vivo.

En segundo lugar, ¿qué trabajo se requiere para el procesamiento del lado del servidor?

Para adaptarse a varios terminales y plataformas, el servidor también necesita transcodificar la transmisión, como admitir la transmisión en RTMP, HLS, FLV y otros formatos, y admitir la transmisión multidireccional para adaptarse a diferentes redes y resoluciones de equipos terminales.

1. Capturas de pantalla, grabaciones, marcas de agua

Aliyun y otros proveedores de servicios proporcionan tecnología de transcodificación en tiempo real. Los usuarios pueden enviar transmisiones con velocidades de bits más altas (como 720P) a velocidades de bits más altas. Transmisiones en tiempo real de baja definición (como 360P) para satisfacer las necesidades del final de la reproducción. Si desea crear su propio sistema de transcodificación en tiempo real, el costo es extremadamente alto. Un dispositivo de 8 núcleos solo puede convertir 10 transmisiones en tiempo real. Si una plataforma de transmisión en vivo normal tiene 1000 transmisiones, se necesitarán 100 dispositivos más. los costos posteriores de operación y mantenimiento, la mayoría de las empresas simplemente no pueden permitírselo.

2. Identificación de pornografía

El 14 de abril de 2016, el Ministerio de Cultura descubrió que Douyu, Huya, YY, Panda TV, Liujianfang, 9158, etc. Proporcionar pornografía que promueva la obscenidad. Plataformas de transmisión en vivo en línea con contenido que contenga contenido, violencia e instigación a delitos se han incluido en la lista de investigación. La intervención y el control del gobierno ayudarán 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 para garantizar que la identificación pornográfica de productos de transmisión en vivo se haya convertido en un paso necesario, el uso de medios técnicos para identificar pornografía es una solución inevitable para las plataformas móviles de transmisión en vivo.

Actualmente existen dos tipos de programas en el mercado que brindan servicios de detección de pornografía. Uno es tomar capturas de pantalla de videos, luego detectar pornografía en las imágenes, devolver los resultados de la detección de pornografía y calificarlos. Las empresas típicas incluyen Alibaba (Green Network), Tuyou Technology, etc. Actualmente admiten la entrada de video directa y devuelven resultados después del análisis del lado del servidor.

Por lo general, el sistema empresarial está conectado al servicio de identificación pornográfica y la transmisión en vivo se controla en función de los resultados de la identificación pornográfica, como cortar la transmisión en vivo, prohibir cuentas, etc. El segundo es combinar CDN para analizar directamente la transmisión en vivo. Los resultados de la identificación se dividen en pornográficos, sospechosos de pornografía, sexys y normales. El sistema empresarial controla directamente la transmisión en vivo en función de los resultados de la identificación. Una empresa típica tiene Vicovery. La ventaja de esta solución es que la garantía en tiempo real es mejor. 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 existe un proveedor integral de soluciones de transmisión en vivo, como Qupai Cloud Service. Su enfoque es que los usuarios solo necesitan configurar los servicios de amarilleamiento en la consola y pueden configurar cada aplicación y cada transmisión en vivo. Método de revisión en tiempo real. En la consola, Qupai Video Cloud Service retroalimenta los resultados de la detección de pornografía en tiempo real. Los usuarios pueden ver directamente capturas de pantalla e interfaces ilegales de transmisiones pornográficas en vivo y, al mismo tiempo, pueden controlar la transmisión en vivo y cortar transmisiones en vivo problemáticas. . El proveedor de servicios también proporciona funciones como mensajes de texto, correos electrónicos y mensajes dentro del sitio para evitar perder videos ilegales y causar pérdidas a la plataforma que utilizamos.

En tercer lugar, ¿qué se debe hacer por parte de los jugadores?

Cómo lograr un inicio instantáneo en el lado del reproductor, asegúrese de que la imagen y el sonido sean claros y estables al mismo tiempo durante la transmisión en vivo, y que el tráfico de transmisión en vivo no se demore durante el proceso. Estas tareas requieren que el lado del servidor coopere con el lado del jugador para optimizar y lograr una programación precisa.

1. Flujo de extracción

El flujo de extracción es en realidad el proceso inverso al flujo de inserción. Primero, obtenga la secuencia de código hasta el final de la reproducción. Los formatos de transmisión estándar incluyen RTMP, HLS, FLV, etc. RTMP es el protocolo patentado de Adobe y está bien respaldado por software de código abierto y bibliotecas de código abierto. Por ejemplo, la biblioteca librtmp de código abierto permite al reproductor reproducir fácilmente transmisiones en vivo RTMP siempre que sea compatible con flashPlayer. El retraso de la transmisión en vivo es generalmente de 1 a 3 segundos. . Apple ha propuesto un protocolo de transmisión de medios basado en HTTP. Puede reproducirlo directamente abriendo HTML5 y compartirlo a través de WeChat, QQ y otro software. Los usuarios también pueden ver la transmisión en vivo directamente. , Se debe admitir el protocolo de transmisión HLS. La desventaja es que el retraso generalmente es superior a 10 segundos. El protocolo FLV (HTTP-FLV) es un protocolo que utiliza el protocolo HTTP para transmitir contenido multimedia en tiempo real. Tampoco hay necesidad de preocuparse por ser secuestrado por las patentes de Adobe. El retraso en la transmisión en vivo también puede alcanzar 1_3 segundos.

Diferencias en los protocolos de transmisión de medios:

Proporcionamos los tres formatos anteriores para la tecnología de transmisión en vivo utilizada por Quwan Video Cloud Service para satisfacer las necesidades de diferentes escenarios comerciales, como aquellos que Si tiene altos requisitos de inmediatez o necesidades interactivas, puede usar el formato RTMP o FLV para la reproducción de medios en vivo para reproducción o necesidades multiplataforma. Se recomienda usar el protocolo HLS al mismo tiempo para adaptarse a sus respectivos escenarios.

2. Decodificación y renderizado

Los datos de vídeo encapsulados obtenidos al extraer la transmisión deben ser decodificados y renderizados por el decodificador antes de poder reproducirlos en el reproductor. Este es el proceso inverso de la codificación y se refiere a la extracción de datos sin procesar a partir de datos de audio y video. Los formatos de codificación H.264 y H.265 introducidos anteriormente son compresiones 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, cómo conservar la mejor imagen original a través de varios parámetros de codificación y al mismo tiempo minimizar el tamaño del video se ha convertido en un secreto fundamental de cada empresa de video.

Teniendo en cuenta la compatibilidad con la alta definición, se debe elegir la decodificación física para la decodificación. Como se mencionó anteriormente, el sistema iOS tiene un hardware relativamente único y cerrado y un buen soporte. El sistema Android tiene plataformas muy diferentes, por lo que queda mucho trabajo por hacer para que el códec sea totalmente compatible con cada plataforma.

4. Sistema interactivo en transmisión móvil en vivo

Los métodos interactivos más comunes en transmisión móvil en vivo incluyen salas de chat (aluvión), me gusta, recompensas y obsequios, etc. Los mensajes en tiempo real y la interactividad se implementan principalmente utilizando la función IM en términos de implementación técnica.

Para una sala con una gran cantidad de personas en línea, la cantidad de mensajes emergentes es muy grande y ni el anfitrión ni los usuarios pueden verlos. Para reducir la presión sobre el servidor, es necesario realizar algunas optimizaciones. realizado en la estrategia del producto.

1. Sala de chat

La interacción de bombardeo en la transmisión en vivo móvil es la forma principal para que los usuarios interactúen con el presentador. En realidad, es la función de la sala de chat de mensajería instantánea. Una sala de chat es similar a un chat grupal, pero los mensajes en la sala de chat no se publicarán para los usuarios que no estén en línea y no es necesario ver el historial de mensajes. Los usuarios solo pueden ver la información del chat y la información de los miembros del grupo después de ingresar a la sala de chat. Ante condiciones de red complejas y en constante cambio, también es necesario elegir la sala de computadoras de una sola línea más cercana del operador correspondiente para acceder al servicio de mensajes emergentes en función de la ubicación del usuario, de modo que el mensaje emergente pueda ser hecho 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 también 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 es la razón principal por la que los presentadores confían en la plataforma.

En términos de implementación técnica, el envío y recepción de regalos también se completa a través de la interfaz de la sala de chat, generalmente a través de mensajes personalizados en mensajería instantánea. Cuando el usuario recibe o envía un regalo, se entregará. un mensaje personalizado. Defina el gráfico de regalo correspondiente al mensaje.

Lo anterior es nuestra experiencia de producto en el sitio resumida después de utilizar servicios SDK de terceros. Esperamos que sea útil para empresarios y profesionales.