我在写作,因为我在以前的题目中找不到答案。我正在使用live555来流媒体直播视频(h264)和音频(G723),这两种视频都是由网络摄像头录制的。视频部分已经完成,它的工作非常完美,但我对音频任务一无所知。
只要我已经阅读过,我就必须创建一个ServerMediaSession,我应该在其中添加两个子会话:一个用于视频,另一个用于音频。对于视频部分,我创建了OnDemandServerMediaSubsession的子类、FramedSource的子类和Encoder类,但是对于音频方面,我不知道应该基于哪些类来实现。
所述网络摄像机将g723格式的音频帧与所述视频分开记录和传送。我会说音频是原始的,因为当我尝试在VLC中播放它时,它说它找不到任何开始代码;所以我想它是原始音频流,是由网络摄像头记录的。
我想知道是否有人能给我个提示。
发布于 2015-01-17 13:25:17
对于音频流,您的OnDemandServerMediaSubsession::createNewRTPSink覆盖应该创建一个SimpleRTPSink。
类似于:
RTPSink* YourAudioMediaSubsession::createNewRTPSink(Groupsock* rtpGroupsock, unsigned char rtpPayloadTypeIfDynamic, FramedSource* inputSource)
{
return SimpleRTPSink::createNew(envir(), rtpGroupsock,
4,
frequency,
"audio",
"G723",
channels );
} 频道的频率和数量应该来自inputSource。
https://stackoverflow.com/questions/27819485
复制相似问题