fix ffmpeg
This commit is contained in:
@@ -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)) {
|
||||
|
||||
Reference in New Issue
Block a user