海思3559A上编译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/xxxx" \
	--enable-shared \
	--enable-cross-compile \
	--target-os=linux \
	--arch=aarch64 \
	--cc=/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin/aarch64-himix100-linux-gcc \
	--cxx=/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin/aarch64-himix100-linux-g++ \
	--enable-gpl \
	--extra-libs=-ldl \
	--extra-cflags="-fPIC" \
	--extra-ldflags=-Wl,-Bsymbolic \
	--extra-libs="-lpthread -lm"
  1. 然后在依次执行:

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:

make STRIP=aarch64-himix100-linux-strip -j4

make STRIP=aarch64-himix100-linux-strip install

执行完后会在你指定的xxxx目录下生成bin, include, lib, share四个目录,其中bin目录下会包含2个可执行文件ffmpeg和ffprobe,执行此两个文件需要LD_LIBRARY_PATH指向动态库;include目录下包含8个ffmpeg模块的头文件;lib目录下包含生成的动态库和静态库;share目录包含了一些examples等文件;

  1. 将bin目录和lib下的动态库拷贝到海思板子上同一个目录下验证,执行结果如下,说明编译成功:

注意:如果出现“ln: failed to create symbolic link ‘libavutil.so’: Operation not supported”错误,请参考:添加链接描述
将ffmpeg源程序放入到ubuntu内部编译

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值