X264简介-Android使用(二)
4、Ubuntu上安装ffmpeg:
检查更新本地软件包(如果未更新,reboot Vmware):
sudo apt update
sudo apt upgrade
官网下载的source文件安装: http://ffmpeg.org/
下载完成后,到根目录执行:
make
make install
查看FFMpeg版本:
ffmpeg –version

Tips 如果查看ffmpeg出现如下错误:

解办法->配置ffmpeg的环境变量:
环境变量:
vi /etc/profile

在开启的配置文件末尾添加如下配置:
#set ffmpeg path environment
PATH=$PATH:/snap/ffmpeg/current/bin
export PATH
编译ffmpeg
sh脚本"build_ffmpeg.sh":
#!/bin/bash
export NDK=/home/bruceli/Work/android-ndk-r25d
export PREBUILD=$NDK/toolchains/llvm/prebuilt
export CROSS_PREFIX=${PREBUILD}/linux-x86_64/bin/arm-linux-androideabi-
export CC=$PREBUILD/linux-x86_64/bin/armv7a-linux-androideabi21-clang
export NM=$CROSS_PREFIXnm
export AR=$CROSS_PREFIXar
export PREFIX=./android/armeabi-v7a
function build_so
{
./configure \
--prefix=$PREFIX \
--cc=$CC \
--nm=$NM \
--ar=$AR \
--enable-small \
--disable-programs \
--disable-avdevice \
--disable-encoders \
--disable-muxers \
--disable-filters \
--cross-prefix=$CROSS_PREFIX \
--target-os=android \
--arch=arm \
--disable-shared \
--enable-static \
--enable-cross-compile
}
make clean
build_so
make -j4
make install
}
将以上脚本放置与ffmpeg的根目录,并执行:
./build_ffmpeg.sh
Tips 出现以下错误
错误: make: *** [libavfilter/libavfilter.a] 错误 127
解决方案一->授权r25c文件夹权限(NG):
chmod +777 -R android-ndk-r25c/
解决方案二->install libavfilter(NG):
sudo apt-get install -y libavfilter-dev
解决方案三->配置 android-ndk-r21e 版本的NDK(SUCCESS):
...
export NDK=/home/bruceli/Work/android-ndk-r21e
...
文件生成路径:/home/bruceli/Work/ffmpeg-5.1.2/android/armeabi-v7a
运行结果:

下载NDK:
LINK1:
wget -c http://dl.google.com/android/ndk/android-ndk-r25c-linux-x86_64.bin
LINK2: https://developer.android.google.cn/ndk/downloads?hl=zh-cn
DOC: https://developer.android.google.cn/ndk/guides/other_build_systems?hl=zh-cn
配置NDK环境变量: 编辑
sudo gedit ~/.bashrc
文件末尾添加路径
export NDK=/文件夹路径
export PATH=${PATH}:$NDK
保存文件
source ~/.bashrc
build ndk:
ndk-build

本文详细介绍了在Ubuntu上编译ffmpeg和x264库的过程,包括配置环境变量、解决编译错误、设置参数以及生成的库文件在Android项目中的使用。此外,还涉及到YUV格式、视频编码和H.264的SPS与PPS概念。
最低0.47元/天 解锁文章
1590

被折叠的 条评论
为什么被折叠?



