Решено: Fedora12 Skype WebCamera

Cent OS, Scientific Linux

Модератор: Модераторы разделов

Alexander1966
Сообщения: 38
ОС: Fedora12

Решено: Fedora12 Skype WebCamera

Сообщение Alexander1966 »

WebCamera Logitech работает везде:
kopete
mplayer tv://
cheese

кроме Skype


Что пробовал:
2.1.0.47 dinamic
2.1.0.47 static
2.0.0.72 static
(в нем хоть виден вывод на консоль
и установленный из репозитария russianfedora (с него и начал)

......................... вывод из 2.0.0.72 static ..............................................
ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
Starting the process...
Skype Xv: Xv ports available: 1
Skype XShm: XShm support enabled
Skype Xv: Using Xv port 62
Skype Xv: No suitable overlay format found
libv4l2: error dequeuing buf: Недопустимый аргумент

................................................................................
.............................

скриптом:
#export XLIB_SKIP_ARGB_VISUALS=1
export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so
#export LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so
skype


в различных варинатах подключения so-шек.

[root@hrf12kuts X11]# uname -r
2.6.31.9-174.fc12.i686.PAE



PS. Что обидно на старой древней ASPLinux11.2 идет без проблемм :(
Спасибо сказали:
Аватара пользователя
Atolstoy
Сообщения: 1654
Статус: Tux in the rain
ОС: Linux x86_64

Re: Решено: Fedora12 Skype WebCamera

Сообщение Atolstoy »

Всего лишь 26 литров пива достаточно человеку для удовлетворения ежедневной потребности в кальции. Здоровое питание - это так просто!
http://atolstoy.wordpress.com
Спасибо сказали:
Аватара пользователя
AlexYeCu
Сообщения: 1137
ОС: fedora

Re: Решено: Fedora12 Skype WebCamera

Сообщение AlexYeCu »

Alexander1966 писал(а):
30.12.2009 18:30
WebCamera Logitech работает везде, кроме Skype

Что именно не работает? Какое устройство /dev/video* является камерой? Предлагает ли skype выбрать это устройство? Какая картинка в итоге получается (скайп вообще виснет, «малевич», «какое всё зелёное», красные артефакты) ? Как выглядит полная строка для mplayer?

Код: Выделить всё

export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so

А каталог

Код: Выделить всё

/usr/lib/libv4l
у вас точно есть? v4l1compat.so не в /usr/lib валяется?
Спасибо сказали:
Аватара пользователя
Atolstoy
Сообщения: 1654
Статус: Tux in the rain
ОС: Linux x86_64

Re: Решено: Fedora12 Skype WebCamera

Сообщение Atolstoy »

AlexYeCu писал(а):
30.12.2009 18:57

Код: Выделить всё

export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so

Да, это известный приём, но насколько я знаю, это имеет смысл только на 64-битных системах, разве нет?
Всего лишь 26 литров пива достаточно человеку для удовлетворения ежедневной потребности в кальции. Здоровое питание - это так просто!
http://atolstoy.wordpress.com
Спасибо сказали:
Аватара пользователя
AlexYeCu
Сообщения: 1137
ОС: fedora

Re: Решено: Fedora12 Skype WebCamera

Сообщение AlexYeCu »

Atolstoy писал(а):
30.12.2009 19:12
Да, это известный приём, но насколько я знаю, это имеет смысл только на 64-битных системах, разве нет?

Нет, это имеет смысл при скармливании v4l2-девайса v4l1-софту. Архитектура роли не играет. Но в данном случае я обратил внимание на то, что путь может быть неверным: искомые библиотеки могут находится в /usr/lib, папки libv4l может просто не быть. И кстати последние версии скайп вроде уже без этого работают, бо распознают v4l2-камеры. Ещё один известный косяк со скайпом и многими sip-программами: они нифига не видят устройства /dev/videoN, где N >= 2, т.е. при наличии в системе vloopback (2 виртуальных камеры, ввод и вывод) или тв-тюнера веб-камера может быть обозвана /dev/video2, к примеру, и стать недоступной для части наиболее кривого софта (skype, ekiga). Ну и наконец проблемой может являться использование xvideo вместе с compiz, в этом случае skype и ekiga начинают сыпать красными квадратами.
Спасибо сказали:
Alexander1966
Сообщения: 38
ОС: Fedora12

Re: Решено: Fedora12 Skype WebCamera

Сообщение Alexander1966 »

Какое устройство /dev/video* является камерой?
/dev/video0
Предлагает ли skype выбрать это устройство?
Да
Какая картинка в итоге получается (скайп вообще виснет, «малевич», «какое всё зелёное», красные артефакты) ?
черный квадрат. Скайп не виснет.
В статическом 2.1.0.47 квадрат белый и артефакт от кнопки тест (серенький прямоугольничек)). Скайп не виснет.


Как выглядит полная строка для mplayer?

[user@hrf12kuts tmp]$ mplayer tv:// -tv device=/dev/video0
MPlayer SVN-r29800-4.4.2 © 2000-2009 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing tv://.
TV file format detected.
Selected driver: v4l2
name: Video 4 Linux 2 input
author: Martin Olschewski <olschewski@zpr.uni-koeln.de>
comment: first try, more to come ;-)
v4l2: your device driver does not support VIDIOC_G_STD ioctl, VIDIOC_G_PARM was used instead.
Selected device: USB Camera (046d:08d7)
Capabilites: video capture read/write streaming
supported norms:
inputs: 0 = zc3xx;
Current input: 0
Current format: unknown (0x4745504a)
tv.c: norm_from_string(pal): Bogus norm parameter, setting default.
v4l2: ioctl enum norm failed: Invalid argument
Error: Cannot set norm!
Selected input hasn't got a tuner!
v4l2: Cannot get fps
v4l2: ioctl set mute failed: Invalid argument
v4l2: ioctl query control failed: Invalid argument
v4l2: ioctl query control failed: Invalid argument
[vdpau] Could not open dynamic library libvdpau.so.1
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Unsupported PixelFormat -1
Selected video codec: [ffmjpeg] vfm: ffmpeg (FFmpeg MJPEG)
==========================================================================
Audio: no sound
Starting playback...
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
Movie-Aspect is undefined - no prescaling applied.
SwScaler: reducing / aligning filtersize 1 -> 4
SwScaler: reducing / aligning filtersize 1 -> 4
SwScaler: reducing / aligning filtersize 1 -> 1
SwScaler: reducing / aligning filtersize 9 -> 8
[swscaler @ 0x88241c0]BICUBIC scaler, from yuv422p to yuv420p using MMX2
[swscaler @ 0x88241c0]using 4-tap MMX scaler for horizontal luminance scaling
[swscaler @ 0x88241c0]using 4-tap MMX scaler for horizontal chrominance scaling
[swscaler @ 0x88241c0]using 1-tap MMX "scaler" for vertical scaling (YV12 like)
[swscaler @ 0x88241c0]640x480 -> 640x480
VO: [xv] 640x480 => 640x480 Planar YV12
No bind found for key 'c'.
v4l2: ioctl set mute failed: Invalid argument
v4l2: 32 frames successfully processed, 73 frames dropped.

Exiting... (Quit)
[user@hrf12kuts tmp]$

[root@hrf12kuts bin]# ls -l /usr/lib/libv4l
итого 60
-rwxr-xr-x. 1 root root 17644 Окт 25 10:24 ov511-decomp
-rwxr-xr-x. 1 root root 23152 Окт 25 10:24 ov518-decomp
-rwxr-xr-x. 1 root root 4320 Окт 25 10:24 v4l1compat.so
-rwxr-xr-x. 1 root root 4924 Окт 25 10:24 v4l2convert.so
Спасибо сказали:
Аватара пользователя
AlexYeCu
Сообщения: 1137
ОС: fedora

Re: Решено: Fedora12 Skype WebCamera

Сообщение AlexYeCu »

Код: Выделить всё

mplayer tv:// -tv driver=v4l2:width=640:height=480:device=/dev/video0 -fps 30

Я обычно драйвер принудительно задаю, но с вашим вариантом тоже заработало. Кстати, по вашему выводу похоже, что mplayer-то не показывает? А писали что ок.

Код: Выделить всё

Unsupported PixelFormat -1

Код: Выделить всё

Selected video codec: [ffmjpeg] vfm: ffmpeg (FFmpeg MJPEG)
— вот это наводит на мысли. А именно: камера выдаёт не mjpeg, а yuvw. Но по каким-то причинам информирует систему, что умеет mjpeg. Следовательно поток с камеры неправильно декодируется. У меня такое было со старой камерой, которой перебили провод, в результате чего она стала работать в трёх режимах: всё время yuv; всё время yuv, но в высоких разрешениях говорила, что mjpeg; совсем не работала. Рекомендую проверить при помощи luvcview (сборка для fedora была на rpm.bones), утилитка умеет выдавать список режимов для камеры. Ну и в gstreamer-properties картинка должна быть.
Спасибо сказали:
Alexander1966
Сообщения: 38
ОС: Fedora12

Re: Решено: Fedora12 Skype WebCamera

Сообщение Alexander1966 »

Я обычно драйвер принудительно задаю, но с вашим вариантом тоже заработало. Кстати, по вашему выводу похоже, что mplayer-то не показывает? А писали что ок.

Показывает

gstreamer-properties не нашел :(
Хотя в Fedora11 была.
Почекано. Добавил. Резельтат в след.посте.
Спасибо сказали:
Alexander1966
Сообщения: 38
ОС: Fedora12

Re: Решено: Fedora12 Skype WebCamera

Сообщение Alexander1966 »

Добавил gstreamer-properties:

[user@hrf12kuts Загрузки]$ gstreamer-properties

(plugin-scanner:2824): GLib-GObject-WARNING **: cannot register existing type `GstBaseVideoCodec'

(plugin-scanner:2824): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed

(plugin-scanner:2824): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed

(plugin-scanner:2824): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed

(plugin-scanner:2824): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed

(plugin-scanner:2824): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed

(plugin-scanner:2824): GStreamer-CRITICAL **: gst_element_register: assertion `g_type_is_a (type, GST_TYPE_ELEMENT)' failed
d
Спасибо сказали:
Alexander1966
Сообщения: 38
ОС: Fedora12

Re: Решено: Fedora12 Skype WebCamera

Сообщение Alexander1966 »

Сделал вот что:
удалил все пакеты gstreamer

Оставил только один репозитарий: fedora.repo
[root@hrf12kuts yum.repos.d]# yum install gstreamer*

Теперь имею:
user@hrf12kuts tmp]$ gstreamer-properties
gstreamer-properties-Message: Skipping unavailable plugin 'artsdsink'
gstreamer-properties-Message: Skipping unavailable plugin 'esdsink'
gstreamer-properties-Message: Skipping unavailable plugin 'glimagesink'
gstreamer-properties-Message: Skipping unavailable plugin 'sdlvideosink'
gstreamer-properties-Message: Skipping unavailable plugin 'v4lmjpegsrc'
gstreamer-properties-Message: Skipping unavailable plugin 'qcamsrc'
gstreamer-properties-Message: Skipping unavailable plugin 'esdmon'
[user@hrf12kuts tmp]$

И видео с WebCamera есть на v4l2

В скайпе пока не добился
Спасибо сказали:
Alexander1966
Сообщения: 38
ОС: Fedora12

Re: Решено: Fedora12 Skype WebCamera

Сообщение Alexander1966 »

Решил проблемму с помощью этого http://forum.skype.com/index.php?showtopic=328901

Кортоко:
Надо заставить скайп работать не с Xv а с X11. Попутно решается еще одна моя задача (я могу сделать скриншот разговора с вебкамерами в скайпе)

Для этого мастерим маленькую библиотеку с одной единственной функцией:

int XvQueryExtension(){
return -1;
}


и скармливаем это скайпу. Теперь он думает, что Xv просто нет. Вот строка запуска скайпа:
LD_PRELOAD=$LD_PRELOAD:/usr/local/lib/NoXvQueryExtension/NoXvQueryExtension.so:/usr/lib/libv4l/v4l2convert.so /usr/bin/skype
Спасибо сказали: