Напишите плиз как изменить битрейт mp3 с помощью ffmpeg. ![]()
Напишите плиз как изменить битрейт 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 - новый битрейт.
Подводные камни:
Ф
//$dir = 'files/1'
exec('ffmpeg -i "'.$dir.'/'.$fname.'" -ar 44100 -ac 2 -ab 32k -y "'.$dir.'/1.mp3"'); Lestat (07.01.2012/13:48)А что John77 написал, там походу требует библиотеку Lame, а на сервере её нету.
Windler, посмотри по ссылке что давал, там внизу John77 пишет про битрейт
Windler (07.01.2012/13:52)лолшто а как ты без нужного енкодера битрейт поменять собрался?
А что John77 написал, там походу требует библиотеку Lame, а на сервере её нету.
суть то в чом, на вапинет я писал применительно к дебиану, в нем ффмпег требует ламе, нащщот других дистров не знаю чо каво
Свин-павук (07.01.2012/15:11)Без Lame никак чоле?
лолшто а как ты без нужного енкодера битрейт поменять собрался?
Windler (07.01.2012/16:07)хз може в других дистрах мп3 енкодер входит в состав libavcodec, пробуй ffmpeg -i input.mp3 -acodec mp3 -ab 128k output.mp3
Без Lame никак чоле?
И так, подрочил я тут свой мозг.
Написал следущиее:
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 сек. генерация это ж, ну просто слов нет.![]()