[英]Backport stagefright and NuPlayer to Android 2.2
我的要求是能夠在我的Android應用中播放實時視頻流。 流將通過RTSP / RTP。 我無法控制來源; 並且看起來RTP有效負載不滿足《開發人員指南》中概述的要求視頻編碼建議 。 具體而言,視頻源似乎違反了以下要求:
對於3GPP和MPEG-4容器,moov原子必須在任何mdat原子之前,但必須在ftyp原子之后
基本上,看起來我們獲得了原始H264數據(未包裝在容器中)。
現在,
MediaPlayer
類播放此流。 在上述情況2和3中,DDMS日志均指出內部使用Stage Fright框架,而在情況1中,則使用PVP(即OpenCore)。 所有這些使我得出以下結論:
這使我想到了一個問題:
將stagefright移植到Android 2.2涉及什么?
此外,我在AOSP來源中注意到,較新的NuPlayer
現在負責播放RTSP流。 題:
- 是否可以將
NuPlayer
回舊版本的Android(2.2或2.3)?- 如果是這樣,我需要怎么做才能在應用程序中使用它?
我知道我可以檢查源代碼並使用NDK來構建stagefright和NuPlayer(盡管我從未在NDK級別上工作過)。 我不知道我的應用程序如何才能使用此NuPlayer。
我遇到了類似的問題,但是找到了一個解決方案。 您必須修補系統build.prob文件。 請看看我的問題,我也發布了答案。
默認情況下,stagefright在build.prop文件中保持禁用狀態。 您必須啟用它並重新啟動設備。 然后,您可以訪問滿足您需求的stagefright框架。
對於RTSP流,請在您的遠程機器中下載live555MediaServer.exe文件,並將某些媒體文件保留在同一位置。 打開live555MediaServer.exe文件。
使用以下代碼-
private final String RTSP_FILE = "rtsp://<remote machine IP>/<file name>";
mVideoView.setVideoURI(Uri.parse(RTSP_FILE));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.