ffmpeg与x264编译共享库

7 篇文章 1 订阅


前言

最近在centos系统上开发需要用到ffmpeglibavocedc等动态库,需要编译出ffmpeg的动态库。


编译

Yasm

YsamX264FFmpeg使用的汇编程序。

资源路径

https://pkgs.org/download/yasm

http://www.tortall.net/projects/yasm/releases/ 以这个为准 1.2.0以上版本

./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"

make

make install


libx264

libx264 视频编码器。更多说明和用法示例可以参考:https://trac.ffmpeg.org/wiki/Encode/H.264 
需要ffmpeg编译的时候添加–enable-gpl –enable-libx264

http://download.videolan.org/x264/snapshots/ 资源

git clone --depth 1 http://git.videolan.org/git/x264 

cd x264

PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"--enable-shared

make

make install

make distclean


ffmpeg

./configure --enable-gpl --enable-nonfree --yasmexe=/home/zhengbin2/bin/yasm --prefix=/home/zhengbin2/ffmpeg_build --cc= --enable-shared --disable-debug --extra-cflags='-I/home/zhengbin2/ffmpeg_build/include' --extra-ldflags='-L/home/zhengbin2/ffmpeg_build/lib -lm -ldl' --bindir="/home/zhengbin2/bin" --disable-ffplay --disable-ffprobe --disable-ffserver --disable-doc --enable-postproc --enable-bzlib --enable-zlib --enable-parsers --enable-libx264 --enable-pthreads --extra-libs=-lpthread --enable-encoders --enable-decoders --enable-avfilter --enable-muxers --enable-demuxers

make

makeinstall

 

问题

ffmpeg编译过程中如出现,我使用的是ffmpeg-3.3.1版本

 

/usr/bin/ld: libavcodec/mqc.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC

libavcodec/mqc.o: error adding symbols: Bad value

collect2: error: ld returned 1 exit status

 

解决方法:

config.mak文件Line88(不同版本位置可能不同)加上-fPIC,然后重新编译。


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值