Автор Гілка: бібліотеки до веб-камери  (Прочитано 7257 раз)

Відсутній btr

  • Письменник
  • *****
  • дописів: 654
  • Карма: +1/-0
Придбав собі веб-камеру, яка розпізнається так
bash-3.2# lsusb

ERROR: ld.so: object '/usr/lib/libv4l/v4l1compat.so' from LD_PRELOAD cannot be preloaded: ignored.
Bus 005 Device 002: ID 058f:3820 Alcor Micro Corp.

Отут http://linux-uvc.berlios.de/ пише, що такий пристрій підтримується Video4Linux 2 (V4L2) API. Я на радостях кинувся шукати ерпеемку v4l2, а нема в джерелах Мандріви. Підкажіть, чи то воно інакше називається, а чи не повинно там бути і шукати щось інакше.
А ще, що то за ерор такий?

Відсутній yurchor

  • Видавець
  • *******
  • дописів: 3636
  • Карма: +3/-0
  • Grateful for our Iron Lung
    • Вікі користувачів KDE
Re: бібліотеки до веб-камери
« Відповідей #1 : 2009-09-26 14:48:01 »
Бібліотеки (точніше модулі) вже є у ядрі. Нічого доставляти не потрібно.

Модуль uvcvideo завантажено?
Try to reach you before winter comes
Always a place for you in my heart
You're not alone
All used up
I'd give anything to talk to you

Відсутній btr

  • Письменник
  • *****
  • дописів: 654
  • Карма: +1/-0
Re: бібліотеки до веб-камери
« Відповідей #2 : 2009-09-28 11:15:27 »
Роблю modprobe -c, не бачу нічого такого. Чи не так треба перевіряти?

Відсутній yurchor

  • Видавець
  • *******
  • дописів: 3636
  • Карма: +3/-0
  • Grateful for our Iron Lung
    • Вікі користувачів KDE
Re: бібліотеки до веб-камери
« Відповідей #3 : 2009-09-28 11:20:12 »
Роблю modprobe -c, не бачу нічого такого. Чи не так треба перевіряти?
Цитата
[root@localhost translation-howto]# modprobe -c|grep uvc
alias usb:v046Dp08C6d*dc*dsc*dp*ic*isc*ip* uvcvideo
alias usb:v*p*d*dc*dsc*dp*ic0Eisc01ip00* uvcvideo
alias usb:v045Ep00F8d*dc*dsc*dp*ic0Eisc01ip00* uvcvideo
alias usb:v045Ep0723d*dc*dsc*dp*ic0Eisc01ip00* uvcvideo
alias usb:v046Dp08C1d*dc*dsc*dp*icFFisc01ip00* uvcvideo
alias usb:v046Dp08C2d*dc*dsc*dp*icFFisc01ip00* uvcvideo
alias usb:v046Dp08C3d*dc*dsc*dp*icFFisc01ip00* uvcvideo
alias usb:v046Dp08C5d*dc*dsc*dp*icFFisc01ip00* uvcvideo
alias usb:v046Dp08C6d*dc*dsc*dp*icFFisc01ip00* uvcvideo
alias usb:v046Dp08C7d*dc*dsc*dp*icFFisc01ip00* uvcvideo
alias usb:v05ACp8501d*dc*dsc*dp*ic0Eisc01ip00* uvcvideo
alias usb:v05E3p0505d*dc*dsc*dp*ic0Eisc01ip00* uvcvideo
alias usb:v0E8Dp0004d*dc*dsc*dp*ic0Eisc01ip00* uvcvideo
alias usb:v174Fp5212d*dc*dsc*dp*ic0Eisc01ip00* uvcvideo
alias usb:v174Fp5931d*dc*dsc*dp*ic0Eisc01ip00* uvcvideo
alias usb:v174Fp8A31d*dc*dsc*dp*ic0Eisc01ip00* uvcvideo
alias usb:v174Fp8A33d*dc*dsc*dp*ic0Eisc01ip00* uvcvideo
alias usb:v17EFp480Bd*dc*dsc*dp*ic0Eisc01ip00* uvcvideo
alias usb:v18CDpCAFEd*dc*dsc*dp*ic0Eisc01ip00* uvcvideo
alias usb:v19ABp1000d00*dc*dsc*dp*ic0Eisc01ip00* uvcvideo
alias usb:v19ABp1000d012[0-6]dc*dsc*dp*ic0Eisc01ip00* uvcvideo
alias usb:v19ABp1000d01[0-1]*dc*dsc*dp*ic0Eisc01ip00* uvcvideo
alias usb:v1C4Fp3000d*dc*dsc*dp*ic0Eisc01ip00* uvcvideo
Try to reach you before winter comes
Always a place for you in my heart
You're not alone
All used up
I'd give anything to talk to you

Відсутній btr

  • Письменник
  • *****
  • дописів: 654
  • Карма: +1/-0
Re: бібліотеки до веб-камери
« Відповідей #4 : 2009-09-28 12:10:30 »
Щось таке подібне і вийшло. Що далі?

Відсутній yurchor

  • Видавець
  • *******
  • дописів: 3636
  • Карма: +3/-0
  • Grateful for our Iron Lung
    • Вікі користувачів KDE
Re: бібліотеки до веб-камери
« Відповідей #5 : 2009-09-28 12:34:51 »
su -c "/sbin/modprobe uvcvideo" && mplayer -tv driver=v4l2:width=640:height=480:device=/dev/video -vo xv tv://
Try to reach you before winter comes
Always a place for you in my heart
You're not alone
All used up
I'd give anything to talk to you

Відсутній btr

  • Письменник
  • *****
  • дописів: 654
  • Карма: +1/-0
Re: бібліотеки до веб-камери
« Відповідей #6 : 2009-09-28 14:22:33 »
v4l2: unable to open '/dev/video': No such file or directory

Відсутній yurchor

  • Видавець
  • *******
  • дописів: 3636
  • Карма: +3/-0
  • Grateful for our Iron Lung
    • Вікі користувачів KDE
Re: бібліотеки до веб-камери
« Відповідей #7 : 2009-09-28 14:27:32 »
v4l2: unable to open '/dev/video': No such file or directory
Подивіться, який пристрій було надано системою для веб-камери (dmesg або ls /dev)
Try to reach you before winter comes
Always a place for you in my heart
You're not alone
All used up
I'd give anything to talk to you

Відсутній btr

  • Письменник
  • *****
  • дописів: 654
  • Карма: +1/-0
Re: бібліотеки до веб-камери
« Відповідей #8 : 2009-09-28 18:14:59 »
Отаке побачив:
usbdev2.1_ep81  v4l,
але при виконанні підкоректованої попередньої команди каже
v4l2: unable to open '/dev/v4l': Is a directory

Відсутній btr

  • Письменник
  • *****
  • дописів: 654
  • Карма: +1/-0
Re: бібліотеки до веб-камери
« Відповідей #9 : 2009-09-30 22:58:44 »
З допомогою п. yurchor дійшли до висновку, що допомагає копіювання теки libv4l з /usr/lib64 в /usr/lib. Проте для skype цього недостатньо. В ераті пише (http://wiki.mandriva.com/en/2009.0_Errata#Webcams_do_not_work_in_some_applications_.28including_Skype.29), що потрібно встановити 32-бітний пакунок libv4l, проте мені це зробити заважає наявність 64-бітного,а його я знести не можу, бо в залежностях сидить все KDE. При завантаженні скайпа так, як є видає помилку
ERROR: ld.so: object '/usr/lib/libv4l/v4l1compat.so' from LD_PRELOAD cannot be preloaded: ignored. Підкажіть щось.

Відсутній Re.

  • Загальний модератор
  • Літератор
  • *****
  • дописів: 1898
  • Карма: +1/-0
Re: бібліотеки до веб-камери
« Відповідей #10 : 2009-10-01 00:30:47 »
Спробуйте взяти цю бібліотеку з 32-ох бітного пакунка і запустити посиланням саме на неї, на штиб: LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype , але шлях поміняти на 32-ох бітну, на кшталт: /usr/lib32/libv4l/v4l1compat.so Словом, там де є 32-ох бітні бібліотеки в системі, коротше, натяк зрозумілий. :) Ще можна спробувати терористичний спосіб. :)

Відсутній btr

  • Письменник
  • *****
  • дописів: 654
  • Карма: +1/-0
Re: бібліотеки до веб-камери
« Відповідей #11 : 2009-10-01 08:36:02 »
Спробуйте взяти цю бібліотеку з 32-ох бітного пакунка і запустити посиланням саме на неї, на штиб: LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype , але шлях поміняти на 32-ох бітну, на кшталт: /usr/lib32/libv4l/v4l1compat.so Словом, там де є 32-ох бітні бібліотеки в системі, коротше, натяк зрозумілий. :) Ще можна спробувати терористичний спосіб. :)

На скільки я розумію, 32-бітні бібліотеки лежать в /usr/lib, (не /usr/lib32), а 64-бітні - в /usr/lib64. Друге, що я зрозумів з еррати (може, неправильно зрозумів), що треба встановити ерпеемку lib4vl-xxx.i586, бо lib4vl-xxx.x86-64 чомусь не підходить, хоч це для мене не зрозуміло, думаю, та і та 32-бітна. Тому, виходить, вашу пропозицію я вже пробував, але воно не пішло, бо 32-бітна ерпеемка з пакунка для x86-64, а не з і586.

Відсутній Re.

  • Загальний модератор
  • Літератор
  • *****
  • дописів: 1898
  • Карма: +1/-0
Re: бібліотеки до веб-камери
« Відповідей #12 : 2009-10-01 13:17:48 »
А терористичний спосіб пробували? Бо французи пишуть, що наче працює для камер, які не підтримує Skype. Сам файл беріть звідси, якщо його за посиланнями не буде.

Відсутній btr

  • Письменник
  • *****
  • дописів: 654
  • Карма: +1/-0
Re: бібліотеки до веб-камери
« Відповідей #13 : 2009-10-01 13:36:02 »
А терористичний спосіб пробували? Бо французи пишуть, що наче працює для камер, які не підтримує Skype. Сам файл беріть звідси, якщо його за посиланнями не буде.

Спрбую увечері, хоч мені більше подобається прямий порядок дій.

Відсутній btr

  • Письменник
  • *****
  • дописів: 654
  • Карма: +1/-0
Re: бібліотеки до веб-камери
« Відповідей #14 : 2009-10-01 22:38:51 »
Ну ось такі муки:

bash-3.2# make
gcc -O2 -Wall -m32  `pkg-config gstreamer-0.10 --cflags` -ldl `pkg-config gstreamer-0.10 --libs` -shared -fpic gst.c skype_video_hijacker.c -o libskype_video_hijacker.so
In file included from /usr/include/gstreamer-0.10/gst/gst.h:71,
                 from gst.c:25:
/usr/include/gstreamer-0.10/gst/gstutils.h: In function ‘GDOUBLE_SWAP_LE_BE’:
/usr/include/gstreamer-0.10/gst/gstutils.h:562: warning: left shift count >= width of type
/usr/include/gstreamer-0.10/gst/gstutils.h:562: warning: left shift count >= width of type
/usr/include/gstreamer-0.10/gst/gstutils.h:562: warning: integer constant is too large for ‘unsigned long’ type
/usr/include/gstreamer-0.10/gst/gstutils.h:562: warning: integer constant is too large for ‘unsigned long’ type
/usr/include/gstreamer-0.10/gst/gstutils.h:562: warning: integer constant is too large for ‘unsigned long’ type
/usr/include/gstreamer-0.10/gst/gstutils.h:562: warning: right shift count >= width of type
/usr/include/gstreamer-0.10/gst/gstutils.h:562: warning: integer constant is too large for ‘unsigned long’ type
/usr/include/gstreamer-0.10/gst/gstutils.h:562: warning: right shift count >= width of type
/usr/include/gstreamer-0.10/gst/gstutils.h: In function ‘GST_READ_DOUBLE_LE’:
/usr/include/gstreamer-0.10/gst/gstutils.h:733: warning: left shift count >= width of type
/usr/include/gstreamer-0.10/gst/gstutils.h:733: warning: left shift count >= width of type
/usr/include/gstreamer-0.10/gst/gstutils.h:733: warning: left shift count >= width of type
/usr/include/gstreamer-0.10/gst/gstutils.h:733: warning: left shift count >= width of type
/usr/include/gstreamer-0.10/gst/gstutils.h: In function ‘GST_READ_DOUBLE_BE’:
/usr/include/gstreamer-0.10/gst/gstutils.h:755: warning: left shift count >= width of type
/usr/include/gstreamer-0.10/gst/gstutils.h:755: warning: left shift count >= width of type
/usr/include/gstreamer-0.10/gst/gstutils.h:755: warning: left shift count >= width of type
/usr/include/gstreamer-0.10/gst/gstutils.h:755: warning: left shift count >= width of type
/usr/include/gstreamer-0.10/gst/gstutils.h: In function ‘GST_WRITE_DOUBLE_LE’:
/usr/include/gstreamer-0.10/gst/gstutils.h:825: warning: right shift count >= width of type
/usr/include/gstreamer-0.10/gst/gstutils.h:825: warning: right shift count >= width of type
/usr/include/gstreamer-0.10/gst/gstutils.h:825: warning: right shift count >= width of type
/usr/include/gstreamer-0.10/gst/gstutils.h:825: warning: right shift count >= width of type
/usr/include/gstreamer-0.10/gst/gstutils.h: In function ‘GST_WRITE_DOUBLE_BE’:
/usr/include/gstreamer-0.10/gst/gstutils.h:848: warning: right shift count >= width of type
/usr/include/gstreamer-0.10/gst/gstutils.h:848: warning: right shift count >= width of type
/usr/include/gstreamer-0.10/gst/gstutils.h:848: warning: right shift count >= width of type
/usr/include/gstreamer-0.10/gst/gstutils.h:848: warning: right shift count >= width of type
/usr/bin/ld: skipping incompatible /usr/lib64/libgstreamer-0.10.so when searching for -lgstreamer-0.10
/usr/bin/ld: cannot find -lgstreamer-0.10
collect2: ld returned 1 exit status
make: *** [libskype_video_hijacker.so] Помилка 1