2009-02-28 109 views
5

在我的程序中,它獲取了MP4視頻,並且我希望它輸出MP3(沒有任何服務器端的東西)。由於Android(以及我的應用)需要在許多不同的硬件配置上運行這意味着我可能不能使用FFMPEG。我知道這可能是電池和處理能力非常強大,特別是對於手機,但我需要這種選擇給我的用戶。我無法找到任何不使用FFMPEG的Java本地庫。從視頻中安裝脫機音頻

回答

2

我看到FFMPEG小問題,因爲apparently it runs on 11架構Debian支持。只有不支持的體系結構顯然是m68k,其他的是在FreeBSD內核或Hurd內核中的舊版本。從我所瞭解的Android來看,基於ARM的事實不會很快改變。

當然,本地代碼的Java包裝可能存在一些問題。這是問題嗎?我不是Android和Java程序員,但我確信您可以檢測到平臺並動態加載適當的本機包裝。

1

我還沒有使用它,但我下載了並正在查看IBM Toolkit for MPEG-4的API。儘管如此,它對數據訪問功能看起來有點輕鬆。不過,這個實現是純java的。看起來他們已經混淆了他們的編解碼器罐子。

4

MPEG_4 Part 14(.mp4文件擴展名)是一個容器格式。換句話說,這指定了如何將多個媒體流打包在一起。處理容器格式在計算上比在視頻壓縮或解壓縮時要昂貴得多。如果通過.mp4文件讀取並在手機ARM處理器上提取音頻流的計算量過大,我會感到驚訝。

我還沒有看到任何立即適合的Java庫。建立自己的圖書館可能不會太難。解析容器格式比解壓縮視頻簡單得多。並且您在ffmpeg中具有libavformat實現作爲參考。該MPEG4第14部分標準可以在這裏找到:

http://webstore.iec.ch/preview/info_isoiec14496-14%7Bed1.0%7Den.pdf

這裏:

http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html