Friday, December 23, 2011

Ким 3-го поколения

Очень интересная эта чудо-страна КНДР.
Далее несколько фотографий Ким-ов. Про каждого из них можно сказать - от Пхеньяна до окраин он проходит как хозяин...
Ким Ир Сен (Голливудская улыбка) 
Ким Чин Ир
Ким Чин Ир в образе
Все же ему не чужд эпатаж ...
Ким Чон Ын


Sunday, December 18, 2011

Настраиваем видео режим в FreeBSD


Что можно делать в  расширенном видео режиме:
  1. Изменять разрешение экрана и следовательно консоль не ограничена 80x25;
  2. Просматривать изображения (с помощью драйвера svgalib);
  3. Вертикальный скролинг консоли — клавишами вверх и вниз;
  4. Создавать скриншоты и сохранять их в графические файлы; 
  5. Просматривать видео в консоли с помощью драйвера svgalib.
Для того чтобы в консоли были доступны настройки расширенного видео режима необходимо пересобрать ядро с соответствующими опциями.
Замечания:
  1. Исходники ядра должны быть установлены.
  2. Материалов по сборке ядра с поддержкой расширенного видео режима в интернете довольно много, поэтому я ограничусь скромным описанием этого процесса.
Пересборка ядра FreeBSD с опциями  расширенного видео режима
Копируем файл настроек:
#: cp /usr/src/sys/i386/conf/GENERIC /usr/src/sys/i386/conf/NEWKERNEL
Редактируем (папка i386 ест-но должна соответствовать вашей архитектуре):
#: vi /usr/src/sys/i386/conf/NEWKERNEL
Добавляем для включения расширенного видеорежима:
options VESA
options SC_PIXEL_MODE
Ну и собственно собираем
#: make buildkernel KERNCONF=NEWKERNEL && make installkernel KERNCONF=NEWKERNEL
Перезагрузка системы и проверяем (собственно смотрим, какие видеорежимы имеются):
#: vidcontrol -i mode 
Устанавливаем видео режим:
#: vidcontrol MODE_282
Если хотим, чтобы после перезагрузки настройка видеорежима сохранилась, добавляем в:
#: vi /etc/rc.conf
строку с полюбившимся видеорежимом
allscreens_flags="MODE_282"
Посты о сборке ядра:
http://msnp.ru/126
http://noted.org.ua/255

Устанавливаем svgalib, zgv
Для просмотра изображений понадобится библиотека для работы с графикой svglib
#: cd /usr/ports/graphics/svgalib
#: make configure
#: make 
#: make install
#: make clear
Устанавливаем просмотрщик zgv использующий svgalib:
либо устанавливаем порт /usr/ports/graphics/zgv
либо закачиваем пакет:
#: pkg_add -r zgv
Ссылки:
Официальный сайт проекта svgalib и zgv
Описание работы с zgv
Вертикальный скролинг консоли
При активированном расширенном видеорежим в консоли FreeBSD доступен скролинг при  выключенном Scroll Lock.
Скролинг вниз — нижняя стрелка
Скролинг вверх —  верхняя стрелка
Скриншоты
См. http://www.i2r.ru/static/282/out_8790.shtml

Установка программного обеспечения для просмотра видео в консоли
Потребуется установить svgalib и ее пакет разработки, чтобы MPlayer собрал свой SVGAlib драйвер (определяется автоматически, но можно включить принудительно), и отредактировать /etc/vga/libvga.config в соответствии с вашей картой и монитором.


Настройка svgalib
Запустив на воспроизведение файл увидел что часть изображения не влезает на экран.
На самом деле мне еще повезло! И это по нескольким причинам:
  1. Svga драйвер поддерживает мою видеокарту (svgalib похоже давно уже не поддерживается);
  2. Настройки по умолчанию позволили хоть что-то увидеть.
Настройки svgalib хранятся в файле /usr/local/etc/vga/libvga.config. В котором необходимо подобрать частоту (это влияет и на качество отображения).
Как я понял из немного численных источников по настройке драйвера svgalib, разрешение экрана и будет ли вообще отображение помещаться на экране определяется заданной частотой развертки монитора.
В файле  libvga.config частота развертки монитора задаются, следующими строками:
HorizSync min_kHz max_kHz
VertRefresh min_Hz max_Hz
Пример:
HorizSync 31.5 35.5
VertRefresh 50 70
Так же можно задать частоту развертки, через параметр monitor:
monitor monitor_class
Где monitor_class — число от 0 до 6 или максимальная горизонтальная частота в кГц(kHz). Примеры:
monitor 0 # Max horizontal sync is 31.5 kHz
monitor 1 # Max horizontal sync is 35.1 kHz
monitor 2 # Max horizontal sync is 35.5 kHz
monitor 3 # Max horizontal sync is 37.9 kHz
monitor 4 # Max horizontal sync is 48.3 kHz
monitor 5 # Max horizontal sync is 56.0 kHz
monitor 6 # No restrictions.
Небольшое пояснение по тому какие параметры задавать monitor или же HorizSync c VertRefresh:
«For your convenience you may specify the max horizontal sync explicitly. The correct class will the be chosen. You may use floats consisting of digits and a decimal point for this too:
monitor 40.0 # equivalent to monitor 3
This command is privileged.»
Источник: http://linux.die.net/man/5/libvga.config

Просмотр Видео в Консоли
Подготовка подготовка программного обеспечения
Для просмотра видео будет использоваться svga драйвер поэтому прийдется:
  1. установить из исходных кодов svgalib (/usr/ports/graphics/svgalib) (см. выше);
  2. установить из исходников mplayer (в опциях указать svga, а драйверы использующие x11 можно не отмечать).
Запуск файла на воспроизведение в mplayer:
#: mplayer  -vo svga path.avi

Настройка Mplayer
Запуск файла на воспроизведение в mplayer:
#: mplayer  -vo svga path.avi
Для того чтобы не набирать каждый раз опции mplayer в консоли можно настроить его с помощью файла ~/.m[layer/config
vo=svga
Настройка и регулирование звука в Mplayer - клавиши «0» и « /» , диапазон можно увеличить подняв mixer vol до 100 (см. звук в FreeBSD).
Про сохранение уровня громкости: http://www.daemony.ru/?p=1170
Кэширование воспроизведения видео.
Ключи для кэширования в molayer:
-cache 8912 
-cache-min 4
ключ cache задает кэш в 8MB, а ключ cache-min  - кэш должен быть заполнен минимум на 4% перед началом.

Просмотр видео по локальной сети.
Если возникает потребность посмотреть фильм с другого компьютера, то можно воспользоваться ssh. Команда:
#: ssh user@ip.adres "cat path/to/movie.avi" | mplayer -
Дефис в конце обязателен

П.С.
Настройкой FreeBSD для просмотра видео в консоли я занимался  летом 2011 года. И с того момента сделал несколько наблюдений. Видео драйвер svgalib уже не поддерживается и не обеспечивает достаточной производительности для просмотра dvd рипов размером около 1,5 Гб на процессоре pentium 2 (Наблюдалось расхождение звукового и видео ряда по времени). Поэтому от повседневного использования mplayer на маломощных конфигурациях я отказался.




Sunday, December 11, 2011

Wexler.Book E7001B


Первым моим eBook-ом был Qumo Libro. Которого с начала подкосило попадание прямого солнечного света и добило случайное падение на пол. В Юлмарте мой выбор на следующий ридер пал на Wexler.Book E7001B. В интернете почему-то не смог найти, какого-нибудь описания поэтому устройству, поэтому решил написать свое, мало-ли кому будет интересно.

Читалка, по правде, меня удивила. Довольно сильно отличается (в лучшую сторону) от Qumo Libro. Знакомство с читалкой Wexler.Book E7001B началось с упаковки. Она действительно сделана под книгу!
Рис. 1 Упаковка Wexler.Book E7001B
Осмотр ридера
Устройство собрано добротно, без люфтов. Задняя сторона сделана из приятного на о щ уп металла (рис. 4).

Рис. 2 выключенный ридер
Экран устройства — E-Ink, cенсорный и 7-ми дюймовый. Но по ширине как 6 дюймовый.
Чувствительность экрана настраивается (см. Настройки и калибровка экрана).
Несмотря на наличие сенсорного экрана в нижней части ридера имеется пять кнопок
Процессор: RK2808A с частотой 560 Мгц (в интернете можно найти что и все 600, но 560 — на официальном сайте производителя).
В нижней части книги расположены слева на право: карт-ридер, вход для наушников, разъем для usb, отверстие для перезагрузки, кнопка включения-выключения (см. рис. 3).
Рис. 3
Рис. 4
Несколько слов о прошивки и просмотре pdf
На устройстве установлена последняя на момент покупки версия прошивки 1.04. По поводу адекватности ПО книги есть замечания, но в целом удовлетварительно. Книжку планирую использовать для чтения pdf, по этому особое внимание я уделил тому как ридер переваривает PDF.
Чтобы не быть многословным, скажу сразу, смотрите меню доступное при просмотре pdf (на рис. 6) — оно скажет (или намекнет) об основных возможностях ПО.
Масштабирование
Доступно три режима масштабирования:
  1. Основной;
  2. Масштаб 1;
  3. Масштаб 2.
То как отмасштабирует книжка ваш pdf зависит от размера страницы файла pdf. В книжке отсутствует горизонтальный скрол, только вертикальный. Поэтому есть вероятность, что книжка просто обрежет «лишнюю» часть.
Поворот страницы
Поворот страницы осуществляется в ручную. Так как наличие акселерометра (ака G-сенсор) мне не удалось подтвердить. Особенность поворота — в том что поворачивает сначала на 90 градусов по том на -90.
Переход на заданную страницу
На рис. 7 представлен скрин формы ввода номера страницы. При наличие сенсорного экрана, ввод номера страницы осуществляется клавишами «вверх», «вниз», «влево» и «вправо» в нижней части экрана. Никакой визуальной клавиатуры.
Так клавиши «вверх» и «вниз» задают числа 0-9, а клавиши «Влево» и «Вправо» определяют цифру в числе.
Рис. 5 Главное меню 
Рис. 6 Меню при просмотре pdf

Рис. 7 Форма ввода номера страницы

Что в поставке:
  • Ридер;
  • Зарядное устройство;
  • Переходник на USB;
  • Инструкция и гарантийный талон;
  • Наушники;
  • Чехол;
  • Купоны на скидки и бесплатные книги в онлайн магазинах.
Карту памяти обнаружить не удалось, так что взял из старого ридера.


Скорость работы. Впечатления от интерфейса.
Ридер на самом деле без каких-либо изысков в плане производительности.
При чтение книг скорость перелистывания зависит от скорости перерисовки экрана. Это где-то 1-2 сек.
Время загрузки pdf книг зависит от размера книги. Так pdf объемом 15 Мб загружался где-то секунд 20.
Интерфейс прошивки ридера работает стабильно, при работе не подвисает. Но прошивка еще сырая. PDF, как я уже описывал, читает сносно, а вот DJVU еще плохо.
При чтение DJVU отсутствует возможность перехода на заданную страницу, поворот страницы не работает и имеются небольшие другие косяки.
В интерфейсе прошивки читалки отсутствует возможность манипуляции книгами. Так ненужную книгу не возможно удалить с ридера, только подключившись к компьютеру.

Подводить итог не буду.
Приведу лишь сравнение со своей предыдущей читалкой. Со времен покупки Qumo Libro в 2010 году Wexler.Book E7001B в конце 2011 года выделился лишь:
  • наличием сенсорного экрана (который с текущей версии прошивки не сильно нужен);
  • большим объемом встроенной памяти;
  • и меньшей стоимостью.

Остальные выводы делать Вам.


Sunday, November 27, 2011

Звук в FreeBSD

Небольшое вступление
Уже прошло много времени с тех пор как я написал последний пост в своем блоге. 
И сейчас я хочу исправить эту ситуацию, потому что у меня скопилось достаточно много заметок по работе с FreeBSD и работы в консольном режиме в особенности.
В этом посте я просто приведу свой заметки по настройке звука, воспроизведения mp3, ogg из под консоли.
Небольшое замечание:
Ясно, что нормальные люди не будут слушать музыку:
а) в FreeBSD;
б) и из консоли.
Свои заметки я привожу так, что бы не пропали, может быть кому-то они будут полезны.

Содержание:
  1. Настройка звука в FreeBSD;
  2. Необходимое ПО для воспроизведения mp3;
  3. Необходимое ПО для воспроизведения ogg;
  4. Регулирование громкости звука.
Настройка звука в FreeBSD
С первым чем придется разобраться это настройкой звуковой карты, а именно подгрузкой соответствующих модулей.
Подгрузка всех  модулей для всех известных аудио устройств:
#: kldload snd_driver
Или можно подобрать тот который подходит больше всего (ссылка):
#: kldload snd_emu10k1
или добавлением соответствующей строки к файлу /boot/loader.conf:
snd_emu10k1_load="YES"

Необходимое ПО для воспроизведения mp3
Для прослушивания mp3 будем использовать mpg123 (Порт audio/mpg123).
Запуск на прослушивание одной композиции:
#: mpg123 file.mp3
Запуск списка на воспроизведение:
#: mpg123 -C -@ /home/user/musuk/list.txt

Необходимое ПО для воспроизведения ogg
Для воспроизведения файлов в формате ogg необходима утилита ogg123, поставляемая с пакетом vorbis-tools. Vorbis-tools — набор утилит для  использования, манипулирования и создания vorbis файлов.
Запуск на прослушивание: 
#: ogg123 file.ogg
Особенности настройки порта vorbis-tools.
Единственная, мною замеченная, большая особенность этого порта — это то, что он  подтягивает за собой большое количество ненужных в консольных системах библиотек и программ. Поэтому есть потребность ознакомится со списком зависимостей, чтобы не захламить компьютер не нужными графическими библиотеками.
Первое что попадается в зависимостях vorbis-tools - это Libao. 
Libao  - это кросс платформенная аудио библиотека позволяющая программам ее использующим  выдавать звуковые сигналы используя простой API. У библиотеки libao имеются следующие зависимости на выбор пользователя:
ARTS - aRts (analog Real time synthesizer, аналоговый синтезатор реального времени) Из  wikipedia: мультимедийная архитектура, реализуемая в проекте рабочей среды KDE. Cтала частью её архитектуры в KDE версии 2.0. aRts позволяет воспроизводить множество аудиопотоков одновременно, как на локальном компьютере, так и по сети. 
ESOUND -Enlightened Sound Daemon (ESD или EsounD) — звуковой сервер для оконного менеджера Enlightenment и среды GNOME. ESD смешивает звуковые потоки нескольких одновременно выполняемых программ и выводит получающийся поток на звуковую плату. ESD также может управлять передачей звука посредством сети. Так, приложения, поддерживающие ESD, могут передавать аудио поток по сети любому присоединённому компьютеру, на котором запущен сервер ESD. Поддержка ESD должна быть специально реализована в приложении, поскольку ESD не эмулирует обычные звуковые API. Так как ESD был доступен на протяжении более чем десятилетия — раньше чем большинство других звуковых серверов, то очень большое количество приложений Unix поддерживают ESD непосредственно или с помощью дополнений.
NAS - (Network Audio System) клиент-серверная система передачи звука с открытым исходным кодом.
PulseAudio - кроссплатформенный звуковой сервер, созданный в качестве улучшенной замены таких серверов, как ESD.
Все системы кроме ESD в качестве зависимостей тянут компоненты X11 и|или Qt, что в консольной системе может быть излишеством. Выбираем ESD.
Подробнее о звуковых системах в Unix like системах на http://www.slackguide.com/content/view/62/1/ 

Регулирование громкости звука
Получить текущий уровень громкости:
#: mixer vol
задать уровень громкости 60%:
#: mixer vol 60

Ссылки по теме: