在Android上播放实时RTP流

时间:2011-05-03 19:41:40

标签: android rtp live-streaming

我正在尝试在Android上构建一个客户端,它将接收RTP流并播放它。 我搜索了stackoverflow和Google,发现可以使用MediaPlayer类。但是,当URL或文件用作数据源时,将使用MediaPlayer。 在我的场景中,我的流媒体服务器在我的客户端的特定端口上发送RTP流。 那么,有没有办法让MediaPlayer播放这个流而不将其写入文件。

2 个答案:

答案 0 :(得分:1)

你试过了吗?

MediaPLayer的'数据源'是你的rtsp链接 - rtsp://127.0.0.0:550 / mystream.3gp

我使用VideoView完成了这项工作,MediaPlayer是对此的抽象,所以它不应该太过不同。

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

答案 1 :(得分:0)

上述方法有效 - 您需要提供rtsp链接(您可能不需要端口,因为RTSP默认为端口554,而不是550)。

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

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

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

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

祝你好运!