我正在尝试在 android 上构建一个客户端,它将接收 RTP 流并播放它。我在 stackoverflow 和 Google 上进行了搜索,发现 MediaPlayer 类可以用于此。但是当使用 URL 或文件作为数据源时使用 MediaPlayer。在我的场景中,我的流媒体服务器在我的客户端的特定端口上发送 RTP 流。那么,有没有办法播放 MediaPlayer 来播放这个流而不将它写入文件。
问问题
5965 次
2 回答
1
你试过了吗?
您的 MediaPLayer 的“数据源”是您的 rtsp 链接 - rtsp://127.0.0.0:550/mystream.3gp
我已经使用 VideoView 完成了此操作,MediaPlayer 只是对此的抽象,因此应该不会有太大的不同。
MedaiPlayer 将解析 rtsp url 并启动 Android RTSPEngine,它将与 RTP 服务器通信并建立相关端口以传输数据。
于 2011-05-10T18:51:30.257 回答
0
上述方法有效 - 您需要提供 rtsp 链接(您可能不需要端口,因为 RTSP 默认为端口 554,而不是 550)。
rtsp://se.rv.er.ip/mystream
本质上,客户端和服务器(DESCRIBE、SETUP、PLAY)之间发生了一次 RTSP 对话,其中将包含用于 RTP 广播的 .sdp 文件所具有的信息。
除非发送它的服务器支持 RTSP,否则您无法接收 RTP 流。
如果您需要更多详细信息,我建议您只在流式客户端或服务器上运行 wireshark。我发现这有助于补充阅读 RFC。
祝你好运!
于 2013-01-08T01:42:52.030 回答