Update upload_media.php
This commit is contained in:
@@ -108,9 +108,12 @@ try {
|
|||||||
try {
|
try {
|
||||||
$convertedName = uniqid('media_', true) . '.ogg';
|
$convertedName = uniqid('media_', true) . '.ogg';
|
||||||
$convertedPath = $uploadDir . $convertedName;
|
$convertedPath = $uploadDir . $convertedName;
|
||||||
// Convertir a Opus (bitrate moderado)
|
// Convertir a Opus (bitrate moderado). Forzamos formato OGG, mono 48kHz y mapeamos la primera pista de audio.
|
||||||
$cmd = escapeshellcmd($ffmpeg) . ' -y -i ' . escapeshellarg($uploadPath) . ' -c:a libopus -b:a 64000 ' . escapeshellarg($convertedPath) . ' 2>&1';
|
// 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);
|
$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) {
|
if (file_exists($convertedPath) && filesize($convertedPath) > 0) {
|
||||||
// Reemplazar archivo original por el convertido
|
// Reemplazar archivo original por el convertido
|
||||||
@unlink($uploadPath);
|
@unlink($uploadPath);
|
||||||
@@ -120,9 +123,12 @@ try {
|
|||||||
$converted = true;
|
$converted = true;
|
||||||
error_log('upload_media.php - Audio convertido a OGG/Opus: ' . $convertedName);
|
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 output: ' . substr($out ?: '', 0, 2000));
|
||||||
|
error_log('upload_media.php - ffmpeg probe:
|
||||||
|
' . substr($probe ?: '', 0, 2000));
|
||||||
} else {
|
} else {
|
||||||
$conversion_error = 'Conversion failed or no output';
|
$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 - 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) {
|
} catch (Exception $ex) {
|
||||||
$conversion_error = 'Conversion exception: ' . $ex->getMessage();
|
$conversion_error = 'Conversion exception: ' . $ex->getMessage();
|
||||||
|
|||||||
Reference in New Issue
Block a user