2012-02-18 40 views
1

我必須能夠在2.2版本的Android操作系統上播放HLS流。我曾經做過的現有可能性研究:是否可以在較舊的Android版本上使用來自ICS的本機庫?

  1. 我可以使用一些第三方的東西,如Vitamio。它可以工作,但是源代碼已關閉,性能相當差,它們的插件向中國某處發送了一些用戶信息,我不想通過安裝第三方軟件來打擾用戶......所以這不是一個好的選擇依我看來。

  2. 我可以嘗試構建一些FFmpeg框架的Android端口,其中至少有三個,但至今我還沒有能夠構建至少一個。我認爲它需要更多的耐心和谷歌搜索...但是,如果成功,許可也存在問題 - 不像Vitamio那麼嚴重,如果需要,我願意向MPEG LA支付許可費用,但它仍然根據LGPA。

最後,我得到了一個想法,使用ICS的MediaPlayer,它已經支持HLS流。我的計劃是從最新的來源構建Android Stagefright媒體引擎,以獲取所有本地庫並將它們與我的應用程序一起分發。

我已經成功構建了所有Android的東西;獲得了我需要的所有本地庫,但是現在我有一個問題可以將它們加載到Froyo上。我已將庫放入項目庫文件夾中,但應用程序拒絕加載它們。它會加載原始系統庫 - 如果它們存在於當前版本中。

所以我的問題是,如果有可能使用舊的更高版本的Android的本地庫。如果是這樣,那麼我做錯了什麼。我如何強制我的應用程序從其libs文件夾加載ICS本地庫?它甚至有可能嗎?

任何意見,建議,想法都高度讚賞...

+0

你最終走哪條路?我需要做類似的事情。 – colabug 2012-10-17 19:49:54

+0

我必須根據該庫中的FFmpeg和ffplay.c示例創建我自己的播放器 - 3個月的工作...試試本教程:http://www.roman10.net/how-to-build-ffmpeg-for -android /有一個構建腳本,可以在百分之百的工作。另請查看Aatral Arasu的海豚玩家:http://code.google.com/p/dolphin-player/您可以找到很多靈感。 – vitakot 2012-10-17 23:52:21

回答

1

您可以嘗試一些開源視頻播放器,如VLC或mplayer的,其中有Android版本。

你可以使用ICS庫,購買你需要做許多工作來修改和編譯你的目標Android版本。我在一些應用程序中使用了ICS的一些代碼。

+0

感謝您的回覆。我知道有像VLC或mplayer這樣的解決方案,但不幸的是,在我的情況下,這是不行的。除了符合LGPL要求的聲明外,客戶需要他自己的解決方案,而不提及任何第三方內容...我使用FFmpeg + SDL解決方案。 – vitakot 2012-03-05 10:51:38

+0

我的意思是你可能會在Android的VLC中找到一些解決方案。您可以使用Android Surface渲染像素,並使用AudioTrack輸出音頻。只需通過JNI。表現很好。我爲Android寫了VPlayer。 – 2012-03-06 09:33:19

+0

您是VPlayer的作者嗎?偉大的工作人!其實,我有兩個版本的項目。一個是AudioTrack + jnigraphics,另一個是SDL。兩者都使用FFmpeg,使用起來相當簡單。 A/V解碼完全不是問題,但有一件事我很擔心 - A/V同步......我沒有時間成爲英雄,所以我嘗試使用「標準」FFmpeg + SDL解決方案......表現現在不是問題;我有一個非常有限的時間來提供一個工作原型,所以我必須走最簡單的方法,並可能在未來改進我的解決方案。 – vitakot 2012-03-06 13:22:30

相關問題