Я совершенно новичок в потоковой передаче MP3 и начинаю проект с библиотекой live555. Я смог скомпилировать библиотеку с VS 2010 и опробовал пример testMP3Streamer. Я могу слушать поток, используя VLC, и могу получить его с другой тестовой программой testMP3Receiver.
Сейчас я пытаюсь встроить декодер в MP3-ресивер live555 (и, возможно, в аудиоплеер), но не могу понять, с чего начать. Я скачал декодер libmad, но не уверен, как включить его в live555.
Я ищу советы или примеры, как это сделать
Любая помощь будет принята с благодарностью.
Начальной точкой может быть замена FileSink файла testMP3Receiver.cpp на DummySink из testRTSPClient.cpp.
Делая это, вы получите данные, реализующие метод
void DummySink::afterGettingFrame(unsigned frameSize, unsigned numTruncatedBytes,
struct timeval presentationTime, unsigned durationInMicroseconds);
В этом году я активно использую live555, начиная с нуля.
Я действительно считаю, что одним из лучших мест для чтения рабочего кода для нескольких типов потоков (видео, аудио) и нескольких кодировщиков является папка с тестовыми программами, которую вы можете найти. Вот
Тогда действительно легко, когда вы начинаете понимать, как работает эта библиотека.
Как правило, если вы хотите вставить декодер, вы находитесь на клиенте.
Вы должны знать, что все полученные данные (фактические данные, а не команды RTSP) попадают в «приемник»
Затем вы можете создать подкласс этого приемника (несколько примеров представлены в приведенной мной ссылке) и реализовать здесь свой декодер.
Взгляните, например, на пример видеодекодеров в testRTSPClient, я знаю, что это для видео, но это некоторый самообъясняющий код, у вас должна быть хорошая отправная точка.