串流直播音频 live555

Stream live audio live555

我正在写,因为我在以前的主题中找不到答案。我正在使用 live555 流式传输由网络摄像头录制的实时视频 (h264) 和音频 (g723)。视频部分已经完成,效果很好,但我对音频任务一无所知。

只要我已经阅读过,我就必须创建一个 ServerMediaSession,我应该向其中添加两个子会话:一个用于视频,一个用于音频。对于视频部分,我创建了 OnDemandServerMediaSubsession 的子类、FramedSource 的子类和编码器类,但对于音频方面,我不知道应该基于哪些类来实现。

网络摄像头以 g723 格式与视频分开记录和传送音频帧。我会说音频是原始的,因为当我尝试在 VLC 中播放它时,它说它找不到任何启动代码;所以我想这是网络摄像头记录的原始音频流。

我想知道是否有人可以给我提示。

对于音频流,您对 OnDemandServerMediaSubsession::createNewRTPSink 的覆盖应该创建一个 SimpleRTPSink。

类似于:

RTPSink* YourAudioMediaSubsession::createNewRTPSink(Groupsock* rtpGroupsock, unsigned char rtpPayloadTypeIfDynamic, FramedSource* inputSource) 
{
   return SimpleRTPSink::createNew(envir(), rtpGroupsock,
                                       4,
                                       frequency,
                                       "audio", 
                                       "G723",
                                       channels );
} 

频率和通道数应该来自inputSource。