1
0
Fork 0
mirror of https://github.com/DanielnetoDotCom/YouPHPTube synced 2025-10-04 10:19:24 +02:00
This commit is contained in:
Daniel Neto 2023-03-15 12:30:06 -03:00
parent 3a6be5a19c
commit a62c5a2f9a

View file

@ -1,72 +1,72 @@
<?php <?php
//streamer config //streamer config
require_once '../videos/configuration.php'; require_once '../videos/configuration.php';
if (!isCommandLineInterface()) { if (!isCommandLineInterface()) {
return die('Command Line only'); return die('Command Line only');
} }
$fileExtensions = ['mp4', 'webm', 'm3u8']; $fileExtensions = ['mp4', 'webm', 'm3u8'];
$files = []; $files = [];
//foreach (glob("../videos/*.{" . implode(",", $fileExtensions) . "}", GLOB_BRACE) as $filename) { //foreach (glob("../videos/*.{" . implode(",", $fileExtensions) . "}", GLOB_BRACE) as $filename) {
foreach (glob("../videos/*", GLOB_BRACE) as $filename) { foreach (glob("../videos/*", GLOB_BRACE) as $filename) {
$base = basename($filename); $base = basename($filename);
if (is_dir($filename)) { if (is_dir($filename)) {
if (strpos($base, "_YPTuniqid_") !== false) { if (strpos($base, "_YPTuniqid_") !== false || strpos($base, "video_2") !== false || strpos($base, "v_2") !== false) {
$files[$base] = [$base, $filename]; $files[$base] = [$base, $filename];
} }
} else { } else {
$types = ['_HD', '_Low', '_SD']; $types = ['_HD', '_Low', '_SD'];
$notFound = true; $notFound = true;
foreach ($types as $value) { foreach ($types as $value) {
$baseName = explode($value, $base); $baseName = explode($value, $base);
if (!empty($baseName[1])) { if (!empty($baseName[1])) {
$files[$base] = [$baseName[0], $filename]; $files[$base] = [$baseName[0], $filename];
$notFound = false; $notFound = false;
} }
} }
if ($notFound) { if ($notFound) {
foreach ($fileExtensions as $value) { foreach ($fileExtensions as $value) {
if (strpos($base, ".$value") === false) { if (strpos($base, ".$value") === false) {
continue; continue;
} }
$baseName = str_replace("." . $value, "", $base); $baseName = str_replace("." . $value, "", $base);
if (!empty($baseName[1])) { if (!empty($baseName[1])) {
if (!in_array($baseName, $files)) { if (!in_array($baseName, $files)) {
$files[$base] = [$baseName, $filename]; $files[$base] = [$baseName, $filename];
} }
} }
} }
} }
} }
} }
$total = count($files); $total = count($files);
echo "*** Total filenames " . $total . "\n"; echo "*** Total filenames " . $total . "\n";
foreach ($files as $key => $value) { foreach ($files as $key => $value) {
$video = Video::getVideoFromFileName($value[0], true); $video = Video::getVideoFromFileName($value[0], true);
if (!empty($video)) { if (!empty($video)) {
unset($files[$key]); unset($files[$key]);
} }
} }
echo "*** Total filenames " . $total . " Will be created\n"; echo "*** Total filenames " . $total . " Will be created\n";
echo "*** Confirm Create Them? y/n: "; echo "*** Confirm Create Them? y/n: ";
ob_flush(); ob_flush();
$confirm = trim(readline("")); $confirm = trim(readline(""));
if (!empty($confirm) && strtolower($confirm) === 'y') { if (!empty($confirm) && strtolower($confirm) === 'y') {
$count = 0; $count = 0;
foreach ($files as $key => $value) { foreach ($files as $key => $value) {
$count++; $count++;
$title = "Video recovered: ".date("Y-m-d H:i:s", filectime($value[1])); $title = "Video recovered: ".date("Y-m-d H:i:s", filectime($value[1]));
$video = new Video($title, $value[0]); $video = new Video($title, $value[0]);
$video->setStatus(Video::$statusActive); $video->setStatus(Video::$statusActive);
$video->setUsers_id(1); $video->setUsers_id(1);
if ($video->save(false, true)) { if ($video->save(false, true)) {
echo "{$count}/{$total} {$title} created\n"; echo "{$count}/{$total} {$title} created\n";
} else { } else {
echo "{$count}/{$total} ERROR on create video {$title}\n"; echo "{$count}/{$total} ERROR on create video {$title}\n";
} }
} }
} }