Tag Archives: video

Using ffmpeg to create a video from image sequences

This PHP script will take a sequence of archive images stored in time-specific sub folders hh/mm and renumber them sequentially. Then use ffmpeg to convert the sequence into a video file. The operation is looped over an array of cameras and a staging folder is cleared prior to each video creation.

<?php
include_once("config.php");
$ftppath = "/root/path/to/images/";
$stagepath = $ftppath . 'staging/';
$date = date('ymd');

foreach ($cams as $cam) {
 exec('rm ' . $stagepath . '*');
 $camfile = $cam['fileroot'];
 $idx = 1;
 for ($j=0; $j<24; $j++)
 {
 for ($i=0; $i<60; $i++)
 {
 $n = sprintf("%02d/%02d", $j, $i);
 $pathfile = $ftppath . $n . '/' . $camfile . '_320x240.jpg';
 if (file_exists($pathfile)) {
 $sidx = sprintf("%04d", $idx);
 copy($pathfile, $stagepath . $camfile . $sidx . '.jpg');
 $idx++;
 }
 }
 }
 exec('ffmpeg -r 4 -i ' . $stagepath . $camfile . '%04d.jpg ' . $ftppath . $camfile . '_' . $date . '.mp4');
}
?>