An open API service indexing awesome lists of open source software.

https://github.com/czl0325/ffmpegtest-android

ffmpeg在android系统的编译导入以及开发
https://github.com/czl0325/ffmpegtest-android

Last synced: 3 months ago
JSON representation

ffmpeg在android系统的编译导入以及开发

Awesome Lists containing this project

README

        

# FFmpegTest-Android
ffmpeg在android系统的编译导入以及开发

## 下载ffmpeg库

下载地址: http://ffmpeg.org/ 点击download,我这边下载的是 4.0.2版本。

## 编译ffmpeg库

把下载库解压后拷贝到ubuntu系统中,我放在桌面上,另外可以在桌面上建一个文件夹,用来存放编译后生成的库,文件夹取名叫ffmpeg

```
$ sudo apt-get install yasm

$ ./configure --enable-shared --disable-static --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-doc --prefix=/usr/myffmpeg/

# 修改一下关于configure的配置,有些库不需要编译,只编译动态库,不编译静态库

$ make #漫长的等待

$ sudo make install
```

#### 问题

编译出来会发现so文件是.so.56 如libavformat.so.58 这个在安卓里面是识别不到的,必须把.so放在最后面,这时候就要修改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)'
```

改成

```
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
SLIB_INSTALL_LINKS='$(SLIBNAME)'
```

这样打包就没有问题了

## 创建工程

打开Android studio ,新建一个ndk工程。