2016-08-05 19 views
11

私のAndroidアプリケーションでは、LibVLCライブラリを使用してライブビデオストリーミングを行っています。 SSHサーバに接続するにはjschライブラリを使用しています。Androidでセッションタイムアウトを回避する方法

私はアプリケーションを実行すると、セッション接続後にビデオが正しく動作します。 3〜4分間アプリを最小化すると、ビデオが正常に動作します。しかし、私は10分以上のアプリケーションを最小限に抑えると、再開時にsession timeoutというメッセージが表示されます。

OnResume()私はセッションとcreatePlayer()を作成しようとしましたが、それでも動作しません。

セッション接続時間を変更してみました。

セッションタイムアウトが30分などの長期間にならないようにする方法はありますか?

// ** EDIT AFTER ** //それはどういう意味

は私がonResume()セッションがまだ接続された後にチェックし、エラーログがConnection reset by peer.

を言いますか? sshトンネルは閉鎖されていますか?はいの場合は、sshトンネルステータスを確認する方法は?

エラーログ:

08-09 10:52:15.268 6529-21339/com.compdigitec.libvlcandroidsample E/VLC: live555 demux: Failed to connect with rtsp://localhost:8554/video.ts 08-09 10:52:15.268 6529-21339/com.compdigitec.libvlcandroidsample D/VLC: core demux: no access_demux modules matched 08-09 10:52:15.268 6529-21339/com.compdigitec.libvlcandroidsample D/VLC: core input: creating access 'rtsp' location='localhost:8554/video.ts', path='(null)' 08-09 10:52:15.268 6529-21339/com.compdigitec.libvlcandroidsample D/VLC: core access: looking for access module matching "rtsp": 15 candidates 08-09 10:52:15.268 6529-21339/com.compdigitec.libvlcandroidsample D/VLC: core access: net: connecting to localhost port 8554 08-09 10:52:15.278 6529-21339/com.compdigitec.libvlcandroidsample D/VLC: core access: connection succeeded (socket = 36) 08-09 10:52:35.823 6529-21339/com.compdigitec.libvlcandroidsample E/VLC: core access: read error: Connection reset by peer 08-09 10:52:35.823 6529-21339/com.compdigitec.libvlcandroidsample D/VLC: access_realrtsp access: rtsp connected 08-09 10:52:35.823 6529-21339/com.compdigitec.libvlcandroidsample W/VLC: access_realrtsp access: only real/helix rtsp servers supported for now 08-09 10:52:35.823 6529-21339/com.compdigitec.libvlcandroidsample D/VLC: core access: no access modules matched 08-09 10:52:35.823 6529-21339/com.compdigitec.libvlcandroidsample E/VLC: core input: open of rtsp://localhost:8554/video.ts' failed 08-09 10:52:35.823 6529-21339/com.compdigitec.libvlcandroidsample E/VLC: core input: Your input can't be opened 08-09 10:52:35.823 6529-21339/com.compdigitec.libvlcandroidsample E/VLC: core input: VLC is unable to open the MRL 'rtsp://localhost:8554/video.ts'

+0

を私の代わりにタイムアウトを変更するので、あなたのアプリが再開したときに自動的に再接続メカニズムを実装することをお勧めします。あなたはネットワーク接続が長時間開いていることを100%保証することはできません.WifiからWifiへの変更や一時的な接続の切断というユーザーの思い込みを考えてください。 –

+0

セッションに再接続するためのコードを追加しましたが、Demuxエラー –

+0

が表示されます。別のエラーが発生しているようです。あなたのコードの関連部分と正確なエラー/例外を投稿することをお勧めします。 –

答えて

1

あなたが取得しているDEMUXエラーがスタックの上位レベルで起きています。基本的なSSH接続がまだ良好であることをまず検証する必要があります。これを行うにチェックし、必要に応じて再接続場合には、あなたのアプリケーションが再開したときに:あなたはSSH接続を検証したら

public void onResume() { 
    if (!session.isConnected()) { 
     reconnect(); // needs to create a new session, open a channel, etc. 
    } 
} 

は、あなたがLibVLC経由でストリームを再開することができるはずです。その時点でまだエラーが表示されている場合は、ストリームのオープン/再開に使用するコードを表示する必要があります。

0

既存のストリームを開いているときに、新しいストリームを開いているようです。 古いストリームが切断されている場合にのみ、新しいストリームを作成するようにチェックを入れます。リンク後

は、いくつかの助け加えるかもしれない:

https://github.com/bastimeyer/livestreamer-twitch-gui/issues/181

0
 public void onResume() { 
     if (!session.isConnected()) { 
    reconnect(); // needs to create a new session, open a channel, etc. 
    } 
     } 
関連する問題