FFMPEG 全平台平台编译

##windows平台##

一.操作流程

1. 安装工具

   ffmepg 版本: release 4.4  https://github.com/FFmpeg/FFmpeg.git

   msys: MinGw  

  下载好MinGW以后,安装时勾选以下选项

  • mingw-devloper-toolkit
  • mingw32-base
  • mingw32-gcc-g++
  • msys-base

  安装完成以后按住Win+R 打开cmd,输入gcc --version 测试是否成功

   下载 glib 和 pkg-config  ,将bin里文件放在 C:\MinGW\bin下

   pkg-config-0.23-2.zipglib_2.18.4-1_win32.zip

2.编译ffmpeg

   运行msys,进入ffmpeg源码的目录

  # 配置编译参数

 ./configure --prefix=../ffmpeg_buildout --disable-static --enable-shared --enable-version3 --disable-ffplay --enable-ffmpeg --disable-x86asm

 #编译

  make -j4

  make install 

二.遇到问题

 1.若编译过程中出现如下错误,打开libavformat/os_support.h,添加#include<winerror.h>,即可。错误内容:

libavformat/os_support.c:194:10: error: 'ERROR_NOT_ENOUGH_MEMORY' undeclared (first use in this function)

 2. ffbuild/common.mak:173: *** missing separator. Stop.  

  原因:不同系统上对于行尾结束符号的标记不一致,Windows系统上的文件是CRLF,而MAC和Linux系统上,则是LF。
  解决:
  解决方式就是关闭行末结束估好的自动转换,运行如下命令:
  git config --global core.autocrlf false

  删除本地暂存分区上的文件
  git rm --cached -r  .

  同步线上代码
  git reset --hard 

三.添加H264编码支持

1.下载H264  http://download.videolan.org/pub/videolan/x264/snapshots/

2. 打开msys,执行:

CFLAGS="-fPIC" ./configure --enable-static --disable-opencl --disable-asm --prefix=../x264_build
make
make install

3.重新编译ffmpeg

./configure --prefix=../ffmpeg_buildout --disable-static --enable-shared --enable-version3 --disable-ffplay --enable-ffmpeg --enable-libx264 --disable-x86asm --enable-gpl --extra-cflags=-I../x264_build/include --extra-ldflags=-L../x264_build/lib
make
make install

##ios平台##

X264 ios 编译脚本 https://github.com/kewlbear/x264-ios

ffmpeg ios 编译脚本 https://github.com/kewlbear/FFmpeg-iOS-build-script

posted @ 2021-06-09 14:23  无尽之宇  阅读(375)  评论(0编辑  收藏  举报