T113 如何移植ffmpeg
-
请教如何通过buildroot 移植 ffmpeg的方法。
-
@m_xiaotao
移植了一个ffmpeg 但是使用ffmpeg 不能进行播放 -
@m_xiaotao 我移植了能播放就是很卡,没法用,放弃了,可能是内存不足。
首先,我们需要安装ARM架构的交叉编译工具链: 1. **下载musl.cc的ARM交叉编译工具链** ```bash wget https://musl.cc/arm-linux-musleabihf-cross.tgz
-
解压到/opt目录
sudo tar -xzf arm-linux-musleabihf-cross.tgz -C /opt/
-
添加工具链到PATH环境变量
echo 'export PATH=/opt/arm-linux-musleabihf-cross/bin:$PATH' >> ~/.bashrc
-
使环境变量生效
source ~/.bashrc
-
验证交叉编译器是否安装成功
arm-linux-musleabihf-gcc --version
编译FFmpeg
获取FFmpeg源码
# 克隆FFmpeg源码(或使用wget下载) git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg cd ffmpeg
配置编译选项
使用以下配置命令为ARM设备编译FFmpeg:
./configure \ --cross-prefix=arm-linux-musleabihf- \ --enable-cross-compile \ --target-os=linux \ --arch=arm \ --cc=arm-linux-musleabihf-gcc \ --prefix=../output \ --extra-cflags="-mcpu=cortex-a7 -mfpu=neon-vfpv4 -static" \ --extra-ldflags="-static" \ --enable-static \ --disable-shared \ --enable-ffmpeg \ --enable-ffprobe \ --disable-doc
开始编译
# 使用4个线程并行编译 make -j4 && make install
编译完成后,所有生成的文件将位于
../output
目录中。部署到ARM设备
推送文件到设备
使用ADB将编译好的FFmpeg推送到设备:
-
推送bin和lib目录到设备的/mnt/UDISK目录
adb push bin /mnt/UDISK adb push lib /mnt/UDISK
-
为ffmpeg添加可执行权限
adb shell chmod +x /mnt/UDISK/bin/ffmpeg
-
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号