пятница, 14 декабря 2012 г.

Работа с FFMpeg

Взял от сюда.
Надо поизучать на досуге.


FFmpeg - это кодировщик и конвертер аудио/видео с интерфейсом командной строки и поддержкой большого количества входных и выходных форматов. Список его возможностей и количество опций довольно велико, поэтому попробуем разобраться в некоторых из них.
Все, сказанное ниже, справедливо для Debian Squeeze и FFmpeg установленному из несвободного репозитория Multimedia.

В общем случае формат строки выглядит следующим образом:
ffmpeg [опции исходного файла] -i [исходный файл] [опции конечного файла] [конечный файл]

   Простейший пример конвертации с установленной опцией 24 кадра в секунду в конечном файле будет такой:
ffmpeg -i input.avi -r 24 output.avi



Опции ffmpeg
   Рассмотрим некоторые полезные опции (в скобках примеры). Если какие-то из опций не будут указаны, то FFmpeg подставит их из значений по умолчанию:

-i - задает имя исходного (входного) файла.
-threads - числовое значение, определяет количество ядер процессора. Что, естественно, отражается на скорости кодирования и операций над файлами. Число 0 устанавливает автоматическое определение доступного числа ядер (-threads 2).
-t - задает длительность кодируемого видео в целых секундах или же в формате чч:мм:сс.
-ss - указывает позицию в видеофайле с которой будет начинаться кодирование. Формат в целых секундах или чч:мм:сс.
-fs - числовое значение в байтах, килобайтах (k), мегабайтах (M). Регистр приставки важен. Ограничивает размер конечного файла. Полезно для экспериментов над небольшим кусочком видеофайла, чтобы не кодировать весь файл (-fs 5M).
-y - эта опция перезаписывает уже существующие файлы без запроса на подтверждение.
   Видео опции:
-vcodec - видеокодек, которым будет осуществляться кодирование видео (-vcodec mpeg4).
-vpre - выбираем предустановку для видеокодека. Сначала FFmpeg ищет файлы предустановок в ~/.ffmpeg, затем в /usr/share/ffmpeg или /usr/local/share/ffmpeg, в зависимости от пути установки. Посмотреть самим, какие присутствуют файлы предустановок, можно по этим же путям.
-f - force, указываем принудительно формат конечного файла (-f avi).
-b - битрейт видеопотока. По умолчанию: 200kb/s (-b 1500).
-bt - толерантность битрейта. По умолчанию: 4000k. При двухпроходном кодировании указывает как далеко в первом проходе можно отклониться от указанного среднего битрейта. Значение не связано с минимальным/максимальным битрейтом. Слишком сильное снижение этого параметра оказывает негативное влияние на качество.
-r - количество кадров в секунду. По умолчанию: 25 (-r 15).
-s - размер фрейма, то есть разрешение выходного видеофайла. По умолчанию определяется размером файла-источника. Может быть задано буквенными сокращениями, например svga означает размер 800x600. Просмотреть все доступные сокращения можно в man ffmpeg. (-s 640x480 или -s vga).
-aspect - числовые значения, определяет соотношение сторон выходного файла (-aspect 4:3 или -aspect 1.3333).
-croptop
-cropbottom
-cropleft
-cropright - обрезка кадров сверху, снизу, слева, справа. Значения указываются в пикселях. Может использоваться, например, для удаления черных полос (-croptop 15). В некоторых версиях ffmpeg данные опции могут быть удалены и вместо них используется опция -vf crop=width:height:x:y. Подробнее о ней в соответствующем разделе ниже.
-pass - количество проходов при кодировании, 1 или 2 (-pass 2).
-g - размер группы кадров, после которой следует ключевой кадр. Например -g 300 устанавливает по одному ключевому кадру каждые 10 секунд, при скорости исходного видеофайла 29.97fps. 30 кадров в секунду * на 10 секунд = значение опции 300 (примерное значение для рипа DVD-файла). Чем меньше битрейт и количество кадров в секунду, тем меньше должно быть это значение.
-deinterlace - удаление "гребенки".
   Аудио опции:
-ar - устанавливает частоту дискретизации звука. По умолчанию: 44100Гц (-ar 22050).
-ab - битрейт звуковой дорожки. По умолчанию: 64kb (-ab 256k).
-ac - число каналов звуковой дорожки. По умолчанию, для входящих потоков это значение равно 1, для исходящих равно числу каналов исходного файла. Другими словами, если вы делаете захват звука, то число каналов по умолчанию 1, а если берете звук из видеофайла, например, то число каналов по умолчанию будет равно исходнику (-ac 2).
-an - кодирование видео без звуковой дорожки.
-acodec - аудиокодек, которым будет осуществляться кодирование звука (-acodec flac).
-apre - набор предустановок для аудиокодека.


Обрезка видео (Crop)

   Формат опции следующий:
-vf crop=width:height:x:y

Опция содержит много переменных, приведу лишь несколько примеров простой обрезки:
-vf crop=100:100 - обрезка изображения от центра до размера 100х100.
-vf crop=in_w-2*10:in_h-2*20 - обрезка по 10 пикселей слева и справа и по 20 пикселей сверху и снизу, исходя из размера исходного изображения.
-vf crop=2/3*in_w:2/3*in_h - обрезка от центра до 2/3 от исходного изображения.

   Назначение переменных x и y я объяснить затрудняюсь, но в общих чертах они задают положение верхнего левого угла выходной области (необрезанной). Вычисляется для каждого кадра. Если полученное значение не является допустимым, то округляется до ближайшего допустимого значения.
Выражение для y может зависеть от x и наоборот.
К примеру -vf crop=800:600:0:0 - вырежет окошко размером 800х600 не из центра, а точно от левого верхнего угла.


Общие функции

   Просмотр доступных форматов:
ffmpeg -formats

   Просмотр доступных кодеков:
ffmpeg -codecs

   Просмотр доступных фильтров:
ffmpeg -filters

   Получение информации о мультимедийном файле:
ffmpeg -i input.avi

   Конвертирование из одного формата в другой:
ffmpeg -i input.mov output.avi

   Сохранение звуковой дорожки:
ffmpeg -i input.avi -vn -ab 128k output_audio.mp3
Желательно указывать битрейт, потому что 64кб/с по умолчанию вас вряд ли устроят.

   Вырезаем нужный фрагмент видео без перекодирования видео и звуковой дорожки:
ffmpeg -i input.avi -ss 00:10:00 -t 00:03:00 -vcodec copy -acodec copy cut.avi
В этом примере мы вырезали 3-х минутный фрагмент, начиная с 10-й минуты видео.

   Микшируем видеодорожку со звуковой:
ffmpeg -i video.avi -vcodec copy -i audio.mp3 -acodec copy output.avi

   Можно засунуть несколько видеофайлов в один и переключаться между ними:
ffmpeg -i test1.avi -i test2.avi -vcodec copy -acodec copy -vcodec copy -acodec copy output.avi -newvideo -newaudio
В данном случае у вас получится в одном файле 2 видеодорожки и 2 аудиодорожки, между которыми можно переключаться при воспроизведении. Размер исходного файла будет меньше, чем у двух файлов по отдельности.
Опции -newvideo, -newaudio и -newsubtitle должны быть указаны непосредственно после имени файла, в котором вы собираетесь их объединить.

   Делаем скриншот с видео:
ffmpeg -i input.vob -an -ss 00:02:00 -r 1 -vframes 1 -s 720x480 -f image2 screenshot.jpg
Будет получен скриншот второй минуты видео, с разрешением 720х480


Кодирование видео с помощью кодека libx264 в формат mkv

   Однопроходное кодирование с пресетом slow и пережатием звука в mp3:
ffmpeg -i input.mov -vcodec libx264 -vpre slow -crf 22 -threads 0 -acodec libmp3lame -ar 44100 -ab 128k output.mkv
Чем меньше значение -crf, тем лучше качество и больше размер файла. Примерные пределы от 18 до 28.

   Однопроходное кодирование DVD файла с пресетом slow, с сохранением исходного формата звука, деинтерлейсом (удалением "гребенки"), и обрезкой черных полос:
ffmpeg -i input.vob -vcodec libx264 -vpre slow -crf 22 -threads 0 -deinterlace -vf crop=in_w-2*15:in_h-2*10 -acodec copy output.mkv

   Двухпроходное кодирование с примерным битрейтом 1000k/s и с пережатием звука в aac:
ffmpeg -i input.avi -pass 1 -vcodec libx264 -vpre fast_firstpass -b 1000k -bt 1000k -threads 0 -f mp4 -an /dev/null && ffmpeg -i input.avi -pass 2 -vcodec libx264 -vpre slow -b 1000k -bt 1000k -threads 0 -acodec libfaac -ar 48000 -ab 128k -f mp4 output.mkv


Кодирование видео с помощью кодека Xvid

   Однопроходное кодирование:
ffmpeg -i input.mkv -vcodec libxvid -qscale 8 -me_method full -mbd rd -flags +gmc+qpel+mv4 -trellis 1 -threads 0 -acodec libmp3lame -ab 128k -ac 2 output.avi
Опция -qscale отражается на качестве итогового видео. Чем меньше значение, тем выше качество, больше размер видео и дольше кодирование. Значения лежат в пределах от 1 (лучшее качество) до 31 (худшее).

   Двухпроходное кодирование кодеком Xvid с пережатием звука в Ogg vorbis:
ffmpeg -i input.vob -an -vcodec libxvid -bt 4000k -pass 1 -f rawvideo -threads 0 -y NUL && ffmpeg -i input.vob -vcodec libxvid -b 1500k -pass 2 -threads 0 -y -acodec libvorbis -ab 128k -ac 2 output.avi


Некоторые советы

   Параметры опций для кодирования с высоким качеством в mp4:
'-mbd rd -flags +mv4+aic -trellis 2 -cmp 2 -subcmp 2 -g 300 -pass 1/2', также можно попробовать: '-bf 2', '-flags qprd', '-flags mv0', '-flags skiprd'.

   Параметры опций для кодирования с высоким качеством в MPEG-1/MPEG-2:
'-mbd rd -trellis 2 -cmp 2 -subcmp 2 -g 100 -pass 1/2' но учтите, что '-g 100' могут вызывать проблемы с некоторыми декодерами. Еще стоит попробовать: '-bf 2', '-flags qprd', '-flags mv0', '-flags skiprd.

Запись скринкастов (видео с рабочего стола)

   Использование формата mov (QuickTime) без сжатия позволит сэкономить ресурсы процессора во время записи, но сильно скажется на размере конечного файла. В отличии от кодирования "на лету", которое создает файлы гораздо меньшего размера, но сильно нагружает процессор. Пример записи скринкаста без сжатия:
ffmpeg -f x11grab -s 1280x1024 -r 25 -i :0.0 -vcodec qtrle screencast.mov
где:
-f x11grab - источник сигнала, в данном случае вывод Х-сервера.
-s 1280x1024 - размер захватываемой области, в данном случае соответствует разрешению монитора.
-r 25 - количество кадров в секунду.
-i :0.0 - экран X-сервера / номер монитора. Дополнительно можно указать смещение захватываемой области (положение верхнего левого угла) по X и Y следующим образом -i :0.0+10,20
-vcodec qtrle - видеокодек QuickTime.

   Захват области определенного размера со смещением от левого верхнего угла:
ffmpeg -f x11grab -s 640x500 -r 25 -i :0.0+200,300 -vcodec qtrle screencast.mov
В данном случае мы захватываем окошко размером 640х500, со смещением от левого верхнего угла на 200 пикселей по оси X и 300 пикселей по оси Y.

   Раскадровка видеофайла:
ffmpeg -i input.mov -r 25 -f image2 images%05d.png
создаст 25 изображений в формате PNG для каждой секунды исходного видеофайла. Изображения будут сохранены в текущий каталог. Созданные файлы изображений будут начинаться со слова "images" и будут последовательно пронумерованы так: images000001.png, images000002.png images000003.png и т.д.

   Сохранение изображений в отдельный подкаталог tmp:
ffmpeg -i input.mov -r 25 -f image2 tmp/images%05d.png

   Раскадровка первой секунды видео от начала видеофайла:
ffmpeg -i input.mov -r 25 -t 00:00:01 -f image2 images%05d.png
Ключ -t в FFmpeg указывает длительность декодируемого видео, которую можно задать в формате целых секунд или же в формате чч:мм:сс.

   Раскадровка с заданного участка времени:
ffmpeg -i input.mov -r 25 -ss 00:00:10 -t 00:00:05 -f image2 images%05d.png
Ключ -ss используется для указания отметки времени, с которой начинается обработка. Формат времени такой же.

   Сохранение одного изображения первой секунды:
ffmpeg -i input.mov -r 1 -t 00:00:01 -f image2 images%05d.png
Если нужен один кадр из другой части клипа, используйте ключ -ss в команде, аналогичной приведённой выше команде.

   Раскадровка всего видео с уменьшенным размером сторон кадра:
ffmpeg -i input.mov -r 1 -f image2 -s 120x96 images%05d.png

   Объединение последовательности изображений в видеофайл:
ffmpeg -f image2 -i images%05d.png -r 25 -s 1280x1024 output.avi

   Конвертируем видео в gif-анимацию:
ffmpeg -i screencast.mov -an -pix_fmt rgb24 -vframes 100 -r 6 -s 640x480 -loop_output 0 -f gif -y screencast.gif
Параметром -vframes 100 мы указываем, что хотим получить 100 кадров в нашей анимации. Параметром -r 6 говорим, что хотим брать по 6 кадров с каждой секунды видео. -loop_output - задает число повторений анимации, при значении 0 она будет повторяться бесконечно.

   Запись видео со звуком (предварительно в микшере нужно включить соответствующие входы и выставить уровни записи):
ffmpeg -f alsa -ac 2 -i hw:0,0 -acodec pcm_s16le -f x11grab -s 1280x1024 -r 25 -threads 0 -i :0.0 -vcodec qtrle screencast.mov
Список доступных для записи устройств ALSA можно посмотреть командой: arecord -l

   Лично у меня запись с QuickTime'ом шла не очень гладко, еще и наблюдалось расхождение видео со звуком. Предпочтительнее оказался вариант все с тем же libx264 и пресетом lossless_ultrafast:
ffmpeg -f alsa -i hw:0,0 -acodec pcm_s16le -ac 2 -ab 128k -f x11grab -s 1280x1024 -r 30 -i :0.0 -threads 0 -vcodec libx264 -vpre lossless_ultrafast screencast.mkv
Размер файла получился даже несколько меньше, в сравнении с .mov и отсутствовали рывки и рассинхронизация звука.

arecord - запись звука

Коечно, нужно изучать ман, а если нужно сделать быстро, то вот.

Запись в файл:
arecord -f S16_LE -r44100 filename.wav
Слушать в реальном времени
arecord -f S16_LE -r44100 | aplay


Взял от сюда.

воскресенье, 18 ноября 2012 г.

Команды чата в skype

Основная инфа:
https://support.skype.com/ru/faq/FA10042/kakie-susestvuut-komandy-i-roli-v-cate

Пожалуй самые нужные команды чата skype:
/alertsoff Отключить уведомления о сообщениях.
/alertson [текст] Указать текст, о появлении которого в чате вас следует уведомлять. Например, если ввести /alertson Лондон, вы будете получать уведомление только в том случае, если в чате появится слово "Лондон".
/me [текст] В чате отобразится ваше имя, а за ним – текст, который вы написали. Например, если ввести /me работает дома, после вашего имени отобразится фраза "работает дома". Эту команду можно использовать для того, чтобы сообщить всем, что вы делаете.

пятница, 16 ноября 2012 г.

Настройка сети в Debian

Статья http://www.aitishnik.ru/linux02.html , основное:

# vim /etc/network/interfaces
Для сервера с одним сетевым интерфейсом у нас должно получиться следующее:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface

auto lo
iface lo inet loopback
# The primary network interface

allow-hotplug eth0
iface eth0 inet static
address 192.168.123.254
netmask 255.255.255.0
network 192.168.123.0
broadcast 192.168.123.255
gateway 192.168.123.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 213.177.96.1 213.177.97.1
auto eth0

Затем редактируем файл /etc/resolv.conf:
nameserver 213.177.96.1
nameserver 213.177.97.1

четверг, 15 ноября 2012 г.

screen или как восстанавливать разорванную сессию ssh

Взято от сюда: Unix: утилита screen или как восстанавливать разорванную сессию ssh

Смысл ее таков: заходите на сервер по SSH и вместо того, чтобы сразу что-то делать - сначала запускаете утилиту screen, а уже после этого - в ее консоли - работаете как будто в обычной SSH-сессии. В случае обрыва связи, после подсоединения по SSH утилита позволит Вам снова подключиться к ее сессии и продолжить работу.

 Управление внутри Screen

Утилита поддерживает некоторое количество хот-кеев (hot keys) - для управления внутри своего экрана. Команды эти вызываются путем нажатия Ctrl+A и затем - кнопки с нужным действием.

Основые сочитания указаны ниже:
  • Ctrl+A, ? : Показать справку по командам
  • Ctrl+A, c : Создать новую сессию Screen
  • Ctrl+A, n : Переключиться на следующую сессию Screen
  • Ctrl+A, p : Переключиться на предыдущую сессию Screen
  • Ctrl+A, # : Переключиться на сессию с номером # (вместо # - подставьте номер окна Screen)
  • Ctrl+A, " : Показать список открытых сессий
  • Ctrl+A, Shift+C : Очистить окно
  • Ctrl+A, Shift+F : Подогнать размер окна сессии Screen под текущий размер окна SSH (например, если Вы изменили размер окна PuTTY или терминала X-Window)
  • Ctrl+A, Shift+K : Закрыть окно (аналог exit, только аварийно)
  • Ctrl+A, d : Свернуть окно - т.е. Вы вернетесь в сессию SSH, но все работающие программы останутся работать в сессии Screen.


Как переподключиться

Итак, у Вас оборвало сессию SSH или Вы просто свернули окно Screen через комбинацию клавишь "Ctrl+A, d" - и теперь Вам нужно подключиться обратно.

Список текущих окон можно получить, выполнив следующую команду:
$ screen -ls
There is a screen on:
        61469.pts-2.mail        (Detached)
1 Socket in /tmp/screens/S-user.

А подключиться к нужной сессии:
$ screen -r 61469.pts-2.mail
где вместо 61469.pts-2.mail указывайте сессию, которую видите из предыдущей команды.

среда, 14 ноября 2012 г.

Мультимедийный репозиторий для Debian

Понадобилось установить в Debian пакет h264enc для конвертирования видео.

Нужно добавить репозиторий с мультимедией.
deb ftp://ftp.deb-multimedia.org stable main non-free
Затем обновить список пакетов:
aptitude update
и установить пакет:
aptitude install h264enc
Если после запуска скрипта он выдаст что-то типа:
 Checking for utility 'bc'... FAILED!
То устанавливаем пакет bc:
 aptitude install bc
Запускаем скрипт  h264enc с опцией -r для сброса конфига и можем запускать кодирование.

Далее смотрим запись Конвертация видео из формата ogv (RFRemix 16)

понедельник, 12 ноября 2012 г.

Debian Sources List Generator

http://debgen.simplylinux.ch/index.php

Пригодиться если нужно создать-отредактировать в Дебиане файл с репозиториями /etc/apt/sources.list




Себе сгенерировал для 32-бит Stable (squeeze) Main Contrib Non-free Security Updates


deb http://ftp.ru.debian.org/debian stable main contrib non-free

deb http://ftp.debian.org/debian/ squeeze-updates main contrib non-free

deb http://security.debian.org/ squeeze/updates main contrib non-free

понедельник, 29 октября 2012 г.

Склейка mp3 файлов.

Если нужно склеить в один несколько mp3 файлов с одинаковым битрейтом, то всё банально просто, нужно выполнить в каталоге с нужными файлами следующее:
cat *.mp3 > result.mp3
И все  mp3 файлы будут склеены в одни result.mp3

понедельник, 10 сентября 2012 г.

Архивирование winrar-ом из командной строки

Применяю для создания архивов в Виндовс ;) батник следующиго вида:
Rar.exe a -rr10 -agYYYYMMDDHHMM r:\backups\sbis_2.4\sbis_ d:\programs\sbis_2.4
Rar.exe нужно скопировать из каталога с Rar'ом в каталог Windows. Батник поместить в Program Files, на рабочий стол сделать ярлык или создать задание в Планировщике.

пятница, 7 сентября 2012 г.

mkvtoolnix

Иногда хочется добавить звуковую дорожку к видеофайлу, не содержащему аудиопоток, например, к скринкасту (записи ведео с рабочего стола). Проще всего это сделать, поместив видеофайл и аудиофайл в один контейнер-файл с расширением mkv. Я для этого использую mmg - графическую морду к mkvmerge, входящей в пакет mkvtoolnix.

воскресенье, 19 августа 2012 г.

Установка дополнения в гостевую ОС Debian в Virtualbox

Установка дополнения в гостевую ОС семейства Linux может понадобится для изменения разрешения монитора для комфортной работы с иксами.
Делал по статье Установка Virtualbox Guest additions в Ubuntu Server , дальше собственно сама статья:

Что за дополнения и для чего они нужны?

Virtualbox Guest additions изначально были сделаны для систем линейки Windows (согласно документации) и представляют из себя набор драйверов и утилит для управления гостевой ОС.

В Linux эти дополнения так же набор драйверов, но представляют собой модули для ядра. В связи с этим, модули необходимо пересобирать каждый раз, как будет обновлён пакет ядра Linux (linux-image-*), если в системе не установлен DKMS.

В большинстве *nix систем модули Virtualbox присутствуют, но зачастую очень старых версий. В официальной документации рекомендуется заменять их Дополнениями, актуальными для версии Virtualbox, установленной на хосте.

Устанавливаем

Итак, для того чтобы установить дополнения гостевой ОС, необходимо:
  • Обновить гостевую систему, так как модули ядра работают только с той версией ядра, на которой они собраны:
    sudo apt-get update && sudo apt-get upgrade

  • Установить build-essential, так как мы планируем собирать модуль ядра, а данный метапакет содержит необходимые нам make и gcc:
    sudo apt-get install build-essential

  • К счастью, в Ubuntu есть DKMS и нам не придётся собирать модули в ручную каждый раз, как обновили систему. Ставим его:
    sudo apt-get install dkms

  • В меню Virtualbox выбираем Устройства → Установить Дополнения гостевой ОС или нажимаем Host+D. Монтируем cdrom:
    sudo mount /dev/cdrom /media/cdrom

  • Переходим на смонтированный диск и запускаем установку:
    cd /media/cdrom && sudo sh ./VBoxLinuxAdditions.run
Дальше установщик сделает всё сам.
В случае, если вы проделываете это не в Ubuntu или в Ubuntu до 8.10, или в вашей системе попросту отсутствует DKMS, то необходимо будет после каждого обновления ядра системы пересобирать модули Virtualbox. Для этого необходимо выполнить команду sudo /etc/init.d/vboxadd setup.

пятница, 10 августа 2012 г.

Scientific Linux и radiotray

Дополню очень информативный пост о radiotray
В Scientific Linux нет в репозиториях этой программы, но можно воспользоваться версией для Fedora 13 ;) , для установки выполним
yum localinstall radiotray-0.6.3-1.fc13.noarch.rpm
Разумеется от рута и находясь в папке, куда предварительно скачали пакет ;)

Пара радиостанций, которые я слушаю

Эхо Москвы (глючит частенько)
 http://radio.echo.msk.ru:8000/listen.pls

Наше Радио
 http://mp3.nashe.ru:80/nashe-128

Голос Питера (глючит частенько)
 http://golospitera.ru:8000/golospitera

Scientific Linux и VirtualBox

В репозиториях для Scientific Linux нет VirtualBox, а он иногда так нужен ;), например, чтобы поиграть в контру (чой-то не осилил я установку контры в вине). В kvm винда работает у меня менее шустро и с 3Д там дела похуже ;) , вроде.
Короче, качаем VirtualBox с офсайта и читаем мануалы ;). Чтобы скомпилировался модуль для ядра нужно установить, если их нет, пакеты с заголовками, компилятор и проч.(как обычно).
После первого запуска, возможно ;), понадобится выполнить команду из-под рута:
/etc/init.d/vboxdrv setup
Об этом скажет сам  VirtualBox.
Если нужна будет поддержка ЮСБ в гостевых системах, то там тоже нужно будет кое-чего замутить ;), об этом опять же будет алерт от самого  VirtualBox, мне это не к чему, поэтому не парюсь пока.

Кстати, для контры нужно в свойствах виртуальной машины включить ЗД ускорение (чтобы использовать OpenGL), и чтобы мышка адекватно реагировала, нужно включать-отключать интеграцию мыши (правый cntr+i). Не забыть установить "дополнение для гостевой ОС", чтобы было комфортней ;)

counter strike 1.6 в VirtualBox работает на ура на Sempron 140 c 4 Гб ОЗУ (на гостевую ос выделено 512 Мб)

Scientific Linux и blender

В репозитории есть Блендер, но он старый и при запуске подвешивает мой компьютер (не знаю почему). Проблему можно решить, скачав Блендер с офсайта. Скачиваем архив, распаковываем и запускаем прямо из папки куда распаковали, то есть устанавливать его не надо и всё необходимое он имеет при себе. Хоть это и не РедХат-вей, но куда деваться-то?

icewm и трей

Частенько глючит трей в icewm  - после входа он оказывается не на месте, а окошком на столе. На сколько я понял, это происходит, если в файле автозапуска ~/.icewm/startup есть приложения, висящие в трее. Чтобы трей не глючил нужно прописать до запуска приложений команду sleep 5:
 #!/bin/bash
sleep 5
parcellite&
radiotray&
 Кстати, icewm лучше ставить из репозитория "sl", а не из "epel", т.к. в "epel" хоть и более свежая версия, но она и более глючная.

среда, 11 апреля 2012 г.

Запись скринкаста - GUI для ffmpeg

Ещё раз про ffmpeg и запись скринкастов, поковырялся в интернете и нашёл кое что новое для себя и вспомнил старое.


ffmpeg — набор свободных библиотек с открытым исходным кодом, которые позволяют записывать, конвертировать и передавать цифровые аудио и видео записи в различных форматах. 


Установка:
# yum install ffmpeg

ffmpeg консольная утилита, т.е. для работы с ней нужно открыть терминал.

 
Для записи видео всего экрана нужно дать следующую команду:
ffmpeg -f x11grab -s 1024x768 -r 25 -i :0.0 screencast.mov
Параметры:
-f x11grab — указывает на то, что источником служит экран
-s 1024x768 — размер кадра (в нашем случае размер экрана)
-i :0.0 — экран Х-сервера и номер монитора
-r 25 — частота кадров
screencast.mov — имя выходного файла. Контейнер .mov выбран не случайно, он поддерживает сохранение кадров без перекодирования, что снизит нагрузку на ЦП при записи скринкаста. Так как мы сохраняем без сжатия, конечный файл будет довольно большой. Следите за тем, чтобы на разделе куда будет сохранятся файл было достаточно места.
Остановить запись можно нажав терминале, где запущен ffmpeg комбинацию клавиш cntl+c


Если нужно записать часть экрана, то делаем так:
ffmpeg -f x11grab -s 640x320 -r 25 -i :0.0+100,100 screencast.mov
Параметры:
-s 640x320 — размер кадра (в нашем случае размер области захвата)
-i :0.0+100,100 — экран Х-сервера, номер монитора и смещение от верхнего левого угла

Теперь можно перекодировать в avi:
ffmpeg -i screencast.mov screencast.avi


Screencastor — графическая морда для ffmpeg, заточенная под скринкасты. Автор француз, написано для убунты (можно поставить из ppa-репозитория, для не убунтоводов — качать тарбол), подробности читаем по адресу http://forum.ubuntu-fr.org/viewtopic.php?pid=3974195 . Минусы — нет русского интерфейса, задание или изменение значения для параметра -s и -i подтверждаются нажатием Enter в соответствующих окошках (не сразу до меня это дошло), при записи нового скринкаста нужно в ручную указывать его имя, либо будет в терминале программы вопрос о перезаписи предыдущего файла. Плюсов много и они с головой перекрывают минусы.

понедельник, 26 марта 2012 г.

Почтовый сервер iRedMail

Наткнулся на статью Вменяемое готовое решение для организации почтового сервера под Debian — iRedMail
На сайте разработчиков есть инструкции по установке на разные дистрибутивы, для Red Hat, CentOS, Scientific Linux есть даже видео.

Для создания своего почтового сервера, видимого из Интернета, нужно после установки создать на почтовом сервере домен вида xyz.dyndns.org и пользователей в нём. Естественно, нужно имет аккаунт на dyndns.org и настроить соответственным образом свой роутер для работы с ним.
Не забыть про форвардинг портов на роутере и про настройку файрволла на сервере. Для работы только через веб-интерфейс нужны 80, 443 и 25 порты - для веб-сервера и smtp. Если нужны POP3/POP3S и IMAP/IMAPS, то открываем и их.

Не забыть про обратную петлю на роутере DynDNS ZyXEL

beeline и услуга «SMS и MMS нон-стоп»

Сменил недавно тариф на "Монстр общения 2011", но в салоне не предупредили о том, что там автоматически подключается услуга «SMS и MMS нон-стоп» и стоит она 2 рубля в день ). После внимательного чтения текста мелким шрифтом, была получена информация как это дело отключить.
Услугу «SMS и MMS нон-стоп» можно отключить, позвонив по номеру 067406540
В детализации эта услуга обозначается как
PC_SMSMMS_PVR
Заказать детализацию бесплатно можно в личном кабинете на сайте Билайна beeline.ru

понедельник, 12 марта 2012 г.

Установка kvm в Scientific Linux (RERemix) 6, CentOS

Почитал статьи
Статья о настройке KVM в RHEL/CentOS 6 
NIGHT Блог: Установка KVM на CentOS 6.0 howto
и на их основе состряпал небольшой мануальчик для себя.

Установка
# yum install kvm libvirt virt-manager virt-viewer
Не уверен на счёт virt-manager, но пусть будет )), а вот virt-viewer нужен точно.

Запускаем демона и добавляем его в автозапуск
# service libvirtd start
# chkconfig libvirtd on

Настраиваем сеть
Редактируем конфиг  /etc/sysconfig/network-scripts/ifcfg-eth0
Должно получиться нечто такое
DEVICE="eth0"
BOOTPROTO="static"
ONBOOT=yes
HWADDR=90:E6:BA:D7:71:C7
BRIDGE=bridge0

Создаём файл ifcfg-bridge0
# vi /etc/sysconfig/network-scripts/ifcfg-bridge0
И заполняем его примерно так
DEVICE="bridge0"
TYPE=Bridge
BOOTPROTO="static"
IPADDR=192.168.1.2
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT="yes"
DNS1=88.147.128.17
DNS2=88.147.129.15
DNS3=8.8.8.8

Если в системе установлен и работает NetworkManager, то останавливаем и удаляем его
# service NetworkManager stop
# yum remove NetworkManager

Перезапускаем сеть
# service network restart


При установке virt-manager созаётя виртуальная сеть default, нужно её удалить чтоб не мешалась под ногами
# virsh net-list
Name                 State      Autostart
-----------------------------------------
default              active     yes
 
Отключаем
# virsh net-destroy default
Network default destroyed
 
Удаляем 
# virsh net-undefine default
Network default has been undefined
 
 
Устанавливаем виртуальную машину (CentOS 6.2)
Устанавливаю по сети с зеркала яндекса или с зеркала в локальной сети провайдера
# virt-install -n vm01 -r 2048 -l http://mirror.yandex.ru/centos/6.2/os/x86_64 -f /var/lib/libvirt/images/vm01.img -s 10 --network bridge=bridge0 --vnc
virt-install -n vm01 -r 1024 -l ftp://ftp.san.ru/unix/linux/centos/6.2/os/i386 -f /var/lib/libvirt/images/vm01.img -s 10 --network bridge=bridge0 --vnc
Параметры
-n - имя виртуальной машины
-r - объем оперативной памяти
-l - расположение файлов для сетевой установки
-f - путь к файлу-контейнеру содержащему диск виртуальной машины
-s - размер файла-котейнера в гигабайтах
--network bridge - подключить виртуальный сетевой интерфейс к сетевому мосту
--vnc - использовать VNC-дисплей
VNC-консоль должна запуститься автоматически, если установлен virt-viewer
 
Управление виртуальнымы машинами осуществляетя с помощью утилиты virsh
Например 
virsh list --all
virsh start vm01
virsh shutdown vm01
virsh destroy vm01
virsh undefine vm01
В догонку пример установки Винды )
virt-install -n WinXP -r 512 -f /var/lib/libvirt/images/winxp.img -s 10 -c /home/date/mutno/ZverDVD_v2010.11.ISO --accelerate --os-type=windows --os-variant=winxp -v --vnc -w bridge:bridge0



вторник, 28 февраля 2012 г.

RERemix и джойстик (геймпад)

Наткнулся на статью Подключаем и используем геймпад в Fedora Linux
Т.к. система у меня 64 битная, то пришлось качать тарбол и компилировать.
Сначала устанавливаются пакеты необходимые для компиляции
yum install gcc-c++ gtk2-devel libXtst-devel SDL-devel glib2-devel
Затем качаем тарбол  http://sourceforge.net/projects/rejoystick/files/rejoystick/rejoystick-0.8.1/rejoystick-0.8.1.tar.gz/download

Разархивируем и заходим в папку с исходниками, я это делаю при помощи mc, а затем компилируем

./configure && make

и устанавливаем

su -c "make install"

Для начала работы нужно запустить программу с графической оболочкой

rejoystick

После настройки запускаем непосредственно эмуляцию клавиш джойстиком

rejoystick -d

Для остановки используется команда

 killall -9 rejoystick

понедельник, 20 февраля 2012 г.

WD Green Caviar утилита для диагностики 2

В догонку к предыдущему посту 

 DLGDIAG.txt

                             DLGDIAG

PROGRAM DESCRIPTION:

    This MODULE of the Data Lifeguard Tools program searches for and
    verifies the status of specific Western Digital drives. By accessing
    the Data Lifeguard information stored on the hard drive, the program
    is able to quickly and efficiently verify the status of the drive.
    If any errors are logged or found, it provides an option to return the
    drive to defect-free status through an extended test or repair option.

    DLGDIAG offers several options for verifying the defect-free status of
    your hard drive.

    QUICK TEST: The Quick Test is designed to intelligently gather and verify
    all of the Data Lifeguard information contained on the drive.  The Quick
    Test can determine with a high level of confidence that a drive is
    defect-free in a short amount of time.  For maximum confidence, the
    Extended Test is recommended.  The Quick Test option may not be available
    on earlier hard drives.

    EXTENDED TEST: For most computers the DLGDIAG Extended Test takes 5-20
    minutes to test one drive. Larger drives take longer to test. The
    performance of the computer also affects the test time.


TO RUN THE PROGRAM:

    BACK UP DATA:
    Before running DLGDIAG, it is recommended that users back up all data
    for all hard drives.  This utility may write to the drive during the
    re-certification process.  As with all utilities that write to a drive,
    it is recommended that you back up your data before proceeding.

    STORE THE PROGRAM ON FLOPPY DRIVE:
    The program must be run from a floppy drive, so if downloaded, copy all
    files included in the zip to a formatted bootable floppy diskette in A:.
    All files must be included for the program to function properly. Running
    this program from the target hard drive while using certain operating
    systems can result in data loss and an inaccurate scan of the target
    drive.

    START THE PROGRAM: To start the program, type DLGDIAG at the
    A:\ DOS prompt.

    READ AND APPROVE LICENSE AGREEMENT:
    In order for the DLGDIAG program to run, the License Agreement must
    be agreed to by indicating "YES".


TO TEST EACH DRIVE:

    Pick the 'Select Drive' option to see a list of all drives
    installed and the current status of each drive.

    For each drive that shows a status of 'DRIVE NOT TESTED', select
    the drive by using the up/down arrows until the desired drive
    is highlighted and hit ENTER, then return to the main menu to test
    the drive.

    Once the target drive is selected,  choose either the Quick or
    Extended Test Options.  The Quick Test option may not be available
    on earlier drives. If it is not available, then the program will
    give the user the option to run the Extended Test.

    Depending on the option selected, the 'Test' will take between 90
    seconds and 20 minutes to complete (depending on the size of the drive
    and the speed of the computer).

    At the end of the test a status is displayed. Also, the status for
    all drives is always available by choosing the 'Select Drive' option
    from the main menu.

    If errors are detected during a 'Test' option, the user will be
    given the option to attempt to repair the errors.

    Use the 'Select Drive' and 'Quick Test' and 'Extended Test' options
    to select, test, and repair each drive until all drives have been
    tested.

    Pick QUIT from the main menu to quit the program. At this point
    a message will inform you that the system should be reset to
    reinitialize the BIOS and hard drive(s). Hit CTRL-ALT-DELETE or
    turn the power off to restart the system.

    When rebooting, remove the floppy diskette so the system boots
    to C: instead of A:.


TO CONTACT WD:

    In some cases the user may be requested to contact Western
    Digital Technical Support. You may contact Western Digital
    Technical Support at support.wdc.com or at (800) 275-4932 in the U.S.,
    or (31) 20.446.7651 in Europe, or consult your drive manual for
    further information. Alternately, you may contact the OEM or its
    warranty service provider who can support your needs.


MAIN MENU OPTIONS:

    Select Drive           select drive and view status for all drives
    Quick Test             90 second 'intelligent' test of the selected drive
    Extended Test          5-20 minute scan of selected drive
    Write Zeros To Drive   write zeros to the drive
    View Test Results      display results for last drive tested
    Print Test Results     print results for last drive tested
    Log File Open/Close    store results for all drives tested - DLGDIAG.LOG
    Enter & Print RMA Info enter and print RMA when returning a drive to WD
    Help                   display the DLGDIAG help file - DLGDIAG.TXT
    Quit                   quit DLGDIAG


COMMAND LINE SWITCHES:

    -A       Disable error code for SMART failures
    -B       Check SMART status without menus
    -C       Enable output to comma file
    -Dx      Select drive x only, where x is 0-15 or ? to show drive info
    -E       Run extended test without menus - with drive repair
    -FWRITE  Write zeros to the first and last million sectors
    -G       Show test history on the SMART log area
    -H       Enable appending of log to history log file
    -L       Disable output to log file
    -Ox      Specify log file location, where x is the full path
    -Px      Access drives at baseport x (hex address) only
    -Q       Run Quick Test without menus
    -R       Run performance test without menus
    -S       Skip rebooting after a run of the program
    -V       Run extended test without menus - without drive repair
    -WRITE   Write zeros to the entire drive


ERROR/STATUS CODES:

DESCRIPTION                  CODE

COMPLETED WITHOUT ERRORS      0
ABORTED BY HOST               1
INTERRUPTED BY DRIVE RESET    2
INCOMPLETE DUE TO ERROR       3
UNKNOWN ELEMENT FAILURE       4
ELECTRICAL ELEMENT FAILURE    5
SERVO/SEEK ELEMENT FAILURE    6
READ ELEMENT FAILURE          7
HANDLING FAILURE              8
UNKNOWN TEST STATUS           9
UNKNOWN TEST STATUS           10
UNKNOWN TEST STATUS           11
UNKNOWN TEST STATUS           12
UNKNOWN TEST STATUS           13
UNKNOWN TEST STATUS           14
TEST IN PROGRESS              15

ERRORS FOUND                  100
UNKNOWN ERROR                 101
SEEK TIMEOUT                  102
WRITE FAULT ERROR             103
DRIVE NOT READY               104
BUSY GLITCH                   105
TRACK 0 ERROR                 106
CHECK SUM ERROR               107
SEEK NOT COMPLETE             108
DRQ WAS SET                   109
DRQ NOT EXPECTED              110
DIAG COMMAND ERROR            111
IRQ TIMEOUT                   112
DRIVE TABLE ERROR             113
TRANSFER RATE ERROR           114
ICRC ERROR                    115
IDNF ERROR                    116
UNCORRECTABLE ECC ERROR       117
DAM ERROR                     118
NO MULTI                      119
NO DRIVE FOUND                120
SERVO ERROR                   121
UNKNOWN ERROR                 122
UNKNOWN ERROR                 123
CORRECTED DATA                124
BAD TRACK                     125
UNKNOWN ERROR                 126
UNKNOWN ERROR                 127
BUFFER MISCOMPARE             128
G-LIST ERROR                  129
INVALID SERIAL                130
SERIAL RETRY                  131

COMMAND ERROR                 132
ILLEGAL ID                    133
BUSY TIMEOUT                  134
DRQ TIMEOUT                   135
BAD SECTOR                    136
RELOCATED SECTOR              137
STILL BUSY TIMEOUT            138
DRQ NOT EXPECTED              139
DRQ TIMEOUT ECC               140
UNKNOWN ERROR                 141
TK-TK SEEK ERROR              142
RANDOM SEEK ERROR             143
THIRD STROKE ERROR            144
FULL STROKE ERROR             145
SEEK OVERHEAD ERROR           146
BAD ID PARAMETERS             147

NOT SELECTED                  148
MASTER SLAVE ERROR            149
UNKNOWN ERROR                 150
PARK ERROR                    151
WRITE PROTECT ERROR           152
MEDIA ERROR                   153
MEDIA CHANGE ERROR            154
MEDIA CHANGE REQ ERROR        155
NO MEDIA ERROR                156
SET MAX ERROR                 157
Q DMA SERVICE ERROR           158
SMART ERROR                   159
UNKNOWN COMMAND               160
RESET SIGNATURE               161
READY EXPECTED                162
UNKNOWN ERROR                 163

DRIVE NOT TESTED              200
NON-WD DRIVE                  201
DRIVE NOT SUPPORTED           202
WRITE LOG ERROR               203
MISSING LOG FILE              204
ABORTED BY USER               205
MEMORY ALLOCATION ERROR       206
CRITICAL RESOURCE ERROR       207
FATAL ERROR                   208
SELF TEST FAILED TO RUN       209
SELF TEST INCOMPLETE          210
2-9 UNCORR ECC ERRORS         211
10+ UNCORR ECC ERRORS         212
2-9 DAM ERRORS                213
10+ DAM ERRORS                214
2-9 IDNF ERRORS               215
10+ IDNF ERRORS               216
2-9 SERVO ERRORS              217
10+ SERVO ERRORS              218
DRIVE CABLE ERROR             219
DRIVE IS LOCKED               220
TEST NOT SUPPORTED            221
DRIVE FAILED THE TEST         222
ERRORS REPAIRED               223
ERRORS NOT REPAIRED           224
TOO MANY ERRORS FOUND         225
SECTOR RELOCATION ERROR       226
SMART NOT SUPPORTED           227


TEST RECORD HISTORY:

The test status and time are stored in SMART log area and can be retrieved
by using -g switch.

A sample test record appears:

   08/22/2002 11:35:00,DLGDIAG 5.00, TEST 7, STATUS/ERROR CODE = 00000

   The Test # indicates one of the test options which are:

      1 - Quick Test
      2 - Extended Test
      3 - Write Zero Test
      4 - Data Transfer Test
      5 - SMART Status Test
      6 - Status Register Error
      7 - Command Error

   The Status # indicates one of the error or status code returned by
   DLGDIAG.

   If test can't write status to log file, the 5th digit of the status/error code
   will be set to 1.

WD Green Caviar утилита для диагностики

В догонку к предыдущему посту об Western Digital Caviar Green

Взято от сюда:
http://support.wdc.com/product/download.asp?groupid=609&sid=2&lang=en

Description
Data LifeGuard Diagnostics is designed to test the physical condition of your hard drive. This utility is designed for drivers larger than 8.4 GB with model numbers starting with WDxxx. This program is designed to work only in a DOS booted environment.
Supported Operating Systems

  • DOS
Instructions

  1. Download the DLGDiagv519.zip.
  2. Extract the DLGDiagv519.exe file and copy to a DOS bootable diskette.
  3. Boot from this diskette. Make sure that your boot order in your Bios is set to boot from the floppy drive first.
  4. At DOS prompt type DLGDiagv519.exe to run the program.
  5. You will see the following options:
    • SELECT DRIVE - Always choose this option first, as it determines which drive you will be working on.
    • QUICK TEST - This option tests your drive quickly for any major physical problems. (Please note: Although this option is safe and does not alter the data on your hard drive, Western Digital recommends that you have a current backup of your data).
    • EXTENDED TEST - This option checks your drive thoroughly and it can repair any correctable errors. (Please note: Although this option is safe and does not alter the data on your hard drive, some data loss may occur, depending on the errors found and the errors corrected. Western Digital recommends that you have a current backup of your data).
    • WRITE ZEROS TO DRIVE - The Write Zeros option, wipes all data off your drive. This option used when your data is no longer usable or recoverable. If you no longer need any data from your drive and would like to start over, run this option to set your drive to an as new condition. NOTE: Please make sure that you have selected the correct drive to perform this function on as once ran, no data will be recoverable.
    • VIEW TEST RESULTS - You can see the results of the test you just performed
    • PRINT TEST RESULTS - Test results can be printed with this option. USB printers are not supported
    • LOG FILE OPEN/CLOSE - You can access the log file which is generated automatically
    • ENTER AND PRINT RMA INFORMATION - Information pertaining to each drive tested can be customized and printed with this option.
    • HELP - Brief descriptions of each option in addition to explanations of error codes are available in this option.
    • QUIT - Reboot your system once you have completed the selected tasks
  6. Select the task you wish to perform.
Related Resources


суббота, 18 февраля 2012 г.

Имитация нажатия клавиши в RERemix

В предыдущем посте об имитации нажатия клавиш в Федоре пакет xdotool устанавливался из стандартного репозитория.
В RERemix найти xdotool в репозиториях не удалось, но можно скачать его и библиотеку к нему из репозитория Fedora 16
xdotool-2.20101012.3049-2.fc15.x86_64.rpm
libxdo-2.20101012.3049-2.fc15.x86_64.rpm
и установить это ручками.

ATI HD 4200 и RERemix 6.2 Beta

Имею встроенную в материнскую плату видеокарточку ATI HD 4200 и дистрибутив RERemix 6.2 Beta x86_64 (отдельное спасибо Аркадию Шейну Tigro за работу над ним).
RERemix 6.2 Beta из коробки адекватно заработала с моей карточкой, в отличие от RERemix 6.1 Alfa
Зачем-то захотелось поставить проприетарные драйвера на видеокарточку.

yum install xorg-x11-drv-catalyst
ни к чему хорошему не привёл и я его удалил (может у меня руки кривые, а может и не в них дело)

yum install fglrx-x11-drv fglrx-x11-drv-32bit
уже выдал рабочий результат

glxgears
14174 frames in 5.0 seconds = 2832.941 FPS
15909 frames in 5.0 seconds = 3181.732 FPS
16073 frames in 5.0 seconds = 3214.504 FPS
16513 frames in 5.0 seconds = 3302.439 FPS
16065 frames in 5.0 seconds = 3212.536 FPS
16498 frames in 5.0 seconds = 3299.523 FPS

На всякий пожарный: утилиты glxgears и glxinfo находятся в пакете glx-utils
Пакет  xorg-x11-drv-catalyst находится в репозитории PUIAS
Пакет  fglrx-x11-drv из репозитория ELRepo
Оба репозитория из коробки.
Система у меня 64 битная.

RERemix 6.2 Beta

Намедни вышел RERemix Linux Desktop 6.2 Beta
Очень понравился.
Кул кул кул )))
Практически я уже готов перейти на него с RFRemix 16 на домашнем компьютере. Пока стоит второй системой.
Респект товарищу Tigro