如何避免Android

时间:2016-08-05 10:36:18

标签: android session video-streaming jsch

在我的Android应用程序中,我使用LibVLC库显示实时视频流。要连接 SSH 服务器,我使用了jsch库。

当我运行应用程序时,会话连接视频正常运行后。当我最小化应用程序3-4分钟,并再次恢复仍然视频运行正常。但是,当我将应用程序最小化10分钟或更长时间并在恢复时,它会显示session timeout消息。

OnResume()我尝试创建会话和createPlayer(),但仍无效。

我尝试过更改会话连接时间。

有没有办法在30分钟的长时间内避免会话超时。

// **编辑后** //

我在onResume()会话仍然连接后进行了检查,错误日志显示为Connection reset by peer.

这是什么意思? ssh隧道是关闭的吗?如果是,如何检查ssh隧道状态?

错误日志:

  

08-09 10:52:15.268 6529-21339 / com.compdigitec.libvlcandroidsample E / VLC:live555 demux:无法连接rtsp:// localhost:8554 / video.ts   08-09 10:52:15.268 6529-21339 / com.compdigitec.libvlcandroidsample D / VLC:核心demux:没有匹配的access_demux模块   08-09 10:52:15.268 6529-21339 / com.compdigitec.libvlcandroidsample D / VLC:核心输入:创建访问&#39; rtsp&#39; location =&#39; localhost:8554 / video.ts&#39;,path =&#39;(null)&#39;   08-09 10:52:15.268 6529-21339 / com.compdigitec.libvlcandroidsample D / VLC:核心访问:寻找访问模块匹配&#34; rtsp&#34 ;:15候选人   08-09 10:52:15.268 6529-21339 / com.compdigitec.libvlcandroidsample D / VLC:核心访问:net:连接到localhost端口8554   08-09 10:52:15.278 6529-21339 / com.compdigitec.libvlcandroidsample D / VLC:核心访问:连接成功(socket = 36)   08-09 10:52:35.823 6529-21339 / com.compdigitec.libvlcandroidsample E / VLC:核心访问:读取错误:通过对等方重置连接   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访问:目前仅支持real / helix rtsp服务器   08-09 10:52:35.823 6529-21339 / com.compdigitec.libvlcandroidsample D / VLC:核心访问:没有匹配的访问模块   08-09 10:52:35.823 6529-21339 / com.compdigitec.libvlcandroidsample E / VLC:核心输入:打开rtsp:// localhost:8554 / video.ts&#39;失败   08-09 10:52:35.823 6529-21339 / com.compdigitec.libvlcandroidsample E / VLC:核心输入:您的输入无法打开   08-09 10:52:35.823 6529-21339 / com.compdigitec.libvlcandroidsample E / VLC:核心输入:VLC无法打开MRL&#39; rtsp:// localhost:8554 / video.ts&#39; < / p>

2 个答案:

答案 0 :(得分:1)

您获得的demux错误发生在堆栈中的更高级别。您需要首先验证底层SSH连接是否仍然良好。为此,请在应用程序恢复后检查并在必要时重新连接:

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

验证SSH连接后,您应该能够通过LibVLC恢复流。但是,如果您在此时仍然看到错误,则必须显示用于打开/恢复流的代码。

答案 1 :(得分:0)

当您已经打开现有流时,似乎正在打开新流。 只有在旧流断开连接时才进行检查以创建新流。

以下链接可能会增加一些帮助:

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