Ich habe erfolgreich eine Android-Anwendung eingerichtet, die remote auf einen Computer mit der Jsch-Bibliothek zugreifen und Steuerelemente sendet. Ich möchte ssh in die Computer-Kamera und X11-Weiterleitung verwenden, um es auf der Anwendung anzuzeigen. Ich benutze Android Studio, um die Anwendung zu entwickeln und habe das Feature "Video View" gefunden. jedoch. Ich weiß, dass du es mit Youtube-Videos verknüpfen kannst, aber ich weiß nicht, wie ich den weitergeleiteten x11-Befehl mit der Videoansicht verknüpfen soll. Jede Hilfe oder Beratung wäre willkommen!Jsch X11 Forwarding mit einer Android-Anwendung auf Android Studio gebaut
Antwort
Die X11-Weiterleitung ermöglicht einem entfernten X11-Client die Kommunikation mit einem lokalen X11-Server. Es ist kein Videostream. Android hat keinen integrierten X11-Server.
Sie benötigen X11 nicht, um auf /dev/video0
zuzugreifen. Wenn Sie eine Videokamera weiterleiten möchten, würde ich vorschlagen, dass Sie eines der vorhandenen Programme, die bereits stream video haben, weiterleiten und weiterleiten können. Zum Beispiel wird, wenn VLC remote installiert,
vlc -I dummy \
--sout '#transcode{vcodec=h264}:std{access=http,mux=ts,dst=:8080/video.mp4}' \
v4l2:///dev/video0
verursacht VLC als HTTP-Server fungieren, codierend das Videogerät als einen Strom, und es auf Pfad http://localhost:8080/video.mp4
dient. Wenn Sie den Port 8080 mit Jsch oder einer anderen SSH-Implementierung weiterleiten, können Sie ihn einfach laden, indem Sie eine URL über den lokalen Port an MediaPlayer oder ExoPlayer oder eine andere für die Wiedergabe verwendete URL übergeben.
- 1. SSH-Kompression für X11 Forwarding
- 2. Ausführen von mehreren GUIs in Docker mit X11 Forwarding
- 3. Probleme mit OS X 10.12.3 und X11 Forwarding
- 4. Warnung: Keine xauth Daten; mit gefälschten Authentifizierungsdaten für X11 Forwarding
- 5. X11 Forwarding kann nicht geöffnet Anzeige (Client abgelehnt?)
- 6. Android Studio APK Gebaut Fehler TransformClassesWithJarMergingForDebug
- 7. Gradle ist mit Fehlern in Android Studio gebaut
- 8. Android Call Forwarding Nummer
- 9. Basic SSH-Verbindung über JSCH auf Android
- 10. android apk mit jenkins gebaut stürzt auf dem Gerät ab. Alles funktioniert gut in android Studio
- 11. Android N mit JSCH Shell-Shell-Ausgabe
- 12. Mit std :: vorwärts mit einer Forwarding Referenz
- 13. "X11 Weiterleitungsanforderung fehlgeschlagen auf Kanal 0"
- 14. Einfache SSH Verbindung mit JSch
- 15. Perfect Forwarding mit einer temporären Funktion Wrapper
- 16. Bearbeitungsfeld auf X11
- 17. Kotlin-Klassen mit Android-Erweiterungen nicht auf konsequente Builds gebaut
- 18. Forwarding basierend auf Host-Header
- 19. Auf X11-Erweiterung prüfen
- 20. Visual Studio Code 1.0 x11 Weiterleitung?
- 21. Tensorflow android Beispiel wird nicht gebaut
- 22. mit dem Visual Studio Diff-Tool gebaut P4VS das Diffs
- 23. NoClassDefFoundError SecretKeySpec mit JSch
- 24. Conemu mit x-Forwarding
- 25. Mehrere Befehle mit JSch
- 26. x11 Fenster Verzögerung auf OSX
- 27. wie Forwarding Route auf respberry
- 28. gcc mit X11 lib
- 29. Android JSch - Paket org.ietf.jgss existiert nicht
- 30. Split-Methode auf Android mit Android Studio
Vielen Dank für solch eine hilfreiche Antwort! Nur eine kurze Frage würde ich SFTP verwenden, um auf die Datei zuzugreifen? Und ist die URL, die Sie an den Media Player des Formats http: // localhost: 8080/video.mp4 übergeben, nur zur Verdeutlichung? – Liz
@Liz Nein, sftp ist zu einfach und kann einen Dampf nicht so übertragen. – ephemient
Großartig nur zur Klarstellung ist dies das Java-Skript, um diesen http-Server nach dem Einrichten einer neuen Jsch-Sitzung zu lesen: camsession.setPortForwardingR (8030, "192.168.0.217", 23); camsession.connect(); ChannelShell CamChannel = (ChannelShell) camsession.openChannel ("shell"); CamChannel.connect(); vidView.setVideoPath ("http: // localhost: 8030/video.mp4"); vidView.start(); – Liz