Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Error]:"No Streams are selected" Occurs in Remote connection of Python [L515] #9864

Closed
Dongbox opened this issue Oct 17, 2021 · 8 comments
Closed

Comments

@Dongbox
Copy link

Dongbox commented Oct 17, 2021

Required Info
Camera Model L515
Firmware Version 01.05.08.01
Operating System & Version Linux (Ubuntu 18.04) / Windows(10/11)
Kernel Version (Linux Only) 4.9.140-tegra
Platform NVIDIA Jetson TX2
SDK Version 2.47
Language python

Issue Description

I have two devices here: 1.Windows Laptop and 2.NVIDIA Jetson TX2. And I want to set Jetson as an rs-server, connecting to my L515 camera, and in Windows Laptop I will use the python code from "https://github.com/IntelRealSense/librealsense/blob/master/wrappers/python/examples/net_viewer.py" to start a remote session.
After I deploy all services on two computers, which is the 2.47 version, the problems come in my python running.
connect-in-remote-python

First, I had checked it runs in Jetson TX2 normally, included running official intel viewer locally and remotely and python connection. It's all right.

  • Running on Viewer locally in TX2
    Running-on-Viewer-locally
  • Running Remote Session on Viewer locally in TX2
    connect-in-local-viewer
  • Running Python Connection locally in TX2
    connect-in-local-python
    Next, I started the rs-server in the Jetson TX2 and open the intel viewer in the windows Laptop to connect it and its still normal.
  • Running Python Connection Remotely in Windows
    remote-in-viewer-windows

The only problem occurs when I run python code in the terminal, I don't know why it says no streams here and I try to restart the rs-server or close the intel-viewer so as to keep only one device to receive the streams, but it all doest works.

Can you provide some tips here for me?
I had been switched the SDK version from 2.49 to 2.47 depending on one issue, but it seems not a valid method here.

@MartyG-RealSense
Copy link
Collaborator

MartyG-RealSense commented Oct 17, 2021

Hi @Dongbox When you launch your Python code in the terminal, do you have any other RealSense programs already running that are accessing the camera's streams? Under the Multi-Streaming Model of the SDK described in the link below, only one application at a time can access a particular stream on a particular camera. If another RealSense program is run that tries to access the same stream on that particular camera then the access fails.

https://github.com/IntelRealSense/librealsense/blob/master/doc/rs400_support.md#multi-streaming-model

An example of this is the RealSense Viewer being launched first and then a Python application being launched secondly. If the depth and color streams of a particular camera had been enabled in the Viewer and then the Python application was launched afterwards, the Python application would fail if it also tried to request the depth or color streams.

This is because the program that accessed the streams first has 'claimed' them, and only releases the claim and allows other programs to access those streams if the enabled stream is disabled or the application that had made the claim is closed. Once the claim on a stream is released, another application is able to access that stream.

If a Python application was launched first and the Viewer secondly, because the Python application had claimed the streams first then the Viewer would not be able to enable them.

@Dongbox
Copy link
Author

Dongbox commented Oct 18, 2021

@MartyG-RealSense Thanks for your reply!
But I always keep only one client to receive the streams from the server. Like close the Viewer and restart the rs-server or even restart all computers such methods to confirm only one client to one server.

So it may not an appropriate solution to this issue here.

@MartyG-RealSense
Copy link
Collaborator

MartyG-RealSense commented Oct 18, 2021

Does net_viewer.py print a 'Connected' confirmation message that a network connection to the camera has been successfully made?

https://github.com/IntelRealSense/librealsense/blob/master/wrappers/python/examples/net_viewer.py#L24

I am not familiar with how the net_viewer.py program functions, but I cannot see in the code how it makes a connection to the camera like ssh'ing in the white paper does. I wonder if the program assumes that there is a network connection to the remote camera active already when the script is run.

@Dongbox
Copy link
Author

Dongbox commented Oct 18, 2021

Does net_viewer.py print a 'Connected' confirmation message that a network connection to the camera has been successfully made?

https://github.com/IntelRealSense/librealsense/blob/master/wrappers/python/examples/net_viewer.py#L24

I am not familiar with how the net_viewer.py program functions, but I cannot see in the code how it makes a connection to the camera like ssh'ing in the white paper does. I wonder if the program assumes that there is a network connection to the remote camera active already when the script is run.
image

It printed connected and camera information here which means it has successfully connect to the server. But error occurs when running pipeline.start()

dev = rsnet.net_device(ip)
print('Connected')
print('Using device 0,', dev.get_info(rs.camera_info.name), ' Serial number: ',
      dev.get_info(rs.camera_info.serial_number))
dev.add_to(ctx)
pipeline = rs.pipeline(ctx)
print('Start streaming, press ESC to quit...')
pipeline.start()

@MartyG-RealSense
Copy link
Collaborator

I have studied the problem very carefully but cannot see an obvious reason for this problem. As net-viewer.py was first introduced in librealsense 2.49.0, I cannot rule out the possibility that the problem is related to something the program requires that is not included in the earlier 2.47.0 SDK that you are using.

@Dongbox
Copy link
Author

Dongbox commented Oct 18, 2021

I have studied the problem very carefully but cannot see an obvious reason for this problem. As net-viewer.py was first introduced in librealsense 2.49.0, I cannot rule out the possibility that the problem is related to something the program requires that is not included in the earlier 2.47.0 SDK that you are using.

Thanks... Actually, my first try was in SDK version 2.49... the same problem as this.
And today I meet the same when deploying a new rs-server in AMD ubuntu 18, thus it may be a problem occurs in the client.

@MartyG-RealSense
Copy link
Collaborator

MartyG-RealSense commented Oct 19, 2021

On September 17 2021 in IntelRealSense/realsense-ros#1804 (comment) a RealSense team member advised that there were no plans to support L515 in rs-server. This may be because the L515 model has been declared end of life by Intel, with the 400 Series stereo depth camera range being the main focus of the RealSense product range from this point onward.

In #8766 (comment) though there was a RealSense user who said that they had managed to get rs-server working with their L515, though apparently not without problems.

@Dongbox
Copy link
Author

Dongbox commented Oct 19, 2021

On September 17 2021 in IntelRealSense/realsense-ros#1804 (comment) a RealSense team member advised that there were no plans to support L515 in rs-server. This may be because the L515 model has been declared end of life by Intel, with the 400 Series stereo depth camera range being the main focus of the RealSense product range from this point onward.

In #8766 (comment) though there was a RealSense user who said that they had managed to get rs-server working with their L515, though apparently not without problems.

OK... Get it.
Maybe you guys should add these warnings into tutorials for developers.

I need to update my camera now.
Thank you, Marty.

@Dongbox Dongbox closed this as completed Oct 19, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants