Bug 47490 - Невозможно подключить телефон по USB в качестве источника DroidCam OBS
Summary: Невозможно подключить телефон по USB в качестве источника DroidCam OBS
Status: CLOSED WORKSFORME
Alias: None
Product: Sisyphus
Classification: Development
Component: obs-studio-plugin-droidcam (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Konstantin A Lepikhov (L.A. Kostis)
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-09-07 13:28 MSK by Tatyana Gagina
Modified: 2023-12-03 17:23 MSK (History)
1 user (show)

See Also:


Attachments
adb_logcat.log (15.27 KB, text/x-log)
2023-10-26 12:50 MSK, Tatyana Gagina
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tatyana Gagina 2023-09-07 13:28:42 MSK
Стенды, обновлённые до Sisyphus:
Workstation K x86-64 (реальный стенд HP ProBook x360 435 G8 2X7P6EA)
Процессор: AMD Ryzen 5 5600U with Radeon Graphics

Остальные стенды - виртуальные машины:
Education x86-64/KDE
Workstation x86-64
Server x86-64

Характеристики виртуальных машин: 
Memory: 3.00 GiB
Processors: 4 (2 sockets, 2 cores)
BIOS: Default (SeaBIOS)
Display: Spice (qxl)
Machine: Default (i440fx)

Телефон: Samsung Galaxy A02S
Кабель: Type-C

Версия: obs-studio-plugin-droidcam-2.0.1-alt1

Шаги: 
1) Установить:
# apt-get install obs-studio obs-studio-plugin-droidcam
2) На телефоне скачать приложение DroidCam OBS и выполнить предварительные настройки:
включить режим USB-отладки на Samsung Galaxy так: 
Настройки
Параметры разработчика
Включить отладку по USB

Подключить телефон к компьютеру по USB -> на телефоне нажать "Разрешить" -> на компьютере подтвердить;

3) Запустить $ obs 
Оптимизировать только для записи -> Далее -> Частота кадров 30 -> Далее -> Применить настройки;

4) Создать источник: Источники -> DroidCam OBS -> Создать новый -> Ок -> далее выставаить  настройки:

    Разрешение и Формат видео любые     
    Обновить список устройств
    Устройство: щелкнуть в поле для выбора Usb.

Результат: доступно только Wi-fi IP. Для USB-подключения не отображается.
Детали: 
- с Wi-fi IP - подключение выполняется успешно;
- проверено: соединение не разорвано, устройство обнаруживается в системе и примонтировано:
Bus 001 Device 005: ID 04e8:6860 Samsung Electronics Co., Ltd Galaxy A5;
- перезагрузка системы, перезапуск OBS и переподключение телефона не помогают (дополнительно  было проверено с телефоном POCO X3 Pro, кабель второй тоже Type-C);
- выставленные настройки, как на KDE, например, не помогают:
Параметры системы -> Внешние носители -> "Автоматически монтировать устройства": "При входе в систему" и "При подключении";
- в терминале ничего.

Ожидаемый результат: есть возможность выбрать устройство по USB для подключения.

Проверялось на p10, ошибка воспроизвоидтся.
Версия: obs-studio-plugin-droidcam-2.0.1-alt1 (аналогично на предыдущей версии 1.1-alt2.gc9ca053.1).
Comment 1 Konstantin A Lepikhov (L.A. Kostis) 2023-09-20 17:31:00 MSK
(In reply to Tatyana Gagina from comment #0)
> Стенды, обновлённые до Sisyphus:
> Workstation K x86-64 (реальный стенд HP ProBook x360 435 G8 2X7P6EA)
> Процессор: AMD Ryzen 5 5600U with Radeon Graphics
> 
> Остальные стенды - виртуальные машины:
> Education x86-64/KDE
> Workstation x86-64
> Server x86-64
> 
> Характеристики виртуальных машин: 
> Memory: 3.00 GiB
> Processors: 4 (2 sockets, 2 cores)
> BIOS: Default (SeaBIOS)
> Display: Spice (qxl)
> Machine: Default (i440fx)
> 
> Телефон: Samsung Galaxy A02S
> Кабель: Type-C
> 
> Версия: obs-studio-plugin-droidcam-2.0.1-alt1
> 
> Шаги: 
> 1) Установить:
> # apt-get install obs-studio obs-studio-plugin-droidcam
> 2) На телефоне скачать приложение DroidCam OBS и выполнить предварительные
> настройки:
> включить режим USB-отладки на Samsung Galaxy так: 
> Настройки
> Параметры разработчика
> Включить отладку по USB
> 
> Подключить телефон к компьютеру по USB -> на телефоне нажать "Разрешить" ->
> на компьютере подтвердить;
> 
> 3) Запустить $ obs 
> Оптимизировать только для записи -> Далее -> Частота кадров 30 -> Далее ->
> Применить настройки;
> 
> 4) Создать источник: Источники -> DroidCam OBS -> Создать новый -> Ок ->
> далее выставаить  настройки:
> 
>     Разрешение и Формат видео любые     
>     Обновить список устройств
>     Устройство: щелкнуть в поле для выбора Usb.
> 
> Результат: доступно только Wi-fi IP. Для USB-подключения не отображается.
> Детали: 
> - с Wi-fi IP - подключение выполняется успешно;
> - проверено: соединение не разорвано, устройство обнаруживается в системе и
> примонтировано:
> Bus 001 Device 005: ID 04e8:6860 Samsung Electronics Co., Ltd Galaxy A5;
> - перезагрузка системы, перезапуск OBS и переподключение телефона не
> помогают (дополнительно  было проверено с телефоном POCO X3 Pro, кабель
> второй тоже Type-C);
> - выставленные настройки, как на KDE, например, не помогают:
> Параметры системы -> Внешние носители -> "Автоматически монтировать
> устройства": "При входе в систему" и "При подключении";
> - в терминале ничего.
> 
> Ожидаемый результат: есть возможность выбрать устройство по USB для
> подключения.
> 
> Проверялось на p10, ошибка воспроизвоидтся.
> Версия: obs-studio-plugin-droidcam-2.0.1-alt1 (аналогично на предыдущей
> версии 1.1-alt2.gc9ca053.1).

А работает ли все с droidcam? Насколько я помню, для подключения по usb на телефоне должен быть включен режим отладки, тип подключения передача файлов. На хосте должен быть запущен adb, тогда работа через возможна. Более того, на телефоне в это время должен быть запущен droidcam.
Comment 2 Tatyana Gagina 2023-09-20 17:37:43 MSK
Из выполненных условий:
- на телефоне включен режим отладки - done;
- тип подключения передача файлов - done;
- на телефоне запущен droidcam - done.

Нужно только уточнение по поводу "На хосте должен быть запущен adb..".
Каким образом запустить? Имелось ввиду так: $ adb connect <IP>:port
Comment 3 Konstantin A Lepikhov (L.A. Kostis) 2023-09-20 22:45:59 MSK
(In reply to Tatyana Gagina from comment #2)
> Из выполненных условий:
> - на телефоне включен режим отладки - done;
> - тип подключения передача файлов - done;
> - на телефоне запущен droidcam - done.
> 
> Нужно только уточнение по поводу "На хосте должен быть запущен adb..".
> Каким образом запустить? Имелось ввиду так: $ adb connect <IP>:port

нет, просто на хосте должна быть доступна команда adb и adb devices должна видеть телефон.
Comment 4 Konstantin A Lepikhov (L.A. Kostis) 2023-10-26 09:53:13 MSK
(In reply to Konstantin A Lepikhov (L.A. Kostis) from comment #3)
> (In reply to Tatyana Gagina from comment #2)
> > Из выполненных условий:
> > - на телефоне включен режим отладки - done;
> > - тип подключения передача файлов - done;
> > - на телефоне запущен droidcam - done.
> > 
> > Нужно только уточнение по поводу "На хосте должен быть запущен adb..".
> > Каким образом запустить? Имелось ввиду так: $ adb connect <IP>:port
> 
> нет, просто на хосте должна быть доступна команда adb и adb devices должна
> видеть телефон.

ping.
Comment 5 Tatyana Gagina 2023-10-26 12:48:59 MSK
Установила пакет:
# apt-get install android-tools udev-android

Телефон на базе android Samsung Galaxy A02S, подключенный кабелем Type-C к ноутбуку Huawei Matebook D15 BoM-WFQ9.

На android устройстве активировала меню разработчика и разрешила "Отладку по USB" и включила опцию "Отключить ожидание авторизации adb").

Запустила сервер adb:
$ adb start-server
Сервер запущен.

Проверила список подключенных устройств:
$ adb devices
List of devices attached
R9ZR20GZX5M     device

Ошибка воспроизводится. 

В логах ошибка при открытии файла трассировки: "E cutils-trace: Error opening trace file: Permission denied (13)" (во вложении adb_logcat.log).
Comment 6 Tatyana Gagina 2023-10-26 12:50:36 MSK
Created attachment 14892 [details]
adb_logcat.log
Comment 7 Konstantin A Lepikhov (L.A. Kostis) 2023-11-09 22:24:02 MSK
(In reply to Tatyana Gagina from comment #6)
> Created attachment 14892 [details]
> adb_logcat.log

Все это очень странно, я проверил на своей системе, все работает:

❯ sudo apt-get install obs-studio
[sudo] password for lakostis:
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
  libmbedcrypto15 libmbedtls20 libmbedx509-6 libobs libqt6-svg qt6-svg
  qt6-svg-common
The following NEW packages will be installed:
  libmbedcrypto15 libmbedtls20 libmbedx509-6 libobs libqt6-svg obs-studio
  qt6-svg qt6-svg-common
0 upgraded, 8 newly installed, 0 removed and 2 not upgraded.
Need to get 359kB/6322kB of archives.
After unpacking 23.5MB of additional disk space will be used.
Do you want to continue? [Y/n] 
Get:1 http://ftp.altlinux.org x86_64/classic libmbedcrypto15 3.5.1-alt1:sisyphus+333966.100.1.3@1699502468 [235kB]
Get:2 http://ftp.altlinux.org x86_64/classic libmbedx509-6 3.5.1-alt1:sisyphus+333966.100.1.3@1699502468 [37.1kB]
Get:3 http://ftp.altlinux.org x86_64/classic libmbedtls20 3.5.1-alt1:sisyphus+333966.100.1.3@1699502468 [86.6kB]
Fetched 359kB in 0s (433kB/s)   
Committing changes...
Preparing...                            ################################# [100%]
Updating / installing...
1: libmbedcrypto15-3.5.1-alt1           ################################# [ 13%]
2: libmbedx509-6-3.5.1-alt1             ################################# [ 25%]
3: libmbedtls20-3.5.1-alt1              ################################# [ 38%]
4: qt6-svg-common-6.4.2-alt1            ################################# [ 50%]
5: libqt6-svg-6.4.2-alt1                ################################# [ 63%]
6: libobs-29.1.3-alt6                   ################################# [ 75%]
7: obs-studio-29.1.3-alt6               ################################# [ 88%]
8: qt6-svg-6.4.2-alt1                   ################################# [100%]


❯ sudo apt-get install obs-studio-plugin-droidcam
Reading Package Lists... Done
Building Dependency Tree... Done
The following NEW packages will be installed:
  obs-studio-plugin-droidcam
0 upgraded, 1 newly installed, 0 removed and 2 not upgraded.
Need to get 0B/32.9kB of archives.
After unpacking 77.3kB of additional disk space will be used.
Committing changes...
Preparing...                                                 #################################################################################################### [100%]
Updating / installing...
1: obs-studio-plugin-droidcam-2.0.1-alt1                     #################################################################################################### [100%]
egrep: warning: egrep is obsolescent; using grep -E
egrep: warning: egrep is obsolescent; using grep -E
Done.

❯ sudo ~/bin/adb start-server
* daemon not running; starting now at tcp:5037
* daemon started successfully

❯ adb devices
List of devices attached
<...>        unauthorized
...
<на телефоне разрешил подключение>

❯ adb devices
List of devices attached
<...>        device

запустил OBS на телефоне, разрешил доступ к камере и микрофону
...

❯ obs
...
==== Auto-config wizard testing stopping ========

info: [DroidCamOBS] create: r201 "DroidCam OBS"
info: [DroidCamOBS] checking adb
info: [DroidCamOBS] activated=0, deactivateWNS=0, is_showing=0, enable_audio=0
info: [DroidCamOBS] video_format=avc video_resolution=640x480
info: [DroidCamOBS] video_thread start
info: [DroidCamOBS] video_decode_thread start
info: [DroidCamOBS] audio_thread start
info: User added source 'DroidCam OBS' (droidcam_obs) to scene 'Scene'
info: [DroidCamOBS] Refresh Device List clicked
info: [DroidCamOBS] USBMux: found -1 devices
warning: [DroidCamOBS] Could not get iOS device list, is usbmuxd running?
info: [DroidCamOBS] added new device with serial 'AC2003._droidcamobs._tcp.local.'
warning: [DroidCamOBS] device 'Android.local.' not found
warning: [DroidCamOBS] device 'Android.local.' not found
info: [DroidCamOBS] activated: id=<...> type=2 ip=127.0.0.1 port=4747
info: [DroidCamOBS] video_format=0/avc video_resolution=0/640x480


❯ journalctl -f
...
Nov 09 20:06:33 lks.home kernel: usb 1-3: new high-speed USB device number 118 using xhci_hcd
Nov 09 20:06:33 lks.home kernel: usb 1-3: New USB device found, idVendor=22d9, idProduct=2769, bcdDevice= 4.19
Nov 09 20:06:33 lks.home kernel: usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Nov 09 20:06:33 lks.home kernel: usb 1-3: Product: OnePlus Nord
Nov 09 20:06:33 lks.home kernel: usb 1-3: Manufacturer: OnePlus
Nov 09 20:06:33 lks.home kernel: usb 1-3: SerialNumber: <...>
....