airatkh edited this page Nov 11, 2014 · 6 revisions

#Обязательные требования для работы скрипта склейки.

###Обязательные требования для работы скрипта склейки.

1 Собрать ffmpeg обязательными опциями.

1.1 Соответствующее руководство можно найти по ссылки ffmpeg_install

1.2 Перечень опций:

--enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame  --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-openssl

2 Должен существовать скрипт mmcat

2.1 Листинг скрипта прикреплен к данному документу (Файл mmcat.txt)

2.2 Cоздать файл c mmcat сделать исполняемым коммандой

cat /path/to/file/mmcat.txt > mmcat | chmod +x mmcat

2.3 Созданный фал должен быть доступен в окружении (env) где он будет выполняться. Чтоб вывести список доступных директорий вашего окружения введите команду в консоли

env | grep PATH

После этого скопируйте mmcat в одну из этих диреторий. Желательно в /usr/local/bin или /usr/bin

2.4 Файл являеться скриптом склейки. Доступные параметры можно увидеть если запустить его без параметов: Подробности о работе скрипта можно прочитать в коментариях этого файла

$ mmcat
MultiMedia Concat Script v1.3 (mmcat) - A script to concatenate multiple multimedia files.
Based on FFmpeg - www.ffmpeg.org
Don't forget to edit this script and change EXTRA_OPTIONS

Syntax: /usr/local/bin/mmcat <input1> <input2> <input3> ... <output>
[airat@sandbox1 public_html]$ 

2.5 Дополнительную информацию можно найти по ссылки ffmpeg_wiki

3 Перед первым запуском генерим файлы заглушки в директории video/stubs

3.1 Комманда: Нужно первый запуск делать php yiic vcat pics

protected$ php yiic vcat pics [--count=10000]

Где параметр: count - количество генеририруемых файлов картинок. Примечание: Один файл картинка равен одной секунде сгенеренного видео. Желательно сделать большое количество файлов.

4. Должны быть установлены php extensions

4.1 Extension GD. Проверка наличия extension

php -m | grep gd

4.2 Extension SSH2. Проверка наличия extension

php -m | grep ssh2

5. Для работы функционала: Cохранение видео через консоль. Надо

5.1 Прописать корректные соответствующии параметры в файле console.php Пример:

        'params' => array(
         ....
         'vcatServerName' => 'airat.dev.wayjournal.com', //Для сохранеия видео из консоли
        'vcatServerAddr' => '192.168.100.144'
        )

6. Мониторинг работы процесса склейки

6.1 Команда запуска склейки поддерживает не обязательный параметр --debug_mode. В данном режиме вывод работы комманды ffmpeg будет выполняться в консоль. Пример запуска команды в debug mode:

protected$ php yiic vcat concat --debug_mode=true

6.2 Процесс работы склейки можно выполять через соответствующий лог-файл (VCatCommand.log) Для этого надо выполнить настройку логирование в конфигурационном файле console.php Пример настройки:

        'components'=>array(
            'log'=>array(
                'class'=>'CLogRouter',
                'routes'=>array(
                      .....
                    array(
                        'class'=>'CFileLogRoute',
                        'logFile'=>'VCatCommand.log',
                        'maxLogFiles'=>10,
                        'maxFileSize'=>3072,
                        'levels'=>'error, warning, info',
                        'categories'=>'application.commands.VCatCommand',
                    ),
                    array(
                        'class'=>'CFileLogRoute',
                        'logFile'=>'DemonVideoTasksCommand.log',
                        'maxLogFiles'=>10,
                        'maxFileSize'=>3072,
                        'levels'=>'error, warning, info',
                        'categories'=>'application.commands.DemonVideoTasksCommand',
                    ),
                ),
            ),
        ),

Пример выполнения мониторинга в реальном времени:

protected$ tail -f runtime/VCatCommand.log

7 Параметр ограничения нагрузку на процессор склейки.

7.1

    * Matches the stream with this index. E.g. -threads:1 4 would set the thread count for the second stream to 4.
     *
     * * -threads - числовое значение, определяет количество ядер процессора.
     * Что, естественно, отражается на скорости кодирования и операций над файлами.
     * Число 0 устанавливает автоматическое определение доступного числа ядер
     *
     */
    private $_threads = 1;
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.