2015-05-06 179 views
3

我想通过使用libstreaming库将Android设备上的视频流式传输到PC。要连接这两个设备,我在Android设备上打开一个Hotspot并将PC连接到它。使用libstreaming从Android设备流式传输视频到电脑

我试了examples 1 and 2并让它们运行。在例2中,我在Wireshark中收到很多UDP数据包。但我无法在VLC播放器中打开该流。用例1我在Wireshark中什么都没有。

任何人都可以告诉我,我必须输入VLC打开流吗?我尝试了很多不同的东西,但我不确定是否正确。例如1我认为它必须是像rtsp:// ipofandroiddevice:端口

回答

0

我不知道libstreaming库,但它看起来像它发送RTP数据包到一个地址。

在这种情况下,您应该只在计算机上打开:rtp:// @:port来获取视频。 如果您是从内部网络外部进行流式传输,请注意NAT问题。

+0

感谢您的帮助。我试过这个,但没有奏效。我确信端口,因为我可以在Wireshark中看到目标端口。我认为这个问题可能在别的地方。也许视频或类似的编解码器有问题。 – Phil

+0

您是否尝试使用-vvv标志打开vlc?你应该能够看到它是否看到数据包,并在一般live555日志 – Ambi

+0

现在我敢肯定它不是一个问题与VLC。我创建了一个简单的Android应用程序,它使用datagramSocket类永久发送UDP数据包。我还写了一个小型的Java应用程序,它只是将接收到的数据包写入控制台。我再次能够看到Wireshark中的数据包,但我的服务器没有收到任何东西。也许我正在使用的端口被防火墙阻止。但是,即使端口被阻塞,我是否能够使用Wireshark接收数据包? – Phil

0

你在你的问题贴缺少一些参数的URL RTSP,它应该是这样的,

的rtsp:// phone_local_ip:1234? h264 = 200-20-320-240

200 = buf | 20 = fps | 320 =宽度| 240 =高度

库中有一个UriParser类,您可能需要检查它是否适用于其他可能的URL格式。

+0

我正在使用'rtsp://172.xx.xx.67:1777?h264 = 500000-15-640-480':登录android流服务器:选项200 - >描述200 - >设置200 - >播放200 - > TEARDOWN 200 - >解析CSeq时出错(IllegalStateException:目前没有成功的匹配) - 请求中没有方法 –

+0

不确定,因为我没有遇到这个问题。一些建议,尝试减少缓冲区真的200.不知何故对我来说,除320-240之外,其他分辨率无法工作。尽管其他的都在支持的解决方案列表中。 – Umair

+0

感谢您的回复。我会很快尝试你的建议。完全我的问题丢弃[这里](http://stackoverflow.com/questions/40287579/stream-using-libstreaming-to-vlc-exception)。 –

相关问题