¿Cómo podría construir un servicio de alojamiento de video?

Bueno, desde que hemos hecho esto para MediaCore (que es una solución de biblioteca de video alojada) desde cero, siento que estamos bastante calificados para hablar sobre lo que se requiere aquí.

En resumen, estas son las cosas que necesitará para hacer un sistema de alojamiento de video:
– manejar las cargas de video (esto no es fácil ya que hay un límite de tamaño de archivo de 2GB en Flash y un límite de 5GB en HTML5)
– maneje la codificación de video (esto generalmente requiere construir una infraestructura de codificación con FFMPEG, LAME y autoescalado para que a medida que más personas alojen video con usted, su solución de codificación de video escale)
– manejar la entrega de video (hay una serie de CDN que se especializan en la entrega de activos de medios. Usamos CloudFront, pero también hemos estado viendo EdgeCast y Akamai. Muchas opciones aquí dependiendo de lo que esté dispuesto a pagar)
– metadatos que rodean el video, como marca de tiempo, título, descripción, categoría, etiquetas

Para hacer gran parte de esto usted mismo necesitará desarrolladores con una amplia gama de experiencia, y también una variedad de servidores para manejar las diversas tareas (es decir, equilibradores de carga, servidores de aplicaciones, servidores de bases de datos, servidores de codificación y, por supuesto, un CDN ) Recomiendo encarecidamente utilizar Amazon S3 para el almacenamiento escalable, ya que este almacenamiento será la columna vertebral de todo lo que venderá.

Construir lo básico desde cero es una gran cantidad de trabajo (nos llevó 1,5 años llegar a donde estamos), pero la buena noticia es que si quieres construir tu propio servicio, entonces hay muchas herramientas que puedes use para ahorrar tiempo. Aquí hay algunos:

– http://ffmpeg.org/ – Si quieres buscar construir tu propia plataforma de codificación de video
– http://pandastream.com – Puede usar este servicio API para manejar la codificación automática de video para su plataforma de alojamiento. Esto puede ahorrarle una tonelada de tiempo y dinero.
– http://pandastream.org – La versión comunitaria gratuita de lo anterior, podría ser un buen punto de partida
– http://mediacorecommunity.org: un buen punto de partida para los conceptos básicos del alojamiento de video CMS que le brinda herramientas básicas para crear gran parte de lo que necesita. También tiene un complemento que le permite usar Panda junto con él. Es compatible con la comunidad y tiene foros bastante activos.
– http://longtailvideo.com – JW Player es un buen reproductor base para la reproducción de tu video
– http://flowplayer.org – Similar a JW pero de código abierto, también bastante bueno.

Si decide no utilizar un CMS de video como MediaCore CE (aunque es posible que desee echar un vistazo a nuestro código para que pueda aprender de algunas de las decisiones que hemos tomado arquitectónicamente) para su alojamiento, siempre puede crear el suyo propio desde cero Recomiendo usar Rails (si eres un chico Ruby) o Pyramid (si eres un chico python) para comenzar con un marco web que puede proporcionarte los conceptos básicos del código que necesitarás para comenzar a construir tu CMS propio.

Espero que proporcione un buen montón de comida para pensar.

Durante mi experiencia con VdoCipher, he trabajado con varias empresas de medios y educación en diferentes continentes y les ayudé a transmitir y alojar contenido de video en línea de la manera más segura, fluida y asequible.

He desglosado el desarrollo en 7 aspectos centrales, de los cuales creo que los puntos 3 a 6 son los diferenciadores clave y técnicamente desafiantes para cualquier negocio nuevo.

  1. Sitio web (CMS, codificación sin formato, etc.)

Si bien puede optar por codificar su sitio en bruto utilizando lenguajes como php, asp, etc., para un medio más rápido y fácil de iniciar rápidamente en línea, muchas empresas usan CMS como wordpress, joomla, etc. para construir un sitio. Hay muchas ventajas relacionadas con los complementos utilizables directos, temas que vienen con dicho CMS, principalmente wordpress que se explican en el segundo punto a continuación. Aquí se menciona uno de esos artículos que explica cómo construir un servicio de alojamiento de videos educativos.

2. Galerías, listas de reproducción, temas, gestión de membresía

La gestión de la membresía, tener bonitos temas de video es un aspecto clave de la gestión y estética general del usuario. Una vez más, hay algunos complementos listos para usar para miembros y temas para administrar sitios basados ​​en video. Se deben realizar revisiones para garantizar que estos complementos y temas sean escalables y no se rompan en algún momento en el futuro, ya que todo su sitio depende de ellos

3. Servidor de video + CDN

Este es el aspecto técnico clave y debe optimizarse para una transmisión fluida a nivel mundial a varias velocidades de Internet. Debe tener en cuenta la escala que desea alcanzar y los picos inesperados que podría enfrentar. AWS, Azure son los principales proveedores de servidores, mientras que Cloudfront, Akamai, LimeLight son algunos CDN realmente buenos. Confiando en una gran herramienta de terceros como Vimeo, Vdocipher puede ser una buena opción si no desea manejarlos por su cuenta. Aquí hay una breve superposición sobre la configuración de una empresa que utiliza la infraestructura AWS + Akamai

4. Transcodificación

Las diferentes velocidades de dispositivos e Internet requieren diferentes formatos y tamaños / parámetros para la transmisión. La carga masiva y la transcodificación son procesos intensivos de la CPU y se recomienda dejarlo en manos de algunas herramientas de transcodificación de terceros o utilizar la solución empaquetada que proporcionan algunas compañías de transmisión. AWS Transcoder, Zencoder son algunas otras opciones.

5. Seguridad / DRM

Desearía que su video se adhiera a su sitio y no se pueda compartir o descargar sin su permiso, lo que lleva a la piratería. La transmisión de video encriptada puede ayudarlo a evitar esto. Hay DRM de video que pueden integrarse con su alojamiento para proporcionar la mayor seguridad posible de contenido premium.

6. Personalización del jugador: color y controles

Es posible que desee cambiar el color de su reproductor y su máscara según el aspecto de su sitio. También es posible que desee eliminar o agregar algunos controles adicionales y llamadas a la acción en el video. HTML5, los reproductores Flash se pueden personalizar para esto.

7. Análisis, informes de uso

Necesita obtener datos y patrones de uso de video, para que pueda mejorar su contenido y también monetizar al máximo. Puede recuperar datos de la reproducción de video y crear sus propios análisis.

ACTUALIZACIÓN: Gran artículo en Medium sobre “Cómo construir una plataforma de video en 80 días”: Cómo construir una plataforma de video en 80 días

Una buena parte de la respuesta a esta pregunta depende de dónde trazar la línea en términos de lo que compra de los demás y lo que hace usted mismo.

Al igual que Stuart (aunque en un área diferente y más específica), he creado una plataforma de video en línea OVP desde cero. Sin embargo, en nuestro caso, la parte de OVP era admitir una gama más amplia de servicios en la parte superior, por lo que tal vez hicimos llamadas diferentes que un OVP de jugador más puro, como MediaCore, en términos de lo que debía ser una competencia central de propiedad interna.

Resumiría los bits que necesita como este:

  • Aplicación web (para la interfaz de usuario y los elementos de fondo)
  • Servidores (utilizamos AWS EC2 y Rackspace, luego volvimos a AWS ya que Rackspace no era confiable)
  • Almacenamiento (S3 es excelente, pero tiene problemas con la ingesta de archivos grandes; utilizamos GlusterFS como recepción, luego publicamos en S3)
  • Una solución de transcodificación (como sugiere Stuart, FFMPEG es el goto para bricolaje, pero también usamos Zencoder a través de su API (que a su vez usa FFMPEG)
  • Un CDN (el valor de esto no debe subestimarse en términos de entrega de contenido de calidad. En el mundo occidental, Cloudfront es lo suficientemente bueno y muy fácil de trabajar, IMO)
  • Alguna forma de jugador (puedes hacer el tuyo desde OSMF o algo; nosotros lo hicimos, pero Flowplayer siempre dio un mejor rendimiento que cualquier cosa OSMF)
  • Una base de datos para realizar un seguimiento de qué está dónde, incluidos los metadatos (MySQL o PostgreSQL, por ejemplo).
  • Es probable que también desee considerar alguna forma de DRM, pero la CDN probablemente se encargará de eso.

En términos de cuánto tiempo le tomaría crear una plataforma de este tipo, podría obtener algo relativamente básico e incluir algunos bits de terceros (por ejemplo, Zencoder y Flowplayer) juntos en 2-3 meses. En términos de un producto terminado, eso es un poco abierto. ¡Brightcove y similares han existido durante años y no han dejado de mejorar sus plataformas!

El área principal, altamente subjetiva, en la que no estoy de acuerdo con Stuart es usar Ruby on Rails como lenguaje y marco. Habiendo hecho eso, no fue lo ideal. No es algo sexy de decir, pero la próxima vez volvería a PHP. Caballos para cursos sin embargo.

Muchas personas que comienzan con video comienzan con una etapa como YouTube. El atractivo importante es que es gratis. Cualquiera puede hacer un registro y comenzar en minutos.

Sin embargo, después de un tiempo, los clientes más perceptivos pueden buscar elementos y opciones adicionales que YouTube simplemente no ofrece. Este es particularmente el caso de clientes comerciales y expertos. En el momento en que hay mucho en juego, puede ser necesario un arreglo más completo.

El alojamiento de video competente brinda otra opción a las administraciones libres. Básicamente, la facilitación de video estrella incluye pagar un pequeño cargo (regularmente mes a mes). A este costo, obtendrá una gama de ventajas basadas en facilitar y transmitir video a sus observadores.

La administración ofrece un sistema de servidores de PC que almacenará su video en sus placas. Asimismo, dan una asociación vigorosa del sistema con el objetivo de que cualquiera pueda acceder a las grabaciones de manera rápida y efectiva. (En cualquier caso, cualquier persona que permita hacer como tal).

Puede hacerlo sin la ayuda de nadie más en caso de que tenga un plan de gastos de seis cifras para equipo y fuerza laboral comprometida. De lo contrario, no tendrá la capacidad de transmitir la velocidad y los componentes que puede proporcionar un servidor de video dedicado.

Los beneficios de un host de video dedicado son:

  1. Velocidad
  2. Caracteristicas
  3. Seguridad
  4. Asequibilidad
  5. Poder

Alojamiento de video en vivo:

El video en vivo es un dispositivo efectivo que se está convirtiendo en una maravilla social. Aplicaciones como Periscope y Facebook Live han hecho de este estándar de innovación. Las etapas de facilitación competentes con frecuencia ofrecen administraciones de derrames en vivo finales razonables para uso experto. Esto puede incorporar la capacidad de:

  • Transmite desde diferentes cámaras
  • Transmita en resoluciones HD
  • Instale transmisiones en vivo en su sitio o etapas de redes en línea
  • Cargo por acceso

Espero que ayude 🙂