diff --git a/index.php b/index.php index 4890de5..b70d85d 100644 --- a/index.php +++ b/index.php @@ -38,10 +38,10 @@ } } - // Function to generate MP4 thumbnail for video using ffmpeg + // Generate MP4 thumbnail for video using ffmpeg function generateVideoMp4Thumbnail($videoPath, $thumbnailPath, $maxHeight = 200) { - $ffmpegPath = 'ffmpeg'; // Change this to the path of ffmpeg if it's not in the system's PATH + $ffmpegPath = 'ffmpeg'; // ffmpeg binary must be in system PATH //$cmd = "$ffmpegPath -i \"$videoPath\" -vf \"scale=-1:$maxHeight,setsar=1/1\" -c:v libx264 -pix_fmt yuv420p -movflags +faststart \"$thumbnailPath\""; $cmd = "$ffmpegPath -i \"$videoPath\" -vf \"scale=-1:$maxHeight,setsar=1/1\" -c:v libx264 -crf 30 -preset veryslow -pix_fmt yuv420p -movflags faststart \"$thumbnailPath\""; @@ -70,7 +70,7 @@ function generateVideoMp4Thumbnail($videoPath, $thumbnailPath, $maxHeight = 200) #separator {margin:4px;background-color:hsl(0, 0%, 11%);float:left;padding: 4px 0px 4px 0px;} #image-wrapper {margin:auto;} .wrapper-array-items {margin-top:25px;float:left;} - .thumb-item {margin: 5px 4px 0px 4px;height:200px;} + .thumb-item {margin: 4.5px 4px 0px 4px;height:200px;} @@ -89,6 +89,7 @@ function generateVideoMp4Thumbnail($videoPath, $thumbnailPath, $maxHeight = 200) // Print return button echo '

< Return

'; } + // Check if there are any folders $has_folders = false; foreach($folders as $folder) { @@ -97,6 +98,7 @@ function generateVideoMp4Thumbnail($videoPath, $thumbnailPath, $maxHeight = 200) break; } } + // Decide if to output subfolder separator or not if($has_folders) { echo '

|

'; @@ -113,62 +115,63 @@ function generateVideoMp4Thumbnail($videoPath, $thumbnailPath, $maxHeight = 200)
"; - print ""; - print ""; - print ""; - print ""; - - print ""; - print ""; - print ""; - print ""; - - print ""; - print ""; - print ""; - print ""; - - print ""; - print ""; - print ""; - print ""; - - print ""; - print ""; - print ""; - print ""; - - print ""; - print ""; - print ""; - print ""; - - print ""; - print ""; - print ""; - print ""; - - print ""; - print ""; - print ""; - print ""; - - print ""; - print ""; - print ""; - print ""; - - print ""; - print ""; - print ""; - print ""; - - print ""; + $fpImages = array( + "https://p.drkt.eu/2024/auroras.jpg", + "https://p.drkt.eu/2024/ghosts.jpg", + "https://p.drkt.eu/2024/_MG_5180.jpg", + "https://p.drkt.eu/2023/_MG_4779.jpg", + "https://p.drkt.eu/2023/_MG_4359.jpg", + "https://p.drkt.eu/2023/_MG_4305.jpg", + "https://p.drkt.eu/2023/_MG_4464.jpg", + "https://p.drkt.eu/2023/IMG_2954.jpg", + "https://p.drkt.eu/2023/Horsens-from-Borre-Knob.jpg", + "https://p.drkt.eu/2022/IMG_1991.jpg", + "https://p.drkt.eu/2022/IMG_9880.jpg", + "https://p.drkt.eu/2022/Ree_Park_19_July/IMG_1167.jpg", + "https://p.drkt.eu/2022/Givskud_Zoo_April_26/IMG_9407.jpg", + "https://p.drkt.eu/2022/Givskud_Zoo_April_26/IMG_9162.jpg", + "https://p.drkt.eu/2022/Givskud_Zoo_April_26/IMG_9640.jpg", + "https://p.drkt.eu/2022/Givskud_Zoo_April_26/IMG_9624.jpg", + "https://p.drkt.eu/2021/IMG_4170.jpg", + "https://p.drkt.eu/2021/Silkeborg_September_4/IMG_5822.jpg", + "https://p.drkt.eu/2021/Randers_Regnskov_November_4/IMG_7388.jpg", + "https://p.drkt.eu/2021/Randers_Regnskov_November_4/IMG_7187.jpg", + "https://p.drkt.eu/2021/Randers_Regnskov_November_4/IMG_7359.jpg", + "https://p.drkt.eu/2021/Hirtshals_June_19/IMG_4396.jpg", + "https://p.drkt.eu/2021/Givskud_September_3/IMG_5041.jpg", + "https://p.drkt.eu/2020/IMG_2479.jpg", + "https://p.drkt.eu/2020/IMG_2813.jpg", + "https://p.drkt.eu/2020/IMG_2317.jpg", + "https://p.drkt.eu/2020/Sukkertoppen_May_3/IMG_2038.jpg", + "https://p.drkt.eu/2019/June_21/IMG_1387.jpg", + "https://p.drkt.eu/2018/rovfugle_silkeborg/IMG_0127.jpg", + "https://p.drkt.eu/2017/IMG_2598.jpg", + "https://p.drkt.eu/2016/14372293_2108291979396890_7326883603774323269_o.jpg", + "https://p.drkt.eu/2016/14188640_2101374800088608_5453883739002624296_o.jpg", + "https://p.drkt.eu/2024/Abandoned_Building/_MG_5056.jpg", + "https://p.drkt.eu/2024/Abandoned_Building/_MG_5067.jpg", + "https://p.drkt.eu/2024/Abandoned_Building/_MG_5053.jpg", + "https://p.drkt.eu/2021/IMG_3430.jpg", + "https://p.drkt.eu/2021/Hirtshals_June_19/IMG_4242.jpg", + "https://p.drkt.eu/2021/Hirtshals_June_19/IMG_3772.jpg" + ); + + // Shuffle the image order for each refresh + shuffle($fpImages); + + // Output HTML for each image in array, with thumbnails for img src + foreach ($fpImages as $image) { + $pathParts = pathinfo($image); + $directory = $pathParts['dirname']; + $filename = $pathParts['basename']; + $thumbnailUrl = $directory . "/.thumb/" . $filename; + + echo ""; + } } + // If not root dir, loop through and print thumbnails else { // Output HTML for each thumbnail, videos first images last @@ -177,6 +180,7 @@ function generateVideoMp4Thumbnail($videoPath, $thumbnailPath, $maxHeight = 200) $videoPath = './' . $video; echo ''; } + foreach($images as $link){ $thumbPath = './.thumb/' . $link; $imgPath = './' . $link; @@ -185,7 +189,7 @@ function generateVideoMp4Thumbnail($videoPath, $thumbnailPath, $maxHeight = 200) } else { $srcPath = $imgPath; } - print ""; + echo ""; } } ?>