# Web Video Editor

## JS / PHP script - GUI for FFmpeg (and Mencoder)

- created: 09/29/2014
- latest update: 09/29/2014
- by: Andycoder
- email: andchir@gmail.com

### Описание

JS / PHP скрипт онлайн видеоредактора, GUI для FFmpeg (или Mencoder). Позволяет разрезать видео на куски и соединять их. Конвертация видео в форматы: FLV, MP4, WEBM, OGV. Возможность быстрого разрезания видео на фрагменты без переконвертации.

### Возможности и особенности

- Мгновенное разделение видео на куски без переконвертации.
- Возможность склеивания кусков видео.
- Для работы с видео используются серверные приложения: FFmpeg, Mencoder (не обязательно), MP4Box / gpac (не обязательно), MKVMerge (не обязательно).
- Конвертация видео в форматы: FLV, MP4, WEBM, OGV.
- Показ прогресса конвертации в процентах.
- Три HTML5 плеера на выбор.
- Загрузка видео 3-мя способами: файл, по ссылке, с Youtube.
- Простая конфигурация (в файле).
- Мультиязычность (сделаны переводы на Английском и Русском языках).
- Приятный интерфейс и адаптивная верстка (Bootstrap 3.2).
- Открытый чистый исходный код.

### Требования к системе

Обязательные:

- Linux server (в Windows скорее всего тоже будет работать, но не проверялось)
- PHP 5.3+
- Веб-сервер Apache или Nginx
- FFmpeg 1.2+

Не обязательные:

- Mencoder
- MP4Box (gpac)
- MKVMerge

### Установка

1. Установить серверные приложения (инструкция ниже).
2. Загрузить содержимое архива videoeditor на сервер (например в папку videoeditor/).
3. Установить права 777 на папки: input/, output/, tmp/.
4. Открыть в браузере адрес папки, в которую загрузили файлы. Например: http://[адрес сайта]/videoeditor/.
5. Открыть в текстовом редакторе файл config.php и настроить конфигурацию (в файле есть комментарии).
6. Готово.

### Установка серверных приложений

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

#### Установка FFmpeg

Сайт разработчика: http://ffmpeg.org/

Устанавливать FFmpeg рекомендуется по этой инструкции: https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
Нужно установить все дополнительные приложения, которые перечислены в данной инструкции.

Внимание!
Настоятельно рекомендуется устанавливать все приложения в папки /usr/bin/ и /usr/ffmpeg_build/.
Для этого в инструкции нужно заменить все "$HOME" на "/usr". Для устновки откройте командную строку (терминад).
Пример:

    mkdir ~/ffmpeg_sources
    cd ~/ffmpeg_sources
    wget http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
    tar xjvf ffmpeg-snapshot.tar.bz2
    cd ffmpeg
    PATH="$PATH:/usr/bin" PKG_CONFIG_PATH="/usr/ffmpeg_build/lib/pkgconfig" ./configure \
      --prefix="/usr/ffmpeg_build" \
      --extra-cflags="-I/usr/ffmpeg_build/include" \
      --extra-ldflags="-L/usr/ffmpeg_build/lib" \
      --bindir="/usr/bin" \
      --enable-gpl \
      --enable-libass \
      --enable-libfdk-aac \
      --enable-libfreetype \
      --enable-libmp3lame \
      --enable-libopus \
      --enable-libtheora \
      --enable-libvorbis \
      --enable-libvpx \
      --enable-libx264 \
      --enable-nonfree \
      --enable-x11grab
    PATH="$PATH:/usr/bin" make
    sudo make install
    make distclean
    hash -r

#### Установка Mencoder (не обязательно)

Сайт разработчика: http://www.mplayerhq.hu/

Для Ubuntu (Debian) Mencoder можно установить так:

    sudo apt-get install mencoder

#### Установка MP4Box / gpac (не обязательно)

Сайт разработчика: http://gpac.wp.mines-telecom.fr/mp4box/

Для Ubuntu (Debian) MP4Box можно установить так:

    sudo apt-get install gpac

#### Установка MKVMerge (не обязательно)

Сайт разработчика: https://www.bunkus.org/videotools/mkvtoolnix/

Для Ubuntu (Debian) MKVMerge можно установить так:

    sudo yum install mkvtoolnix

Для других систем инструкции по установке можно найти на сайтах разработчиков.

### Инструкция по использованию

Смотрите видео:

http://www.youtube.com/watch?v=N9Dsmqf-1X0

### Используемые библиотеки и др. инструменты

- jQuery
- jQuery UI
- Bootstrap
- Flowplayer
- VideoJS
- Codoplayer