Емельянов Эдуард Владимирович (eddy_em) wrote,
Емельянов Эдуард Владимирович
eddy_em

Category:

Теперь я в скайпе!

Наконец-то приобрел-таки веб-камеру и гарнитуру. За пару-тройку часов мучений настроил. Сегодня даже поболтал с другом. Мой логин: edward.emelianoff.

Итак, происходило все следующим образом.

Для начала я решил настроить гарнитуру. Т.к. на компьютере у меня два звуковых устройства: встроенная недозвуковушка от интеля и креативовская звуковая карта (используемая, естественно, как основная — к ней подключена система 5.1), я решил использовать отключенную за ненадобностью встроенную для гарнитуры. Когда-то давно я уже забавлялся с выводом на два звуковых устройства, вот и начал вспоминать.

Включил в биосе недозвуковушку и загрузился. Опаньки: отвалилась основная карточка. Но это и понятно: ведь у меня не было указаний для alsa работать с двумя картами. Я заглянул в файл /etc/modprobe.d/sound.conf, там было закомментировано все, кроме указания звуковушке использовать 512МБ кэша оперативки (чтобы большие звуковые банки влезали). Раскомментирование ничего не дало: rmmod snd_hda_intel с последующими вызовами modprobe snd_emu10k1 "к жизни" мою карточку не вернули. В файлике я заметил, что вместо snd_hda_intel стоит другой интеловский модуль. Подправил, загрузил, указывая параметры, вручную — заработало!

Итак, теперь у меня в /etc/modprobe.d/sound.conf следующее:


alias char-major-116 snd
options snd cards_limit=2 slots=,snd-hda-intel
# LHB6.mOmgEN0gox0:SBLive! 5.1 Digital Model SB0220
alias snd-card-0 snd-emu10k1
alias sound-slot-0 snd-emu10k1
# W60f.x8s5HMdIibD:82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller
alias snd-card-1 snd-hda-intel
alias sound-slot-1 snd-hda-intel
options snd-emu10k1 enable=1 index=0 max_buffer_size=512
options snd-hda-intel enable=1 index=1
Первая опция, по идее, уже не нужна, но я на всякий случай и ее добавил (ассоциация устройств с major number == 116 со звуковыми картами).
Вторая опция говорит, что звуковых карт две (на самом деле их у меня три: есть еще и встроенная в видеокарту, а т.к. монитор у меня подключен по HDMI, я могу, в принципе, и ее задействовать, но пока не вижу в этом необходимости), и что интелевская будет второй.
Далее идет ассоциация нулевой звуковой карты с модулем snd-emu10k1, а первой - с модулем snd-hda-intel.
Ну и напоследок - опции выделения буфера в 512МБ для Creative SB Live, а также («на всякий пожарный») — назначение им номеров.

После перезагрузки все работало. Значит, звуковая карта настроена правильно.

Далее я представлял себе тяжелый процесс борьбы с веб-камерой Logitech webcam C100. Однако, как только я ее подключил, появилось устройство /dev/video0, а mplayer tv:// отобразил на экране мою довольную морду.

Следующим шагом были мытарства со скайпом, т.к. эта скотина для арча (в репозиториях) была лишь 32-битной, а у меня система 64-битная. Пришлось сносить gcc, glibc и прочие нужные библиотеки и устанавливать вместо них соответствующие multilib-пакеты. Скайп установился yaourt'ом без проблем. Я зарегистрировался и проверил через обратную связь скайпа работу микрофона. Все ОК.

Ну, а вечером состоялся почти двухчасовой сеанс болтовни с другом.

P.S. Помимо этого я еще потратил довольно-таки приличное количество времени, чтобы научиться писать видео+звук при помощи ffmpeg и/или mencoder. Первые попытки дали следующее: у mencoder'а была хорошая картинка, но жуткое рассогласование со звуком; ffmpeg же давал ужасное качество видео, но более-менее прилично согласованный звук (правда, с небольшим запаздыванием). mencoder'ом я писал так:


mencoder tv:// -tv driver=v4l2:device=/dev/video0:width=640:height=480:fps=5:alsa:forceaudio:amode=0:adevice=hw.1,0 -ovc lavc -lavcopts vcodec=mpeg4 -oac mp3lame -lameopts vbr=3:br=32:mode=3 -af volnorm -o file.avi
Потом я посмотрел, как у меня пишется экранное видео (когда-то сделал я такой alias):

alias recdesktop='ffmpeg -f x11grab -s 1920x1080 -r 8 -i :0.0 -sameq '
Ага: нужная опция (возможно) — -sameq, добавив ее я действительно получил желаемое. Правда, осталось небольшое рассогласование начала звука и начала видеозаписи (видимо, звук начинал писаться сразу, а камера еще некоторое время инициализировалась), поэтому я добавил еще и временной сдвиг. В результате получилось следующее:

ffmpeg -itsoffset -0.4 -f video4linux2 -s 640x480 -i /dev/video0 -sameq -f alsa -i hw:1,0 -f avi file.avi
(задержку я пока точно не установил: поэкспериментирую позже) и соответствующим же образом я оформил еще один alias.

Так что, теперь можно еще и повыкаблучиваться: например, подключить к недозвуковушке выход комбика и поиграть, а потом посмотреть со стороны, как получается (может, тогда пойму, почему жена в ужасе убегает, когда я достаю электрогитару ☺).

Да, можно еще и так сделать: сразу писать в файл и смотреть его. Для этого нужно либо запустить mplayer с этим файлом в соседней консоли, либо отправить первый процесс в фон, сразу же запуская mplayer, либо дублируя вывод при помощи tee:


ffmpeg -itsoffset -0.4 -f video4linux2 -s 640x480 -i /dev/video0 -sameq -f alsa -i hw:1,0 -f avi - | tee file.avi | mplayer -
Tags: велосипедостроение
Subscribe

  • Чем бы таким заменить STM32F072C8T6?

    Полез сейчас на али цены посмотреть, а там… В среднем уже по 600-700 рублей за штучку просят! Вообще охамели. И это - гарантированно БУшные ведь!.. А…

  • Релюшки на CAN-шине

    Закончил с прошивкой для новой железяки. Как "наследница" USB-CAN переходника, она умеет все то же самое + несколько специфичных вещей (опрос…

  • Дохлый SSD

    Писал уже о китайском SSD, сдохшем за полтора месяца работы. Вот он, герой: Сегодня у нас опять работы с оптоволоконным спектрографом на цейссе,…

promo eddy_em august 17, 2019 12:33 3
Buy for 10 tokens
Юра намедни напечатал корпус для хронометра. Для первого блина получилось неплохо: И еще немного фотографий:
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 0 comments