接收多个RTP,混合,输出RTSP流

时间:2017-10-30 03:45:37

标签: android ffmpeg rtp ffserver

我目前正在尝试接收多个RTP音频流,混合它们,并使用ffmpeg或ffserver输出RTSP流。

RTP音频流由Android AudioStream发送。

这是代码Android方面。

AudioManager audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
audio.setMode(AudioManager.MODE_IN_COMMUNICATION);

audioGroup = new AudioGroup();
audioGroup.setMode(AudioGroup.MODE_ECHO_SUPPRESSION);

audioStream = new AudioStream(InetAddress.getByAddress(getLocalIPAddress()));
audioStream.setCodec(AudioCodec.PCMU);
audioStream.setMode(RtpStream.MODE_NORMAL);
audioStream.associate(InetAddress.getByName(SipStackAndroid.getRemoteIp()), REMOTE_PORT);
audioStream.join(audioGroup);

然后我准备服务器端。

这是ffserver.conf

HTTPPort 5555
HTTPBindAddress 0.0.0.0
RTSPPort 5454
RTSPBindAddress 0.0.0.0
MaxHTTPConnections 100
MaxClients 1000
MaxBandwidth 10000
CustomLog -

<Feed feed1.ffm>
  File /tmp/feed1.ffm
  FileMaxSize 500M
</Feed>

<Stream live.wav>
  Format rtp
  Feed feed1.ffm
  AudioBitRate 13
  AudioChannels 1
  AudioSampleRate 8000
  AudioCodec pcm_mulaw
  # AudioCodec libmp3lame
  NoVideo
</Stream>

这是ffserver或ffmpeg命令。

ffserver -d -f ffserver.conf
ffmpeg -i "rtp://192.168.150.10:12345" -acodec auto http://127.0.0.1:5555/feed1.ffm

我无法解决如何接收多个rtp流以及如何混合它们。

请提供一些想法和实际链接,以便我找到答案。

0 个答案:

没有答案