PlusToolkit / PlusLib

Software library for data acquisition, pre-processing, and calibration for navigated image-guided interventions.
http://www.plustoolkit.org
Other
130 stars 102 forks source link

Cannot connect magewell device to Plus #1075

Closed schcat closed 1 year ago

schcat commented 1 year ago

Hello, everybody! I want to connect a magewell video capture card(https://cn.magewell.com/products/pro-capture-sdi-4k-plus) to Plus, but i don't know what kind of device it is in the manual(http://perk-software.cs.queensu.ca/plus/doc/nightly/user/Configuration.html), and get poor information about how to write .xml file for magewell device. It appear in my Ubuntu system as /dev/video0, and can show video stream with "mplayer tv:// -tv driver=v4l2:device=/dev/video0". Who can give me some clue about how to write .xml file for magewell device?

lassoan commented 1 year ago

You can connect using generic video devices. On Linux you can use Video for Linux (V4L2Video) or OpenCV (OpenCVVideo).

schcat commented 1 year ago

You can connect using generic video devices. On Linux you can use Video for Linux (V4L2Video) or OpenCV (OpenCVVideo).

Thanks a lot! I have tried V4L2Video and got "Connection failed", using this config file:https://github.com/PlusToolkit/PlusLibData/blob/master/ConfigFiles/PlusDeviceSet_Server_V4L2.xml. I only launched PlusServerLauncher, with out 3D Slicer or other connector.

The log file is:

time|level|timeoffset|message|location
032523_145937.265|INFO|000.000511|> Software version: Plus-2.9.0.475313a7 - Linux| in vtkPlusLogger(52)
032523_145937.265|TRACE|000.000637| ToolStateDisplayWidget::ConstructMessageListWidget| in /home/lizhixue/devel/PlusBuild-bin/PlusLib/src/PlusWidgets/QPlusStatusIcon.cxx(196)
032523_145937.266|INFO|000.002225|  Software version: Plus-2.9.0.475313a7 - Linux| in /home/lizhixue/devel/PlusBuild-bin/PlusApp/PlusServerLauncher/PlusServerLauncherMainWindow.cxx(126)
032523_145937.266|INFO|000.002422| Logging at level 3 to file: /home/lizhixue/devel/PlusBuild-bin/bin/Output/032523_145937_PlusLog.txt| in /home/lizhixue/devel/PlusBuild-bin/PlusApp/PlusServerLauncher/PlusServerLauncherMainWindow.cxx(127)
032523_145937.269|INFO|000.005067| Supported devices:
  - AuroraTracker (ver: NDICAPI-1.7)
  - ChRobotics (ver: Plus-2.9.0)
  - FakeTracker (ver: Plus-2.9.0)
  - GenericSerialDevice (ver: Plus-2.9.0)
  - ImageProcessor (ver: Plus-2.9.0)
  - Microchip (ver: Plus-2.9.0)
  - NDITracker (ver: NDICAPI-1.7)
  - NoiseVideo (ver: Plus-2.9.0)
  - OpenIGTLinkTracker (ver: OpenIGTLink v3.1.0)
  - OpenIGTLinkVideo (ver: OpenIGTLink v3.1.0)
  - PolarisTracker (ver: NDICAPI-1.7)
  - SavedDataSource (ver: Plus-2.9.0)
  - UsSimulator (ver: Plus-2.9.0)
  - VirtualBufferedCapture (ver: Plus-2.9.0)
  - VirtualCapture (ver: Plus-2.9.0)
  - VirtualDeinterlacer (ver: Plus-2.9.0)
  - VirtualDiscCapture (ver: Plus-2.9.0)
  - VirtualMixer (ver: Plus-2.9.0)
  - VirtualSwitcher (ver: Plus-2.9.0)
  - VirtualVolumeReconstructor (ver: Plus-2.9.0)
| in /home/lizhixue/devel/PlusBuild-bin/PlusApp/PlusServerLauncher/PlusServerLauncherMainWindow.cxx(131)
032523_145937.271|INFO|000.007246| Server host name: lizhixue-System-Product-Name| in /home/lizhixue/devel/PlusBuild-bin/PlusApp/PlusServerLauncher/PlusServerLauncherMainWindow.cxx(162)
032523_145937.272|INFO|000.007797| Server IP addresses: 127.0.0.1, 192.168.0.32| in /home/lizhixue/devel/PlusBuild-bin/PlusApp/PlusServerLauncher/PlusServerLauncherMainWindow.cxx(182)
032523_145937.272|INFO|000.007885| Start remote control server at port: 18904| in /home/lizhixue/devel/PlusBuild-bin/PlusApp/PlusServerLauncher/PlusServerLauncherMainWindow.cxx(191)
032523_145944.225|TRACE|006.961056| DeviceSetSelectorWidget::InvokeConnect| in /home/lizhixue/devel/PlusBuild-bin/PlusLib/src/PlusWidgets/QPlusDeviceSetSelectorWidget.cxx(174)
032523_145944.225|TRACE|006.961150| vtkPlusConfig::SaveApplicationConfigurationToFile| in /home/lizhixue/devel/PlusBuild-bin/PlusLib/src/PlusCommon/vtkPlusConfig.cxx(525)
032523_145944.225|TRACE|006.961183| vtkPlusConfig::WriteApplicationConfiguration| in /home/lizhixue/devel/PlusBuild-bin/PlusLib/src/PlusCommon/vtkPlusConfig.cxx(435)
032523_145944.225|DEBUG|006.961422| Application configuration file '/home/lizhixue/devel/PlusBuild-bin/bin/PlusConfig.xml' saved| in /home/lizhixue/devel/PlusBuild-bin/PlusLib/src/PlusCommon/vtkPlusConfig.cxx(536)
032523_145944.226|INFO|006.962074| Connect using configuration file: /home/lizhixue/project/3D_Slicer/SlicerIGT-Data/PlusDeviceSet_Server_V4L2.xml| in /home/lizhixue/devel/PlusBuild-bin/PlusApp/PlusServerLauncher/PlusServerLauncherMainWindow.cxx(646)
032523_145944.226|INFO|006.962232| Server process command line: "/home/lizhixue/devel/PlusBuild-bin/bin/PlusServer" --config-file="PlusDeviceSet_Server_V4L2.xml" --verbose=5| in /home/lizhixue/devel/PlusBuild-bin/PlusApp/PlusServerLauncher/PlusServerLauncherMainWindow.cxx(327)
032523_145944.261|ERROR|006.997042| Server stopped unexpectedly. Return code: 1| in /home/lizhixue/devel/PlusBuild-bin/PlusApp/PlusServerLauncher/PlusServerLauncherMainWindow.cxx(871)
032523_145944.279|INFO|007.014485| Disconnect request successful| in /home/lizhixue/devel/PlusBuild-bin/PlusApp/PlusServerLauncher/PlusServerLauncherMainWindow.cxx(639)
032523_145944.279|TRACE|007.014638| DeviceSetSelectorWidget::SetConnectionSuccessful(false)| in /home/lizhixue/devel/PlusBuild-bin/PlusLib/src/PlusWidgets/QPlusDeviceSetSelectorWidget.cxx(238)
032523_145944.279|TRACE|007.014829| DeviceSetSelectorWidget::SetConnectionSuccessful(false)| in /home/lizhixue/devel/PlusBuild-bin/PlusLib/src/PlusWidgets/QPlusDeviceSetSelectorWidget.cxx(238)
032523_145944.279|TRACE|007.014942| Sending server stopped command| in /home/lizhixue/devel/PlusBuild-bin/PlusApp/PlusServerLauncher/PlusServerLauncherMainWindow.cxx(1438)
032523_145944.279|ERROR|007.015061| Failed to start server process| in /home/lizhixue/devel/PlusBuild-bin/PlusApp/PlusServerLauncher/PlusServerLauncherMainWindow.cxx(345)
032523_145944.279|TRACE|007.015208| DeviceSetSelectorWidget::SetConnectionSuccessful(false)| in /home/lizhixue/devel/PlusBuild-bin/PlusLib/src/PlusWidgets/QPlusDeviceSetSelectorWidget.cxx(238)

Any suggestion about how to revise it?

adamrankin commented 1 year ago

Can you see any error/info messages in the system log? (Dmesg I think?)

schcat commented 1 year ago

Can you see any error/info messages in the system log? (Dmesg I think?)

I checked /var/log/dmesg and got these message, it seems that Pro Capture worked normally.

[   34.698374] kernel: ProCapture: module verification failed: signature and/or required key missing - tainting kernel
[   34.702589] kernel: Pro Capture 0000:02:00.0: enabling device (0000 -> 0002)
[   34.814897] kernel: input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input9
[   34.815100] kernel: input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input10
[   34.815274] kernel: input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input11
[   34.815427] kernel: input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input12
[   34.815608] kernel: input: HDA NVidia HDMI/DP,pcm=10 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input13
[   34.815763] kernel: input: HDA NVidia HDMI/DP,pcm=11 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input14
[   34.838311] kernel: snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC887-VD: line_outs=4 (0x14/0x15/0x16/0x17/0x0) type:line
[   34.838318] kernel: snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   34.838321] kernel: snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x1b/0x0/0x0/0x0/0x0)
[   34.838324] kernel: snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
[   34.838326] kernel: snd_hda_codec_realtek hdaudioC0D0:    dig-out=0x11/0x0
[   34.838328] kernel: snd_hda_codec_realtek hdaudioC0D0:    inputs:
[   34.838331] kernel: snd_hda_codec_realtek hdaudioC0D0:      Front Mic=0x19
[   34.838333] kernel: snd_hda_codec_realtek hdaudioC0D0:      Rear Mic=0x18
[   34.838335] kernel: snd_hda_codec_realtek hdaudioC0D0:      Line=0x1a
[   34.857630] kernel: input: HDA Intel PCH Front Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input15
[   34.857688] kernel: input: HDA Intel PCH Rear Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input16
[   34.857734] kernel: input: HDA Intel PCH Line as /devices/pci0000:00/0000:00:1f.3/sound/card0/input17
[   34.857779] kernel: input: HDA Intel PCH Line Out Front as /devices/pci0000:00/0000:00:1f.3/sound/card0/input18
[   34.857832] kernel: input: HDA Intel PCH Line Out Surround as /devices/pci0000:00/0000:00:1f.3/sound/card0/input19
[   34.857872] kernel: input: HDA Intel PCH Line Out CLFE as /devices/pci0000:00/0000:00:1f.3/sound/card0/input20
[   34.857914] kernel: input: HDA Intel PCH Line Out Side as /devices/pci0000:00/0000:00:1f.3/sound/card0/input21
[   34.857958] kernel: input: HDA Intel PCH Front Headphone as /devices/pci0000:00/0000:00:1f.3/sound/card0/input22
[   34.857997] kernel: input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input23
[   34.858035] kernel: input: HDA Intel PCH HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input24
[   34.858075] kernel: input: HDA Intel PCH HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input25
[   35.261692] kernel: Pro Capture: V4L2 device registered as video0
schcat commented 1 year ago

It worked as OpenCVWebCam! There is a mistake that i forgot to turn the compile options of "V4L2" and "OpenCV_Video" to "on" in CMakeList.txt. Thank you everyone!