2009-11-23 2 views
2

Как писать mp3-кадры (не полные mp3-файлы с ID3 и т. Д.) Из данных PCM?Как писать mp3-кадры из данных PCM (C/C++)?

У меня есть что-то вроде данных PCM (для ex 100mb) Я хочу создать массив mp3-кадров из этих данных. Как выполнить такую ​​операцию? (Напр с хромым или любым другим открытым кодом датчиком)

Что мне нужно сделать:

  • Open Source Libs для кодирования.
  • Учебники и статьи блога о том, как это сделать, о и т.д.
+0

LAME - LGPL. Почему бы вам не использовать его? Или ваша программа не будет с открытым исходным кодом? –

+1

@Piligrim В любом случае он может использовать LAME даже в программе с закрытым исходным кодом, вот в чем смысл LPGL. – KeatsPeeks

ответ

1

Вы должны быть в состоянии использовать LAME. Он имеет -t command line switch, который отключает заголовок INFO на выходе (в противном случае присутствует в кадре 0). Если это все еще оставляет слишком много данных бухгалтерского учета, вы должны иметь возможность написать отдельный инструмент, чтобы удалить это.

+0

Кроме того, ознакомьтесь с http://www.codeproject.com/KB/audio-video/mpegaudioinfo.aspx для получения информации о формате mpeg (header). С этой информацией должна быть возможность обработать результирующий mp3-файл. – wimh

1

Вы уже на правильном пути: используйте внешний исполняемый файл LAME или любой другой вызванный оболочкой кодер.

Чтобы создать рамки MP, был ли ваш слой интереса равно 3, это непросто сделать с нуля. Существуют шаги сжатия, преобразования Fast-Fourier с последующим квантованием, которые имеют сложное и утомительно длинное объяснение. Объем работы, необходимый разработчику для его создания с нуля, очень велик. Существуют программные библиотеки кодирования C и C++ MP, но вас либо попросят оплатить, либо получите ограниченную поддержку, либо имеют очень ограниченные возможности взаимодействия.

Идите LAME, изучите их wiki.