2016-11-04 4 views
0

Я пытаюсь преобразовать аудиофайл .flac в .mp3 при разных битрейтах. Простой код заключается в следующем:mp3-кодирование на разных битрейтах с использованием ffmpy в python

import ffmpy 
ff = ffmpy.FFmpeg(inputs={'in.flac': None},outputs={'out.mp3': None}) 
ff.run() 

Теперь, так как я хочу, чтобы мой Out.mp3, скажем, на 320k, я изменить вторую строку кода следующим образом:

ff = ffmpy.FFmpeg(inputs={'in.flac': None},outputs={'out.mp3': '-ab 320k'}) 

Проблема является то, что я не уверен, что я использую правильную команду в правильном положении, вставив

'-ab 320k' 

или

'-ab 320000' 

Сценарий работает корректно, и Python делает преобразование в mp3, но биттрейт всегда 128 (я проверяю его с помощью eyed3). Как я могу изменить свой код, чтобы получить 320 Кбит/с?

+0

Убедитесь, что это не ошибка в eyed3 путем деления размера генерируемого MP3 от его продолжительности. – Mulvya

+0

Я не думаю, что это ошибка. Я пытался кодировать различные .flac в .mp3 с дерзостью, а команда eyed3 дает мне правильные битрейты. – user3426270

+0

Возможно, но eyed3 может не правильно разбирать ffmpeg MP3. Сначала исключите эту возможность. – Mulvya

ответ

0

попробовать это:

ff = ffmpy.FFmpeg(
inputs={'16 Bit Lolitas - Beat Organ (Original Mix).mp4': None}, 
outputs={'16 Bit Lolitas - Beat Organ (Original Mix).mp3': ['-ab', '320k']} 
) 
Смежные вопросы