在安卓设备上播放实时RTP流

3
我正在尝试在Android上构建一个客户端来接收RTP流并播放它。我在stackoverflow和Google上搜索后发现,可以使用MediaPlayer类来实现此功能。但是当使用URL或文件作为数据源时才能使用MediaPlayer。在我的情况下,我的流媒体服务器将RTP流发送到客户端的特定端口。因此,是否有办法让MediaPlayer在不将其写入文件的情况下播放这个流?
2个回答

2

你试过了吗?

你的MediaPlayer的“数据源”是你的rtsp链接 - rtsp://127.0.0.0:550/mystream.3gp

我用VideoView做到了这一点,MediaPlayer只是这个的抽象,所以不应该有太大的区别。

MedaiPlayer将解析rtsp url并启动Android RTSPEngine,它将与RTP服务器通信并建立相关端口以传输数据。


1
上述方法是有效的 - 您需要提供RTSP链接(由于RTSP默认使用端口554而不是550,您可能不需要指定端口)。

rtsp://se.rv.er.ip/mystream

基本上,RTSP对话发生在客户端和服务器之间(DESCRIBE,SETUP,PLAY),其中包含了一个RTP广播的.sdp文件所具有的信息。

除非发送流的服务器支持RTSP,否则您无法接收RTP流。

如果您需要更多细节,我建议您在流媒体客户端或服务器上运行Wireshark。我发现这有助于补充阅读RFC文档。

祝您好运!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接