Автор Тема: [РЕШЕНО] Конфликт ТВ-Тюнера и вэб камеры  (Прочитано 9138 раз)

dmitry287

  • Старожил
  • ****
  • Сообщений: 361
  • Карма: +45/-2
    • Просмотр профиля
ТВ тюнер Beholder TV609FM,сегодня решил поставить его в комп,установил программу TVtime из репов убунты,а она даже не запускается,на долю секунды появляется черное окно и на этом все.Тюнер в списке устройств есть.После некотрых манипуляций с бубном выяснил причину,виновата вэб-камера,как только я ее отключаю все нормально работает,как только включаю TVtime запускается,на мгновение появляется окно программы и идет только звук от телеканала,изображение отсутствует.
« Последнее редактирование: 02 Август 2010, 17:42:31 от dmitry287 »
Gigabyte GA-790XTA-UD4,Athlon II x4 620 2.6 GHz,4Gb DDR3,Video Gigabyte GT240 512M,HDD 3x500 Gb & 160 Gb

Bada_Booms

  • Новичок
  • *
  • Сообщений: 34
  • Карма: +4/-0
    • Просмотр профиля
такая же трабла только с модификациями. Тvtime работает нормально, а вот скайп заместо веб какмеры показывает телевизор, а звук нормально с микрофона :). Друга тут очень удивил  - когда медведев моим голосом заговорил с трибуны :)
Решаю эту проблему - но вяло - поскольку веб камерой пользуюсь редко, если что накопаю - напишу

dmitry287

  • Старожил
  • ****
  • Сообщений: 361
  • Карма: +45/-2
    • Просмотр профиля
У меня в настройках скайпа можно выбрать в качестве видеоустройства тв-тюнер или камеру,выбираю камеру,перезапускаю скайп и все ок.Но в таком случае телек не работает,пока камеру из юсб не выдерну.
Gigabyte GA-790XTA-UD4,Athlon II x4 620 2.6 GHz,4Gb DDR3,Video Gigabyte GT240 512M,HDD 3x500 Gb & 160 Gb

dmitry287

  • Старожил
  • ****
  • Сообщений: 361
  • Карма: +45/-2
    • Просмотр профиля
Re: [РЕШЕНО] Конфликт ТВ-Тюнера и вэб камеры
« Ответ #3 : 21 Июль 2010, 12:30:15 »
Bada_Booms
http://karapuzz.blogspot.com/2009/12/blog-post.html здесь предлагается один из вариантов решения проблемы.
Я пока попробовать не могу,дал тюнер на прокат товарищу,если попробуешь отпишись плиз.
Gigabyte GA-790XTA-UD4,Athlon II x4 620 2.6 GHz,4Gb DDR3,Video Gigabyte GT240 512M,HDD 3x500 Gb & 160 Gb

Bada_Booms

  • Новичок
  • *
  • Сообщений: 34
  • Карма: +4/-0
    • Просмотр профиля
Re: [РЕШЕНО] Конфликт ТВ-Тюнера и вэб камеры
« Ответ #4 : 21 Июль 2010, 14:01:43 »
dmitry287 - спасибо!
>> Я пока попробовать не могу,дал тюнер на прокат товарищу,если попробуешь отпишись плиз.
я тоже попробовать не могу, по той же причине, отдал Вэб-камеру, знакомому, поскольку вернет он мне ее не скоро, то отвечу тоже не очень быстро

dmitry287

  • Старожил
  • ****
  • Сообщений: 361
  • Карма: +45/-2
    • Просмотр профиля
Re: [РЕШЕНО] Конфликт ТВ-Тюнера и вэб камеры
« Ответ #5 : 25 Июль 2010, 23:08:11 »
Привожу рекомендации,которые мне удалось найти по поводу решения данной проблемы:
Цитировать
Видео устройства, по порядку становись!

Расскажу я вам история про то, как веб камера с ТВ тюнером подружились.
Жил да был ТВ тюнер. Из видео устройств в системе он был один и гордо занимал место в /dev/video0. Но в один прекрасный день в системе поселилась веб камера, которая тоже стала претендовать на место в каталоге /dev. И началась борьба за место под солнцем. При каждой загрузки системы, то камера займет /dev/video0, то ТВ тюнер. От этого начали страдать программы. То tvtime подключается к /dev/video0, а там веб камера, то skype к /dev/video1, а там тюнер.
Знакомая ситуация? Решение в общем-то известно. Нужно раздать имена файлов в каталоге /dev при помощи udev. Здесь я расскажу о своем опыте и о нюансах, с которыми мне пришлось столкнуться.


Как проблема была решена в итоге.

Для начала я узнал все о своих устройствах.
udevadm info -a -p $(udevadm info -q path -n /dev/video0)
udevadm info -a -p $(udevadm info -q path -n /dev/video1)

Данные команды выдадут много всего, но интересны нам будут следующие пункты:
для веб камеры это ATTRS{idVendor} и ATTRS{idProduct},
для ТВ тюнера это ATTRS{vendor} и ATTRS{device}.

После сбора информации идем в /etc/udev/rules.d и создаем там файл с именем 25-name-video-device.rules (название может быть абсолютно любым) следующего содержания:
ATTRS{idVendor}=="046d", ATTRS{idProduct}=="09a5", ATTR{name}=="UVC Camera (046d:09a5)", NAME="video2"
KERNEL=="video*", ATTRS{vendor}=="0x1131", ATTRS{device}=="0x7133", NAME="tuner"

Данное правило говорит udev, что устройства с определенными идентификаторами (vendor, idProduct и пр.) будут иметь в каталоге /dev имена video2 (камера) и tuner (ТВ тюнер).
Осталось только перезагрузиться (или перезапустить udev) и получим желаемый результат.

Почему я распределил устройства именно так.

Изначально идея была дать устройствам имена video0 и video1, но как показала практика, ни фига из этого не вышло. Конфликт при загрузке все равно имел место быть, и в итоге я получал только устройство video1 (железка могла быть любая).
Рассудил я так. Раз устройства 2, то при загрузке, где-то в самом начале, они раскидываются на video0 и video1, а когда udev начинает назначать имена, получается чехарда. А раз устройства два, то video2 всегда свободно. Пусть это и будет вэб камера. Имя video веб камере тоже дано не спроста. Дело в том, что skype видит только устройства video в каталоге /dev. Что-то типа /dev/webcam skype просто не увидит, и сказать ему о том, где камера нельзя.
А вот с ТВ тюнером проще. Его использует только tvtime, а ему можно шепнуть на ушко где искать тюнер. Так я и сделал. Открыл ~/.tvtime/tvtime.xml и поменял
<option name="V4LDevice" value="/dev/video0"/> на
<option name="V4LDevice" value="/dev/tuner"/>

Есть еще вариант. Вместо назначения имени устройству, сделать симлинки. То есть в файле 25-name-video-device.rules вместо NAME="video2" прописать SYMLINK+="video2". При этом устройства video0 и video1 будут существовать и так же рандомно назначаться, только симлинки будут делаться на конкретные железки с вышеуказанными идентификаторами. 
Я так делать не стал потому, что не хотел делать лишний клик в программе  Komoso для выбора устройства.  В моем решении устройство video только одно и Komoso только его (веб камеру) и видит. В общем, кому что больше нравится.

Спасибо за информацию, очень помогла!
Но я покопал чуть глубже, в общем для того что бы переназначить уже найденные устройства нужно кроме параметра NAME="video0" ещё дописать параметр SYMLINK+="video0". Т.е. у меня строчки для тюнера и камеры выглядят вот так:

# Тюнер Beholder BeholdTV H6
KERNEL=="video*", ATTRS{vendor}=="0x1131", ATTRS{device}=="0x7133", NAME="video0", SYMLINK+="video0"

# Вебкамера Genius Messenger 310
ATTRS{idVendor}=="093a", ATTRS{idProduct}=="2624", ATTR{name}=="gspca main driver", NAME="video1", SYMLINK+="video1"

и всё нормально назначается!

ВСЕ РЕШИЛОСЬ СЛЕДУЮЩИМ ОБРАЗОМ:

1.udevinfo -a -p `udevinfo -q path -n /dev/video1`

2.взял  ATTRS{idVendor}=="046d", ATTRS{idProduct}=="09a4"

3.создал правило: sudo touch /etc/udev/rules.d/95-personal.rules

4.отредактировал: sudo gedit /etc/udev/rules.d/95-personal.rules
       следующим образом: KERNEL=="video*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="09a4", NAME="video1"

5.перезагрузка (пробывал несколько раз)

6.все работает

перепробовал все,толку никакого,номера устройств в системе меняются,а Тvtime как не запускался с подключенной камерой так и не запускается. *SCRATCH*
Gigabyte GA-790XTA-UD4,Athlon II x4 620 2.6 GHz,4Gb DDR3,Video Gigabyte GT240 512M,HDD 3x500 Gb & 160 Gb

dmitry287

  • Старожил
  • ****
  • Сообщений: 361
  • Карма: +45/-2
    • Просмотр профиля
Re: [РЕШЕНО] Конфликт ТВ-Тюнера и вэб камеры
« Ответ #6 : 02 Август 2010, 17:25:40 »
Нашел такое решение:
Проблема существует для большинства  устройств использующих  Usb audio . (веб камеры, гарнитуры и тд.. )
Помогло установить более старые пакеты.
Вот старые рабочие версии:
https://launchpad.net/ubuntu/+source/tvtime/1.0.2-5ubuntu1/+build/1337023/+files/tvtime_1.0.2-5ubuntu1_i386.deb
https://launchpad.net/ubuntu/+source/tvtime/1.0.2-5ubuntu1/+build/1337022/+files/tvtime_1.0.2-5ubuntu1_amd64.deb

проверил РАБОТАЕТ *THUMBS*
Gigabyte GA-790XTA-UD4,Athlon II x4 620 2.6 GHz,4Gb DDR3,Video Gigabyte GT240 512M,HDD 3x500 Gb & 160 Gb

Bada_Booms

  • Новичок
  • *
  • Сообщений: 34
  • Карма: +4/-0
    • Просмотр профиля
Re: [РЕШЕНО] Конфликт ТВ-Тюнера и вэб камеры
« Ответ #7 : 03 Август 2010, 06:10:27 »
dmitry287, спасибо!

dmitry287

  • Старожил
  • ****
  • Сообщений: 361
  • Карма: +45/-2
    • Просмотр профиля
Re: [РЕШЕНО] Конфликт ТВ-Тюнера и вэб камеры
« Ответ #8 : 03 Август 2010, 14:45:11 »
Пожалуйста ;-)
Не забудьте в Синаптике заблокировать этот пакет от обновлений.Кстати пробовал более новую версию tvtime_1.0.2-6ubuntu1,чем та которая в репах-тот же глюк ]:->
« Последнее редактирование: 03 Август 2010, 14:48:35 от dmitry287 »
Gigabyte GA-790XTA-UD4,Athlon II x4 620 2.6 GHz,4Gb DDR3,Video Gigabyte GT240 512M,HDD 3x500 Gb & 160 Gb