2008-10-21 103 views
31

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?Transmisión de video en vivo con PHP

Respuesta

1

PHP/AJAX/MySQL no será suficiente para crear la aplicación de transmisión de video en vivo Hay un hilo similar here. Principalmente sugiere usar Flex o Silverlight.

4

PHP le permitirá compilar las páginas de su sitio que componen 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 un navegador de 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, quiere que su video salga a los navegadores - windows media player, flash o silverlight le permitirán lograr esto - insertando el control apropiado para su tecnología elegida en su página (usando PHP o lo que sea) y dado el dirección de su feed de video en vivo.

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.

19

No digo que tenga que abandonar PHP, pero aquí necesita diferentes tecnologías.

Comencemos simple (sin Akamai :-)) y piense 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 (verifique esto tutorial on webcams and flash) para que pueda usar Flash para transportar el contenido al servidor. Creo que si te quedas con Flash, probablemente sea una buena idea mirar Flex (flex and webcam tutorial).

Así que 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, se necesita algún tipo de forma de registrar los arroyos y volver a publicar ellos para que otros ven a otras personas de todo el chat, etc ..

Tampoco estoy seguro de la cantidad de tráfico y ancho de banda que es va a consumir sin embargo, y en general, necesitará mucho más que una pregunta Stackoverflow 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!

+0

Great Answer. Si quiero transmitir televisión en vivo, qué hacer. puedes sugerirme? –

2

Para la videoconferencia 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 va a construir algo como esto, es prudente pensar en cómo va a alojar el video desde una etapa muy temprana, ya que influirá en la forma en que crea la aplicación. Flash/Flex/Silverlight/Windows Media .... etc ....

1

Hay un montón de "servidores" listos para usar que se ejecutarán en su entorno. La mayoría de estos utilizan el antes mencionado Flex o Silverlight 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 es pesada en ancho de banda).

0

El mismo problema/respuesta here, se cita a continuación

Te estoy suponiendo que significa que desea ejecutar su propio video privado llamadas, no simplemente enlazar a las llamadas de Skype o similar. Realmente tiene 2 opciones aquí: hágalo usted mismo, o use una solución alojada e integre en su producto.


auto-organizada ----------------- Este es desordenado. Todo esto se puede lograr con PHP, pero probablemente no sea la solución más recomendable, ya que es , 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 hacer su vida más fácil , pero si está disparando para obtener la máxima compatibilidad, flash es la forma más sencilla de crear el cliente. Entonces, en la medida como el lado del servidor real que retransmitirá el audio/video, se puede escribir un servidor de chat en php, pero es mejor usar una fuente abierta proyecto, como janenz00 's mencionan de red5 , eso 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 flash en ambos lados ... de cualquier forma se vuelve complicado , y está más allá de mi experiencia para ayudarle con todo.


Alojado Servicio ----------------- En, mi recomendación, a menos que desee administrar una configuración ridícula de muchos servidores complejas e insuficiencia puntos es utilizar un servicio alojado como UserPlane o similar y descargar todo el procesamiento y el trabajo técnico a las personas que son buenas en eso, y luego se preocupan por la interfaz con su API y obtener su cliente integrado en su sitio. Serás un desarrollador más feliz si lo haces.

6

Tenga en cuenta que el servicio se describe a continuación ya no está disponible como es que se basa en los medios de comunicación FLV (Flash)

Este proyecto que utiliza el Red5, Flex y PHP para Video en vivo grabación y tiene muchas características

  1. transmitir video en vivo a los espectadores

  2. Grabe las secuencias de su cámara u otros dispositivos de entrada de video en el servidor

  3. Obtenga una vista previa de las secuencias y archivos grabados y haga una miniatura del marco que desea mostrar para el video.

  4. Cargue los videos desde su computadora y conviértalos a FLV, que se pueden transmitir con Red5.

  5. elegir entre cualquiera resoluciones

  6. puede ser enchufado a cualquier secuencia de comandos

    usuario
  7. Cada sitio web puede tener un directorio independiente para almacenar sus vídeos y miniaturas utilizar este enlace http://code.google.com/p/red5-flex-streamer/

3

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).

Usted necesita principalmente 2 tipos de alojamiento (puede ser el mismo servidor): 1. alojamiento web (PHP) 2. flujo RTMP de alojamiento (Red5, Wowza, Adobe ..) requisitos detallados de tales proyectos (incluyendo un diagrama) están disponibles en http://www.videowhisper.com/?p=Requirements.

solución completa incluye 3 partes: 1. aplicación basada en flash utilizado para conectar con el servidor de streaming y corriente 2. Aplicación en vivo RTMP lado del servidor (por lo general una configuración estándar) 3. scripts PHP que se integran con la aplicación resto del sitio (pasando parámetros según sea necesario)

Cuestiones relacionadas