вход на сайт

Имя пользователя :
Пароль :

Восстановление пароля Регистрация
Настройка сервера конвертации на базе ffmpeg для Kernel Video Sharing


Перед владельцами видеосайтов очень часто встает потребность в конвертации загружаемых видео в распространенные веб-форматы. В данной статье мы установим ffmpeg и весь необходимый софт для решения этой задачи.

В нашем распоряжении оказался сервер на базе Debian 8.8 Jessie. И первое, что нам необходимо сделать - это изменить пароль администратора выданный нам при установке ОС хостинг-провайдером:
passwd root


И установить правильный часовой пояс:
dpkg-reconfigure tzdata


Устанавливаем Yamdi и ImageMagic:
apt-get -y install yamdi imagemagick 


Устанавливаем пакеты для сборки:
apt-get -y install build-essential checkinstall git


Устанавливаем зависимости:
apt-get -y install libjack-jackd2-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libva-dev libvdpau-dev libvorbis-dev libx11-dev libxfixes-dev texi2html yasm zlib1g-dev libgsm1 libgsm1-dev libxvidcore4 libxvidcore-dev libdc1394-22 libdc1394-22-dev


Устанавливаем x264:
apt-get install -y x264 libx264-dev


Удаляем существующий libvpx:
apt-get remove libvpx-dev


Скачиваем исходники libvpx:
cd /usr/local/src
git clone https://chromium.googlesource.com/webm/libvpx
cd libvpx


Запускаем скрипт конфигурации сборки и запускаем сборку libvpx:
./configure
make


Сборка может занять некоторое время, все зависит от конфигурации сервера, но пугаться не стоит.

Запускаем установку deb пакета libvpx:
checkinstall --pkgname=libvpx --pkgversion="1:$(date +%Y%m%d%H%M)-git" --backup=no --install=yes --deldoc=yes --fstrans=no --default


Теперь можем установить недостающий пакет libfdk_aac:
apt-get install libfdk-aac-dev


Удаляем существующий ffmpeg:
apt-get remove ffmpeg


На выборе версии ffmpeg для установки стоит остановиться отдельно. Я устанавливаю последние версии пакета, так как они отличаются более высокой производительностью и в них исправлены известные проблемы безопасности. Если же вы используете готовые пресеты, то стоит остановить свое внимание на версии ffmpeg 0.8, а если в качестве кодека aac предпочитаете использовать libfaac-dev, вместо libfdk-aac, то на версии ffmpeg 3.1.2.

Скачиваем исходники ffmpeg:
cd /usr/local/src
wget https://ffmpeg.org/releases/ffmpeg-3.3.4.tar.gz
tar -zxvf ffmpeg-3.3.4.tar.gz
cd ffmpeg-3.3.4/


Запускаем скрипт конфигурации сборки ffmpeg:
./configure \
--enable-gpl \
--enable-postproc \
--enable-pthreads \
--enable-swscale \
--disable-debug \
--enable-nonfree \
--enable-libopencore-amrnb \
--enable-libopencore-amrwb \
--enable-version3 \
--enable-libdc1394 \
--enable-libfdk-aac \
--enable-libgsm \
--enable-libmp3lame \
--enable-libtheora \
--enable-libvorbis \
--enable-libx264 \
--enable-libxvid \
--enable-libvpx


Запускаем сборку ffmpeg:
make


На этом этапе можно прерваться и выпить чашечку чая, так как процесс даже на мощных серверах довольно затяжной.

Запускаем сборку и установку deb пакета ffmpeg:
checkinstall --pkgname=ffmpeg --pkgversion="3.3.4-release-`date +%Y%m%d%H%M`" --backup=no --deldoc=yes --fstrans=no --install=yes --default


Запускаем сборку qt-faststart:
make tools/qt-faststart


Запускаем сборку и установку deb пакета qt-faststart
checkinstall --pkgname=qt-faststart --pkgversion="$(date +%Y%m%d%H%M)-git" --backup=no --deldoc=yes --fstrans=no --default install -Dm755 tools/qt-faststart /usr/local/bin/qt-faststart


Проверяем установленные компоненты:
x264
ffmpeg
qt-faststart


Дальше устанавливаем панель управления. Я предпочитаю использовать бесплатную VestaCP:
curl -O http://vestacp.com/pub/vst-install.sh


Удаляем предустановленный Exim и созданную по-умолчанию запись admin:
aptitude purge ~iexim4
groupdel admin


Запускаем установку панели (лишние компоненты, такие как MySQL и почтовый сервер отключены):
bash vst-install.sh --nginx yes --apache yes --phpfpm no --named yes --remi yes --vsftpd yes --proftpd no --iptables yes --fail2ban yes --quota no --exim no --dovecot no --spamassassin no --clamav no --mysql no --postgresql no


Открываем свежеустановленную панель управления https://you_ip:8083/list/user/ изменяем пароль администратора, а так же в настройках пакета отключаем создание бекапов, изменив количество резервных копий на 0.

Остается загрузить на сервер скрипт конвертации и добавить его в cron.

Последний этап - настроить Fail2ban:

Редактируем глобальные настройки Fail2ban:
nano /etc/fail2ban/jail.conf


Блокируем локальный перебор пароля:
ignoreip = 127.0.0.1/8 

заменить на:
# ignoreip = 127.0.0.1/8


Увеличиваем длительность блокировки с 10 минут до 1 суток:
bantime  = 600

заменить на:
bantime  = 86400


Увеличиваем длительность промежутка для поиска переборов с 10 минут до 1 часа
findtime = 600

заменить на:
findtime = 3600


Количество попыток ввода пароля сокращаем до трех:
[ssh]

enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 6

заменить на:
[ssh]

enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 3


Редактируем локальные настройки Fail2ban:
nano /etc/fail2ban/jail.local


[ssh-iptables]
enabled  = true
filter   = sshd
action   = vesta[name=SSH]
logpath  = /var/log/auth.log
maxretry = 5

[vsftpd-iptables]
enabled  = false
filter   = vsftpd
action   = vesta[name=FTP]
logpath  = /var/log/vsftpd.log
maxretry = 5

заменить на:
[ssh-iptables]
enabled  = true
filter   = sshd
action   = vesta[name=SSH]
logpath  = /var/log/auth.log
maxretry = 3

[vsftpd-iptables]
enabled  = true
filter   = vsftpd
action   = vesta[name=FTP]
logpath  = /var/log/vsftpd.log
maxretry = 3


[vesta-iptables]
enabled = true
filter  = vesta
action  = vesta[name=VESTA]
logpath = /var/log/vesta/auth.log
maxretry = 5

заменить на:
[vesta-iptables]
enabled = true
filter  = vesta
action  = vesta[name=VESTA]
logpath = /var/log/vesta/auth.log
maxretry = 3


Перезапускаем Fail2ban:
service fail2ban restart


Проверяем, что все правила активированы:
fail2ban-client status


Должны получить
Status
|- Number of jail: 4
`- Jail list: vsftpd-iptables, vesta-iptables, ssh, ssh-iptables

Материал опубликован 2-06-2017, 20:31, его прочитали 7 100 раз(а).
Похожие публикации: