Update upload_media.php

This commit is contained in:
Lizandro Guarnizo
2026-01-22 12:59:30 -05:00
parent f40f5570fc
commit 7cb0dad0da
+8 -2
View File
@@ -108,9 +108,12 @@ try {
try {
$convertedName = uniqid('media_', true) . '.ogg';
$convertedPath = $uploadDir . $convertedName;
// Convertir a Opus (bitrate moderado)
$cmd = escapeshellcmd($ffmpeg) . ' -y -i ' . escapeshellarg($uploadPath) . ' -c:a libopus -b:a 64000 ' . escapeshellarg($convertedPath) . ' 2>&1';
// Convertir a Opus (bitrate moderado). Forzamos formato OGG, mono 48kHz y mapeamos la primera pista de audio.
// Esto ayuda a evitar contenedores/streams extra que pueden causar que el archivo suene como ruido.
$cmd = escapeshellcmd($ffmpeg) . ' -y -i ' . escapeshellarg($uploadPath) . ' -map 0:a:0 -c:a libopus -b:a 64k -vbr on -ar 48000 -ac 1 -f ogg ' . escapeshellarg($convertedPath) . ' 2>&1';
$out = @shell_exec($cmd);
// Añadir comprobación diagnóstica con "ffmpeg -i" sobre el archivo convertido para registrar detalles del stream
$probe = @shell_exec(escapeshellcmd($ffmpeg) . ' -i ' . escapeshellarg($convertedPath) . ' 2>&1');
if (file_exists($convertedPath) && filesize($convertedPath) > 0) {
// Reemplazar archivo original por el convertido
@unlink($uploadPath);
@@ -120,9 +123,12 @@ try {
$converted = true;
error_log('upload_media.php - Audio convertido a OGG/Opus: ' . $convertedName);
error_log('upload_media.php - ffmpeg output: ' . substr($out ?: '', 0, 2000));
error_log('upload_media.php - ffmpeg probe:
' . substr($probe ?: '', 0, 2000));
} else {
$conversion_error = 'Conversion failed or no output';
error_log('upload_media.php - Falló conversión con ffmpeg. Output: ' . substr($out ?: '', 0, 2000));
error_log('upload_media.php - ffmpeg probe after failure:\n' . substr($probe ?: '', 0, 2000));
}
} catch (Exception $ex) {
$conversion_error = 'Conversion exception: ' . $ex->getMessage();