<?php

namespace PHPVideoToolkit;

include_once './includes/bootstrap.php';
try {
    $audio = new Audio($example_audio_path);
    $process = $audio->getProcess();
    $process->addPreInputCommand('-framerate', '1/5');
    $process->addPreInputCommand('-pattern_type', 'glob');
    $process->addPreInputCommand('-i', $example_images_dir . '*.jpg');
    $process->addCommand('-pix_fmt', 'yuv420p');
    $process->addCommand('-shortest', '');
    $output_format = new VideoFormat();
    $output_format->setVideoFrameRate('1/5')->setVideoDimensions(320, 240)->setAudioCodec('libfdk_aac')->setVideoCodec('mpeg4');
    //  $process->setProcessTimelimit(1);
    $process = $audio->save('./output/my_homemade_video.mp4', $output_format, Media::OVERWRITE_EXISTING);
    echo '<h1>Executed Command</h1>';
    Trace::vars($process->getExecutedCommand());
    echo '<hr /><h1>FFmpeg Process Messages</h1>';
    Trace::vars($process->getMessages());
    echo '<hr /><h1>Buffer Output</h1>';
    Trace::vars($process->getBuffer(true));
    echo '<hr /><h1>Resulting Output</h1>';
    Trace::vars($process->getOutput()->getMediaPath());
} catch (FfmpegProcessOutputException $e) {
    echo '<h1>Error</h1>';
    Trace::vars($e);
    $process = $audio->getProcess();
    if ($process->isCompleted()) {
        echo '<hr /><h2>Executed Command</h2>';