Qt streaming de llamadas de video móvil

Soy completamente nuevo para Qt móvil, incluso no tengo una sólida experiencia de desarrollo móvil, lo siento si estoy pidiendo algo obvio.

Necesito desarrollar una aplicación móvil que debería tener la capacidad de recibir una llamada como funcionalidad (a través de Internet, no la llamada GSM). Cuando se responde, debe iniciar la transmisión de audio y vídeo desde nuestro servidor. La llamada debe ser de un solo sentido, es decir, que el flujo va de servidor a dispositivo, pero nunca de dispositivo a servidor.

Así que mis preguntas son:

  1. ¿Es esto posible en Qt? Elegí Qt porque estoy familiarizado con él y quiero apoyar el escritorio, Android y ios. Tal vez Windows Phone más tarde.
  2. ¿Es posible recibir una llamada cuando la pantalla está apagada y mi aplicación no está funcionando? Quiero decir, se trata de un dispositivo móvil, la aplicación no se ejecutará todo el tiempo, debe iniciarse sólo cuando se realiza una llamada de servidor a dispositivo. ¿Cómo puedo lograrlo? Creo que Viber, Skype y otras aplicaciones de mensajería hacen eso.

Muchas gracias de antemano 🙂

1 – Bueno, seguro que puede, aunque puede que no sea tan fácil y sencillo como desearía. Qt Multimedia proporciona las clases necesarias, pero es necesario comprobar cómo están soportadas en las plataformas que necesita orientar.

Sin embargo, las clases que ofrece Qt son un nivel demasiado alto para servir a cualquier propósito, pero su propósito, o nivel demasiado bajo, por lo que debe implementar prácticamente todo a mano. En este aspecto, el beneficio de Qt ser capaz de producir aplicaciones portátiles no puede superar la facilidad de uso de ciertas plataformas de bibliotecas específicas que ofrecen video streaming fuera de la caja. En otras palabras, podría ser más fácil escribir aplicaciones separadas para Android e iOS utilizando las bibliotecas de Android y iOS que una sola aplicación de Qt que funcionará en ambas.

Pero en el caso de que usted decida ir con Qt, como he mencionado por el momento, se queda con una opción – hacer la mayor parte del trabajo usted mismo. Esto significa que debe grabar audio utilizando QAudioRecorder y capturar fotogramas periódicamente desde un QCamera en un búfer de una longitud determinada, comprimir esos datos (y preferiblemente cifrarlo si la seguridad es una preocupación), enviarlo al cliente a través de una conexión QTcpSocket , descomprimir (y Descifrar) los datos y reproducirlos de nuevo en sincronía. Es ciertamente factible, pero como ya se mencionó, será mucho más difícil ya que las bibliotecas de Android y iOS ofrecen bastante "fuera de la caja" de soluciones. Como alternativa, puede optar por utilizar una solución de terceros que ofrezca soporte para todas las plataformas a las que apunte.

2 – si su pantalla está activada o desactivada – que será una llamada a una API específica de la plataforma, por lo que son las solicitudes para activar o para mantener en durante una duración determinada. Si su aplicación se ejecuta en el dispositivo o no, que es fácil – sólo intente una conexión TCP con el cliente en el dispositivo, si tiene éxito entonces el cliente se está ejecutando. Si desea recibir llamadas mientras su aplicación no se está ejecutando, tendrá que implementar un servicio específico de la plataforma que se ejecuta todo el tiempo en su lugar e inicia su aplicación cuando se recibe una llamada.

QT Mobility no tiene un marco para soportar VoIP como se puede ver en la referencia: http://doc-snapshot.qt-project.org/qt-mobility/

Usted podría crear el marco de VoIP de su aplicación nativa (que va a requerir una buena comprensión de los diversos marcos de audio y video disponibles), pero otra manera de ir sería utilizar un SDK de VoIP que soporta tanto iOS y Android como el Twilio Cliente móvil https://www.twilio.com/client/mobile

Qt móvil le ayudará en la interfaz de usuario de su aplicación, sin embargo tendrá que escribir un código nativo para cada plataforma que va a utilizar. Tenga en cuenta que Qt se está extendiendo rápidamente, es posible que no tenga que ensuciarse las manos con el código nativo específico de la plataforma en las próximas versiones de Qt.

Sí, puede recibir una llamada de VoIP cuando su aplicación está cerrada mediante la creación de un servicio de fondo (pero como sé hasta ahora Qt no hace el trabajo para usted, tendrá que hacerlo de forma nativa), es la forma en Skype Y el trabajo de Viber.

Según sé nuevo OS de Blackberry10 usando qt para convertirse. Hay un código fuente disponible sobre VoiP Calling en qt. Todavía estoy buscando video llamada.

Compruebe debajo del acoplamiento, puede ser útil

1) Blog de desarrolladores de Blackberry

(2) Blog de PjSip

(3) Descargar el código fuente

No sé cómo desarrollar la aplicación en Android , ios , desktop utilizando el lenguaje qt .

Pero estoy sugiriendo desarrollar la aplicación en todos los idiomas nativos en lugar de qt.

  • Qt5.1-android: Qt versión para mips que faltan en QtCreator
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.