Rav*_*ela 47 java video android ffmpeg android-studio
我想FFMPEG
在android studio中配置,但我无法获得任何文档或链接.许多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
Jan*_*iya 36
最新版本FFMPEG
是3.1.1,刚刚在12天之前发布.所以我认为没有像这个旧版本那样容易获得的演示.
我们需要自己构建FFMPEG
库.我发现的一些问题只是粘贴在这里可能对你有帮助.(未测试)
如何为Android构建FFmpeg
您需要通过下载Android NDK和最新版本来自行FFMPEG
编译.
还有一个教程:如何为Android构建FFmpeg.这已经很老了所以你只需要更改这里提到的版本.因为FFMPEG
它将是3.1.1
&NDK r12b
.
建立FFMPEG
与NDK R12B:
下载Android NDK:可以在Android NDK网站下载最新版本的Android NDK .在撰写本回答时,最新版本是NDK r12.只需解压缩档案
下载ffmpeg源代码:FFMPEG源代码可以从ffmpeg网站下载.最新的稳定版本是3.1.1(在撰写本文时).下载源代码并将其解压缩到$ NDK/sources文件夹.
更新配置文件:使用文本编辑器打开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)'
Run Code Online (Sandbox Code Playgroud)
这会导致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)
Run Code Online (Sandbox Code Playgroud)构建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
Run Code Online (Sandbox Code Playgroud)
保存文件后,转到该文件所在的目录并执行以下命令,
sudo chmod +x build_android.sh
Run Code Online (Sandbox Code Playgroud)
然后通过命令执行脚本,
./build_android.sh
Run Code Online (Sandbox Code Playgroud)构建输出:构建可能需要一段时间才能完成,具体取决于您的计算机速度.一旦完成,你应该能够找到一个文件夹$ NDK/sources/ffmpeg-3.1.1/android,其中包含arm/lib和arm/include文件夹.
上面的步骤已经过全面测试,我在我的机器上执行它们,并且构建成功.为了写这个答案我已经从这篇文章中引用了如何使用NDK r9构建ffmpeg 但是因为它是旧版本我自己做了一些修改.
打开询问任何疑问.
小智 13
我建议您使用以下有助于我的网址:
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库在这个链接中提供了关于它的所有解释
如果你想使用任何库的最新版本,你可以直接进行,build.gradle
因为如果没有更新任何库,可以看到并且可以更新build.gradle
,我总是为许多库执行此操作以获取最新版本.
对于FFMpeg中的gradle,请使用此选项
compile 'com.writingminds:FFmpegAndroid:0.3.2'
Run Code Online (Sandbox Code Playgroud)
此链接提供了更多类似于它的库 https://android-arsenal.com/details/1/925
要添加本机代码,这些博客可能会帮助您
http://ffmpeg-android.blogspot.in/和
http://www.roman10.net/2011/07/17/how-to-build-android-applications-based-on-ffmpeg-by-an-example/
归档时间: |
|
查看次数: |
16678 次 |
最近记录: |