Qt Handy-Videoanruf-Streaming

8

Ich bin komplett neu bei Qt mobile, ich habe sogar keine solide mobile Entwickler-Erfahrung, also tut mir leid, wenn ich etwas offensichtliches frage.

Ich muss eine mobile App entwickeln, die die Fähigkeit haben sollte, einen Anruf wie Funktionalität zu empfangen (über das Internet, nicht über GSM). Wenn sie beantwortet wird, sollte sie Audio und Video von unserem Server streamen. Der Aufruf sollte nur in einer Richtung erfolgen, dh der Stream wird von Server zu Gerät übertragen, aber niemals von Gerät zu Server.

Meine Fragen sind also:

  1. Ist das in Qt möglich? Ich habe Qt gewählt, weil ich damit vertraut bin und Desktop, Android und iOS unterstützen möchte. vielleicht Windows Phone später.
  2. Ist es möglich, einen Anruf zu erhalten, wenn der Bildschirm ausgeschaltet ist und meine App nicht läuft? Ich meine, das ist ein mobiles Gerät, die App wird nicht die ganze Zeit laufen, es sollte nur gestartet werden, wenn ein Anruf von Server zu Gerät gemacht wird. Wie kann ich das erreichen? Ich denke, Viber, Skype und andere Messaging-Apps machen das.

Vielen Dank im Voraus:)

    
Davita 30.10.2014, 16:46
quelle

4 Antworten

4

1 - Nun, sicher, es kann, obwohl es nicht so einfach und unkompliziert sein könnte, wie Sie wollen. Qt Multimedia stellt die notwendigen Klassen zur Verfügung, aber Sie müssen überprüfen, wie sie auf den Plattformen unterstützt werden, auf die Sie zielen müssen.

Allerdings sind die Klassen, die Qt bietet, entweder zu hoch für irgendeinen Zweck, aber für den beabsichtigten Zweck oder zu niedrig, so dass Sie praktisch alles von Hand implementieren müssen. In diesem Aspekt überwiegt der Vorteil, dass Qt in der Lage ist, tragbare Apps zu produzieren, die Leichtigkeit der Verwendung bestimmter plattformspezifischer Bibliotheken, die Video-Streaming von Anfang an anbieten, nicht. Mit anderen Worten, es könnte einfacher sein, separate Android- und iOS-Apps mit Android- und iOS-Bibliotheken zu schreiben als eine einzelne Qt-App, die auf beiden Geräten funktioniert.

Aber nur für den Fall, dass Sie sich für Qt entscheiden, wie ich vorhin erwähnt habe, haben Sie nur eine Option: Machen Sie die meiste Arbeit selbst. Das heißt, Sie sollten Audio mit QAudioRecorder aufzeichnen und Bilder periodisch von einem QCamera in einem Puffer von gegebener Länge erfassen, diese Daten komprimieren (und sie vorzugsweise verschlüsseln, wenn Sicherheit ein Anliegen ist) und über einen% co_de an den Client senden % Verbindung, dekomprimiere (und entschlüssele) die Daten und spiele sie synchron ab. Es ist sicherlich machbar, aber wie bereits erwähnt, wird es viel schwieriger sein, da Android- und iOS-Bibliotheken ziemlich "out of the box" -Lösungen bieten. Alternativ können Sie auch eine Drittanbieterlösung verwenden, die Unterstützung für alle Plattformen bietet, auf die Sie abzielen.

2 - ob Ihr Bildschirm ein- oder ausgeschaltet ist - dies ist ein Aufruf an eine plattformspezifische API, also Anfragen zum Einschalten oder zum Einschalten für eine bestimmte Dauer. Ob Ihre App auf dem Gerät läuft oder nicht, das ist einfach - versuchen Sie einfach eine TCP-Verbindung mit dem Client auf dem Gerät, wenn es erfolgreich ist, dann wird der Client ausgeführt. Wenn Sie Anrufe erhalten möchten, während Ihre App nicht ausgeführt wird, müssen Sie einen plattformspezifischen Dienst implementieren, der stattdessen die ganze Zeit ausgeführt wird und Ihre Anwendung startet, wenn ein Anruf eingeht.

    
dtech 08.11.2014, 13:03
quelle
4

QT Mobility hat kein Framework zur Unterstützung von VoIP, wie Sie aus der Referenz sehen können: Ссылка

Sie könnten das VoIP-Framework Ihrer App nativ erstellen (was ein gutes Verständnis der verschiedenen verfügbaren Audio- und Video-Frameworks erfordert), aber einen anderen Weg zu gehen wäre ein VoIP-SDK, das sowohl iOS als auch Android unterstützt, wie den Twilio Mobile Client Ссылка

    
Zigglzworth 04.11.2014 19:03
quelle
3

Qt mobile wird Ihnen in der Benutzeroberfläche Ihrer Anwendung helfen, jedoch müssen Sie für jede Plattform, die Sie verwenden möchten, nativen Code schreiben. Beachten Sie, dass sich Qt schnell ausdehnt. In den kommenden Versionen von Qt müssen Sie sich möglicherweise nicht mit plattformspezifischem nativem Code die Finger schmutzig machen.

Ja, Sie können einen VoIP-Anruf erhalten, wenn Ihre Anwendung geschlossen wird, indem Sie einen Hintergrunddienst erstellen (aber wie ich bisher weiß, Qt erledigt die Aufgabe nicht für Sie, Sie müssen es nativ tun), ist es wie Skype und Viber funktionieren.

    
Ramez 04.11.2014 09:51
quelle
1

Wie ich weiß, neue Blackberry10 OS mit qt für die Entwicklung. Es ist ein Quellcode verfügbar über VoiP Aufruf von qt. Ich suche immer noch nach einem Videoanruf.

Link unten prüfen, kann hilfreich sein

1) Blackberry Entwickler Blog

(2) PjSip Blog

(3) Quellcode herunterladen

Ich weiß nicht, wie ich eine App in Android , ios , desktop mit qt language entwickeln kann.

Aber ich würde vorschlagen, stattdessen App in allen Sprachen zu entwickeln.

    
Niranj Patel 05.11.2014 06:20
quelle

Tags und Links