'C:\FFmpeg\bin\ffmpeg.exe',
'ffprobe.binaries' => 'C:\FFmpeg\bin\ffprobe.exe',
]);
$GLOBALS["ffmpeg"] = $ffmpeg;
$GLOBALS["conn"] = $conn;
$root = '../../assets';
$folder = 'videos';
FindPath($root, $folder, $ffmpeg);
sqlsrv_close($conn);
function FindPath($root, $folder, $ffmpeg)
{
/*$sql = "SELECT * FROM [BIMComponents].[dbo].[Video_Node] Where [dir_name] = '" . $folder . "';";
$fetchResult = sqlsrv_query($GLOBALS["conn"], $sql);
$row = sqlsrv_fetch_array($fetchResult, SQLSRV_FETCH_ASSOC);*/
$rootPath = $root . '/' . $folder;
$paths = array_diff(scandir($root . '/' . $folder), array('.', '..', 'Thumbs.db'));
echo ("
");
foreach ($paths as $path) {
if (str_contains($path, '.')) {
if (str_contains(strtolower($path), '.mp4')) {
echo ("- ");
$title = explode(".", $path)[0];
$file_path = substr($rootPath, 4) . "/" . $path;
$path = "title:" . $title . "path:" . $file_path . " dir_id:" . $folder;
echo ($path);
echo ("
");
$sql = "BEGIN
IF NOT EXISTS (SELECT * FROM [BIMComponents].[dbo].[Video_Table] WHERE [file_path] = '" . $file_path . "')
BEGIN
INSERT INTO [BIMComponents].[dbo].[Video_Table] ([title],[file_path],[file_name],[dir_name]) VALUES ('" . $title . "','" . $file_path . "','" . $title . "','" . $folder . "')
END
END";
$fetchResult = sqlsrv_query($GLOBALS["conn"], $sql);
if (!file_exists("../." . substr($file_path, 0, -4) . ".gif")) {
$video = $ffmpeg->open("../." . $file_path);
$video->frame(FFMpeg\Coordinate\TimeCode::fromSeconds(40))
->save("../." . substr($file_path, 0, -4) . ".jpg");
$video
->gif(FFMpeg\Coordinate\TimeCode::fromSeconds(40), new FFMpeg\Coordinate\Dimension(640, 480), 5)
->save("../." . substr($file_path, 0, -4) . ".gif");
}
}
} else {
echo ("- ");
echo ("dir_name: " . $path . "parent: " . $folder);
$sql = "BEGIN
IF NOT EXISTS (SELECT * FROM [BIMComponents].[dbo].[Video_Node] WHERE [dir_name] = 'videos')
BEGIN
INSERT INTO [BIMComponents].[dbo].[Video_Node] ([dir_name],[parent]) VALUES ('videos','.')
END
END";
$fetchResult = sqlsrv_query($GLOBALS["conn"], $sql);
$sql = "BEGIN
IF NOT EXISTS (SELECT * FROM [BIMComponents].[dbo].[Video_Node] WHERE [dir_name] = '" . $path . "')
BEGIN
INSERT INTO [BIMComponents].[dbo].[Video_Node] ([dir_name],[parent]) VALUES ('" . $path . "','" . $folder . "')
END
END";
$fetchResult = sqlsrv_query($GLOBALS["conn"], $sql);
FindPath($rootPath, $path, $ffmpeg);
echo ("
");
}
}
echo ("
");
}