aravis icon indicating copy to clipboard operation
aravis copied to clipboard

On both Linux and Windows platforms, unable to open the video stream from the Hikvision decoder.

Open souldown0 opened this issue 1 year ago โ€ข 1 comments

Describe the bug Regardless of the version of aravis I run on either Linux or Windows, when it comes to the MV-SC2005AM-02WBN Ethernet camera decoder, it only shows the name and icon of the decoder. Clicking on it only displays three parameters that cannot be modified, and the image acquisition button is also disabled. Why is this happening?

I also ran arv-test-0.8, and here are the results. Found 1 device Testing 'Hikrobot:MV-SC2005AM-02WBN' Genicam:Load SUCCESS Genicam:Schema SUCCESS Schema validation disabled Properties:SensorSizeReadout SUCCESS Properties:SensorSizeCheck IGNORED Properties:GainAvailable SUCCESS Properties:GainReadout SUCCESS Properties:ExposureTimeAvailable SUCCESS Properties:ExposureTimeReadout SUCCESS MultipleAcquisitionA:BufferCheck FAILURE [AcquisitionMode] [AcquisitionMode] No available entry found SingleAcquisition:BufferCheck FAILURE [AcquisitionMode] [AcquisitionMode] No available entry found SoftwareTrigger:NoSupport FAILURE MultipleAcquisitionB:BufferCheck FAILURE [AcquisitionMode] [AcquisitionMode] No available entry found Multipart:NoSupport SUCCESS Chunks:NoSupport FAILURE GigEVision:NNetworkInterfaces FAILURE 16777216 GigEVision:NStreamChannels FAILURE 16777216 GigEVision:StreamChannel SUCCESS The camera can be pinged and the firewalls have also been disabled.

To Reproduce I compiled and installed aravis separately on Linux and Windows, and then launched the camera decoder.

Expected behavior I hope aravis can properly read and display the camera's video stream.

Camera description:

  • Hikrobot
  • MV-SC2005AM-02WBN-00DA0436939
  • GIGE network

Platform description:

  • Aravis 0.8
  • OS: Ubutu20.04/Windows11
  • Hardware laptop

Additional context I also tried running arv-camera-test. The output is as follows: $ arv-camera-test-0.8 -d all Looking for the first available camera [13:47:48.043] ๐Ÿ…ธ interface> Found 0 USB3Vision device (among 4 USB devices) [13:47:48.044] ๐Ÿ…ธ interface> [GvDiscoverSocket::new] Add interface 127.0.0.1 (127.0.0.1) [13:47:48.045] ๐Ÿ…ธ interface> [GvDiscoverSocket::new] Add interface 169.254.113.9 (169.254.113.255) [13:47:48.049] ๐Ÿ…ธ interface> [GvInterface::discovery] Device 'Hikrobot-MV-SC2005AM-02WBN-00DA0436939' found (interface 169.254.113.9) user_id '' - MAC '34:bd:20:24:d7:6e' [13:47:48.049] ๐Ÿ…ธ device> [GvDevice::new] Interface address = 169.254.113.9 [13:47:48.049] ๐Ÿ…ธ device> [GvDevice::new] Device address = 169.254.113.42 [13:47:48.052] ๐Ÿ…ธ device> [GvDevice::load_genicam] xml url = 'Local:Hikvision_GigE_Vision_1_V3_0_0.zip;100000;11570' at 0x200 [13:47:48.052] ๐Ÿ…ธ device> [GvDevice::load_genicam] Xml address = 0x100000 - size = 0x11570 - Hikvision_GigE_Vision_1_V3_0_0.zip [13:47:48.365] ๐Ÿ…ธ device> [GvDevice::load_genicam] Zipped xml data [13:47:48.369] ๐Ÿ…ธ dom> [GcFeature::set_attribute] Unknown attribute 'xmlns:mstns' [13:47:48.421] ๐Ÿ…ธ genicam> [Gc::set_default_node_data] Add 'ArvGevCurrentIPConfigurationLLA' [13:47:48.422] ๐Ÿ…ธ genicam> [Gc::set_default_node_data] Add 'ArvGevCurrentIPConfigurationDHCP' [13:47:48.424] ๐Ÿ…ธ genicam> [Gc::set_default_node_data] Add 'ArvGevCurrentIPConfigurationPersistentIP' [13:47:48.424] ๐Ÿ…ธ genicam> [Gc::set_default_node_data] Add 'ArvGevCurrentIPAddress' [13:47:48.424] ๐Ÿ…ธ genicam> [Gc::set_default_node_data] Add 'ArvGevCurrentSubnetMask' [13:47:48.424] ๐Ÿ…ธ genicam> [Gc::set_default_node_data] Add 'ArvGevCurrentDefaultGateway' [13:47:48.425] ๐Ÿ…ธ genicam> [Gc::set_default_node_data] Add 'ArvGevNumberOfNetworkInterfaces' [13:47:48.426] ๐Ÿ…ธ genicam> [Gc::set_default_node_data] Add 'ArvGevPersistentIPAddress' [13:47:48.426] ๐Ÿ…ธ genicam> [Gc::set_default_node_data] Add 'ArvGevPersistentSubnetMask' [13:47:48.427] ๐Ÿ…ธ genicam> [Gc::set_default_node_data] Add 'ArvGevPersistentDefaultGateway' [13:47:48.428] ๐Ÿ…ธ genicam> [Gc::set_default_node_data] Add 'ArvGevStreamChannelCount' [13:47:48.428] ๐Ÿ…ธ genicam> [Gc::set_default_node_data] Add 'ArvGevStreamChannelSelector' [13:47:48.428] ๐Ÿ…ธ genicam> [Gc::set_default_node_data] Add 'ArvGevSCPAddrCalc' [13:47:48.429] ๐Ÿ…ธ genicam> [Gc::set_default_node_data] Add 'ArvGevTimestampTickFrequency' [13:47:48.429] ๐Ÿ…ธ genicam> [Gc::set_default_node_data] Add 'ArvGevSCPHostPort' [13:47:48.430] ๐Ÿ…ธ genicam> [Gc::set_default_node_data] Add 'ArvGevSCPSFireTestPacket' [13:47:48.430] ๐Ÿ…ธ genicam> [Gc::set_default_node_data] Add 'ArvGevSCPSDoNotFragment' [13:47:48.431] ๐Ÿ…ธ genicam> [Gc::set_default_node_data] Add 'ArvGevSCPSBigEndian' [13:47:48.431] ๐Ÿ…ธ genicam> [Gc::set_default_node_data] Add 'ArvGevSCPSPacketSize' [13:47:48.432] ๐Ÿ…ธ genicam> [Gc::set_default_node_data] Add 'ArvGevSCPD' [13:47:48.433] ๐Ÿ…ธ genicam> [Gc::set_default_node_data] Add 'ArvGevSCDA' [13:47:48.433] ๐Ÿ…ธ genicam> [Gc::set_default_node_data] Add 'ArvGevSCSP' [13:47:48.434] ๐Ÿ…ธ genicam> [Gc::set_default_node_data] Add 'ArvGevSCCFGMultipart' [13:47:48.441] ๐Ÿ…ธ device> [GvDevice::new] Device endianness = little [13:47:48.441] ๐Ÿ…ธ device> [GvDevice::new] Packet resend = yes [13:47:48.441] ๐Ÿ…ธ device> [GvDevice::new] Write memory = yes [13:47:48.441] ๐Ÿ…ธ device> [GvDevice::new] Legacy endianness handling = no vendor name = Hikrobot model name = MV-SC2005AM-02WBN device serial number = 00DA0436939 image width = 537067520 image height = 1476526080 exposure = 4.1943e+09 ยตs gain = 83886080 dB payload = 5441280 bytes gv n_stream channels = 16777216 gv current channel = 0 gv packet delay = 1113690985 ns [13:47:48.501] ๐Ÿ…ธ device> [GvDevice::create_stream] Number of stream channels = 16777216 [13:47:48.507] ๐Ÿ†† device> [GvDevice::auto_packet_size] Invalid ArvGevSCPSPacketSize properties [13:47:48.510] ๐Ÿ…ธ stream> [GvStream::stream_new] Stream channel = 0 [13:47:48.517] ๐Ÿ…ธ stream> [GvStream::stream_new] Packet size = 64 byte(s) [13:47:48.527] ๐Ÿ…ธ stream> [GvStream::stream_new] Destination stream port = 45061 [13:47:48.527] ๐Ÿ…ธ stream> [GvStream::stream_new] Source stream port = 0 [13:47:48.528] ๐Ÿ…ธ stream> [GvStream::loop] Standard socket method gv packet size = 64 bytes 0 frame/s - 0 MiB/s 0 frame/s - 0 MiB/s 0 frame/s - 0 MiB/s 0 frame/s - 0 MiB/s 0 frame/s - 0 MiB/s 0 frame/s - 0 MiB/s 0 frame/s - 0 MiB/s 0 frame/s - 0 MiB/s 0 frame/s - 0 MiB/s 0 frame/s - 0 MiB/s 0 frame/s - 0 MiB/s 0 frame/s - 0 MiB/s 0 frame/s - 0 MiB/s 0 frame/s - 0 MiB/s 0 frame/s - 0 MiB/s 0 frame/s - 0 MiB/s 0 frame/s - 0 MiB/s 0 frame/s - 0 MiB/s 0 frame/s - 0 MiB/s 0 frame/s - 0 MiB/s 0 frame/s - 0 MiB/s 0 frame/s - 0 MiB/s 0 frame/s - 0 MiB/s 0 frame/s - 0 MiB/s 0 frame/s - 0 MiB/s 0 frame/s - 0 MiB/s ^C 0 frame/s - 0 MiB/s n_completed_buffers = 0 n_failures = 0 n_underruns = 0 n_timeouts = 0 n_aborted = 0 n_missing_frames = 0 n_size_mismatch_errors = 0 n_received_packets = 0 n_missing_packets = 0 n_error_packets = 0 n_ignored_packets = 0 n_resend_requests = 0 n_resent_packets = 0 n_resend_ratio_reached = 0 n_resend_disabled = 0 n_duplicated_packets = 0 n_transferred_bytes = 0 n_ignored_bytes = 0 [13:48:15.592] ๐Ÿ…ธ stream> bins ;frame_retent; packet_time;inter_packet 0; 0; 0; 0 ------------- >= 2000; 0; 0; 0 < 0; 0; 0; 0 min : n/a; n/a; n/a max : n/a; n/a; n/a last max at : 0; 0; 0 counter : 0: 0: 0 [13:48:15.592] ๐Ÿ…ธ stream> [GvStream::finalize] n_completed_buffers = 0 [13:48:15.592] ๐Ÿ…ธ stream> [GvStream::finalize] n_failures = 0 [13:48:15.592] ๐Ÿ…ธ stream> [GvStream::finalize] n_underruns = 0 [13:48:15.592] ๐Ÿ…ธ stream> [GvStream::finalize] n_timeouts = 0 [13:48:15.592] ๐Ÿ…ธ stream> [GvStream::finalize] n_aborted = 0 [13:48:15.593] ๐Ÿ…ธ stream> [GvStream::finalize] n_missing_frames = 0 [13:48:15.593] ๐Ÿ…ธ stream> [GvStream::finalize] n_size_mismatch_errors = 0 [13:48:15.593] ๐Ÿ…ธ stream> [GvStream::finalize] n_received_packets = 0 [13:48:15.593] ๐Ÿ…ธ stream> [GvStream::finalize] n_missing_packets = 0 [13:48:15.593] ๐Ÿ…ธ stream> [GvStream::finalize] n_error_packets = 0 [13:48:15.593] ๐Ÿ…ธ stream> [GvStream::finalize] n_ignored_packets = 0 [13:48:15.593] ๐Ÿ…ธ stream> [GvStream::finalize] n_resend_requests = 0 [13:48:15.593] ๐Ÿ…ธ stream> [GvStream::finalize] n_resent_packets = 0 [13:48:15.593] ๐Ÿ…ธ stream> [GvStream::finalize] n_resend_ratio_reached = 0 [13:48:15.593] ๐Ÿ…ธ stream> [GvStream::finalize] n_resend_disabled = 0 [13:48:15.593] ๐Ÿ…ธ stream> [GvStream::finalize] n_duplicated_packets = 0 [13:48:15.593] ๐Ÿ…ธ stream> [GvStream::finalize] n_transferred_bytes = 0 [13:48:15.593] ๐Ÿ…ธ stream> [GvStream::finalize] n_ignored_bytes = 0 [13:48:15.593] ๐Ÿ…ธ stream> [Stream::finalize] Flush 50 buffer[s] in input queue [13:48:15.593] ๐Ÿ…ธ stream> [Stream::finalize] Flush 0 buffer[s] in output queue How can I make the camera work with aravis? Thank you very much.

souldown0 avatar Jan 28 '24 05:01 souldown0

Hi,

Thanks for the report. It is probably another instance of the legacy endianness support issue. You device should be added to the exception list in arvgcport.c, like what is done in this merge request: https://github.com/AravisProject/aravis/pull/860/files

EmmanuelP avatar Feb 02 '24 06:02 EmmanuelP