海思3531D上编译FFmpeg源码操作步骤

  1. 从https://github.com/FFmpeg/FFmpeg/releases 下载你需要的版本;

  2. 因为ffmpeg编译选项较多,为了更方便的了解有哪些选项,可将编译选项写入到一个文本文件configure_help.txt中,执行:

./configure --help > configure_help.txt
打开configure_help.txt,结果如下:会对支持的各个选项进行简单的介绍说明

3. 根据自己的实际需要,添加某些选项,这里只加了些必要的选项,放在了build.sh脚本里,如下,执行此脚本:

./configure \
	--prefix="/home/kanggo/hisi/prefix" \
	--enable-shared \
	--enable-cross-compile \
	--target-os=linux \
	--arch=arm \
	--cc=/opt/hisi-linux/x86-arm/arm-hisiv600-linux/bin/arm-hisiv600-linux-gnueabi-gcc \
	--cxx=/opt/hisi-linux/x86-arm/arm-hisiv600-linux/bin/arm-hisiv600-linux-gnueabi-g++ \
	--enable-gpl \
	--extra-libs=-ldl \
	--extra-cflags="-fPIC" \
	--extra-ldflags=-Wl,-Bsymbolic \
	--extra-libs="-lpthread -lm"

然后在依次执行:
make -j4
make install

出现错误:

STRIP ffprobe
strip: Unable to recognise the format of the input file `ffprobe_g’
Makefile:104: recipe for target ‘ffprobe’ failed
make: *** [ffprobe] Error 1
make: *** Waiting for unfinished jobs…

指定strip:
首先:export PATH=/opt/hisi-linux/x86-arm/arm-hisiv600-linux/target/bin:$PATH
make STRIP=arm-hisiv600-linux-strip -j4
make STRIP=arm-hisiv600-linux-strip install

  1. 执行完后会在你指定的xxxx目录下生成bin, include, lib, share四个目录,其中bin目录下会包含2个可执行文件ffmpeg和ffprobe,执行此两个文件需要LD_LIBRARY_PATH指向动态库;include目录下包含8个ffmpeg模块的头文件;lib目录下包含生成的动态库和静态库;share目录包含了一些examples等文件;
  2. 将bin目录和lib下的动态库拷贝到海思板子上同一个目录下验证,执行结果如下,说明编译成功:
    注意:如果出现“ln: failed to create symbolic link ‘libavutil.so’: Operation not supported”错误,请参考:添加链接描述
    将ffmpeg源程序放入到ubuntu内部编译
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值