¿Cómo desarrollar un sitio web / aplicación como Facebook live? ¿Qué idiomas o cosas necesito saber?

Amigo, ¡esa es una pregunta de mil millones de dólares!

¡Facebook Live no se creó en una noche! La tecnología que usan en Facebook Live que lo hace tan genial está más allá del alcance de cualquier ser humano con solo conocimientos de programación, ahora.

facebook-live es una marca registrada de facebook, es un programa complejo que involucra un gran cálculo / ejecución matemático para que sea rápido, eficiente y confiable.

Permíteme darte un ejemplo: ¿Cuántos dispositivos inteligentes puedes encontrar a tu alrededor? Permítame ayudarlo con algunos de ellos, teléfonos inteligentes, tabletas, televisores inteligentes, computadoras de escritorio, relojes inteligentes y cada uno de estos dispositivos tiene diferentes configuraciones de software y hardware. Lo que Facebook Live hace es tomar un video del dispositivo de una persona y transferirlo a una velocidad tremenda a todos nosotros, esos son un millón de dispositivos con diferentes configuraciones, velocidades y resoluciones de Internet y más.

Ciertamente, esto no es tan simple como hacer un palacio LEGO.

Trabajar en ello.

Esta es una buena pregunta y no es fácil de responder. Intentaré dar lo mejor de mi.

Desarrollar una aplicación como Facebook Live no es tarea fácil, ya que enfrenta múltiples desafíos al hacerlo:

  1. Facebook tiene acceso a más de 1.800 millones de usuarios, y usted no.
  2. Facebook tiene más de 150 ingenieros trabajando en Facebook Live.
  3. Facebook tiene equipos DevOps, control de calidad, etc.
  4. Facebook Live funciona en múltiples dispositivos.

Como un equipo pequeño (quizás de 1 hombre), obviamente es extremadamente difícil competir con eso. Le sugiero que elija el idioma con el que se sienta más cómodo e intente crear una aplicación web que transmita videos 1 a 1, para que pueda aprender más sobre cómo funciona la transmisión de videos. Hay tantas complejidades que esto es un desafío en sí mismo.

Luego, construyendo una aplicación web más robusta con autenticación, transmisión de 1 a muchos, notificaciones, etc. Puede comenzar a hacer esta aplicación web más grande y agregar más funciones incluso antes de saltar al móvil. Es mejor asegurarse de fijar esta parte antes de atacar a otro vector y dividirse. También aprenderá mucho al hacerlo de esta manera.

Si su aplicación se hace más grande y puede comenzar a monetizarla, entonces comience a buscar la compatibilidad con otros dispositivos.

No intentes construir el próximo “Me gusta en Facebook”, comienza aprendiendo cómo funcionan las diferentes partes y construyendo algo con lo que puedas jugar / probar.

Incluso si no monetiza su aplicación, saldrá de esto con mucha más experiencia y conocimiento, que posiblemente valga mucho más.

PD: Si desea obtener más información sobre la arquitectura de Facebook Live y cómo pueden escalar a millones de usuarios, consulte mi publicación de blog en Designing for Scale.

¡Espero que esto ayude!

“Incluso si se graba desde un teléfono”

¿Sabes lo que limita el audio y el video de los teléfonos?

la resolución de la cámara, puede variar mucho entre los teléfonos, no se puede mejorar mágicamente, algunas cámaras no tienen más de un megapíxel, no se puede extender a su monitor de alta definición y esperar buena calidad … por no decir, los teléfonos no grabe al máximo el potencial de la cámara, solo registran la cantidad que cabe en su pantalla …

la edición de video en vivo requerirá muchos recursos, especialmente con resoluciones más altas … puede hacer que “se vean mejor” difuminándola lo suficiente …

el audio se puede mejorar un poco, como reducir los crujidos y el ruido y posiblemente mejorar la claridad, pero necesitaría algún servidor que lo procese para cada transmisión …

no necesita ningún idioma específico, alguien puede cortar un front-end de manera rápida y fácil una vez que tenga las transmisiones y cosas funcionando, puede usar cualquier cosa en el lado del servidor …

Recomiendo aprender por qué las cosas “feas” y “molestas” no se cambian …

sobre escalar y monetizar … debe contratar a alguien para que sea escalable, los principiantes no harán proyectos bien escalables … y asegúrese de que todas las bibliotecas y todo tenga una licencia que permita el uso comercial, si solo quiere anuncios, entonces eso no será necesario…

Comience probando la transmisión en vivo del sitio web, como Twitch, luego una vez que obtenga ese progreso en los muchos tipos de dispositivos móviles, tabletas y otros dispositivos. Supongo que tendrá dificultades para obtener la primera parte, así que resuelva ese problema primero.

More Interesting

¿Qué es exactamente Angular 2?

Cómo hacer un buen sitio web desde cero en unos pocos meses

¿Dónde puedo encontrar estadísticas o datos de experiencias anteriores y posteriores con la creación de una donación optimizada para dispositivos móviles o un sitio de comercio electrónico? (Por ejemplo, después de crear un sitio de donación optimizado para dispositivos móviles, tuvimos x% más donaciones, o nuestras donaciones se mantuvieron igual o disminuyeron).

¿Puedo ser un desarrollador web de pila completa solo mirando videos gratuitos de Udacity, sin inscribirme en el programa de nanogrado?

¿Cuál es el mejor formato para la respuesta del servidor, XML o JSON?

Cómo crear un chatbot con React.js y Node.js

¿Cuáles son las ventajas de comenzar a desarrollar un sistema a gran escala en un entorno Unix en lugar de hacerlo en un entorno Windows?

¿Cuál es el papel de la pila MEAN en una página web?

¿Cuáles son los requisitos mínimos de hardware para construir un sitio web educativo para un proyecto universitario?

¿Qué es un DTD? ¿Cuál es la relación entre un DOCTYPE y un DTD en HTML?

¿Aprender HTML, CSS y JavaScript es suficiente para ser desarrollador web?

¿Cuáles son algunas de las mejores prácticas para el desarrollo eficiente de WordPress?

¿Cuál es el mejor consejo que puede dar para configurar un sitio web del evento y un formulario de registro?

¿Cuán limitado seré al codificar si aprendo PHP sin saber JavaScript?

¿Por qué 'todos' están tratando de construir un 'marco' o 'capa' sobre HTML / CSS y Javascript?