FMUSER ¡Transmite video y audio sin cables más fácilmente!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikáans
sq.fmuser.org -> albanés
ar.fmuser.org -> árabe
hy.fmuser.org -> Armenio
az.fmuser.org -> azerbaiyano
eu.fmuser.org -> Vasco
be.fmuser.org -> bielorruso
bg.fmuser.org -> Bulgaria
ca.fmuser.org -> catalán
zh-CN.fmuser.org -> chino (simplificado)
zh-TW.fmuser.org -> Chino (tradicional)
hr.fmuser.org -> croata
cs.fmuser.org -> checo
da.fmuser.org -> danés
nl.fmuser.org -> Holandés
et.fmuser.org -> estonio
tl.fmuser.org -> filipino
fi.fmuser.org -> finlandés
fr.fmuser.org -> Francés
gl.fmuser.org -> gallego
ka.fmuser.org -> georgiano
de.fmuser.org -> alemán
el.fmuser.org -> Griego
ht.fmuser.org -> criollo haitiano
iw.fmuser.org -> hebreo
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> islandés
id.fmuser.org -> indonesio
ga.fmuser.org -> irlandés
it.fmuser.org -> Italiano
ja.fmuser.org -> japonés
ko.fmuser.org -> coreano
lv.fmuser.org -> letón
lt.fmuser.org -> Lituania
mk.fmuser.org -> macedonio
ms.fmuser.org -> malayo
mt.fmuser.org -> maltés
no.fmuser.org -> Noruega
fa.fmuser.org -> persa
pl.fmuser.org -> polaco
pt.fmuser.org -> portugués
ro.fmuser.org -> Rumano
ru.fmuser.org -> ruso
sr.fmuser.org -> serbio
sk.fmuser.org -> eslovaco
sl.fmuser.org -> Eslovenia
es.fmuser.org -> español
sw.fmuser.org -> Swahili
sv.fmuser.org -> sueco
th.fmuser.org -> Tailandés
tr.fmuser.org -> turco
uk.fmuser.org -> ucraniano
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamita
cy.fmuser.org -> galés
yi.fmuser.org -> Yiddish
Recientemente comencé a contactar con el proyecto de video en vivo, también resumí algunos conceptos, tecnologías y soluciones relacionados con el video en vivo.
En primer lugar, comprenda el concepto de video en vivo. Varios protocolos de video comunes son: RTMP, http-flv, HLS, RTP / RTCP.
Luego explicaremos todo el proceso de transmisión en vivo y tecnologías relacionadas.
1, protocolo de video en vivo
En el campo de la transmisión en vivo, existen dos tipos de transmisión en vivo: transmisión en vivo interactiva y transmisión en vivo no interactiva.
La transmisión en vivo no interactiva (como: desfile en vivo, transmisión en vivo de la NBA, transmisión en vivo de la Liga de Campeones, etc.) no es altamente interactiva, lo que permite un retraso de 10 segundos o más. Se caracteriza por tener relativamente pocas fuentes y es adecuado para la transcodificación multicanal (los usuarios pueden verlo según las condiciones de la red).
Las escenas típicas de la transmisión en vivo interactiva incluyen transmisión en vivo de programas, transmisión en vivo de juegos, etc. Debido a los altos requisitos para la interacción entre el presentador y la audiencia, estas transmisiones en vivo deben retrasarse dentro de 5S. Las características de la transmisión interactiva en vivo son: más fuentes, no apto para transcodificación multicanal, servidor intermedio solo como función de tránsito.
El medio de transmisión de contenido en vivo es la red, y se necesitan los protocolos correspondientes para transmitir video o audio en la red. En la actualidad, los protocolos comunes adecuados para escenas en vivo son los siguientes.
1. Protocolo RTMP (no compatible con HTML 5, compatible con flash)
RTMP es un protocolo de transmisión de medios, que es el protocolo de patente de Adobe. Basado en TCP, es muy popular en China.
Razón popular: el soporte del software de código abierto y la biblioteca de código abierto es estable y completo, y las soluciones de transmisión y transmisión más utilizadas pueden funcionar básicamente de manera estable. Por ejemplo: biblioteca de flujo de empuje librtmp de código abierto, el lado del servicio tiene el complemento nginx RTMP, el flujo de extracción tiene la biblioteca de reproducción ijkplayer.
2. Protocolo Http-flv (no compatible con HTML 5, compatible con Flash)
Eso es utilizar el protocolo HTTP para transmitir contenido multimedia. HTTP es más simple y más conocido que RTMP. El retraso del contenido también puede ser de 2 a 5 segundos y la velocidad de apertura es más rápida, porque HTTP en sí no tiene una interacción de estado compleja. Entonces, desde la perspectiva de la latencia, http-flv es mejor que RTMP.
3. Protocolo HLS (compatibilidad con HTML, compatibilidad con Flash)
La transmisión en vivo de HTTP es un protocolo de transporte de medios de transmisión basado en HTTP propuesto por Apple. HLS tiene una gran ventaja: HTML5 se puede abrir y reproducir directamente; esto significa que un enlace en vivo se puede compartir a través de wechat y otros reenvíos, sin la necesidad de instalar ninguna aplicación independiente, con un navegador, por lo que es muy popular. Aplicación social en vivo, solo se necesita HLS. La URL de transmisión en vivo basada en HLS es un archivo m3u8, que contiene varios archivos TS de video pequeños recientes. El retraso de este modo de reproducción es relativamente alto (que está relacionado con el tamaño del archivo TS) y puede alcanzar un retraso de 5-7 segundos en la misma red de la ciudad.
4. Protocolo RTP / RTCP
El protocolo de transporte en tiempo real es un protocolo de capa de transporte para el flujo de datos multimedia en Internet. RTCP transmite la señalización del control interactivo y RTP transmite los datos de medios reales.
RTP se utiliza ampliamente en videovigilancia, videoconferencia y teléfono IP, porque una de las experiencias importantes de la videoconferencia y el teléfono IP es el contenido sólido en tiempo real.
En comparación con los tres protocolos anteriores, una diferencia importante entre RTP y ellos es que el protocolo UDP se utiliza para transmitir datos de forma predeterminada, mientras que RTMP y HTTP se basan en el protocolo TCP.
Utilice el análisis de escenarios: la escena de transmisión de audio y video en tiempo real no necesita garantía confiable, por lo que no es necesario tener un mecanismo de retransmisión. No es importante ver la imagen y el sonido en tiempo real, perder algo de contenido cuando la red se agita, desenfocar la imagen y la pantalla de bienvenida. Para retransmitir, TCP provocará retrasos y asincronía. Si una determinada sección de contenido llega después de un segundo debido a la retransmisión, toda la conversación se retrasará un segundo. Con la fluctuación de la red, el retraso aumentará a dos o tres segundos. Si el cliente no maneja la reproducción, la experiencia de transmisión directa se verá seriamente afectada. Cómo optimizar, se explicará en el siguiente artículo.
Conclusión: en la selección del protocolo de transmisión en vivo, si se selecciona RTMP o http-flv, significa que hay un retraso de contenido de 2-5 segundos, pero en lo que respecta al retraso de apertura, http-flv es mejor que RTMP . HLS tiene un retraso de contenido de 5-7 segundos. La elección de RTP para la transmisión en vivo puede retrasar la transmisión en vivo en 1 segundo. Sin embargo, hasta donde sabemos, los principales fabricantes de CDN no admiten la transmisión en vivo basada en RTP, por lo que la corriente principal nacional actual es RTMP o http-flv.
2, proceso de transmisión de video en vivo
El proceso técnico relacionado con el video en vivo es: adquisición de transmisión de video en tiempo real --- codificación de transmisión de video --- transmisión de transmisión de video --- decodificación de transmisión de video --- reproducción de video.
1. La idea de la captura de video en tiempo real
a) Al configurar setpreviewcallback en la vista previa de disparo de la cámara de Android, la interfaz onpreviewframe se realiza para capturar los datos de cada flujo de video en tiempo real.
b) A través de la grabadora de medios de Android, vincule localsocket en la función setoutputfile.
c) Modo de servidor de medios de transmisión, usando ffmpeg o getstreamer para obtener el video de la cámara.
2. La realización de la codificación por compresión de video
a) Sin codificación, el cuadro de video original yuv420sp se transmite directamente a través del conector.
b) JEPG comprime el cuadro de video original yuv420sp en H.264 y luego lo transmite.
c) H.264 / avc. El cuadro de video original yuv420sp se comprime en H.264 y luego se transmite. Los codificadores de código abierto comunes basados en H264 incluyen JM, x264, t264, hdot264, etc.
D) . mpeg4. Comprima el fotograma de video original yuv420sp en MPEG4 y luego transmita
3. La idea de la transmisión de video
a) . transmisión de enchufe
B) . Transporte HTTP
C) . Transmisión RTP / RTSP
D) . modo de servidor de medios de transmisión, como live555, etc.
4. La realización de la decodificación de video.
a) . decodificador correspondiente a la codificación
5. La idea de reproducir videos
a) . a través de Android videoview
B) . a través de mediaplay de Android
C) . pegar la imagen del marco directamente a través del lienzo
|
Ingrese el correo electrónico para recibir una sorpresa
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikáans
sq.fmuser.org -> albanés
ar.fmuser.org -> árabe
hy.fmuser.org -> Armenio
az.fmuser.org -> azerbaiyano
eu.fmuser.org -> Vasco
be.fmuser.org -> bielorruso
bg.fmuser.org -> Bulgaria
ca.fmuser.org -> catalán
zh-CN.fmuser.org -> chino (simplificado)
zh-TW.fmuser.org -> Chino (tradicional)
hr.fmuser.org -> croata
cs.fmuser.org -> checo
da.fmuser.org -> danés
nl.fmuser.org -> Holandés
et.fmuser.org -> estonio
tl.fmuser.org -> filipino
fi.fmuser.org -> finlandés
fr.fmuser.org -> Francés
gl.fmuser.org -> gallego
ka.fmuser.org -> georgiano
de.fmuser.org -> alemán
el.fmuser.org -> Griego
ht.fmuser.org -> criollo haitiano
iw.fmuser.org -> hebreo
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> islandés
id.fmuser.org -> indonesio
ga.fmuser.org -> irlandés
it.fmuser.org -> Italiano
ja.fmuser.org -> japonés
ko.fmuser.org -> coreano
lv.fmuser.org -> letón
lt.fmuser.org -> Lituania
mk.fmuser.org -> macedonio
ms.fmuser.org -> malayo
mt.fmuser.org -> maltés
no.fmuser.org -> Noruega
fa.fmuser.org -> persa
pl.fmuser.org -> polaco
pt.fmuser.org -> portugués
ro.fmuser.org -> Rumano
ru.fmuser.org -> ruso
sr.fmuser.org -> serbio
sk.fmuser.org -> eslovaco
sl.fmuser.org -> Eslovenia
es.fmuser.org -> español
sw.fmuser.org -> Swahili
sv.fmuser.org -> sueco
th.fmuser.org -> Tailandés
tr.fmuser.org -> turco
uk.fmuser.org -> ucraniano
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamita
cy.fmuser.org -> galés
yi.fmuser.org -> Yiddish
FMUSER ¡Transmite video y audio sin cables más fácilmente!
Contacto
Dirección:
Habitación No.305 Edificio HuiLan No.273 Huanpu Road Guangzhou China 510620
Categorías
Newsletter