我所用的编译环境 Ubuntu16.04
交叉编译器:arm-hisiv300-linux-gcc
首先我们要安装先x264
1.x264的编译(具体路径需要自己配置)
CC=arm-hisiv300-linux-gcc ./configure \
--host=arm-hisiv300-linux \
--prefix=/home/lhh/Hi3536Ffmpeg/x264_hisi/x264-master\
--cross-prefix=/home/lhh/Hi3536/SDK/Hi3536_SDK_V2.0.6.0/osdrv/opensource/toolchain/arm-hisiv300-linux- \
--enable-static \
--enable-shared \
其中prefix= 后面跟的是x264的安装路径
cross-prefix= 后面跟的是交叉编译器的安装路径
make
make install
2.ffmpeg的编译
第一种指令方式:
./configure --prefix=/home/lhh/Hi3536Ffmpeg/ffmpeg-3.4.11/output //交叉编译后的文件
--arch=arm --target-os=linux
--enable-cross-compile
--cross-prefix=arm-hisiv300-linux-
--enable-shared
--enable-libx264
--enable-gpl --enable-pic
--extra-cflags="-I/home/lhh/Hi3536Ffmpeg/x264_hisi/x264-master--cross-prefix=/home/lhh/Hi3536/SDK/Hi3536_SDK_V2.0.6.0/osdrv/opensource/toolchain/arm-hisiv300-linux-/include"
--extra-ldflags="-L/home/lhh/Hi3536Ffmpeg/x264_hisi/x264-master--cross-prefix=/home/lhh/Hi3536/SDK/Hi3536_SDK_V2.0.6.0/osdrv/opensource/toolchain/arm-hisiv300-linux-/lib"
第二种方式:
./configure \
--prefix=/home/lhh/HI/output1 \
--enable-filters \
--enable-asm \
--enable-ffmpeg \
--enable-ffplay \
--enable-ffprobe \
--enable-doc \
--enable-cross-compile \
--cross-prefix=arm-hisiv300-linux- \
--arch=arm \
--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 \
--extra-cflags="-I/home/lhh/Hi3536Ffmpeg/x264_hisi/x264-master--cross-prefix=/home/lhh/Hi3536/SDK/Hi3536_SDK_V2.0.6.0/osdrv/opensource/toolchain/arm-hisiv300-linux-/include" \
--extra-ldflags="-L/home/lhh/Hi3536Ffmpeg/x264_hisi/x264-master--cross-prefix=/home/lhh/Hi3536/SDK/Hi3536_SDK_V2.0.6.0/osdrv/opensource/toolchain/arm-hisiv300-linux-/lib"
--prefix 后面是生成路径
其中extra-cflags 后面是x264编译过后的include目录路径
extra-ldflags后面跟的是x264编译过后的lib目录路径
输入指令的效果:
make -j8
make install
另外交叉编译生成的库文件有想要的可以私信我一下