Monthly Archiv: Август, 2010

Установка драйвера устройства видеозахвата USB Easycap

Недавно при случае приобрел себе вот такое устройство для видеозахвата. Т.к. в комплекте с устройством поставлялись драйверы только для Windows, ниже я предлагаю алгоритм установки драйвера в Ubuntu.
Перед установкой драйвера, убедитесь, что устройство отключено от компьютера!

1. Скачиваем драйвер здесь или здесь.

2. Распаковываем удобным вам способом, например так:

tar zxf easycap_dc60.0.8.2.tar.gz

3. Переходим в распакованный каталог:

cd easycap_dc60.0.8.2

4. Если ранее компилировать ничего не приходилось, то устанавливаем необходимый для этого пакет:

sudo aptitude install build-essential

5. Устанавливаем драйвер:

sudo ./install.sh

6. Проверяем, успешно ли прошла установка и присутствует ли драйвер в памяти компьютера:

lsmod | grep easycap

В результате мы должны увидеть похожий результат:

 
7. Подключаем устройство к USB-порту.
8. Проверяем, распознаётся ли устройство компьютеров: в результате подключения в каталоге /dev должны появиться файлы устройств easycap0 и easysnd1
ls /dev/easy*

В результате мы должны увидеть нечто похожее:

Если же вы получите сообщение вида

ls: невозможно получить доступ к /dev/easy*: Нет такого файла или каталога

то  попробуйте подключить в другой USB-порт (у меня отказывалось работать в фронтальном USB-разъеме)

9. Устанавливаем необходимые права для доступа к устройству:

sudo ./permit.sh

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

./test.sh  1  — если подается PAL-сигнал 

./test.sh  5  — если подается NTSC-сигнал  

Если  в результате вы увидели окно mplayer с подаваемым видеоизображением, поздравляю — установка прошла успешно.

Полный перечень видеорежимов, доступных для тестирования, подается в таблице ниже:

 test        standard       width   height  format   input    sound

  1         PAL_BGHIN       640  x  480     UYVY     CVBS     yes
  2         PAL_BGHIN       704  x  576     UYVY     CVBS     yes
  3         PAL_BGHIN       720  x  576     UYVY     CVBS     yes
  4         PAL_BGHIN       640  x  480     UYVY    S-VIDEO   yes

  5         NTSC_M          640  x  480     UYVY     CVBS     yes
  6         NTSC_443        720  x  480     UYVY     CVBS     yes
  7         NTSC_M          640  x  480     UYVY    S-VIDEO   yes

  8         PAL_BGHIN       720  x  576     YUY2     CVBS     yes
  9         PAL_BGHIN       720  x  576     RGB24    CVBS     yes
10         PAL_BGHIN       720  x  576     BGR24    CVBS     yes
11         PAL_BGHIN       720  x  576     RGB32    CVBS     yes
12         PAL_BGHIN       720  x  576     BGR32    CVBS     yes
 
13         NTSC_443        720  x  480     YUY2     CVBS     yes
14         NTSC_443        720  x  480     RGB24    CVBS     yes
15         NTSC_443        720  x  480     BGR24    CVBS     yes
16         NTSC_443        720  x  480     RGB32    CVBS     yes
17         NTSC_443        720  x  480     BGR32    CVBS     yes

18         PAL_BGHIN       320  x  240     UYVY     CVBS     yes
19         PAL_BGHIN       360  x  288     UYVY     CVBS     yes
20         PAL_BGHIN       320  x  240     UYVY    S-VIDEO   yes

21         NTSC_M          320  x  240     UYVY     CVBS     yes
22         NTSC_443        360  x  240     UYVY     CVBS     yes
23         NTSC_M          320  x  240     UYVY    S-VIDEO   yes

24         PAL_BGHIN       360  x  288     YUY2     CVBS     yes
25         PAL_BGHIN       360  x  288     RGB24    CVBS     yes
26         PAL_BGHIN       320  x  240     BGR24    CVBS     yes
27         PAL_BGHIN       320  x  240     RGB32    CVBS     yes
28         PAL_BGHIN       360  x  288     BGR32    CVBS     yes

29         NTSC_443        360  x  240     YUY2     CVBS     yes
30         NTSC_443        360  x  240     RGB24    CVBS     yes
31         NTSC_443        320  x  240     BGR24    CVBS     yes
32         NTSC_443        320  x  240     RGB32    CVBS     yes
33         NTSC_443        360  x  240     BGR32    CVBS     yes

34         PAL_BGHIN       640  x  480     UYVY     CVBS     no
35         PAL_BGHIN       720  x  576     UYVY     CVBS     no

36         NTSC_M          640  x  480     UYVY     CVBS     no
37         NTSC_443        720  x  480     UYVY     CVBS     no

Объединяем видеофайлы в Ubuntu

Не так давно я рассматривал вопрос разрезания файлов на части и их последующего объединения.
Рассмотрим частный случай — видеофайлы. Иногда возникает потребность объединить отдельные главы после рипа, отдельные части двухсерийного фильма и т.д. Речь не идет об объединении произвольно взятых avi-файлов, с разным разрешением, кодеками, а о тех, которые были предварительно разрезаны, или же кодировались «одной партией».

Для этих целей можно воспользоваться несколькими способами.

1. Avidemux

1) Если avidemux у вас все еще не установлен, то устанавливаем его:

sudo aptitude install avidemux

2) Запускаем avidemux и открываем первый файл через «Файл» — «Открыть».
3) В «Файл» — «Присоединить» выбираем следующий файл.
4) Повторяем действие 3 для остальных частей.
Если файлы были вида file.avi.001 file.avi.002, то avidemux может их присоединить автоматически, таким образом, действие 4 можно будет опустить. Следите за длительностью на панели программы.
5) Убедимся, что в полях «Видео» и «Звук» установлено «Копировать», а в Контейнер — просто «avi».
6) Сохраняем файл при помощи «Файл» — «Сохранить» — «Сохранить видео», не забывая указать расширение.
2. Avimerge
Можно воспользоваться avimerge из комплекта transcode-utils.
1) Устанавливаем пакет:
sudo aptitude install transcode-utils

2) В параметрах указываем файлы для объединения после ключа -i и файл назначение после -o

avimerge -i input_file1.avi input_file2.avi -o output_file.avi
Среди других ключей программы вам может пригодится , для тех случаев, когда размер видео немного превышает аудиодорожку, что приводит к рассинхрону (может быть актуально при объединении глав DVD-диска).
Если вам необходимо выбрать одну аудиодорожку из нескольких в исходных файлах, то используйте параметр -a номер_дорожки.
Следующий пример объединяет файлы с урезанием лишнего видео, выбирая в качестве основной первую аудиодорожку исходника:
avimerge -i input_file1.avi input_file2.avi -o output_file.avi -c -a 1
 3. Mencoder

Для этих же задач можно использовать mencoder, синтаксис которого понятен из примера:

mencoder -forceidx -ovc copy -oac copy -o output_file.avi input_file1.avi input_file2.avi

Какой из способов выбирать — решать вам. Иногда оказывается, что один из методов не подходит к имеющейся ситуации, тогда стоит воспользоваться другим.

Cпасаем "иксы" от зависшего графического приложения.

Думаю, все хотя бы раз сталкивались с зависшим приложением в Ubuntu.
Снять его не составляет особого труда, достаточно запустить xkill (в конзоли / в строке запуска по ALT+F2 / по горячим клавишам  или другим удобным вам способом) и щелкнуть изменившимся курсором мыши в виде Х по окну зависшего приложения.
А что же делать, когда приложение зависло в полноэкранном режиме, и действия «на ощупь» тоже не помогают? (Такая ситуация  у меня обычно возникает  при попытке запуска некоторых 3D игр через wine).
Конечно, проще всего перезапустить X-сервер, или же систему полностью, но это весьма варварский способ, уже не говоря о том, что могли оставаться запущенные графические приложения с не сохраненными данными. 
Итак:
1) Переходим в конзоль по CNTRL + ALT + F1, где вводим свой логин и пароль.

2) Определяем PID приложения, которое вызвало проблему. Для этого выполняем 
pidof имя_приложения
Вероятно, что вы не помните точного имени запущенной программы,  поэтому не забывайте про клавишу Tab при наборе команды после начала имени (или же двойного нажатия Tab, если вы совсем не знаете имени, что приведет к выводу списка всех процессов).

3) После того, как вы получите PID программы в виде числового значения, выполните 

kill значение_pid

 4) Вернитесь в X-сервер по  ALT+F7.

Wine 1.3 уже доступен для Ubuntu

Неделю назад было заявлено о выходе следующей бета-ветки Wine 1.3. Думаю, многие захотят не останавливаться на стабильной 1.2 длительное время, а получать новые возможности с выходом каждого промежуточного релиза.

Среди новинок уже этой версии наиболее значимыми являются:

  • Начало формирования пользовательского интерфейса для встроенной в Wine реализации Internet Explorer;
  • Поддержка межпроцессного OLE drag & drop;
  • Новая встроенная программа wscript.exe (Windows Script Host);
  • В диалогах открытия и сохранения файлов отныне запоминается последняя используемая директория.
Не смотря на то, что можно было сразу установить новую версию с помощью git, я решил не торопиться, а подождать появления версии 1.3 в репозитории.


Если вы и раньше устанавливали и пользовались wine из репозитория, предлагаемого разработчиком (http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu/), то вам достаточно обновить сведения о пакетах и установить новую версию.

sudo apt-get update
sudo aptitude install wine1.3
В этом случае версия 1.2 будет удалена автоматически.
Если же вы ранее не использовали указанный выше репозиторий, то добавьте его, согласно инструкции на сайте wine.

Ставим 32-битные библиотеки в 64-битном Ubuntu или Debian

Одним из аргументов против установки 64-битных систем была проблема с некоторыми устаревшими 32-битными программами (обычно проприетарными), и что более важно — с драйверами.
В этой ситуации часто приходится «вручную» находить и скачивать 32-битные библиотеки, создавать сим-линки и т.д.
Для автоматизированного решения такой проблемы существует пакет getlibs, который работает под Ubuntu, debian, а также под клонами этих ОС.

Скачать его можно как у разработчика так и на зеркале.
При скачке пакет можно установить, открыв с помощью Gdebi. Если же этого не произошло, то установить можно при помощи команды
 sudo dpkg -i getlibs-all.deb
Пользоваться программой несложно, и возможно несколькими способами:

1. Установка всех необходимых для 32-битного приложения библиотек:

sudo getlibs /usr/bin/program

где program — имя программы
2. Установить конкретные библиотеки (будут автоматически скачаны из интернета):

sudo getlibs -l library.so.0

3.  Установить по имени пакета (будут автоматически скачаны из интернета):

 sudo getlibs -p library

где library в этом и предыдущих пунктах — имя библиотеки или пакета.
4. Установить 32-битную библиотеку в виде deb-пакета, расположенную по указанному пути на диске:

sudo getlibs -i /home/user/i386_library.deb

5. Установить 32-битную библиотеку по прямой ссылке в интернет:

 getlibs -w http://mirrors.kernel.org/ubuntu/library_i386.deb
Примечание: для того, чтобы установить 32-битную программу (не библиотеку) в 64-битной системе следует воспользоваться параметром —force-all в dpkg:
 sudo dpkg -i —force-all package_name.deb
 Кроме перечисленных основных опций у getlibs есть еще ряд вспомогательных параметров:
—apt-file : поиск имени пакета для библиотек на packages.ubuntu.com. Полезно для не-Ubuntu пользователей.

—build : (бета-функция) конвертирует 32-битный пакет в 64-битный и устанавливает его (только библиотеки). Не рекомендуется к использованию.

—savebuild : используется с  —build. Сохраняет полученный 64-битный пакет в домашний каталог (/home/$USER)

—mirror
или -m : использовать указанное зеркало для поиска библиотек.

—verbose : подробный вывод результатов работы на экран.

—ldconfig :  выполняет ldconfig для каталогов, куда установлены новые библиотеки

-64 : Установка 64-битных пакетов для  64-битных систем

—distro : выбор между  Ubuntu и Debian. Ubuntu устанавливает в  /usr/lib32 и/или  /lib32. Debian устанавливает в /emul/ia32-linux/

—release : допустимы значения hardy gutsy feisty edgy или dapper.
Определяет, какой веб-интерфейс использовать для поиска.