问题: 我有一个RTP流,我在我的专用网络(WiFi)上进行组播。我想使用一些Android平板电脑来显示流。平板电脑的数量不能受到限制,质量不应随着客户数量的增加而降低。这解释了为什么我需要多播而不是单播。

的方法: 理论上通过创建服务器端的RTSP或HTTP流我应该能够对影片给我的客户。然而,我的理解是,当有太多的客户端同时连接时,服务器会受到性能影响,这是我需要避免的。理想情况下,我希望所有客户都只是在监听相同的多播。这样,客户端数量就不会对服务器性能产生影响。 [注:IP是本地和TTL设置为0/1所以没有堵塞任何东西比我自己的网络与多播数据包的危险。]

实施 为了实现上面的方法我认为在Android中编写一个多播客户端,它接收RTP数据包并将这些数据流缝合在一起。我试图用JPEG有效载荷,它工作得很好。然而,JPEG的问题是调用来解码每帧的代价是非常昂贵的(几乎100ms!),这大大限制了帧速率。由于JPEG不是一个好的视频流协议,因此网络上的负载也很高。

我想要做的是为视频做什么,我已经为图片做了什么,即将来自RTP数据包的有效载荷流(例如MPEG4)拼接在一起并将其馈送到“某物”。最初我以为VideoView可以处理原始输入流,但我错了,VV似乎只能使用rtsp或http url(正确?)。

解决方案? 现在,我有什么选择?我想避免从原始RTP流设置RTSP服务器,并出于上述原因为所有平板电脑提供服务。我查了两天,检查了在网上和网上提出的所有解决方案,但似乎没有什么适用于我的问题(在大多数情况下,RTSP url或单播是解决方案,但我认为我不能使用它),所以我认为是时候问这个问题了。

任何帮助非常感谢!

欢呼

2012-04-16

Lele

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐