web-dev-qa-db-ja.com

Android: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

47
Ravi Vaghela

FFMPEGの最新バージョンは3.1.1で、12日前にリリースされました。 この古いようなすぐに利用可能なデモ oneはないと思います。

FFMPEGライブラリを自分で構築する必要があります。ここに貼り付けたばかりのいくつかの質問が役立ちます。 (未検証)

Android用FFmpegのビルド方法

  1. Android NDK r1 でFFmpeg 2.3をコンパイル
  2. Android-ndk-r10dを使用するWindowsでffmpeg-2.5.3をコンパイルする方法
  3. cygwinおよびAndroid ndk r9c を備えたウィンドウでffmpeg-2.2.2をコンパイルする方法
  4. WindowsでAndroid-ndk-r10dでffmpegをbuidする方法

Android NDK最新バージョンのFFMPEG をダウンロードして、自分でコンパイルする必要があります。

1つのチュートリアルもあります: Android用FFmpegのビルド方法 。これは非常に古いため、ここで説明するバージョンを変更するだけです。 FFMPEGの場合、3.1.1&NDKそれはr12b


Building FFMPEG with NDK r12b:

  1. ダウンロードAndroid NDK:Android NDKの最新バージョンは、 Android NDK website 。この回答を書いている時点では、最新バージョンはNDK r12です。単にアーカイブを解凍してください。

  2. ffmpegソースコードのダウンロード:FFMPEGソースコードは ffmpegウェブサイト からダウンロードできます。最新の安定版リリースは3.1.1です(執筆時点)。ソースコードをダウンロードし、$ NDK/sourcesフォルダーに解凍します。

  3. 構成ファイルの更新: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)
    
  4. 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
    
  5. ビルド出力:ビルドは、コンピューターの速度によっては完了するのに時間がかかる場合があります。完了すると、$ NDK/sources/ffmpeg-3.1.1/Androidフォルダーが見つかります。このフォルダーにはarm/libフォルダーとarm/includeフォルダーが含まれています。

  6. プロジェクトでffmpegライブラリを使用可能にする

上記の手順は完全にテストされており、自分のマシンで実行し、ビルドは成功しました。この答えを書くために、私はこの記事からリファレンスを取りました NDK r9でffmpegをビルドする方法 しかし、以前のバージョンのように、私は自分でいくつかの修正を行いました。

疑問がある場合はご連絡ください。

36
Janki Gadhiya
13
parik dhakan

このリンクを見たことがありますかWritingmindsのFFmpegライブラリは、それに関するすべての説明を this link

そのライブラリのwritemindの最新バージョンはこちら https://github.com/WritingMinds/ffmpeg-Android-Java/releasesenter image description here

ライブラリの最新バージョンを使用する場合は、build.gradleいずれかのライブラリが更新されていない場合、それを見ることができ、build.gradle、私は常に最新の利用可能なバージョンの多くのライブラリに対してこれを行います。

FFMpegのgradleには、これを使用します

compile 'com.writingminds:FFmpegAndroid:0.3.2'

これに類似したライブラリがこのリンクで提供されています https://Android-arsenal.com/details/1/925

また、 this quethis que を読むことをお勧めします

オリジナルライブラリの最新バージョンを使用する場合は、ここにアクセスしてください: FFmpeg[最新バージョンは here ]

ネイティブコードを追加するには、これらのブログが役立ちます。

http://ffmpeg-Android.blogspot.in/ および

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

5
TapanHP

私は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

さらにサポートが必要な場合はお知らせください。喜んでお手伝いさせていただきます。

1
Juvi