2017-08-15 7 views
0

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

0

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.

+0

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

+0

@Liz Nein, sftp ist zu einfach und kann einen Dampf nicht so übertragen. – ephemient

+0

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

Verwandte Themen