ffmpeg的编译

参考网址:

ffmpeg编译及使用

上面网址,详细介绍了ffmpeg的下载地址,编译和使用,具有重要的学习价值


1.准备安装包

x264源码包下载:
           下载地址: http://download.videolan.org/pub/videolan/x264/snapshots/
            x264-snapshot-20190501-2245-stable.tar.bz2

ffmeg源码包下载:
            下载地址: https://ffmpeg.org/releases
             ffmpeg-4.1.3.tar.bz2

2.msys2的安装

参考网址: 
MSYS2使用教程——win10系统64位安装msys2最新版(msys2-x86_xxxx.exe)_谭青海-CSDN博客

MSYS2环境
             下载地址: Index of /distrib/x86_64/
             直接下载最新的msys2,否则会出现什么证书之类的错误

双击一路安装,然后运行mingw64.exe,不要运行msys2.exe

mingw32.exe
mingw64.exe:现在基本用64位的
clang64.exe
ucrt64.exe
上面四个的区别
https://www.zhihu.com/question/463666011/answer/1927907983

2.1 问题之错误:数据库 'mingw64' 无效 

问题现象:

错误:数据库 'mingw64' 无效 (无效或已损坏的数据库 (PGP 签名))

问题答案: 
出现的原因是下载了2018年的包,现在是2021年了,这个包过时了,解决办法如下:
不过在安装别的软件的时候,还是有提示一些别的错误,建议直接下载最新的msys2包

下载当前最新包: msys2-keyring-1_20201002-1-any.pkg.tar.xz
网址https://repo.msys2.org/msys/x86_64/
搜索msys,知道最新的包
pacman -U --config <(echo) msys2-keyring-1_20201002-1-any.pkg.tar.xz

2.2 更新国内源

参考这篇文章
MSYS2更换国内源_Nickee-Lin的博客-CSDN博客_msys2换源

最后执行: pacman -Syu

2.3 安装常用的工具

pacman -S base-devel
pacman -S mingw-w64-x86_64-gcc
pacman -S mingw-w64-x86_64-gdb
pacman -S yasm
pacman -S nasm
pacman -S libtool
pacman -S m4
pacman -S diffutils 

 3.编译x264

x264是一个开源的H.264/MPEG-4 AVC视频编码函数库,是最好的有损视频编码器之一。

./configure  --enable-static --disable-asm --disable-opencl --disable-cli -- prefix=/home/thirdparty/install/x264

make 
make install

4.编译ffmpeg

用的包是ffmpeg-4.1.3.tar.bz2
tar xf ffmpeg-4.1.3.tar.bz2

写了一个自动运行的脚本

#!/bin/bash
#这里定义变量,后续会使用

 
#此变量用于编译完成之后的库与头文件存放在哪个目录
PREFIX=/home/thirdparty/install/ffmpeg
 
#执行configure脚本,用于生成makefile
./configure \
--prefix=$PREFIX \
--disable-x86asm \
--enable-shared \
--disable-static \
--enable-gpl \
--enable-libx264 \
--extra-cflags=-I/home/thirdparty/install/x264/include \
--extra-ldflags="-L/home/thirdparty/install/x264/lib -static" \
--pkgconfigdir=/home/thirdparty/install/x264/lib/pkgconfig \


 
#上面运行脚本生成makefile之后,使用make执行脚本
make clean
make -j 4
make install

makefile编译参考
 

ffmpeg_build:
	cd ffmpeg; 
    chmod +x ./configure; 
    chmod +x version.sh; 
    ./configure  --disable-vaapi --disable-programs  --disable-static --enable-shared --prefix=/home/user/output/;
	$(MAKE) -C ffmpeg && $(MAKE) -C ffmpeg install;

ffmpeg_build_cross:
	cd ffmpeg; 
    chmod +x ./configure; chmod +x version.sh; 
    ./configure --enable-cross-compile --cross-prefix=$(CROSS_COMPILER) --arch=arm --target-os=linux --disable-vaapi --disable-programs  --disable-static --enable-shared --prefix=$(PATH)/output/$(INSTALL_DIR)/;
	$(MAKE) -C ffmpeg && $(MAKE) -C ffmpeg install;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值