在我的安卓应用程序中,使用LibVLC库显示实时视频流。为了连接SSH服务器,我使用了jsch库。
运行应用程序时,会话后连接视频将正常运行。当我最小化应用程序3-4分钟,并再次恢复,仍然正常运行的视频。但是,当我将应用程序最小化10分钟或更长时间时,在恢复时它会显示session timeout消息。
OnResume()我尝试创建会话和createPlayer(),但仍然无法工作。
我尝试过改变会话连接时间。
是否有任何方法可以避免长时间的会话超时,比如30分钟。
//**编辑后**//
在onResume()会话仍然连接后,我进行了检查,错误日志显示为Connection reset by peer.
那是什么意思?隧道关闭了吗?如果是,如何检查ssh隧道状态?
错误日志:
08-09 10:52:15.268 6529-21339/com.compdigitec.libvlcandroidsample E/VLC: live555 demux:未能连接到rtsp://localhost:8554/VLC.ts 08-09 10:52:15.268 6529-21339/com.compdigitec.libvlcandroidsample D/VLC: core demux:没有匹配的access_demux模块08-09 10:52:15.268 6529-21339/com.compdigitec.libvlcandroidsample D/VLC:核心输入:创建访问通道'rtsp‘位置=’localhost:8554/VLC.ts‘,6529-21339/com.compdigitec.libvlcandroidsample‘(Null)’08-09 10:52:15.268 6529-21339/com.compdigitec.libvlcandroidsample D/VLC:核心访问:查找与“rtsp”匹配的访问模块: 15名候选人08-09 10:52:15.268 6529-21339/com.compdigitec.libvlcandroidsample D/VLC:核心访问: net:连接到本地主机端口8554 08-09 10:52:15.278 6529-21339/com.compdigitec.libvlcandroidsample D/VLC:核心访问:连接成功(套接字= 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: rtsp连接08-09 10:52:35.823 6529-21339/com.compdigitec.libvlcandroidsample W/VLC: access_realrtsp访问:现在只支持真正/螺旋形rtsp服务器08-09 10:52:35.823 6529-21339/com.compdigitec.libvlcandroidsample D/VLC: core访问:没有匹配08-09 10:52:35.823 6529-21339/com.compdigitec.libvlcandroidsample E/ VLC :核心输入:打开rtsp://localhost:8554/ 6529-21339/com.compdigitec.libvlcandroidsample 10:52:35.823 6529-21339/com.compdigitec.libvlcandroidsample E/VLC: 6529-21339/com.compdigitec.libvlcandroidsample输入:您的输入无法打开08-09 10:52:35.823 6529-21339/com.compdigitec.libvlcandroidsample E/VLC: 6529-21339/com.compdigitec.libvlcandroidsample输入:VLC无法打开MRL ://localhost:8554/6529-21339/com.compdigitec.libvlcandroidsample.
发布于 2016-08-09 16:46:30
您正在获得的demux错误发生在堆栈的更高级别上。您需要首先验证底层SSH连接是否仍然良好。为此,请在应用程序恢复时检查并在必要时重新连接:
public void onResume() {
if (!session.isConnected()) {
reconnect(); // needs to create a new session, open a channel, etc.
}
}一旦验证了SSH连接,就应该能够通过LibVLC恢复流。但是,如果此时仍然看到错误,则必须显示用于打开/恢复流的代码。
发布于 2016-08-15 23:03:37
似乎您正在打开一个新的流,而您已经打开了一个现有的流。只在旧流断开连接时,才进行检查以创建新流。
下面的链接可能会添加一些帮助:
https://github.com/bastimeyer/livestreamer-twitch-gui/issues/181
发布于 2016-08-16 04:18:01
public void onResume() {
if (!session.isConnected()) {
reconnect(); // needs to create a new session, open a channel, etc.
}
}https://stackoverflow.com/questions/38787142
复制相似问题