Меню Рубрики

Установка ffmpeg на apache

Установка ffmpeg на apache

Библиотеки FFmpeg нужны для записи/конвертирования/передачи аудио- и видеозаписей. Чтобы установить FFmpeg, подключитесь к серверу по SSH и выполните обновление системы, а затем установите инструменты Development Tools:

yum groupinstall «Development tools»

  • Установка репозитория Dag

Перейдите в папку /etc/yum.repos.d и создайте файл /etc/yum.repos.d/dag.repo:

cd /etc/yum.repos.d

nano /etc/yum.repos.d/dag.repo

name=Dag RPM Repository for Red Hat Enterprise Linux

baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag

gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt

Сохраните файл, а затем загрузите репозиторий и добавьте ключ:

wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt -P /tmp

rpm —import /tmp/RPM-GPG-KEY.dag.txt

  • Установка пакетов

Следующий шаг 一 установка нескольких необходимых пакетов и верификация FFmpeg:

yum install ffmpeg-devel php-devel re2c php-xml ffmpeg

  • Установка FFmpeg-php

Добавьте на сервер папку /srv/build → загрузите в нее TAR-архив, а затем распакуйте его :

mkdir /srv/build

wget http://downloads.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2

tar -xjf ffmpeg-php-0.6.0.tbz2

Откройте папку ffmpeg-php-0.6.0/ и выполните две команды:

cd ffmpeg-php-0.6.0/

Воспользуйтесь командой предотвращения отказа компиляции, а затем выполните еще две команды:

sed -i ‘s#PIX_FMT_RGBA32#PIX_FMT_RGB32#’ ./ffmpeg_frame.c

make install

Установите ffmpeg-php и выполните перезагрузку сервера:

echo -e «extension=ffmpeg.so\n» > /etc/php.d/ffmpeg.ini

service httpd restart

Команды проверки установки FFmpeg и FFmpeg-php:

php -i | grep ffmpeg

php -m | grep ffmpeg

источник

Nginx+apache22+PHP 5.2+ffmpeg+flvtool2

Я подумал о создании социальной сети для своего родного города в которой можно смотреть ролики, создавать музыкальные альбомы, слушать музыку он-лайн и так далее. Для начала необходимо создать платформу для нее. С последующей установкой (в следующей статье будет рассмотрена его установка) socengine 3.20. Приступим к установке необходимого программного обеспечения для будущей работы socengine.

Содержание:

Подготовка

Обновляем исходные коды и порты встроенной утилитой csup, пользуясь статьей Локальное и удаленное обновление FreeBSD

Прежде чем ставить программы идем править make.conf для добавления необходимых флагов компиляции.

Установка Apache

Установка PHP

Сразу обращу внимание на то, что не стоит ставить версию php 5.3, так как при работе с socengine наблюдались глюки и я сам первый раз напоролся на эти грабли.

Установка PHP-extensions

Установим необходимые модули php-extensions:

Мод mod_rpaf2

MySQL

Установим и настроим MYSQL:

Настроим MYSQL и изменим пароль суперпользователя.

Изменим конфигурационный файл MYSQL:

Утилита ffmpeg

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

После установки portdowngrade откатываем нам нужный порт на нужную версию

Будьте особо внимательны при выборе опций, не стоит спешить, тогда все будет работать корректно.

Дополнительные модули

Установим модуль php-ffmpeg.

И утилиту flvtool2, которая будет заниматься созданием превью и записью метаданных видео.

Устанавливаем расширение pecl-memcache.

Nginx и Apache

Итак , приступим к настройке связки nginx+apache. Принцип работы такой:

Настроим конфигурационный файл апача и приведем его к такому виду:

Идем настраивать виртульный хост

Меняем в конфигурационном файле

На этом настройка закончена. Далее будем настраивать Nginx.
Внесем основные параметры, а виртуальные хосты вынесем в другую директорию, например vhosts.

Идем в vhosts и создаем конфигурационный файл для виртуалхоста:

eAccelerator

Cоздаем директорию для кеша и назначаем права

Вносим изменения в php.ini

И вносим параметры для включения модуля:

Дополнительная настройка системы

Приступаем к дополнительной настройки нашего сервера, идем править rc.conf для внесения нужных нам записей:

Настроим sysctl.conf

Запуск

Проверяем запустились ли корректно сервисы:
httpd:

В директории сайта создаем файл phpinfo.php и проверяем, работает ли php и загрузились ли все необходимые модули.

Если что то не так или не запустилось то, смотрим логи.

Установку ФТП сервера описывать не буду, у каждого свой вкус.
Вот вариант настройки Pure-FTPd+MySQL+Web

Спасибо!

Спасибо за статью, хоть кто-то толково написал, все работает, лишь осталось указать кодировку виртуалхосту.

Блин, как похудеть?

Кучу перепробовала ни одна не работает
Народ посоветуйте хорошую диету так чтоб особо не напрягаться но и чтоб интересно было?

Ответить на комментарий | igNix.ru

That is very fascinating, You are an overly professional blogger.
I have joined your rss feed and look ahead to looking for extra of
your excellent post. Also, I’ve shared your web site in my social networks

Ответить на комментарий | igNix.ru

Mobile units and became entertainment for the iPad end users,
Stardom: The A-listing game.

Читайте также:  Установка floyd rose гитару

Во забубенил

Спасибо тебе огромное статья класная 🙂

accf_http_load=»YES»

accf_http_load=»YES»
надо указывать не в rc.conf а в loader.conf

Ответить на комментарий | igNix.ru

When some one searches for his required thing, thus he/she desires to be available
that in detail, thus that thing is maintained over here.

А на какой версий freebsd вы все это установили?

А на какой версий freebsd вы все это установили?

я в принципе делаю тоже самое для установки ffmpeg на freebsd 7.1 и этот компилируется с ошибками.

wow wolike server

server sphere of warcraft, outwit recreation of the year, and all years old.
welcome to mistress of ceremonies on my position

где слить socengine

Ну настроил ты вебсервер, а где слить socengine?

источник

FFmpeg и FFserver для Windows — краткая инструкция

История FFmpeg

В 2000 году программист с ником Gerard Lantau выложил для всеобщего использования исходники проекта FFmpeg. За годы концепция осталась прежней:

  • Деление на программы FFmpeg для кодирования видео и FFserver для организации потокового вещания.
  • Максимально быстрое кодирование звука и видео.

В то время 500 мегагерц в компьютере считались нормой, требовалась максимальная оптимизация, поэтому в FFmpeg своя реализация видеокодеков, оптимизированная для скорости. Это нужно и сейчас, особенно на серверах видеохостингов, где идёт постоянная борьба за снижение энергопотребления, чтобы процессоры не грелись.

FFmpeg прочно стоит на ногах — почти каждый день вносятся правки в исходный код. Добавляются новые компоненты. Например, плеер FFplay и утилита для получения информации FFprobe.

Где скачать FFmpeg и FFserver

FFmpeg разрабатывается под Linux. Если на сайте видите окошко с трансляцией видео — 9 шансов из 10, что оно работает благодаря FFmpeg и FFserver.

Версия FFmpeg (и FFserver) для Windows тоже существует, но часть функциональности будет недоступна. Впрочем, это не мешает работать видеоконвертеру MediaCoder (www.mediacoderhq.com) и плееру PotPlayer.

Версии для Linux найдете на ffmpeg.org, я же расскажу про FFmpeg для Windows. Она делится на две части: FFmpeg и FFserver.

FFmpeg для Windows вы найдете здесь: http://ffmpeg.zeranoe.com/builds/

На выбор есть 32- и 64-битные версии. Для кодирования видео выбирайте 64-битную Static-версию (ссылка вида «Download FFmpeg git-*** 64-bit Static«).

Если нужно организовать видеотрансляцию с, например, IP-видеокамеры, желательна 32-битная версия FFmpeg, с 64-битной я заметил проблемы — программа закрывалась сама по себе. Возможно, потому что FFserver для Windows — 32-битный, есть несовместимость.

FFserver на Windows тоже существует, хотя об этом мало кто знает. Программу трудно скомпилировать, потому что используется много специфичного для Linux кода. Разработчики системы видеонаблюдения Xeoma оказались молодцы, потому что выложили свой FFserver для Windows на своем сайте: http://felenasoft.com/xeoma/ru/ffserver/ Не забудьте скачать cygwin1.dll оттуда же.

Про FFserver в Интернете много инструкций. Они написаны на примере Linux-версии, но прекрасно работают под Windows. Единственное отличие — файл ffserver.conf должен лежать не в папке /etc, а в одной папке с ffserver.exe, cygwin1.dll и ffmpeg.exe.

Как установить FFmpeg

1. Скачайте по ссылке выше Static-версию. Это архив, для распаковки потребуется программа 7-zip (7-zip.org).

2. Создайте на диске C: папку ffmpeg и распакуйте туда архив.

Для установки ffmpeg этого достаточно. Советую выполнить пункт 4 для удобства в будущем.

3. Если нужно настроить трансляцию, в папку c:\ffmpeg\bin распакуйте ffserver и положите файлик cygwin1.dll.

4. Чтобы в командах не писать каждый раз полный путь к программе, можно добавить его в переменную PATH: Панель управления — Система — Дополнительные параметры системы — вкладка Дополнительно — Переменные среды — в конце строки переменной Path добавьте «;c:\ffmpeg\bin» без кавычек. Если там было пусто (что не совсем нормально), то «c:\ffmpeg\bin«, т.е. без точки с запятой в начале.

Потом перезагрузите компьютер, чтобы изменения вступили в силу.

Вы можете пропустить четвертый шаг, но потом вместо команд ffmpeg и ffserver придется писать полный путь «c:\ffmpeg\bin\ffmpeg.exe» и «c:\ffmpeg\bin\ffserver.exe».

Как пользоваться FFmpeg

На главной странице FFmpeg красуется надпись:

Converting video and audio has never been so easy (Перевод: Никогда конвертирование видео и звука не было таким простым)

Читайте также:  Установка корректора ек 270

Человек, не знакомый с командной строкой, будет в ступоре. Куда вводить команду?

Если не хотите заморачиваться, просто воспользуйтесь бесплатной Oxelon Media Converter или платной Movavi Video Converter. FFmpeg, как микроскоп, нужна для тонких задач, не для забивания гвоздей.

В папке ffmpeg\doc собрано много примеров по использованию компонентов, все команды можно посмотреть там.

Примеры

Имена файлов у вас будут свои. Если есть пробелы или на русском — обрамляйте имена в кавычки.

Отобразить информацию о файле:

или ffprobe video.mp4

Пережать mov в flv и изменить разрешение:

Пережать видео в webm среднего качества, звук формата OGG:

Пережать видео кодеком MPEG4, звук — mp3, контейнер — avi:

Сохранить звуковую дорожку из видео в отдельный файл:

Добавить звуковую дорожку к видео («-acodec libmp3lame» можно выкинуть, тогда ffmpeg сам решит, как кодировать звук):

Добавить звуковую дорожку без перекодирования видео (сохраняет качество, работает быстро):

Сохранить кадр на второй секунде как отдельную картинку:

Убрать дрожание камеры и сохранить в out.mp4:

Структура

Как видно из примеров, команды ffmpeg имеют структуру:

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

Команды

Информационные (чтобы узнать возможности установленной версии)

-L
Показать текст лицензии.

-h, -?, -help, —help
Список доступных команд.

-version
Узнать версию ffmpeg.

-formats
Показать список доступных форматов контейнеров (не кодеков!).

В Windows не хватит строк в командной строке для показа всего списка, для исправления откройте свойства окна и на вкладке «Расположение» поставьте высоту буфера экрана в 500. В списке буквы D и E означают поддержку декодирования и кодирования.

-codecs
Список доступных кодеков. Кроме интуитивно понятных D и E (Decoder для «чтения» и Encoder для кодирования), видны следующие обозначения:
V — кодек для видео, A — для звуковых дорожек, S — субтитров, I — только для кодирования I-фреймов, L — кодек сжимает с потерями данных (большинство), S — без потери данных (сохраняет качество, сжимает слабо).

-bsfs
Показать поддерживаемые bitstream filters (фильтр потока данных), которые нужны в ряде случаев для правильной обработки потока данных.
-protocols
Показать доступные протоколы. Из выдаваемого списка понятно, что в качестве входных данных может использоваться RTMP поток (видеотрансляция) и многое другое, не только файлы. Как выходные — тоже.
-filters
Доступные фильтры видео и аудио. В FFmpeg их громадное количество. Кроме банальных поворота и настроек яркости, в FFmpeg есть расширение стереобазы, генерирование фракталов и прочее, прочее. Подробные инструкции — в doc/ffmpeg-filters.html.

-pix_fmts
Доступные цветовые форматы. FFmpeg понимает громадное количество цветовых пространств. Полезно для тех, у кого оборудование выдает странные цвета.

Основные опции

-loglevel значение или -v значение

Уровень логгирования. От минимума — quiet до максимально подробного debug. Полный список: quiet, panic, fatal, error, warning, info, verbose, debug. Полезно, если в процессе кодирования видео происходят ошибки и нужно узнать подробности.

-f значение (mp4, avi, mkv, gif и т.д.)

Указать определенный формат (контейнер) файла. Обычно FFmpeg выбирает по расширению выходного файла, но можно переназначить.

-i путь_до_файла

Команда для указания входящего файла или потока (например, rtmp://адрес для захвата потокового видео).

-y
Перезаписывать уже существующий выходной файл без запроса.

Указывает, с какого времени нужно кодировать видео/аудио. Формат в виде «чч:мм:сс». Подробнее: https://trac.ffmpeg.org/wiki/Seeking

Указать, до какого времени нужно кодировать видео/аудио. Вместе с предыдущей командой удобно использовать для вырезания отрезка видео.

-fs размер
Лимит выходного файла. Например, при -fs 10M кодирование останавливается, как только выходной файл станет 10 Мб размером. Поддерживаются K, M, G (килобайты, мегабайты и гигабайты).

Опции кодирования видео

-b значение
Устанавливает битрейт видео. Выше битрейт — лучше качество и больше размер файла. Указывайте в конце цифры K или M, чтобы программа понимала, в килобитах/сек или мегабитах/сек значение.

-vframes значение

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

-r значение
Указание частоты кадров.

Указание, в каком разрешении кодировать видео. Например, 1920×1080 для FullHD видео на выходе. FFmpeg понимает буквенные сокращения (vga, hd480, hd720, hd1080 и другие).

Читайте также:  Установка короткоходок на приору

-aspect соотношение_сторон

Указать соотношение сторон видео (4:3, 16:9 or 1.3333, 1.7777 и т.д.). Как известно профессионалам, в видео пиксели могут быть прямоугольными.

-croptop значение, -cropbottom значение, -cropleft значение, -cropright значение

Обрезка количества пикселей видео сверху, снизу, слева или справа.

-padtop значение, -padbottom значение, -padleft значение, -padright значение

Добавление границы видео сверху, снизу, слева или справа.

-padcolor hex_color

Цвет границы в шестнадцатеричном формате (#000000 — черный, #FF0000 — красный и т.д.).

-vn
Не кодировать видео.

-bt значение

Значение задает максимальное отклонение от указанного битрейта. Может не работать, в зависимости от кодека.

-maxrate битрейт

Указывает максимальное значение битрейта. Требует указания размера буфера через -bufsize.

-minrate битрейт

Минимальный битрейт у видео. Часто используется для принудительного задания определенного битрейта:

ffmpeg -i video.avi -b 4000K -minrate 4000K -maxrate 4000K -bufsize 1835k video-out.mp4

-bufsize размер

Устанавливает размер буфера видео. Упрощенно говоря, это кусок видео, который FFmpeg анализирует и выбирает — какие битрейты выбрать в его пределах. В первую очередь нужно для потокового вещания: чем больше буфер, тем больше стабильности при кодировании.

-vcodec кодек

Выбор кодека (см. команду -codecs для списка кодеков). Можно указать copy, тогда FFmpeg будет копировать видеопоток без перекодирования.

Сохранять качество исходной картинки/звука. Это не то же самое, что -vcodec copy. Сохраняется качество видео, кодек может быть любым, видеодорожка перекодируется.

Для многопроходного кодирования видео. Указывает, какой делать проход (1 или 2). Префикс имени файла со статистикой указывается командой -passlogfile значение.

Можно отключить обработку звука при первом проходе, чтобы экономить время и ресурсы:
ffmpeg -i video.mp4 -vcodec libxvid -pass 1 -an -f rawvideo -y NUL

Опции звука

-aframes количество

Сколько фреймов звука (да, у звука есть кадры!) нужно кодировать.

Указание частоты звука (по умолчанию 44100 Гц).

Битрейт (по умолчанию = 64K).

-aq значение

Указание качества (зависит от кодека, применяется при переменном битрейте).

Количество аудиоканалов (по умолчанию 1).

-acodec кодек

Указание кодека для звука. Значение copy позволяет копировать звуковую дорожку без перекодирования

Добавление еще одной звуковой дорожки. Ее параметры указываются до команды -newaudio:

ffmpeg -i file.mpg -vcodec copy -acodec ac3 -ab 384k test.mpg -acodec mp2 -ab 192k -newaudio

-scodec кодек

Кодек для субтитров (copy — для прямого копирования).

-newsubtitle

Добавление еще одних субтитров.

Указание языка субтитров в стандарте ISO 639 (3 буквы).

Другие команды

-threads количество

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

-vsync значение

Синхронизация кадров. Значения:

0 — каждый кадр передается из входного в результирующий файл с той меткой времени, которая у него была.

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

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

-1 — значение по умолчанию. FFmpeg выбирает сам между методами 1 и 2.

С помощью команды -map можно указать, что к чему будет подстраиваться. Подробности: https://trac.ffmpeg.org/wiki/Map

-async кадры_в_секунду

Выбор метода синхронизации звука. Чтобы звук и видео совпадали по времени, аудиодорожка может растягиваться и сжиматься. Значение 1 скорректирует звуковую дорожку только в самом начале по принципу «дальше будь что будет».

Применяется для принудительного копирования всех временных меток из исходного файла. Полезно в случае, если начало видео — не 00:00, а что-то другое и это нужно сохранить.

Когда самый короткий входящий файл закончился, прекращение кодирования.

Команды для FFmpeg смотрите здесь:

http://help.ubuntu.ru/wiki/ffmpeg (на русском).

https://ffmpeg.org/ffmpeg.html (официальная документация).

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

http://wiki.rosalab.ru/ru/index.php/FFmpeg (на русском, есть примеры).

Почему команд так много?

Они нужны для полного контроля процесса обработки файлов с видео и звуком.

Большинство пользователей конвертируют видео, не понимая, что важен не только кодек для сжатия, но и его параметры. Есть нюансы, которые непросто осознать начинающим пользователям. Например, файл с расширением «mp4» не обязательно содержит в себе видео с кодеком MPEG4.

Если есть какие-то вопросы по FFmpeg — спрашивайте в комментариях. Помогу, чем смогу.

источник

Добавить комментарий