fix ffmpeg
This commit is contained in:
@@ -93,6 +93,7 @@ $top_lessons = $stmt->fetchAll();
|
||||
<li><a href="lessons.php">🎥 Gestione Lezioni</a></li>
|
||||
<li><a href="users.php">👥 Gestione Utenti</a></li>
|
||||
<li><a href="purchases.php">💰 Acquisti</a></li>
|
||||
<li><a href="../convert_videos.php">🔄 Converti Video</a></li>
|
||||
<li><a href="profile.php">👤 Profilo</a></li>
|
||||
</ul>
|
||||
</aside>
|
||||
|
||||
@@ -52,6 +52,34 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
$upload_path = $upload_dir . $file_name;
|
||||
|
||||
if (move_uploaded_file($_FILES['video_file']['tmp_name'], $upload_path)) {
|
||||
// Se il video non è MP4, prova a convertirlo automaticamente
|
||||
if ($file_extension !== 'mp4') {
|
||||
$converted_path = $upload_dir . pathinfo($file_name, PATHINFO_FILENAME) . '.mp4';
|
||||
|
||||
// Verifica se FFmpeg è disponibile
|
||||
$ffmpeg_check = [];
|
||||
exec('ffmpeg -version 2>&1', $ffmpeg_check, $ffmpeg_return);
|
||||
|
||||
if ($ffmpeg_return === 0) {
|
||||
// Converti il video in MP4
|
||||
$convert_cmd = sprintf(
|
||||
'ffmpeg -i %s -c:v libx264 -preset medium -crf 23 -c:a aac -b:a 128k -movflags +faststart -y %s 2>&1',
|
||||
escapeshellarg($upload_path),
|
||||
escapeshellarg($converted_path)
|
||||
);
|
||||
|
||||
exec($convert_cmd, $convert_output, $convert_return);
|
||||
|
||||
if ($convert_return === 0 && file_exists($converted_path)) {
|
||||
// Conversione riuscita, elimina il file originale e usa quello convertito
|
||||
unlink($upload_path);
|
||||
$file_name = pathinfo($file_name, PATHINFO_FILENAME) . '.mp4';
|
||||
$upload_path = $converted_path;
|
||||
}
|
||||
// Se la conversione fallisce, usa comunque il file originale
|
||||
}
|
||||
}
|
||||
|
||||
// Imposta il percorso relativo per il database (senza slash iniziale)
|
||||
$video_url = 'uploads/lessons/' . ($is_demo ? 'demo' : 'pay') . '/' . $file_name;
|
||||
|
||||
|
||||
@@ -81,6 +81,34 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
$upload_path = $upload_dir . $file_name;
|
||||
|
||||
if (move_uploaded_file($_FILES['video_file']['tmp_name'], $upload_path)) {
|
||||
// Se il video non è MP4, prova a convertirlo automaticamente
|
||||
if ($file_extension !== 'mp4') {
|
||||
$converted_path = $upload_dir . pathinfo($file_name, PATHINFO_FILENAME) . '.mp4';
|
||||
|
||||
// Verifica se FFmpeg è disponibile
|
||||
$ffmpeg_check = [];
|
||||
exec('ffmpeg -version 2>&1', $ffmpeg_check, $ffmpeg_return);
|
||||
|
||||
if ($ffmpeg_return === 0) {
|
||||
// Converti il video in MP4
|
||||
$convert_cmd = sprintf(
|
||||
'ffmpeg -i %s -c:v libx264 -preset medium -crf 23 -c:a aac -b:a 128k -movflags +faststart -y %s 2>&1',
|
||||
escapeshellarg($upload_path),
|
||||
escapeshellarg($converted_path)
|
||||
);
|
||||
|
||||
exec($convert_cmd, $convert_output, $convert_return);
|
||||
|
||||
if ($convert_return === 0 && file_exists($converted_path)) {
|
||||
// Conversione riuscita, elimina il file originale e usa quello convertito
|
||||
unlink($upload_path);
|
||||
$file_name = pathinfo($file_name, PATHINFO_FILENAME) . '.mp4';
|
||||
$upload_path = $converted_path;
|
||||
}
|
||||
// Se la conversione fallisce, usa comunque il file originale
|
||||
}
|
||||
}
|
||||
|
||||
// Elimina il vecchio file se esisteva
|
||||
$old_video_path = ltrim($lesson['video_url'], '/');
|
||||
if (!empty($lesson['video_url']) && file_exists('../' . $old_video_path)) {
|
||||
|
||||
@@ -83,6 +83,7 @@ $lessons = $stmt->fetchAll();
|
||||
<li><a href="lessons.php" class="active">🎥 Gestione Lezioni</a></li>
|
||||
<li><a href="users.php">👥 Gestione Utenti</a></li>
|
||||
<li><a href="purchases.php">💰 Acquisti</a></li>
|
||||
<li><a href="../convert_videos.php">🔄 Converti Video</a></li>
|
||||
<li><a href="profile.php">👤 Profilo</a></li>
|
||||
</ul>
|
||||
</aside>
|
||||
|
||||
@@ -183,6 +183,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['test_email'])) {
|
||||
<li><a href="lessons.php">🎥 Gestione Lezioni</a></li>
|
||||
<li><a href="users.php">👥 Gestione Utenti</a></li>
|
||||
<li><a href="purchases.php">💰 Acquisti</a></li>
|
||||
<li><a href="../convert_videos.php">🔄 Converti Video</a></li>
|
||||
<li><a href="profile.php" class="active">👤 Profilo</a></li>
|
||||
</ul>
|
||||
</aside>
|
||||
|
||||
@@ -74,6 +74,7 @@ $stats = $stmt->fetch();
|
||||
<li><a href="lessons.php">🎥 Gestione Lezioni</a></li>
|
||||
<li><a href="users.php">👥 Gestione Utenti</a></li>
|
||||
<li><a href="purchases.php" class="active">💰 Acquisti</a></li>
|
||||
<li><a href="../convert_videos.php">🔄 Converti Video</a></li>
|
||||
<li><a href="profile.php">👤 Profilo</a></li>
|
||||
</ul>
|
||||
</aside>
|
||||
|
||||
@@ -81,6 +81,7 @@ $users = $stmt->fetchAll();
|
||||
<li><a href="lessons.php">🎥 Gestione Lezioni</a></li>
|
||||
<li><a href="users.php" class="active">👥 Gestione Utenti</a></li>
|
||||
<li><a href="purchases.php">💰 Acquisti</a></li>
|
||||
<li><a href="../convert_videos.php">🔄 Converti Video</a></li>
|
||||
<li><a href="profile.php">👤 Profilo</a></li>
|
||||
</ul>
|
||||
</aside>
|
||||
|
||||
Reference in New Issue
Block a user