linux编译ffmpeg_arm linux交叉编译x264 ffmpeg

嵌入式平台:RK3308

交叉编译工具:aarch64-linux-gnu-gcc

下载 x264:git clone VideoLAN / x264

配置,编译

./configure --prefix=/home/wpupup/arm-lib/x264 --enable-shared --enable-static --host=arm-linux --cross-prefix=aarch64-linux-gnu- --disable-opencl --enable-pic --disable-asm

f4b9c1e3efb93b2e452213e62158b954.png

然后make、makeinstall:

16047d2fc702390243d09c502f814329.png

c566656c35a788b3269bbf85f24852f1.png

make install后,会在预设的文件夹下面生成库文件

f864614874a3a729c3bb631528c86c98.png

编译ffmpeg,配置configure,添加x264的路径:

./configure 
        --prefix=/home/wpupup/arm-lib/ffmpeg 
        --enable-filters   
        --enable-asm 
        --enable-ffmpeg 
        --enable-ffplay 
        --enable-ffprobe 
        --enable-doc 
        --enable-cross-compile 
        --cross-prefix=aarch64-linux-gnu- 
        --arch=aarch64 
        --target-os=linux 
        --host-os=linux 
        --enable-gpl 
        --enable-version3 
        --enable-small 
        --enable-shared 
        --enable-static 
        --enable-encoder=rawvideo 
        --enable-encoder=mpeg2video 
        --enable-encoder=mp2 
        --enable-encoder=libx264 
        --enable-libx264 
        --enable-muxer=adts 
        --enable-muxer=mpegts 
        --enable-muxer=mpeg2video 
        --enable-muxer=rtsp 
        --enable-muxer=hls 
        --enable-muxer=h264 
        --enable-muxer=rtp 
        --enable-muxer=avi 
        --enable-muxer=flv 
        --enable-muxer=mp4 
        --enable-demuxer=mpegts 
        --enable-demuxer=rtsp 
        --enable-demuxer=hls 
        --enable-demuxer=h264 
        --enable-demuxer=rtp 
        --enable-demuxer=flv 
        --enable-muxer=mp4 
        --enable-demuxer=mpegts 
        --enable-demuxer=rtsp 
        --enable-demuxer=hls 
        --enable-demuxer=h264 
        --enable-demuxer=rtp 
        --enable-demuxer=flv 
        --enable-demuxer=avi 
        --enable-demuxer=mpegps 
        --enable-demuxer=mpegtsraw 
        --enable-demuxer=mpegvideo 
        --enable-parser=aac 
        --enable-parser=h264 
        --enable-parser=mpeg4video 
        --enable-parser=mpegvideo 
        --enable-parser=mpegaudio 
        --enable-bsf=h264_mp4toannexb 
        --enable-protocol=http 
        --enable-protocol=rtp 
        --enable-protocol=rtmpts 
        --enable-protocol=https 
        --enable-protocol=hls 
        --enable-protocol=file 
        --enable-protocol=data 
        --enable-gray  
        --enable-safe-bitstream-reader 
        --enable-swscale 
        --enable-swscale-alpha 
        --enable-filter=scale 
        --extra-cflags="-I/home/wpupup/arm-lib/x264/include" 
        --extra-ldflags="-L/home/wpupup/arm-lib/x264/lib"

然后 make make install ,在预设的路径下,会生成如下图所示的库文件

6b627a6f2ee90a98dada4ab0f6a1a859.png

最后做个简单的测试:

#include<libavutil/opt.h>
#include<libavcodec/avcodec.h>
#include<libavutil/common.h>
#include<libavutil/imgutils.h>
#include<libavutil/mathematics.h>
#include <libavutil/samplefmt.h>

void main()
{
avcodec_register_all();
}

更完整的configure

编译FFmpeg需要使用交叉编译器,以便将代码编译成目标平台上的可执行文件。 以下是在Linux编译FFmpeg的步骤: 1. 安装交叉编译工具链 首先需要安装适用于目标平台的交叉编译工具链。如果你使用的是Ubuntu操作系统,可以通过以下命令来安装: ``` sudo apt-get install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu ``` 2. 下载FFmpeg源代码 可以从FFmpeg官网下载最新的源代码包,也可以使用Git从源码库中获取: ``` git clone https://git.ffmpeg.org/ffmpeg.git ``` 3. 配置交叉编译环境 在进行编译之前,需要配置环境变量,以告知编译器使用交叉编译工具链。可以使用以下命令配置编译环境: ``` export PATH=/usr/bin:$PATH export ARCH=arm64 export CROSS_COMPILE=aarch64-linux-gnu- ``` 4. 配置FFmpeg编译选项 在配置FFmpeg编译选项之前,需要安装一些依赖库,可以使用以下命令安装: ``` sudo apt-get install yasm libx264-dev libx265-dev libvpx-dev libfdk-aac-dev libmp3lame-dev libopus-dev ``` 然后进入FFmpeg源代码目录,运行以下命令进行配置: ``` ./configure --arch=arm64 --cross-prefix=aarch64-linux-gnu- --target-os=linux --prefix=/usr/local --enable-shared --disable-static --enable-gpl --enable-libx264 --enable-libx265 --enable-libvpx --enable-libfdk-aac --enable-libmp3lame --enable-libopus ``` 其中,--arch指定目标平台的架构,--cross-prefix指定交叉编译器前缀,--target-os指定目标平台的操作系统,--prefix指定安装路径,--enable-shared指定编译成动态库,--disable-static指定禁止编译成静态库,--enable-gpl指定启用GPL协议,--enable-libx264指定启用x264编码器,--enable-libx265指定启用x265编码器,--enable-libvpx指定启用VP8/VP9编码器,--enable-libfdk-aac指定启用FDK-AAC编码器,--enable-libmp3lame指定启用MP3编码器,--enable-libopus指定启用Opus编码器。 5. 编译和安装 配置完成后,可以使用以下命令进行编译和安装: ``` make -j8 && sudo make install ``` 其中,-j8指定使用8个线程进行编译,可以根据实际情况进行调整。 编译完成后,FFmpeg将被安装到指定的路径下。可以通过以下命令查看安装的FFmpeg版本: ``` ffmpeg -version ``` 以上就是在Linux编译FFmpeg的步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值