воскресенье, 24 ноября 2013 г.

Запись скринкастов в Ubuntu с помощью ffmpeg




Устанавливаем FFmpeg:
sudo apt-get install ffmpeg

Запускаем запись:
ffmpeg -f x11grab -s 1280×720 -r 25 -i :0.0 -vcodec qtrle screencast.mov

Запускаем запись со звуком:
ffmpeg -f alsa -ac 2 -i hw:0,0 -acodec pcm_s16le -f x11grab -s 1280×720 -r 25 -i :0.0 -vcodec qtrle screencast.mov






Ни одна из программ не отображает клики мыши или нажатия клавиш на клавиатуре, но вы можете воспользоваться программой key-mon.
sudo apt-get install keymon
КлючОписание
-f x11grab источник сигнала
-i :0.0 экран X-сервера / номер монитора
-s 1280×800 захватываемое разрешение экрана
-r 25 количество кадров в секунду
screencast.mov имя выходного файла


Команда для кодирования mov в flv:



ffmpeg -i "имя_файла" -vcodec libx264 -vpre veryfast -crf 25 -ar 22050 -ab 56k -acodec libmp3lame -ac 2 -r 20 -f flv -sameq -s 600x338 "имя_файла.flv"
sudo apt-get install ffmpeg
Запускаем запись:
ffmpeg -f x11grab -s 1280×720 -r 25 -i :0.0 -vcodec qtrle screencast.mov
Запускаем запись со звуком:
ffmpeg -f alsa -ac 2 -i hw:0,0 -acodec pcm_s16le -f x11grab -s 1280×720 -r 25 -i :0.0 -vcodec qtrle screencast.mov

Ни одна из программ не отображает клики мыши или нажатия клавиш на клавиатуре, но вы можете воспользоваться программой key-mon.
sudo apt-get install keymon
КлючОписание
-f x11grabисточник сигнала
-i :0.0экран X-сервера / номер монитора
-s 1280×800захватываемое разрешение экрана
-r 25количество кадров в секунду
screencast.movимя выходного файла


Команда для кодирования mov в flv:



ffmpeg -i "имя_файла" -vcodec libx264 -vpre veryfast -crf 25 -ar 22050 -ab 56k -acodec libmp3lame -ac 2 -r 20 -f flv -sameq -s 600x338 "имя_файла.flv"

Gedit, настройка автоопределения кодировки

gsettings set org.gnome.gedit.preferences.encodings auto-detected "['UTF-8', 'WINDOWS-1251', 'CURRENT', 'ISO-8859-15', 'UTF-16']"

среда, 21 декабря 2011 г.

Создание виртуального хоста

cd /etc/apache2/sites-available/
sudo cp default site.local
sudo gedit site.local

<VirtualHost *:80>
  DocumentRoot "/home/amey/htdocs/
site.local/public"
  ServerName
site.local
  SetEnv APPLICATION_ENV development
  <Directory "/home/amey/htdocs/
site.local/public">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>


добавляем в /etc/hosts:
127.0.0.1 site.local

Включаем хост и рестартим апач:
sudo a2ensite site.local
sudo /etc/init.d/apache2 restart

вторник, 20 декабря 2011 г.

svn merge: приклад використання


Є проект. Назвемо його myproject. В якійсь момент ми форкнули його і створити гілку myproject_unstable. Це нестабільна гілка для усіляких експериментів, хардкорного рефакторинга та іншого.
Після того як дописали багато коду і протестили, нам потрібно всі нові фічі перенести з myproject_unstable в myproject.

Робиться це так:
$ cd workspace/myproject
$ svn merge -r
XXXX:HEAD http://svn.example.com/myproject_unstable --accept theirs-full

XXXX - ревізія, коли була зроблений
гілка
http://svn.example.com/myproject_unstable - гілка, з якої зливаються зміни

Можуть бути конфлікти, svn буде питати, що робити. Можна додати ключ - accept theirs-full, тоді питати не буде, а буде автоматично вирішувати конфлікти на користь входять змін. Тобто конфлікти в даному випадку вирішуватися на
користь гілки myproject_unstable.

понедельник, 19 декабря 2011 г.

Установка Sphinx


Уже должен стоять mysql сервер и клиент.

1) Ubuntu: Качаем пакеты
    sudo apt-get install sphinxsearch

Debian:
    1. устанавливаем все необходимое :
    sudo apt-get install libmysql++-dev libmysqlclient15-dev checkinstall (для поддержки pgsql нужны будут библиотеки devel для pgsql)

    2. далее тянем себе исходники
    wget "http://sphinxsearch.com/downloads/sphinx-0.9.9.tar.gz"

    3. распаковываем и переходим
    tar zxvf sphinx-0.9.9.tar.gz && cd sphinx-0.9.9

    4. собираем :
    ./configure -with-mysql -without-pgsql (я подключил возможность использования mysql и отключил возможность использования pgsql)
    make

    5. теперь будем создавать deb пакет :

    делаем checkinstall в папке с собранными исходниками ( в процессе нужно будет ответить на ряд вопросов)

    после сборки пакета ставим его через dpkg -i

    PS indexer и остальные нужные скрипты находятся в папке – /usr/local/bin


2) Редактируем конфиг /etc/sphinxsearch/sphinx.conf
# Источник данных для поиска
source users_source
{
    # Тип данных
    # Доступные типы: mysql, pgsql, mssql, xmlpipe, xmlpipe2, odbc
    type            = mysql

    # Необходимые параметры для подключения к базе данных
    sql_host        = localhost
    sql_user        = root
    sql_pass        = pass
    sql_db            =dbname
    sql_port        = 3306    # опциональный, по умолчанию 3306

    # пред-запрос, выполняется перед выполнением основного запроса на получение данных из базы
    # В нашей базе данные хранятся в UTF-8, чтобы поиск по русским символам работал успешно выполним соответсвующий запрос
    sql_query_pre        = SET NAMES utf8

    # запрос, который получает данные документов для поиска
    # первым полем обязательно должен идти уникальный положительный ID документа
    sql_query        = \
        SELECT user_id, user_id AS u_id, email, firstname, middlename, lastname \
        FROM user                 

        # поля, по которым может идти группировка, фильтрация и сортировка
        sql_attr_uint    = u_id


    # document info query, ONLY for CLI search (ie. testing and debugging)
    # optional, default is empty
    # must contain $id macro and must fetch the document by that id
    sql_query_info        = SELECT * FROM user WHERE user_id=$id
}

# индекс каталога товаров для поиска
index users_index
{
     # Источник данных для индексирования
    source            = users_source

    docinfo           = extern

    # Адрес, где будут хранится данные индекса
    path        = /var/lib/sphinxsearch/data/users

    # Индекс с учетом морфологии
    morphology        = stem_enru

    # Минимальная длина слова для индексации
    min_word_len        = 1

    # Кодировка
    charset_type        = utf-8
}

# поисковый демон (служба)
searchd
{
    # какой порт и какой протокол "слушает" служба
    port          = 9312

    # файл с логами
    log                 = /var/log/sphinxsearch/searchd.log

    # файл с логами поисковых запросов
    query_log        = /var/log/sphinxsearch/query.log

    # PID file, searchd process ID file name
    # mandatory
    pid_file        = /var/run/searchd.pid
}

3) Запускаем индексацию нашей базы
sudo indexer --all

4) Запускаем демона sphinx
searchd

5) Проба поиска
search Andrew

6) Переиндексация
sudo indexer --all --rotate