Могу ли я использовать какой-либо заголовок MP3 при создании тега Xing или Info в MP3, или он должен соответствовать другим кадрам? - PullRequest
0 голосов
/ 19 октября 2019

У меня есть набор голых файлов MP3. Как и прежде, я удалил все теги (без ID3, без Xing, без информации) из этих файлов.

Непосредственно перед отправкой одного из этих файлов клиенту я хочу добавить тег Info. Все мои файлы являются CBR, поэтому мы будем использовать тег Info (без Xing).

Сейчас я получаю первые 4 байта существующего MP3, чтобы получить версию (MPEG-1, Layer III), битрейтЧастота, Стерео режим и т. Д. И, таким образом, определяют размер одного кадра. Я создаю тег таким образом, повторно используя эти 4 байта для тега Info и определяя размер кадра.

Для тех, кому интересно, эти 4 байта могут выглядеть следующим образом:

FF FB 78 04

Мне казалось, что вы должны использовать те же первые 4 байта в теге Info, что и в других аудиофреймах MP3, но при использовании ffmpeg они прикрепляют тег Info с жестко кодированным 1013* header (неверный битрейт, неправильная частота и т. д.)

Мой вопрос: действительно ли ffmpeg делает это правильно? (LAME этого не делает) Могу ли я сделать то же самое, пропустив загрузку первых 4 байтов, и при этом большинство игроков проигрывает мои файлы, как и ожидалось?

Примечание: , поскольку я читаю эти 4 байта по сети, это определенно сэкономило бы много времени и некоторой полосы пропускания, чтобы не приходилось загружать эти 4 байта при запросе HEAD. Ресурсы, которые я мог бы использовать для GET запросов вместо ...

...