繁体   English   中英

从live555开始并与LIBMAD解码器集成

[英]Starting with live555 and integrating with LIBMAD decoder

我对MP3流媒体和使用live555库启动项目完全陌生。 我已经能够使用VS 2010编译该库,并试用了示例testMP3Streamer。 我可以使用VLC收听流,并可以使用其他测试程序testMP3Receiver接收流。

我现在正在尝试在live555 MP3接收器(最终是音频播放器)中加入解码器,但不知道从哪里开始。 我下载了libmad解码器,但不确定如何将其合并到live555中。

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

任何帮助将不胜感激。

一个开始可能是用testRTSPClient.cpp中的DummySink替换testMP3Receiver.cpp的FileSink。

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

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

我从头开始一直在广泛使用live555。

我确实认为,针对几种类型的流(视频,音频)和几种编码器,阅读一些工作代码的最佳地方之一是测试程序文件夹,您可以在这里找到

然后,当您开始了解该库的工作原理时,这真的很容易。

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

然后,您可以对该接收器进行子类化(在我给您的链接中提供了几个示例),并在此处实现您的解码器。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM