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
FFMPEG
の最新バージョンは3.1.1で、12日前にリリースされました。 この古いようなすぐに利用可能なデモ oneはないと思います。
FFMPEG
ライブラリを自分で構築する必要があります。ここに貼り付けたばかりのいくつかの質問が役立ちます。 (未検証)
Android用FFmpegのビルド方法
Android NDK & 最新バージョンのFFMPEG
をダウンロードして、自分でコンパイルする必要があります。
1つのチュートリアルもあります: Android用FFmpegのビルド方法 。これは非常に古いため、ここで説明するバージョンを変更するだけです。 FFMPEG
の場合、3.1.1
&NDKそれはr12b
。
Building FFMPEG
with NDK r12b:
ダウンロードAndroid NDK:Android NDKの最新バージョンは、 Android NDK website 。この回答を書いている時点では、最新バージョンはNDK r12です。単にアーカイブを解凍してください。
ffmpegソースコードのダウンロード:FFMPEGソースコードは ffmpegウェブサイト からダウンロードできます。最新の安定版リリースは3.1.1です(執筆時点)。ソースコードをダウンロードし、$ NDK/sourcesフォルダーに解凍します。
構成ファイルの更新:ffmpeg-3.1.1/configure fileをテキストエディターで開き、次の行を見つけます。
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)
Build 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
ビルド出力:ビルドは、コンピューターの速度によっては完了するのに時間がかかる場合があります。完了すると、$ NDK/sources/ffmpeg-3.1.1/Androidフォルダーが見つかります。このフォルダーにはarm/libフォルダーとarm/includeフォルダーが含まれています。
上記の手順は完全にテストされており、自分のマシンで実行し、ビルドは成功しました。この答えを書くために、私はこの記事からリファレンスを取りました NDK r9でffmpegをビルドする方法 しかし、以前のバージョンのように、私は自分でいくつかの修正を行いました。
疑問がある場合はご連絡ください。
私にとって役立つ次のURLをお勧めします:
http://androidwarzone.blogspot.in/2011/12/ffmpeg4Android.html
http://writingminds.github.io/ffmpeg-Android-Java/
https://androiddeveloperhelp.wordpress.com/2015/12/19/video-editing-Android-example/
知識について:
http://www.lai18.com/content/5175900.html
Androidスタジオソースコード:
https://drive.google.com/file/d/0B9qAjo6wKhk9MEpNNjMxaG5oWXM/view?usp=sharing
それはあなたを助けるかもしれません。
このリンクを見たことがありますかWritingmindsのFFmpegライブラリは、それに関するすべての説明を this link
ライブラリの最新バージョンを使用する場合は、build.gradle
いずれかのライブラリが更新されていない場合、それを見ることができ、build.gradle
、私は常に最新の利用可能なバージョンの多くのライブラリに対してこれを行います。
FFMpegのgradleには、これを使用します
compile 'com.writingminds:FFmpegAndroid:0.3.2'
これに類似したライブラリがこのリンクで提供されています https://Android-arsenal.com/details/1/925
また、 this que と this que を読むことをお勧めします
ネイティブコードを追加するには、これらのブログが役立ちます。
http://ffmpeg-Android.blogspot.in/ および
http://www.roman10.net/2011/07/17/how-to-build-Android-applications-based-on-ffmpeg-by-an-example/
私はffmpegの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
さらにサポートが必要な場合はお知らせください。喜んでお手伝いさせていただきます。