+ Antworten
Ergebnis 1 bis 8 von 8

Thema: JS-Probleme bei webRTC Komponenten-Test

  1. #1
    Kommt häufiger vorbei
    Registriert seit
    22.10.2006
    Ort
    Rottweil
    Beiträge
    499
    Bedankte sich
    114
    Erhielt 14 Danksagungen
    in 13 Beiträgen

    Standard JS-Probleme bei webRTC Komponenten-Test

    Hallo!
    Ich bin KEIN Programmierer oder Web-Entwickler, sondern ein einfacher Anwender mit bestenfalls rudimentären Kenntnissen.

    Das Ziel meiner Arbeit ist es, in meiner Joomla-Website eine Seite zu erstellen, in denen meine Besucher testen können, ob ihr Browser mittels webRTC erfolgreich Zugriff auf Kamera und Mikrofon hat und dass beides einwandfrei funktioniert.

    Nach viel Recherche fand ich diese hervorragende Website webRTC samples. Von diesen Samples möchte ich zwei verwenden, nämlich:
    den Test von getUserMedia und den Test des Audio-Pegels.

    Beide Tests habe ich in zunächst in einer einfachen statischen HTML-Webseite zusammen gesetzt, die zugehörigen Scripte (JS) heruntergeladen und ins selbe Verzeichnis gelegt und getestet. Diese statische Website findet sich hier.

    Und schon stellt sich das erste Problem ein: Obwohl ich peinlich genau auf die JS-Scripte und sauberes HTML geachtet habe, funktioniert nur der getUserMedia-Test mit Kamera und Mikrofon. Die Pegelanzeige zeigt nichts an.
    Der gleiche Code auf der oben verlinkten Github-Webseite funktioniert jedoch. Daraus ergibt sich die erste Frage:

    Frage 1: Wie finde ich möglichst schnell den Fehler, der verhindert, dass der Mikrofonpegel und eine eventuelle Übersteuerung angezeigt werden?

    Tja und in Joomla binde ich diese statische Webseite vorerst über die JCE-Mediabox als iFrame ein (Link am Textende), der in einer Shadowbox angezeigt wird. Aber ich möchte lieber den ganzen Test in Form eines Joomla-Beitrag darstellen. Bei Versuchen dazu hat ist das komplette Joomla-Backend eingefroren, sodass ich nur noch den Browser-Tab zum Joomla-Backend schließen konnte. Denn nicht mal der Abmeldebutton in Joomla funktionierte noch.
    Durch Versuche fand ich heraus, dass es für das Einfrieren ausreicht, dass ich in der Code-Ansicht des JCE-Editors das <video> Tag eintippe und dann in die WYSIWYG-Ansicht umschalte. Zu der WYSIWYG-Ansicht kommt es dann schon gar nicht mehr. Bei diesen Versuchen sind die webRTC-Scripte noch gar nicht aktiv!

    Frage 2: Daraus ergibt sich die zweite Frage: Wie stelle ich es an, dass der Inhalt meiner o.g. statischen HTML-Seite in einem Joomla-Beitrag dargestellt werden kann, ohne dass mir das Backend bzw. der JCE-Editor einfriert?

  2. #2
    Gehört zum Inventar Avatar von christine2
    Registriert seit
    08.10.2010
    Beiträge
    5.389
    Bedankte sich
    438
    Erhielt 1.930 Danksagungen
    in 1.831 Beiträgen

    Standard

    Hallo,

    keine Ahnung von diesem webRTC etc. Ne u.U. dumme Frage meinerseits: Kann man das Ganze nicht in ein "eigenes Modul" geben - bzw.halt mit loadposition in den Beitrag verfrachten ?

    https://docs.joomla.org/How_do_you_p..._article%3F/de

    Liebe Grüße
    Christine

  3. #3
    --- Avatar von anka
    Registriert seit
    01.05.2008
    Ort
    Basel
    Beiträge
    11.611
    Bedankte sich
    457
    Erhielt 4.382 Danksagungen
    in 4.031 Beiträgen

    Standard

    Crossposting

    OT:
    Hallo Christine
    Gruss Anka

  4. #4
    Kommt häufiger vorbei
    Registriert seit
    22.10.2006
    Ort
    Rottweil
    Beiträge
    499
    Bedankte sich
    114
    Erhielt 14 Danksagungen
    in 13 Beiträgen

    Standard ziemlich wahrscheinlich ein Konflikt zweier Java-Scripte

    Liebe Christine!
    Hab auf deine Anregung hin versucht, im JCE-Editor in einem Modul das <video> Tag einzugeben. Wieder friert das ganze Backend ein. Es muss andere Ursachen haben und wahrscheinlich haben meine beiden Fragen nichts miteinander zu tun.

    webRTC ist eine HTML-5-Technik, die noch immer in weiterer Entwicklung steht und es ermöglicht, ohne Zusatzsoftware nur von Browser zu Browser Peer-2-Peer-Verbindungen aufbauen zu können, die zum Verbindungsaufbau aber die Vermittlung von Signal-Servern benötigen. Ich brauche dies hier, damit meine Klienten in meiner Website einen
    ersten Technik-Test durchführen können und sehen können, ob ihre Technik tauglich ist für meine Online-Beratungsangebote, die über webRTC als Video-Telefonate erfolgen. Für die Video-Telefonate nutze ich aber nicht meine Website / meinen Server, sondern den Messenger Wire. Dieser hat das vermutlich beste Verschlüsselungskonzept derzeit und ist in manchen Punkten sogar dem Messenger Signal überlegen.


    Betreffend der Script-Probleme bin ich durch reines Trial & Error ein bisschen weiter gekommen: Auf den von mir verlinkten Demo-Seiten laufen die Beispiele für den Test von Zugriff auf Kamera und Mikrofon einerseits und für die Aussteuerungskontrolle andererseits in zwei verschiedenen Webseiten mit verschiedenen Scripten.
    Nehme ich aus meiner selbst gebauten HTML-Seite das Script für den ersten test heraus, funktioniert die Aussteuerungskontrolle sofort auf Anhieb.

    Dann habe ich mir die Scripte vorgenommen und heraus gefunden, dass bestimmte Variablen, Funktionen und Aufrufe gleiche Namen oder Werte haben, sodass das Script für das erste Beispiel das Script für die Funktion der Aussteuerungskontrolle blockiert.

    Im Script soundmeter_main.js findet sich dieser Codebereich:
    Code:
    function handleSuccess(stream) {
      // Put variables in global scope to make them available to the
      // browser console.
      window.stream = stream;
      const soundMeter = window.soundMeter = new SoundMeter(window.audioContext);
      soundMeter.connectToSource(stream, function(e) {
        if (e) {
          alert(e);
          return;
        }
    stream und window.stream werden auch in dem Script zum Test von Kamera und Mikrofon verwendet. Darin könnte z.B. der Konflikt liegen.

    Versuchsweise hatte ich auch die constraint-Definition auskommentiert, da diese bereits im Script zum Kamera- und Mikro-Test definiert wird. Das allein hat aber noch nichts gebracht.

    Wenn ich hier aber Variable, Konstanten und Funktionen umbenenne, dann wird wahrscheinlich an anderer Stelle in den soundmeter-Scripten ebenfalls etwas zu ändern sein, weil darauf gewiss noch Bezug genommen wird. Es würde für mich voraussichtlich eine endlose und frustrierende Versuchsreihe geben, falls...
    ...ja falls nicht doch noch jemand hier sich die Scripte anschaut, die auf meiner Testseite liegen. Und das sind:

    main_gum.js soundmeter.js soundmeter_main.js
    Dabei habe ich den Verdacht, dass main_gum.js in Konflikt steht mit soundmeter_main.js

    Da die Scripte recht klein im Umfang sind, hoffe ich sehr darauf, dass mir jemand dabei hilft.

  5. #5
    Kommt häufiger vorbei
    Registriert seit
    22.10.2006
    Ort
    Rottweil
    Beiträge
    499
    Bedankte sich
    114
    Erhielt 14 Danksagungen
    in 13 Beiträgen

    Standard

    @anka
    Ja richtig! Ein böses böses Crossposting! Aber dennoch mit upgedatetem Inhalt.

    Und warum das?, weil im anderen Forum keine Antwort mehr kommt.

    Darf ich dann hier nicht posten???

  6. #6
    Gehört zum Inventar Avatar von christine2
    Registriert seit
    08.10.2010
    Beiträge
    5.389
    Bedankte sich
    438
    Erhielt 1.930 Danksagungen
    in 1.831 Beiträgen

    Standard

    Grüß Dich Anka,

    ah ja, dachte mir eh, kommt mir bekannt vor. Normalerweise sehe ich sowas (fast) sofort :-)

    @Clemens_1

    Zitat Zitat von Clemens_1
    Und warum das?, weil im anderen Forum keine Antwort mehr kommt. Darf ich dann hier nicht posten???
    dachte schon, Du sprichst von 2 Wochen ...... War doch erst gestern. Tsz Tsz. "Drüben" wäre es fair, eine Verlinkung von "hier" zu machen.

    Liebe Grüße
    Christine

  7. Erhielt Danksagungen von:


  8. #7
    Kommt häufiger vorbei
    Registriert seit
    22.10.2006
    Ort
    Rottweil
    Beiträge
    499
    Bedankte sich
    114
    Erhielt 14 Danksagungen
    in 13 Beiträgen

    Standard Scripte gegenüber gestellt, um Konflikte zu finden und zu beheben

    Hab also jetzt im anderen Forum nach hierhin verlinkt, mit Begründung. Hier der Thread des anderen Forum.

    Ich schreib noch mal hier, weil ich die drei Scripte, die evtl. miteinder in Konflikt geraten, in einer Tabelle in drei Spalten gegenüber gestellt habe und die meiner Ansicht nach verdächtigen Stellen farbig markiert habe.

    Das Ganze hier im Anhang.screenshot01.jpg
    Geändert von Clemens_1 (15.09.2018 um 17:10 Uhr)

  9. #8
    Kommt häufiger vorbei
    Registriert seit
    22.10.2006
    Ort
    Rottweil
    Beiträge
    499
    Bedankte sich
    114
    Erhielt 14 Danksagungen
    in 13 Beiträgen

    Standard Code und HTML-Tags in den Beitrag bringen, statt iFrame-LÖsung

    Aus dem anderen Forum erhielt ich den Tipp, mit Sourcerer den Code in den JCE-Editor einzufügen.

    Mein erster Versuch dazu hat funktioniert. Das Backend friert nicht mehr ein. Mehr hab ich noch nicht getestet.

    Bleibt noch das Problem mit dem JavaScript-Konflikt, den ich nicht auflösen kann.

    Freundliche Grüße
    Clemens

+ Antworten

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein