我在同一活动中使用videoview (或MediaPlayer)在多个视频视图中播放rtsp流时遇到了兼容性问题。
我已经在这个问题上打开了另一个问题here,但现在我知道这不是我的代码负责,因为我在不同的手机上测试相同的软件,它可以工作。
查看RTSP设置的logcat信息消息我看到每部手机都有不同的stagefright (android多媒体框架)实现:
(A) I/RTSPEngine(147): User-Agent: Player/LG Player 1.0 for Android(stagefright alternative)
(B) I/ARTSPConnection(2252): User-Agent: stagefright/1.2 (Linux;Android 4.2.1)
(C) I/ARTSPConnection(10345): User-Agent: ALCATEL ONE TOUCH 997D-SVN/02001 (Linux;Android 4.1.1)
(D) W/ARTSPConnection(1948): User-Agent: User-Agent: Samsung GT-I9300 stagefright/Beyonce/1.1.9 (Linux;Android 4.3)
A is Lg l9 - android 4.1.2
B is Chinese jiayu g4 - Android 4.2.1
C is ALCATEL ONE TOUCH 997D - Android 4.1.1
D is Samsung galaxy S3 - Android 4.3你可以看到这里有不同的android版本和不同的阶段,但多个rtsp只在Lg上失败(参见error here )。另一个有趣的事情是,只有Lg使用RtspEngine,其他人使用ARTSPConnection
有没有办法强制应用程序使用原生的stagefright (如果它存在于设备上)?
应用程序如何管理此兼容性问题?开发一个与某些品牌的手机不兼容的应用是不合理的
发布于 2014-01-29 04:22:15
LG完全有权用他们的引擎替换RTSP的AOSP实现。我现在没有LG设备来测试它的性能和优点(或缺点)。不管怎样,无论是stagefright还是它的替代品,都不是为了支持多个并发活动实例而设计的。我从来没有见过一个设备可以允许超过4。
幸运的是,使用1 GHz双核处理器(LG L9),您有足够的通用计算能力来解码四个270p的视频流,从而填满960x540屏幕。
发布于 2014-01-22 17:12:29
您可以检查设备的cpu兼容性.Suggest您移植的解码库,如vlc,ffmpeg,或gstreamer。
https://stackoverflow.com/questions/21257305
复制相似问题