tutorial - Transmisión de video en vivo con PHP
transmitir video en vivo con php (8)
Tengo una aplicación de chat PHP / AJAX / MYSQL. Quiero agregar video chat a mi aplicación. ¿Cómo puedo crear una transmisión de video en vivo para usar en video conferencias / chats en vivo en una aplicación PHP? ¿Cuáles son los términos clave que necesito saber si quería construir un sistema así? ¿Es una buena idea en primer lugar usar PHP? ¿Hay algo en lo que no estoy pensando? ¿Qué otros idiomas puedo usar, tal vez en conjunto con PHP?
Tenga en cuenta que el servicio que se describe a continuación ya no está disponible ya que está basado en medios FLV (Flash)
Este proyecto que utiliza Red5, Flex y PHP para Live Video Streaming and Recording tiene muchas características
Transmitir video en vivo a los espectadores
Grabe las secuencias de su cámara u otros dispositivos de entrada de video en el servidor
Obtenga una vista previa de las secuencias y archivos grabados y haga una vista en miniatura del cuadro que desea mostrar para el video.
Suba los videos desde su computadora y conviértalos a FLV, que se pueden transmitir con Red5.
Elija entre cualquier resolución
Se puede conectar a cualquier script
Cada usuario del sitio web puede tener un Directorio separado para almacenar sus videos y miniaturas, use este enlace http://code.google.com/p/red5-flex-streamer/
El mismo problema / respuesta here , citado a continuación
Supongo que quiere decir que quiere ejecutar sus propias videollamadas privadas, no simplemente hacer un enlace a llamadas de Skype o similares. Aquí tienes dos opciones: alojarlo tú mismo o utilizar una solución alojada e integrarlo en tu producto.
Autohospedado ----------------- Esto es complicado. Todo esto se puede lograr con PHP, pero probablemente esta no sea la solución más recomendable, ya que no es la mejor herramienta para el trabajo en todos los aspectos. Flash es mucho más eficiente en la captura y transporte a / v en el extremo del usuario. Puede intentar hacer esto sin flash, pero tendrá dolores de cabeza. HTML5 puede hacerte la vida más fácil, pero si estás buscando la máxima compatibilidad, el flash es la forma más sencilla de crear el cliente. Luego, en cuanto al lado del servidor real que retransmitirá el audio / video, podrías escribir un servidor de chat en php, pero es mejor utilizar un proyecto de código abierto, como la mención de red5 de red5 , que ya está construido y interactuando con él a través de su cliente (si aún no tiene uno). O podría crear un cliente flash como se mencionó anteriormente y conectarlo a un servidor de transmisión por flash en ambos lados ... de cualquier forma se complica rápidamente, y está más allá de mi experiencia para ayudarlo en lo absoluto.
Servicio alojado ----------------- Todo adentro, mi recomendación, a menos que desee administrar una configuración ridícula de muchos servidores complejos y puntos de falla es usar un servicio alojado como UserPlane o similar y descargue todo el procesamiento y el trabajo técnico a las personas que son buenas en eso, y luego preocúpese de interactuar con su API y lograr que su cliente esté bien integrado en su sitio. Serás un desarrollador más feliz si lo haces.
Hay muchos "servidores" listos para usar que se ejecutarán en su entorno. La mayoría de estos utilizan el Flex o Silverlight mencionados anteriormente para implementar el video en sí, pero estoy seguro de que todos se ejecutarán bajo LAMP / PHP.
Los desafíos consistirán en escoger el mejor software de entre todos los disponibles y conseguir que su proveedor de hosting le permita transmitir video (no hace falta decir que la transmisión tiene un gran ancho de banda).
No estoy diciendo que tengas que abandonar PHP, pero necesitas diferentes tecnologías aquí.
Comencemos simple (sin Akamai :-)) y pensemos en las implicaciones aquí. Video, chat, etc., todo al cliente al principio. El usuario tiene una cámara web, quiere captar la señal de alguna manera y enviarla al servidor. No hay PHP hasta ahora.
Sé que Flash admite esto (consulte este tutorial en webcams y flash ) para poder usar Flash para transportar el contenido al servidor. Creo que si te quedas con Flash, entonces Flex ( tutorial de flex y webcam ) es probablemente una buena idea para investigar.
Entonces, eso es solo lo básico, tal vez le da una idea de dónde necesita investigar porque obviamente esto no le dará un video chat completo dentro de su aplicación todavía. Para empezar, necesitará algún tipo de forma de grabar las secuencias y volver a publicarlas para que otros vean a otras personas desde el chat, etc.
Tampoco estoy seguro de cuánto tráfico y ancho de banda va a consumir y, en general, necesitará mucho más que una pregunta para resolver este problema. Lo mejor sería hacer una especificación completa de su aplicación y luego contratar a algunas personas para que la ayuden a construirla.
HTH!
PHP / AJAX / MySQL no será suficiente para crear la aplicación de transmisión de video en vivo. Aquí hay un hilo similar. Principalmente sugiere usar Flex o Silverlight.
PHP le permitirá construir las páginas de su sitio que conforman sus aplicaciones de videoconferencia y chat, pero no entregará ni transmitirá video por usted; PHP se ejecuta solo en el servidor y procesa HTML en el navegador de un cliente.
Para el video, lo primero que necesitará es una cuenta de transmisión en vivo con alguien como akamai o los numerosos otros en el campo. El uso de esta cuenta le proporciona un punto de entrada para su video, es decir, el servidor al que transmitirá su video en vivo.
A continuación, desea que su video salga a los navegadores - Windows Media Player, Flash o Silverlight le permitirán lograr esto - incorporando el control apropiado para la tecnología elegida en su página (usando PHP o lo que sea) y la dirección de su cuenta en vivo alimentación de video
PHP (u otro lenguaje de scripting) se usaría para construir la parte de chat de la aplicación y unir todo (el chat y el reproductor de video incorporado).
Espero que esto ayude.
Para videoconferencias en vivo, no puede ignorar la necesidad de un servidor de transmisión.
Sí, el flash le permitirá mostrar video desde una cámara web dentro del control de flash local, pero eso no le permitirá enviar ese video a través de la red, para eso necesita un servidor de transmisión para enviarlo.
Si vas a construir algo como esto, es prudente pensar cómo vas a alojar el video desde una etapa muy temprana, ya que influirá en la forma en que crees la aplicación. Flash / Flex / Silverlight / Windows Media .... etc ....
Una secuencia de comandos php normal en un host web estándar solo puede generar páginas html para solicitudes http, no transmisión continua de video en vivo. Para transmisión de video en vivo, se requiere una tecnología adicional. Por lo general, la mejor opción que funciona en la mayoría de los navegadores es Flash. También puede funcionar en dispositivos móviles mediante la creación de clientes basados en Air (aplicaciones móviles) o entregando stream como HLS (HTTP Live Streaming).
Necesita principalmente 2 tipos de alojamiento (puede estar en el mismo servidor): 1. Alojamiento web (con PHP) 2. Alojamiento de flujo rtmp (Red5, Wowza, Adobe ...) Los requisitos detallados para dicho proyecto (incluido un diagrama) están disponibles en http://www.videowhisper.com/?p=Requirements .
La solución completa incluye 3 partes: 1. Aplicación basada en Flash utilizada para conectar al servidor de transmisión y stream live 2. Aplicación de servidor RTMP (generalmente una configuración estándar) 3. Scripts PHP que integran la aplicación con el resto del sitio (pasando los parámetros según sea necesario)