Напишите плиз как изменить битрейт mp3 с помощью ffmpeg.
Lestat (07.01.2012/13:33)
exec('ffmpeg -i "' . $in . '" -ar 44100 -ac 2 -ab 128k -y "' . $new . '"');
где :
$in - файл.мп3 над которым колдуем
$new - файл.мп3 на выходе
128 - новый битрейт.
Подводные камни:
Ф
Что-то он не охотно изменяет.
Вообще не создает новый файл. ffmpeg на сервере есть.
//$dir = 'files/1'
exec('ffmpeg -i "'.$dir.'/'.$fname.'" -ar 44100 -ac 2 -ab 32k -y "'.$dir.'/1.mp3"');
Lestat (07.01.2012/13:48)
Windler, посмотри по ссылке что давал, там внизу John77 пишет про битрейт
А что John77 написал, там походу требует библиотеку Lame, а на сервере её нету.
Windler (07.01.2012/13:52)
А что John77 написал, там походу требует библиотеку Lame, а на сервере её нету.
лолшто а как ты без нужного енкодера битрейт поменять собрался?
суть то в чом, на вапинет я писал применительно к дебиану, в нем ффмпег требует ламе, нащщот других дистров не знаю чо каво
Windler (07.01.2012/16:07)
Без Lame никак чоле?
хз може в других дистрах мп3 енкодер входит в состав libavcodec, пробуй ffmpeg -i input.mp3 -acodec mp3 -ab 128k output.mp3
И так, подрочил я тут свой мозг.
Написал следущиее:
if (isset($_POST['submit'])) {
$dir = '../'.$derault_dir.'/'.$user_id.'/'; //Равна будет короче ../files/1/
/*Это создание отдельных папок для разных битейтов, ибо не срать в одну папнку*/
if (!is_dir($dir.'128bt')) {
mkdir($dir.'128bt', 0777);
chmod($dir.'128bt', 0777);
}
if (!is_dir($dir.'64bt')) {
mkdir($dir.'64bt', 0777);
chmod($dir.'64bt', 0777);
}
if (!is_dir($dir.'32bt')) {
mkdir($dir.'32bt', 0777);
chmod($dir.'32bt', 0777);
}
//Ну а тут начинается дикий экшен который я стырил на чумазе.
if ($bitrate > 128) {
exec("lame '".escapeshellcmd($dir.$fname)."' -b 128 --mp3input '".escapeshellcmd($dir.'128bt/'.$fname)."'");
chmod($dir.'128bt/'.$fname, 0777);
}
if ($bitrate > 64) {
exec("lame '".escapeshellcmd($dir.$fname)."' -b 64 --mp3input '".escapeshellcmd($dir.'64bt/'.$fname)."'");
chmod($dir.'64bt/'.$fname, 0777);
}
if ($bitrate > 32) {
exec("lame '".escapeshellcmd($dir.$fname)."' -b 32 --mp3input '".escapeshellcmd($dir.'32bt/'.$fname)."'");
chmod($dir.'32bt/'.$fname, 0777);
}
echo '<div class="menu">Музончик успешно загружен.</div>';
}
В итоге я имею генерацию 46 секунд.
Конечно же сервер он дико не нагрузил мой, но всё же 46 сек. генерация это ж, ну просто слов нет.