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
terreno común:
1: RTSP RTMP HTTP está todo en la capa de aplicación.
2: En teoría, RTSP rtmphttp se puede usar para transmisión en vivo y bajo demanda, pero RTSP RTMP generalmente se usa para transmisión en vivo y HTTP para transmisión bajo demanda. El protocolo SIP se usó en videoconferencias y ahora básicamente se reemplaza por RTMP.
diferencia:
Copiar código
1: Http: es decir, protocolo de transferencia de hipertexto (FTP es el protocolo de transferencia de archivos).
Http: (protocolo de transmisión en tiempo real), protocolo de transmisión en tiempo real.
Protocolo de mantenimiento de tabla de enrutamiento de nombre completo HTTP.
2: HTTP procesa todos los datos como archivos. El protocolo HTTP no es un protocolo de transmisión.
RTMP y RTSP son protocolos de transmisión de medios.
3: El protocolo RTMP es un acuerdo privado de adobe, que no se divulga por completo. El protocolo RTSP y el protocolo HTTP son acuerdos comunes y deben mantener organizaciones especiales.
4: El protocolo RTMP generalmente transmite flujo de formato flv, f4v, el protocolo RTSP generalmente transmite ts, flujo de formato MP4. HTTP no tiene una secuencia específica.
5: La transmisión RTSP generalmente requiere 2-3 canales, separación de canales de comando y datos, HTTP y RTMP generalmente transfieren comandos y datos en un canal de TCP.
Copiar código
Diferencias entre RTSP, RTCP y RTP
Copiar código
1: protocolo de flujo en tiempo real RTSP
Como protocolo de capa de aplicación, RTSP proporciona un marco extensible, que hace posible controlar y transmitir datos a pedido en tiempo real. En general, RTSP es un protocolo de representación de medios de transmisión, que se utiliza principalmente para controlar la transmisión de datos con características en tiempo real, pero no transmite datos en sí, sino que debe depender de algunos servicios proporcionados por el protocolo de transporte de capa inferior. RTSP puede proporcionar operaciones como reproducción, pausa, avance rápido, etc. para transmisión de medios. Es responsable de definir mensajes de control específicos, métodos de operación, códigos de estado, etc., y también describe la interacción con RTP (rfc2326).
2: protocolo de control RTCP
El protocolo de control RTCP debe usarse con el protocolo de datos RTP. Cuando una aplicación inicia una sesión RTP, ocupará dos puertos al mismo tiempo, que son utilizados por RTP y RTCP respectivamente. El propio RTP no puede proporcionar una garantía confiable para la transmisión secuencial de paquetes de datos, ni proporcionar control de tráfico y control de congestión, todos los cuales son completados por RTCP. Generalmente, RTCP utilizará el mismo mecanismo de distribución que RTP, enviará información de control a todos los miembros de la sesión periódicamente. La aplicación puede controlar la calidad del servicio o diagnosticar el estado de la red al recibir los datos, obtener la información relevante de los participantes de la sesión, así como el estado de la red, la probabilidad de pérdida de paquetes y otra información de retroalimentación.
La función del protocolo RTCP se realiza mediante diferentes datagramas RTCP, que son principalmente de los siguientes tipos:
SR: el informe del remitente se refiere a la aplicación o terminal que envía el informe de datos RTP, y el remitente también puede ser el receptor. (tiempo fijo del servidor enviado al cliente).
RR: el extremo receptor informa. El llamado extremo receptor se refiere a la aplicación o terminal que solo recibe pero no envía informes de datos RTP. (el servidor recibe la respuesta enviada por el lado del cliente).
SDE: descripción de la fuente, la función principal es servir como portadora de la información de identificación de los miembros de la sesión, como nombre de usuario, dirección de correo electrónico, número de teléfono, etc., y también tiene la función de transmitir información de control de sesión a los miembros de la sesión.
Adiós: la notificación se va. La función principal es indicar que una o más fuentes ya no son válidas, es decir, otros miembros de la sesión de notificación saldrán ellos mismos de la sesión.
App: definida por la propia aplicación, resuelve el problema de escalabilidad RTCP y aporta mucha flexibilidad a los implementadores del protocolo.
3: protocolo de datos RTP
El protocolo de datos RTP es responsable de la transmisión de paquetes de datos de medios y la transmisión en tiempo real de la transmisión de medios. Cada paquete de datos RTP consta de dos partes: cabezal y carga. Los primeros 12 bytes del cabezal son fijos, mientras que la carga puede ser de datos de audio o video.
El lugar utilizado por RTP es el juego. El servidor usa el protocolo UDP para transmitir datos al cliente. RTP agrega un encabezado de 12 bytes (información de descripción) al frente de la transmisión de datos.
Diseño del paquete de carga RTP La transmisión de red en este documento se basa en el protocolo IP, por lo que la unidad de transmisión máxima (MTU) es de 1500 bytes. Cuando se utiliza la jerarquía de protocolos IP / UDP / RTP, esto incluye al menos 20 bytes de encabezado IP, encabezado UDP de 8 bytes y encabezado RTP de 12 bytes. Por lo tanto, la información del encabezado ocupa al menos 40 bytes y el tamaño máximo de carga RTP es 1460 bytes. Tome H264 como ejemplo, si un cuadro de datos es mayor que 1460, debe empaquetarse en partes, luego desempaquetarse en el receptor y luego combinarse en un cuadro de datos para decodificar y reproducir.
Copiar código
En la aplicación en vivo, RTMP y HLS pueden cubrir básicamente toda la observación del cliente,
HLS tiene principalmente un gran retraso y RTMP tiene la ventaja principal en un retraso bajo.
1 、 Escenarios de aplicación
Los escenarios de aplicación de baja demora incluyen:
Copiar código
Transmisión interactiva en vivo: por ejemplo, el popular presentador de belleza en 2013, el juego en vivo, etc.
Varios hosts y medios de transmisión se distribuyen a los usuarios para su visualización. Los usuarios pueden chatear con texto e interactuar con el anfitrión.
Videoconferencia: si tenemos compañeros viajando sobre el terreno, utilizaremos la videoconferencia para realizar reuniones internas.
De hecho, no importa si la reunión se retrasa un segundo, porque después de que alguien más ha terminado de hablar, otros deben pensar en ello.
El tiempo de retraso del pensamiento también será de aproximadamente 1 segundo. Por supuesto, si peleas con una videoconferencia, no puedes.
. otros: el monitoreo y la transmisión en vivo también requieren demoras en algunos lugares,
El retraso del protocolo RTMP en Internet básicamente puede cumplir con los requisitos.
Copiar código
2 、 RTMP y retraso
1. Las características de RTMP son las siguientes:
Copiar código
1) Adobe admite bien:
RTMP es en realidad el protocolo estándar industrial para la salida del codificador, básicamente todos los codificadores (cámaras, etc.) admiten la salida RTMP.
La razón es que el mercado de PC es enorme, la PC es principalmente Windows y los navegadores de Windows básicamente admiten flash,
Flash también es muy compatible con RTMP.
2) Adecuado para juegos largos:
Debido a que RTMP admite muy bien, puede lograr una reproducción flash de RTMP stream durante mucho tiempo y de forma continua
La prueba fue de un millón de segundos, o más de 10 días de reproducción continua.
Para las aplicaciones comerciales de transmisión de medios, la estabilidad del cliente es ciertamente necesaria; de lo contrario, los usuarios finales no pueden ver cómo se juega.
Sabía que había un cliente educativo que inicialmente reproducía transmisiones HTTP con reproductores y necesitaba reproducir diferentes archivos, y siempre había un problema.
Si el lado del servidor convierte diferentes archivos en flujo RTMP, el cliente puede jugar todo el tiempo;
Después de que el cliente pasó al esquema RTMP, no escuchó que el cliente tenía un problema después de haber sido distribuido por CDN.
3) Retraso bajo:
RTMP tiene mucho retraso (1-3 segundos) que el tipo YY de protocolo privado UDP,
RTMP es menor que el retardo de la secuencia HTTP (generalmente más de 10 segundos).
Siempre que la aplicación general de transmisión en vivo no sea el tipo de conversación telefónica, la demora de RTMP es aceptable.
En las aplicaciones de videoconferencia en general, la latencia RTMP es aceptable porque escuchamos a los demás cuando hablan,
De hecho, un segundo de retraso no importa y tenemos que pensar en ello (algunas personas aún no tienen la velocidad de procesamiento de la CPU tan rápida).
4) Retraso acumulativo:
La tecnología debe conocer la debilidad. La debilidad de RTMP es el error acumulativo, porque RTMP no pierde paquetes basados en TCP.
Entonces, cuando el estado de la red es deficiente, el servidor almacenará en caché los paquetes, lo que conduce al retraso acumulativo;
Cuando la red esté en buenas condiciones, envíelo al cliente juntos.
La solución es desconectar la reconexión cuando el búfer del cliente es grande.
Copiar código
2. Retraso bajo de HLS
Algunas personas siempre hacen esta pregunta, cómo reducir el retraso de HLS.
HLS resuelve el retraso, como trepar al arce para pescar. Curiosamente, todavía hay gente gritando, mira, hay peces.
¿Qué dice usted?
Solo puedo decir que estás participando en el espectáculo de magia de la modestia, la ilusión.
Si está realmente seguro, muéstrelo con la imagen de medición real, consulte la medición retrasada a continuación.
3. medición del retardo RTMP
Cómo medir el retraso es un problema difícil,
Pero existe una forma eficaz de utilizar el cronómetro del teléfono móvil, que puede comparar el retraso con mayor precisión.
Se comprueba que cuando la red está en buen estado se encuentran las siguientes medidas:
Copiar código
. El retraso de RTMP puede ser de aproximadamente 0.8 segundos.
. el nodo de borde multinivel no afecta el retraso (el servidor de borde de un CDN homólogo con SRS puede hacerlo)
. El retraso de nginx RTMP es un poco grande. ¿Se estima que el procesamiento de la caché es causado por la comunicación multiproceso?
. GOP es un indicador difícil, pero SRS puede desactivar la caché de GOP para evitar este efecto
. el rendimiento del servidor es demasiado bajo, lo que también hará que el retraso sea mayor y el servidor no pueda enviar datos.
. la longitud del búfer del cliente también afecta la latencia.
Por ejemplo, el cliente flash NetStream.bufferTime se establece en 10 segundos y luego se retrasa durante al menos 10 segundos.
Copiar código
4. GOP-caché
¿Qué es GOP? Es la distancia de tiempo entre los dos fotogramas I en la transmisión de video.
¿Cuál es el impacto del GOP?
Flash (decodificador) solo puede comenzar a decodificar y reproducir hasta que obtenga GOP.
Es decir, el servidor generalmente le da a flash un marco I primero.
Desafortunadamente, el problema es que supongamos que GOP es de 10 segundos, es decir, cada 10 segundos hay fotogramas clave,
¿Qué pasa si el usuario comienza a jugar en el quinto segundo?
La primera solución: esperar al siguiente cuadro I,
Es decir, espere otros 5 segundos para comenzar a dar los datos del cliente.
Este retraso es muy bajo, siempre flujo en tiempo real.
El problema es: los 5 segundos de espera serán negros. El fenómeno es que el jugador está atrapado ahí, nada,
Algunos usuarios pueden pensar que están muertos y actualizan la página.
En resumen, algunos clientes pensarán que esperar fotogramas clave es un error imperdonable. ¿Cuál es la relación entre retraso?
Solo quiero comenzar y reproducir el video rápidamente, ¡y será mejor que lo abra y lo reproduzca!
La segunda solución: comience ahora,
¿Qué le pones?
Debes saber. Pon el cuadro I anterior.
Es decir, el servidor siempre debe almacenar en caché un GOP,
Entonces el cliente reproducirá el cuadro I anterior y comenzará rápidamente.
El problema es que los retrasos son naturalmente grandes.
¿Existe un buen plan?
¡sí! Hay al menos dos tipos:
El codificador reduce el GOP, como 0.5 segundos, un GOP, por lo que el retraso es bajo y no hay necesidad de esperar.
La desventaja es que se reducirá la tasa de compresión del codificador y la calidad de la imagen no es tan buena.
5. retraso acumulativo
Además de la caché de GOP, existe una relación de latencia acumulativa.
El servidor puede configurar la longitud de la cola en vivo, y el servidor pondrá los datos en la cola en vivo,
Si excede esta longitud, limpie hasta el último cuadro I:
Por supuesto, esto no se puede configurar demasiado pequeño,
GOP, por ejemplo, es de un segundo, queue_ Length es de un segundo, lo que hará que los datos se borren en 1 segundo y salten.
¿Hay una forma mejor? sí tenemos.
El retraso es básicamente igual a la longitud del búfer del cliente. Debido a que el retraso se debe principalmente al bajo ancho de banda de la red, el servidor lo enviará al cliente junto después del almacenamiento en caché. El fenómeno es que el búfer del cliente es mayor,
por ejemplo NetStream.BufferLength = 5 Second, entonces hay al menos 5 segundos de datos en el búfer.
La mejor manera de lidiar con la latencia acumulativa es que el cliente detecte que el búfer tiene muchos datos y, si puede, vuelva a conectar el servidor.
Por supuesto, si la red ha ido mal, no hay forma.
|
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