LINUX.ORG.RU

Снижение битрейта в mp3 файле после восстановления с помощью ffmpeg

 , ,


0

1

Есть битый mp3 файл, на компе и в плеерах он проигрывается спорадически, mp3check -e test_000/input.mp3 --show-valid -s выдаёт 9085 строчек такого вида:

test_000/input.mp3: frame 26179/15:42: bitrate switching (160 -> 128)
test_000/input.mp3: frame 26180/15:42: bitrate switching (128 -> 160)
test_000/input.mp3: frame 26181/15:42: bitrate switching (160 -> 128)
test_000/input.mp3: frame 26184/15:42: bitrate switching (128 -> 160)
test_000/input.mp3: frame 26185/15:42: bitrate switching (160 -> 128)
test_000/input.mp3: frame 26186/15:42: bitrate switching (128 -> 160)
test_000/input.mp3: frame 26190/15:42: bitrate switching (160 -> 128)
test_000/input.mp3: frame 26194/15:42: bitrate switching (128 -> 160)
test_000/input.mp3: frame 26195/15:43: bitrate switching (160 -> 128)
test_000/input.mp3: frame 26199/15:43: bitrate switching (128 -> 160)
test_000/input.mp3: frame 26200/15:43: bitrate switching (160 -> 128)
test_000/input.mp3: frame 26204/15:43: bitrate switching (128 -> 160)
test_000/input.mp3: frame 26205/15:43: bitrate switching (160 -> 128)
test_000/input.mp3: frame 26209/15:43: bitrate switching (128 -> 160)
test_000/input.mp3: frame 26213/15:43: bitrate switching (160 -> 128)
test_000/input.mp3: frame 26234/15:44: bitrate switching (128 -> 160)
test_000/input.mp3: frame 26235/15:44: bitrate switching (160 -> 128)
test_000/input.mp3: frame 26236/15:44: bitrate switching (128 -> 160)
test_000/input.mp3: frame 26238/15:44: bitrate switching (160 -> 128)
test_000/input.mp3: frame 26239/15:44: bitrate switching (128 -> 160)
test_000/input.mp3: frame 26241/15:44: bitrate switching (160 -> 128)
test_000/input.mp3: frame 26278/15:46: bitrate switching (128 -> 160)
test_000/input.mp3: frame 26279/15:46: bitrate switching (160 -> 128)
test_000/input.mp3: frame 26299/15:46: bitrate switching (128 -> 160)
test_000/input.mp3: frame 26300/15:46: bitrate switching (160 -> 32)

С помощью:

ffmpeg -i input.mp3 newfile.mp3 ; mp3check  --cut-junk-start newfile.mp3

удаётся пофиксить $mp3check -e newfile.mp3 --show-valid -s
newfile.mp3: valid audio mpeg stream

Но теряется битрейт:
input.mp3: MPEG ADTS, layer III, v1, 128 kbps, 32 kHz, Stereo
newfile.mp3: MPEG ADTS, layer III, v1, 96 kbps, 32 kHz, JntStereo

И откуда взялось JntStereo?

★★
Ответ на: комментарий от Krieger_Od

То есть вы предлагаете мне заново скомпилировать ffmpeg?

jia ★★
() автор топика

ffmpeg распаковал твой файл и снова сжал его с параметрами по умолчанию.

Ты хотел этого?

Если этого, но с другими параметрами, то укажи эти параметры (требуемый битрейт и тип стерео).

Если ты хотел обработать файл без пережатия, используй ffmpeg -i input.mp3 -acodec copy newfile.mp3

Кстати, битрейт, который ты видишь в информации о файле может быть неправильным, проверь при помощи ffprobe.

cdslow ★★
()

bitrate switching

Это не ошибка, это признак VBR. Используй mp3check с ключом -B

ffmpeg -i input.mp3 newfile.mp3

Тут ты перекодировал файл с параметрами по умолчанию.

redgremlin ★★★★★
()
Ответ на: комментарий от redgremlin

bitrate switching

Это не ошибка, это признак VBR. Используй mp3check с ключом -B

input.mp3: valid audio mpeg stream

Опс, нифигасе :-)

-B --ign-bitrate-sw   ignore bitrate switching and enable VBR support

ffmpeg -i input.mp3 newfile.mp3

Тут ты перекодировал файл с параметрами по умолчанию.

Я сначала

 -acodec copy
использовал, перепробовал битрейт установить — на выходе полных шлак, вообще нечитаемый.

jia ★★
() автор топика
Ответ на: комментарий от jia

Попробуй декодировать в wav и смотри, что получилось.

redgremlin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.