Peter____ Ответов: 1

Usb4java, JNA, IOCTL, библиотека


Привет,

У меня будет проблема с программой, которую я кодирую на своем linux-компьютере, где должен передаваться поток камеры.

В Linux я использую библиотеку Usb4java для доступа к Usb-устройству и подготовки камеры к потоковой передаче. Поэтому претензий у меня к самой 2 CameraInterfaces и приходится отправлять некоторые байт-коды....

С другой стороны, я должен передать передачу isochronuos, которую я собираюсь практиковать через библиотеку Jna, потому что передача Isochronuos не поддерживается из Usb4java
Библиотека. Библиотека JNA использует драйвер устройства UsbFS для передачи данных с устройства.

Эта процедура работает как шарм на android, где к устройству и его интерфейсам были подключены android usb.hardware.manager, а также библиотека, использующая Jna.

В Linux я сталкиваюсь с проблемой, что я не могу получить доступ к устройству с 2 различными библиотеками. Когда я утверждаю, что интерфейс от usb-камеры с Usb4java, я получу код ошибки от JNA lib, что устройство или ресурс заняты. Если я освобождаю интерфейс от Usb4java lib, то часть JNA работает, но больше нет доступа через Usb4java lib....

Для рабочего потока обе библиотеки должны быть заявлены к интерфейсам камеры.

Jna lib называется UsbIso.

Автор из Usbiso lib до сих пор не тестировал свою lib на linux и также не знает решения этой проблемы. Так что, может быть, кто-нибудь здесь сможет мне помочь?

Что я уже пробовал:

Возможно, решением может быть использование API высокого уровня от Usb4java --> Javax.usb, или я столкнусь тогда с той же проблемой с ошибкой занятости устройства?
Любые другие предложения будут приветствоваться.

Спасибо,

Питер

1 Ответов

Рейтинг:
9

Peter____

До сих пор я использую только переписанную JNA lib для выполнения передачи iso сейчас и Usb4Java lib для поиска устройств и считывания дескрипторов.

Ссылка на проект есть:

GitHub - Peter-St/Linux_Jna_Kamera: поток камеры через Jna.[^]

Питер


OriginalGriff

Пожалуйста, не делайте репостов, если ваш ответ не появится сразу: все они прошли модерацию и потребовали, чтобы человек рассмотрел их для публикации. Чтобы тебя не вышвырнули как спамера, нужно было принять и то, и другое, а потом я должен был убрать запасные части. Потерпите немного, пожалуйста!
Я удалил запасной вариант ...

Вам также нужно позаботиться о том, на какие вопросы вы отвечаете - этому уже больше 6 месяцев, и вряд ли ОП сейчас заинтересуется решением. Размещение решений старых вопросов может выглядеть как фермерство точек продаж, которое заставит вас покинуть сайт. Я не думаю, что это то, что вы намеревались сделать с этим постом, поэтому я не буду начинать процесс, но некоторые из наших более "триггерных" членов могут это сделать, если вы не будете осторожны. Я бы посоветовал придерживаться новых вопросов, особенно когда ваше другое решение-это ваш собственный вопрос.

Richard Deeming

"... маловероятно, что ОП заинтересована в решении сейчас ..."

Решение было опубликовано ОП. :)

Peter____

Да, единственная причина была в том, чтобы ответить на открытый вопрос и больше не показываться в части открытого вопроса и связать проект с рабочим решением, чтобы каждый, у кого есть такая проблема, мог посмотреть.

Пока что...
Питер