2017-06-30 2 views
1

Utilisez le serveur Kurento Media pour l'appel individuel.Web RTC - Appel un à un, pas d'erreur mais pas de diffusion vidéo à distance

Dans le navigateur, l'appel se passe sans problème.

Mais je veux implémenter cela dans Android.

Am en utilisant ce, https://github.com/MaxMaes/WebRTCTest

Depuis, il est dit, le projet est terminé, essaie de compléter cela. Je suis en suivant toutes les étapes de WebRTC. Je peux me connecter à l'application d'appel one-one kurento, en cours d'exécution dans le serveur. Le flux se passe comme ceci

  1. Partie A créée dans le navigateur.
  2. Partie B créé dans l'application Android. A fait un appel à B.
  3. Maintenant, à la réception du message "appel entrant", l'appel est accepté.
  4. pc.createOffer est appelée.
  5. onCreateSuccess, pc.setLocalDescription est terminé. sdpoffer est envoyé à B.
  6. Parallèlement, en recevant "onIceCandidate", pc.addIceCanditate est terminé.
  7. ICEGatheringState = Complet
  8. A reçoit le, callResponse, et envoie "startcommunication" avec sdpAnswer.
  9. pc.setRemoteDescription, à partir de sdpAnswer est terminé.
  10. onAddStream appelé. Un moteur de rendu distant est ajouté à l'interface utilisateur.
  11. Mais aucun streaming n'est à venir. A partir de A, B reçoit "iceCandidate". est-ce que quelque chose doit être fait à ce sujet?

Dans les deux côtés, je n'obtenir la vidéo à distance, mais capable de voir la vidéo locale

Et je n'obtiens aucune erreur.

Répondre

0

En onAddRemoteStream changement

VideoRendererGui.update (remoteRender, REMOTE_X, REMOTE_Y, REMOTE_WIDTH, REMOTE_HEIGHT, ScalingType)

ajouter un paramètre plus après ScalingType

VideoRendererGui.update (remoteRender, REMOTE_X, REMOTE_Y, REMOTE_WIGHT, REMOTE_HEIGHT, scalingType, true)

J'espère que cela vous aidera.

+0

J'ai essayé, avec la mise à jour de la bibliothèque libjingle. Mais pas d'amélioration même alors. Même. Merci pour votre réponse. – sowmiyaksr

0

l'avez-vous comme ça?

onAddRemoteStream(MediaStream remoteStream){ remoteStream.videoTracks.get(0).addRenderer(new VideoRenderer(remoteRender)); }

+0

oui.'@Override public void onAddRemoteStream (MediaStream remoteStream) { remoteStream.videoTracks.get (0) .addRenderer (nouveau VideoRenderer (remoteRender)); VideoRendererGui.update (remoteRender, REMOTE_X, REMOTE_Y, REMOTE_WIDTH, REMOTE_HEIGHT, scalingType); VideoRendererGui.update (localRender, LOCAL_X_CONNECTED, LOCAL_Y_CONNECTED, LOCAL_WIDTH_CONNECTED, LOCAL_HEIGHT_CONNECTED, scalingType); } ' – sowmiyaksr

+0

Lorsque vous créez l'homologue sur Android, vous avez lié la connexion localMediaStream à l'homologue? PS. assurez-vous que vous avez lié le mediastream AVANT de créer l'offre. 'this.pc = factory.createPeerConnection (iceServers, sdpMediaConstraints, this); this.pc.addStream (localMediaStream); ' Ainsi, le public void' @Override onAddStream (MediaStream mediaStream) { mListner.onAddRemoteStream (mediaStream); } 'est appelée. Ensuite, si vous avez des vidéos. juste courir les lignes que vous avez ci-dessus, ils sont corrects. –