流音频C#

问题描述:

我有一个视频服务器的IP:192.168.1.XX 它有3种可能的格式JPEG,MPEG-4或H.264流音频C#

视频服务器广播视频(与实时

音频)我没有问题,流媒体与AFORGE视频LIB ,但我还需要流音频

视频服务器有几个协议:HTTP,RTSP,RTP,RTCP

根据用途使用

r的手册RTSP是我应该用来获得MPEG-4(音频和视频)的协议,但是我还没有发现任何东西要通过CTS上的RTSP进行流传输,所以我试图将流式音频和视频分开播放

端口分别是:

RTSP:554 RTP(视频):5556 RTP(音频):5558 RTCP(视频):5557 RTCP(音频):5559

任何机构是否知道如何RTP工作以及如何我可以从视频服务器获取声音吗?

我会学习gstreamer。我假设你正在使用Windows,因为你在C#中这样做。它有一个相当稳定的Windows端口和一个漂亮的.net包装。如果你不使用Windows,那么gstreamer肯定是你最好的选择。

GStreamer中,你最有可能使用像管道:

your video src -> x264enc or ffenc_mpv4 -> rtph264pay or rtpmp4vpay -> udpsink 

your audio src -> ffenc_aac or preferably a lower latency codec like mULaw -> rtppay -> udpsink 

等。这是非常容易使用。如果你想实际管理一个rtp会话,他们甚至有一个很好的rtpbin供你使用。

更多信息可以在这里找到:

http://gstreamer.freedesktop.org/

下面是如何做RTP一个很好的例子:

http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-gstrtpbin.html

我已经做了这样的事情与直接显示过滤器,但涉及更多。您通常必须手动处理rtp加载和运输 - 更不用说处理COM - 而GStreamer为您提供这些开箱即用的机制。

+0

谢谢,我来看看= D –

您可以使用https://net7mma.codeplex.com/

这是一个C#媒体服务器,它会让你的每个RtpPacket,并从那里,你可以让他们到你的选择除其他事项外的解码器都没有陷入泥淖的源流。