ffmpeg源码编译

本文详细介绍了如何在Linux环境中编译ffmpeg源码,包括拷贝源码、清除编译残留、配置编译选项、生成静态库和动态库、链接生成可执行文件的过程。在配置时特别设置了禁用动态库的生成,只产生静态库,并最终成功创建了一个名为libffmpeg.so的动态库。通过链接静态库并解决依赖问题,实现了ffplay的运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、将ffmpeg的源码拷贝一份放在Linux的tmp目录下,采用如下命令。
     
      cp src -rf /tmp/

(tmp目录是Linux下自带目录,在tmp目录下所做的操作,会在虚拟机关机时清除,下次开启虚拟机时不保存。)
 
2、进入tmp目录,可查看已有ffmpeg的源码src文件夹。
3、 恢复环境,清除掉编译产生的.a 与.so文件
test@ubuntu:/tmp/src$ make distclean

4、编译,使用 --disable-shared 不产生ffmpeg的各库的.so,而只产生各库的.a文件。同时开启一部分decoders\demuxers\protocols\filters\parsers等。
test@ubuntu:/tmp/src$./configure --extra-cflags=-fPIC --extra-libs="-lgcc" --enable-static --disable-shared --enable-small --enable-pthreads --enable-zlib --disable-runtime-cpudetect --disable-doc --disable-debug --enable-mdct --enable-gpl --enable-version3 --disable-altivec --disable-amd3dnow --disable-amd3dnowext --disable-mmx --disable-mmxext --disable-sse --disable-sse2 --disable-sse3 --disable-ssse3 --disable-sse4 --disable-sse42 --disable-avx --disable-xop --disable-fma3 --disable-fma4 --disable-avx2 --disable-vfp --disable-neon --enable-inline-asm --disable-yasm --enable-mips32r2 --enable-mipsdspr2 --disable-mipsfpu --disable-dxva2 --disable-lzma --disable-vaapi --disable-vda --disable-vdpau --disable-outdevs --enable-nonfree --enable-libfdk-aac --disable-programs --enable-postproc --enable-swresample --enable-swscale --disable-everything --enable-decoder=aac --enable-decoder=libfdk_aac --enable-decoder=mp2 --enable-decoder=mp3 --enable-decoder=pcm_s16le --enable-decoder=wmav1 --enable-decoder=wmav2 --enable-decoder=wmalossless --enable-demuxer=aac --enable-demuxer=mp3 --enable-demuxer=rtp --enable-demuxer=wav --enable-parser=a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值