簡體   English   中英

Android:如何在android studio中配置FFMPEG最新版本?

[英]Android: How to configure FFMPEG latest version in android studio?

我想在android studio中配置FFMPEG ,但我無法獲得任何文檔或鏈接。 許多FFMPEG lib上的Github可用於Android,但都是舊版本。 以及如何在android中運行命令? 我想知道在配置FFMPEG之后我們如何運行FFMPEG命令。 幫助我。 謝謝你。

我使用下面的鏈接但沒有成功的最新版本。

http://writingminds.github.io/ffmpeg-android-java

https://github.com/WritingMinds/ffmpeg-android-java

https://github.com/havlenapetr/FFMpeg

https://github.com/appunite/AndroidFFmpeg

https://github.com/WritingMinds/ffmpeg-android

最新版本的FFMPEG是3.1.1,剛剛在12天之前發布。 所以我認為沒有像這個舊版本那樣容易獲得的演示

我們需要自己構建FFMPEG庫。 我發現的一些問題只是粘貼在這里可能對你有幫助。 (未測試)

如何為Android構建FFmpeg

  1. 使用Android NDK r10編譯FFmpeg 2.3
  2. 如何使用android-ndk-r10d在windows上編譯ffmpeg-2.5.3
  3. 如何使用cygwin和android ndk r9c在windows上編譯ffmpeg-2.2.2
  4. 如何在windows中用android-ndk-r10d補充ffmpeg

您需要通過下載Android NDK最新版本的FFMPEG來自行編譯。

還有一個教程: 如何為Android構建FFmpeg 這已經很老了所以你只需要更改這里提到的版本。 對於FFMPEG ,它將是3.1.1和NDK,它將是r12b


使用NDK r12b構建FFMPEG

  1. 下載Android NDK :可以在Android NDK網站下載最新版本的Android NDK。 在撰寫本回答時,最新版本是NDK r12。 只需解壓縮檔案

  2. 下載ffmpeg源代碼 :FFMPEG源代碼可以從ffmpeg網站下載。 最新的穩定版本是3.1.1(在撰寫本文時)。 下載源代碼並將其解壓縮到$ NDK / sources文件夾。

  3. 更新配置文件:使用文本編輯器打開ffmpeg-3.1.1 / configure文件,並找到以下行。

     SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)' LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"' SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)' SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)' 

    這會導致ffmpeg共享庫被編譯為libavcodec.so。 (例如libavcodec.so.55),它與Android構建系統不兼容。 因此,我們需要用以下行替換上面的行。

     SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)' LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"' SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)' SLIB_INSTALL_LINKS='$(SLIBNAME) 
  4. 構建ffmpeg:將以下文本復制到文本編輯器,並將其保存為ffmpeg_3.1.1文件夾中的build_android.sh。

      #!/bin/bash NDK=$HOME/Desktop/adt/android-ndk-r9 SYSROOT=$NDK/platforms/android-9/arch-arm/ TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64 function build_one { ./configure --prefix=$PREFIX --enable-shared --disable-static --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-avdevice --disable-doc --disable-symver --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- --target-os=linux --arch=arm --enable-cross-compile --sysroot=$SYSROOT --extra-cflags="-Os -fpic $ADDI_CFLAGS" --extra-ldflags="$ADDI_LDFLAGS" $ADDITIONAL_CONFIGURE_FLAG make clean make make install } CPU=arm PREFIX=$(pwd)/android/$CPU ADDI_CFLAGS="-marm" build_one 

    保存文件后,轉到該文件所在的目錄並執行以下命令,

     sudo chmod +x build_android.sh 

    然后通過命令執行腳本,

     ./build_android.sh 
  5. 構建輸出:構建可能需要一段時間才能完成,具體取決於您的計算機速度。 一旦完成,你應該能夠找到一個文件夾$ NDK / sources / ffmpeg-3.1.1 / android,其中包含arm / lib和arm / include文件夾。

  6. 為您的項目提供ffmpeg庫

上面的步驟已經過全面測試,我在我的機器上執行它們,並且構建成功。 為了寫這個答案我已經從這篇文章中引用了如何使用NDK r9構建ffmpeg但是因為它是舊版本我自己做了一些修改。

打開詢問任何疑問。

你有沒有看到這個鏈接: Writingminds的FFmpeg庫在這個鏈接中提供了關於它的所有解釋

該庫的最新版本是在這里寫的https://github.com/WritingMinds/ffmpeg-android-java/releases 在此輸入圖像描述

如果你想使用任何庫的最新版本,你可以直接在build.gradle執行它,因為如果沒有更新任何庫,可以看到它並且可以從build.gradle更新,我總是為許多庫執行此操作以獲取最新版本版。

對於FFMpeg中的gradle,請使用此選項

compile 'com.writingminds:FFmpegAndroid:0.3.2'

此鏈接提供了更多類似於它的庫https://android-arsenal.com/details/1/925

另外我建議你讀這個闕這個闕

如果你想使用最新版本的原始圖書館,請訪問: FFmpeg [最新版本將在這里 ]

要添加本機代碼,這些博客可能會幫助您

http://ffmpeg-android.blogspot.in/

http://www.roman10.net/2011/07/17/how-to-build-android-applications-based-on-ffmpeg-by-an-example/

我已經在ffmpeg for android中經歷了幾個星期。

這個名為FFmpeg4Android的庫可以在WarZone找到。

我知道標題是從2011年12月6日開始的,但我已經測試並使用它,它運行順利。 您還沒有提到您對此庫的確切需求,但您可以在官方網站上閱讀有關ffmpeg功能的內容。

FFmpeg4Android有一個示例項目,可以作為一個很好的參考,並且他們的支持是立即和明確的。

命令根據您的字符串輸入運行,例如:

ffmpeg -y -i /sdcard/videokit/in.mp4-strict experimental -s 160x120 -r 25 -vcodec mpeg4 -b 150k -ab 48000 -ac 2 -ar 22050 /sdcard/videokit/out.mp4

如果您需要進一步的幫助,請告訴我,我很樂意為您提供幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM