从Live555开始,并与Libmad解码器集成

Starting with live555 and integrating with LIBMAD decoder

本文关键字:Libmad 解码器 集成 并与 Live555 开始      更新时间:2023-10-16

我是MP3流的新手,并使用Live555库启动项目。我已经能够使用VS 2010编译库,并尝试了示例Testmp3Streamer。我可以使用VLC收听流,并可以使用其他测试程序Testmp3Receiver接收。

我现在正在尝试将解码器合并到Live555 MP3接收器(最终是音频播放器)中,但无法弄清楚从哪里开始。我下载了Libmad解码器,但不确定如何将其纳入Live555。

我正在寻找有关如何执行此操作的提示或示例

任何帮助将不胜感激。

一个起点可能是用testrtspclient.cpp的dummysink remplace testmp3receiver.cpp的filesink。

这样做,您将获得数据实现方法

void DummySink::afterGettingFrame(unsigned frameSize, unsigned numTruncatedBytes,
struct timeval presentationTime, unsigned durationInMicroseconds);

我今年一直使用Live555,从头开始。

我真的认为,在测试程序文件夹中,您可以在此处找到

的几种类型的流(视频,音频)和几个编码器读取一些工作代码的最佳场所之一

那么,当您开始了解此库的工作原理时,这真的很容易。

通常,如果要插入解码器,则在客户端上。您必须知道所有接收到的数据(实际数据,而不是RTSP命令)最终出现在"接收器"

然后,您可以在此接收器(我给您给您的链接中的几个示例)并在此处实现您的解码器。

例如,在testrtspclient中查看视频解码器示例,我知道它是用于视频的,但这是一些自我解释的代码,您应该在那里有一个很好的起点。