2014-01-21 18 views
3

我在使用videoview(或MediaPlayer)在同一活動的多個視頻中播放rtsp流時遇到兼容性問題。Videoview在不同智能手機上的行爲(使用不同stagefright)

我已經在這個問題上打開了另一個問題here但現在我知道這不是我的代碼的責任,因爲我在不同的手機上測試相同的軟件,它的工作。

查看logcat的信息消息RTSP設置我看到每個手機有不同的實現怯場的(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上失敗(請參閱錯誤here)。 另一個有趣的事情是,只有LG使用RtspEngine,其他人使用ARTSPConnection

有一種方法來強制應用程序使用本機stagefright(如果它存在於設備上)?

應用程序如何管理此兼容性問題? 開發不兼容某些品牌手機的應用程序是不合理的

回答

1

您可以檢查設備CPU兼容性。建議您移植解碼庫,如vlc,ffmpeg或gstreamer。

+0

cpu兼容性是什麼? – tulkas85

+0

如armeabi,armeabi-v7a,vfp,霓虹燈等。 – hoafer

3

LG有權利用他們的引擎取代RTSP的AOSP實施。我現在沒有LG設備來測試其性能和優勢(或劣勢)。無論如何,stagefright和其替代品都不支持多個併發活動實例。我從來沒有見過一個設備可以超過4個。

幸運的是,在1 GHz雙核CPU(LG L9)下,您有足夠的通用計算能力來解碼270p的四個視頻流,以填充960 x 540屏幕,使用ffmpeg或gstreamer。

+0

好的謝謝,但Lg從第二個視頻流崩潰(有一個錯誤?),而其他測試設備工作在兩個和四個流。 – tulkas85

相關問題