2011-06-06 74 views
9

好的。所以有一个不同的Android设备。我有一个视频流媒体服务,适用于iOS。我的应用程序具有实时视频功能和保存的视频剪辑回放功能(也可以流向设备)。我在不同的Android设备上运行了一些测试,并获得了大量不同的播放结果。我正在使用640x480 h.264基本配置文件视频。流式传输视频仅适用于某些设备。对于其他设备,可以使用相同的视频流以低分辨率进行流式传输,并且可以在某些设备上使用,但仍然不是其他设备。高配置文件流经过http://www.wowzamedia.com/(rtsp),不适用于任何Android设备(但适用于iPhone)。最低和最差的选项是Motion JPEG,它适用于迄今为止所有测试过的设备。所以我的问题是,如果设备将播放640x480 h.264基本配置文件,如何解决(无需测试每个设备在市场上):如果不行,则播放低分辨率视频 - 如果这不起作用,则默认为Motion JPEG。Android视频流 - 设备是否受支持?

另外,任何想法为什么我的rtsp通过wowza转码在iPhone上运行,但不是在任何Android设备上(甚至不是摩托罗拉Atrix)?

回答

0

这些是我遇到的一些链接/问题,同时尝试在各种设备上进行流式处理。

MediaPlayer seekTo doesn't work for streams

MediaPlayer resets position to 0 when started after seek to a different position

MediaPlayer seekTo inconsistently plays songs from beginning

Basic streaming audio works in 2.1 but not in 2.2

​​

Streaming video when seek back buffering start again in videoView/Mediaplayer

即使是在stackoverflow中的大镜头都想知道这个

如果你只想流而不求(这是跛脚),这可以实现。但是,如果您在观看时收到电话,您将从一开始就结束。

1

我解决了这个问题。在流媒体服务和x264配置文件中检查RTP实现。我的RTSP服务器在90%的设备上工作正常。

p.s 不同Android版本的一些视频框架可以实现RTP和RTSP协议有一些差异。

+0

你能澄清一下你的意思是“RTP实现”吗?我一直在使用Wowza Media Server近5年(并且在支持团队中待了一段时间),这个术语对我来说完全不熟悉。 – 2012-12-15 00:10:32

+0

我很抱歉,我不是那个意思。我是英语初学者。我的意思是RTP协议的实现 – radya 2012-12-17 12:23:26

+0

嗯,我明白你的意思 - 在Wowza中,这是在Application.xml中的MediaCaster-> RTP-> RTSP-> RTPTransportMode - 在V3及以上,它默认为'interleave'是TCP。另一种选择是'udp',这应该是不言自明的。 – 2013-06-17 02:33:57

3

在Android上流式传输是一个绝对的混乱。大多数设备不支持比Baseline 3.0更高的任何设备。如果你为iPhone 3编码,它通常应该通过RTSP工作。 Android支持HLS的较新版本,但它的命中或错过,很大程度上依赖于特定的设备。