Защо моите MP3 файлове са с еднакъв размер, дори когато променям битрейта с FFmpeg?
Ако сте нов в процеса на конвертиране на аудио файлове, тогава много от детайлите и начина, по който работят, могат да бъдат малко объркващи, когато получите неочаквани резултати. И така, какво правите, за да решите проблема? Днешната публикация за въпроси и отговори SuperUser има отговор на объркан въпрос на читателя.
Днешната сесия за въпроси и отговори идва при нас с любезното съдействие на SuperUser - подразделение на Stack Exchange, групирано от общността уеб сайтове за въпроси и отговори.
Снимката е предоставена от Warein (Flickr).
Въпроса
Четецът на SuperUser Arlen Beiler иска да знае защо използването на различни настройки на битрейта при конвертиране на аудио поток, произведени файлове, които са с еднакъв точен размер:
Превърнах аудио потока в три различни настройки за битрейт, използвайки по същество същия формат. В крайна сметка те бяха същите. Защо е това?
- ffmpeg -i “Likoonl-Q1-All.mp4” -c: v копие -c: libmp3lame -q: a 1b: 192k “Q1-All-192k.mp4”
- ffmpeg -i “Likoonl-Q1-All.mp4” -c: v копие -c: libmp3lame -q: a -b: 160k “Q1-All-160k.mp4”
- ffmpeg -i “Likoonl-Q1-All.mp4” -c: v копие -c: libmp3lame -q: a -b: a 128k “Q1-All-128k.mp4”
Как се използват различни настройки на битрейт произвеждат файлове със същия точен размер?
Отговорът
Спътникът на SuperUser slhck има отговор за нас:
Защото настройвате -Q: а (което е настройката на VBR на LAME). Когато използвате -Q: а, настройката CBR -б: а няма да има ефект. Ако погледнете в ръководството за кодиране на MP3 от FFmpeg Wiki, ще намерите възможните стойности за -Q: а със съответния среден битрейт.
За пълнота, тук е съответната част от libmp3lame.c (qscale е дългото име на р):
Имате ли какво да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други технологични потребители на Stack Exchange? Вижте пълната тема за дискусия тук.