ffmpeg loudness не возвращает ни одного файла - PullRequest
0 голосов
/ 01 марта 2019

Я использую общий сервер, управляемый Aruba.it. Он использует

ffmpeg version 4.1
built with gcc 4.8.5
(GCC) 20150623
(Red Hat 4.8.5-36)

Мне нужно использовать ffmpeg, чтобы зафиксировать громкость любого загруженного MP3 до -12 дБ LUFS -1 дБ TP

Я нашел в интернете следующие команды, но не генерируется выходной файл .mp3

PHP

exec("/usr/bin/ffmpeg -i Temp.mp3 -af loudnorm=I=-12:LRA=7:tp=-2:measured_I=-30:measured_LRA=1.1:measured_tp=-11 04:measured_thresh=-40.21:offset=-0.47 -y output.mp3");

Где я могу ошибаться, пожалуйста?

РЕДАКТИРОВАТЬ Не возвращается ошибка.

Ответы [ 3 ]

0 голосов
/ 01 марта 2019

Если вы запустите его вручную, без надписи в терминале, вы получите ошибку:

Unable to find a suitable output format for '04:measured_thresh=-40.21:offset=-0.47'
04:measured_thresh=-40.21:offset=-0.47: Invalid argument

В вашей команде есть пробел, поэтому измените measured_tp=-11 04 на measured_tp=-11.04.

0 голосов
/ 01 марта 2019

На основании предложения @llogan я нашел решение.Это должно быть в 3 шага, а не только в одном.MP3 в MP3 не работает, в моем случае.Поэтому я преобразовал входной MP3 в волну, нормализовал его и преобразовал обратно в MP3

exec("/usr/bin/ffmpeg -i Temp.mp3 Temp.wav");
exec("/usr/bin/ffmpeg -i Temp.wav -af loudnorm=I=-12:LRA=7:tp=-2:measured_I=-30:measured_LRA=1.1:measured_tp=-11.04:measured_thresh=-40.21:offset=-0.47 output.wav");
exec("/usr/bin/ffmpeg -i output.wav -ab 320k output.mp3");

, это решение отлично работало

0 голосов
/ 01 марта 2019

С shell_exe или exec использование:

$output = shell_exec('/usr/bin/ffmpeg -i Temp.mp3 -af loudnorm=I=-12:LRA=7:tp=-2:measured_I=-30:measured_LRA=1.1:measured_tp=-11 04:measured_thresh=-40.21:offset=-0.47 -y output.mp 2>&1');

2 refers to the second file descriptor of the process, i.e. stderr.

> means redirection.

&1 means the target of the redirection should be the same location as the first file descriptor, i.e. stdout.

In$output у вас будет ответ.Если пользователь apache www-data не имеет достаточных прав, выполните команду как sudo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...