Streams de audio

Hola, me gustaría integrar un sistema de vigilancia con uno de megafonia, ya que dispongo de cámaras de red AXIS y se pueden configurar (con ayuda de los scripts integrados) para que reaccionen ante eventos.
Incluyen un HTTP API con el que mediante instrucciones en la url e indicando la IP de la cámara en cuestión puedes hacer que devuelva parámetros, o incluso enviar y recibir audio.
Mi problema es que al intentar enviar audio supongo que debo crear un STREAM de audio a partir de archivos de sonido guardados en mi PC para enviarlo a las cámaras y que éstas lo reproduzcan por sus altavoces (corrígeme si me equivoco en suponer esto) pero no se cómo hacer mi propio stream de audio... No quisiera pagar una cuota, por ejemplo, con StreamZilla, puesto que no será una aplicación como para tener que mantenerla económicamente.
Muchas gracias!

1 respuesta

Respuesta
1
No te equivocas y supones bien, tienes que "montar" un stream de audio, en el formato que las cámaras sean capaz de reproducir, lo más sencillo seria MP3, y no seria difícil encontrar un "emisor" streamer que pueda disparar un MP3 u otro en base a los parámetros que has recibido de las cámaras. Si no estoy equivocado con Winamp, puedes hacer un stream de MP3, y como en tu caso, se trata de un punto a punto no necesitarías disponer de un servidor o hacerlo a través de uno. Una posibilidad en el caso de que quieras usar un servidor, ShoutCast. Hecha un vistazo, aunque solo sea por información merece la pena
Muchísimas gracias,
antes de hacerte la pregunta descargue algunos programas que convertían WAV a stream y he probado con uno que se llama: MP3SoundStream cuya salida, al convertir un archivo (en mi caso WAV) son archivos htm que según pone en la ayuda puedes incluir como objeto flash en tu página web... el problema es que yo no quiero hacer una web, sino mediante los scripts (cargados en la cámara) generar una petición html que "pida" ese stream...
¿Tienes idea de como hacerlo, una vez que tengo los archivos htm?
Por lo que entiendo, quieres enviar un audio a una cámara, por ejemplo para avisar a alguien que esta allí, y que estas viendo por la cámara, en ese caso, primero debes decirme que formato de audio reproduce tu cámara axis y a partir de ahí avanzamos
Según los manuales disponibles en la web, las cámaras axis soportan los codecs G711-mu y G726. Si se utiliza G711 (que es el que quiero usar yo puesto que ademas de lo que me propongo posteriormente quiero probar más cosas...) debes enviar paquetes de 240 bytes (30ms).
Los API incluyen una función: http://<IP_camara>/axis-cgi/audio/transmit.cgi con la que se supone que envías el audio a la cámara, pero siempre que la he usado me dice que hay un fallo en la programación de la cámara y que no se puede mostrar la página. Existe la misma función pero con receive.cgi que aveces funciona (ya que escucho todo lo que capta el micro a través de los altavoces del PC) y otras veces me aparecen un montón de caracteres extraños en la pantalla (supongo que es la traducción de los paquetes a código ASCII)
Ademas, desde los scripts puedes utilizar estas instrucciones http puesto que el shell dispone de una función llamada "shttpclient" con la que puedes generar peticiones html.
El programa que te he comentado genera 2 archivos: 1. extensión html y 2. Flash (para insertar en la web que propone)
Espero haberte dado suficiente información y no pedirte demasiado... gracias!
Ahora si que esta toda la información, y parece ademas que al margen de que no funciones, la solución te viene dada por parte de la cámara, con que software generas los G711, quizá sea ese el problema, ya que el recibe parece que funciona, podríamos pensar que la cámara esta generando bien esos archivos. ¿Te has asegurado de que tienes la ultima version del software de la camra o incluso el firmware? Yo revisaría el firmware. Otra posibilidad es que consigas grabar un g711 generado por la cámara en el PC y analizar el tipo de compresión que es y el bitrate, para generar uno de similares características
si... elproblemaes.. ¿qué hago con estoscaracteres que aparecen? ¿Cómo los analizo? Aveces me llega audio y puedo escuchar lo que entra por el micro de loa cámara, pero no lo puedo guardar en ningún sitio.. no se como capturarlo... bueno, probare con wireshark.. a ver si me da alguna info.. muchas gracias!
¿Qué tipo de streaming hace la cámara, solo Http? Prueba este player, es muy conocido y utilizado para video streaming, pero si miras sus especificaciones, quizá sea compatible con stream G711.
http://www.videolan.org/vlc/
Las cámara soportan http, ftp y telnet, pero este ultimo no me ha llegado a funcionar..
He intentado usar el VLC pero no se si lo uso bien, ya que en la pestaña "RED" del apartado volcado de red marco la opción: http/https... y escribo la dirección: 192.168.100.90/axis-cgi/audio/receive.cgi para ser capaz de escuchar el audio que me envía la cámara pero me dice que no es posible abrir tal dirección... es en ese apartado donde debo usar esta instrucción http??
He leído en un manual, que para enviar srteams de video o audio con vlc es necesario que el dispositivo receptor del stream (en este caso, mi cámara, ya que le quiero enviar el audio) debe tener otro VLC configurado para recibir lo que le envía el primero... pero eso no lo puedo hacer con mi cámara!
Estoy bastante perdida...
Pues me temo que la ruta Http no es la correcta, debería ser una ruta de streaming, realmente no se si el streaming lo esta montando el cgi al que ue intentas acceder, pero me temo que no. He cometido un básico error al no preguntarte el modelo de cámara que es, dímelo así podrá cotarte un poco más el formato de streaming que envía, quizá lo este enviando en la propia trama de video, ¿cómo es la ruta que le pones para ver el video?
El modelo es 216FD.
Quizás debería hacer una aplicación que utilice controles ActiveX... pero no quería complicarme tanto.. solo quería hacer capturas y envíos de audio...
El video lo veo escribiendo la IP de la cámara en la URL ya que accedes a la página web de la que disponen las cámaras.
Laura, espero que el modelo de cámara sea correcto, según dice esta página, el modelo que tu me dices no lleva audio, mientras que el modelo 216MFD, si lleva audio bidireccional
Puedes compararla en esta página, ¿es correcta la información?
http://www.camara-ip.es/camara-ip-216FD.htm
Vaya, debe ser un error de la página, o del creador de la misma...
 http://www.axis.com/products/cam_216/index.htm
Esta es la oficial
Perdona que sea tan pesado con las preguntas, pero necesito entender bien el asuno.
En el manual, habla del acceso a la cámara a través del Live View page. Y habla también de los controles AMC de audio, ¿consigues escuchar el audo a través de ese control?
Habla de que emite en dos formatos de video M Jpeg y MPEG 4, el que lleva audio seria el MPEG 4, por que el M Jpeg, no lleva. Habla también en otro punto de que puedes ver el video y el audio con un player de Quicktime o bien real networks, para hacer eso deberías saber la dirección donde esta emitiendo el stream, quizá si es MPEG 4, la cámara disponga en algún sitio un fichero .SDP (scene definition protocol) que identifique por un lado la trama de video y por otro la del audio.
Por lo que veo en el manual, en la página 16, el acceso a través del cgi, es solo para MJPEG, si quieres acceder al mpeg 4, deberías usar cualquier ruta con otro protocolo, tal y como te pego aquí del propio manual, estas rutas también serial las que hay que usar para el VLC
Unicast via RTP: axrtpu:///mpeg4/media.amp
Unicast via RTSP: axrtsp:///mpeg4/media.amp
Unicast via RTSP, tunneled via HTTP: axrtsphttp:///mpeg4/media.amp
Multicast: axrtpm:///mpeg4/media.amp
en concreto con quicktime o VLC, serian estas dos rutas
. rtsp:///mpeg4/media.amp
. rtsp:///mpeg4/media.3gp
Por lo que veo, es posible enviar el audio y el video sincronizado sobre el stream mpeg 4, Wpero te recomienda que sincronizes los relojes de la cámara y el pc
"Note: To receive synchronized video in MPEG-4 and audio, it is recommended that the time settings in the camera
and client PC are synchronized with an NTP Server. This is enabled in the camera under System Options >
Date & Time. Please refer to the help pages for more information."
También te dice que el audio lo puedes reproducir con quicktime player.
En la pagina 24 del manual, User manul, que he encontrado aqui
http://www.axis.com/techsup/cam_servers/cam_216/index.htm
Viene como especificar distintas rutas URL o CGI
Eso ya lo probé... pero no quiero exactamente ver video con audio.. sino simplemente mandar streams de audio para que los altavoces de la cámara les den salida, como una megafonia... simplemente quiero enviar un stream de audio a una dirección de red, en este caso la de la cámara, para escuchar el sonido a través de ella, y según las especificaciones de Axis debe ser un stream codificado en G711 y paquetes de 240B sin cabeceras ni colas... según la gente de eaxis (que no te dan más información que la que hay en la web) simplemente hay que hacer esto:
POST /axis-cgi/audio/transmit.cgi
HTTP/1.1\r\n
Content-Type: audio/basic\r\n
Content-Length: 9999999\r\n
User-Agent: Audio client\r\n
Host: 192.168.0.90\r\n
Connection: Keep-Alive\r\n
Cache-Control: no-cache\r\n
Authorization: Basic cm9vd0pwYXNz\r\n
\r\n
Then you have to send the audio data in 240 bytes packages
without any headers or any data separating the packages.
Pero a mi no me funciona nada...
Muchas gracias por tu interés, de verdad, te estoy quitando demasiado tiempo... pero es que nadie me da una solución
No te preocupes pro el tiempo, me apura un poco que lleves tanto y aun no tengas solución, pero yo segurie investigando hasta que demos con ello

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas