文档章节

FFMPEG install step on windows

andrew810810
 andrew810810
发布于 2016/09/28 15:17
字数 804
阅读 78
收藏 0

FFMPEG install step on windows

1. 下载MinGWMSYS

链接: https://sourceforge.net/projects/mingw/files/

Download mingw-get-setup.exe (86.5 kB)

双击进行安装,安装后路径C:\MinGW

双击C:\MinGW\msys\1.0\msys.bat可以启动MinGW

 

2. 下载yasm

http://yasm.tortall.net/Download.html

yasm-1.3.0-win64.exe,修改为yasm.exe复制到MinGW的bin目录下C:\MinGW\bin

 

3. 下载Gettext

1)、下载gettext-runtime_0.18.1.1-2_win32.zip,地址http://www.gnu.org/software/gettext/

2)、将bin目录下的intl.dll放到C:\MinGW\bin 目录下。

 

4. 下载pkg-config.exe

1)、下载pkg-config

地址http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.26-1_win32.zip (注:没有win64对应的包)

2)、将压缩包的bin目录的pkg-config.exe复制到C:\MinGW\bin目录下。

 

5. 下载pkg-config.exe依赖库

1)、下载地址:http://ftp.acc.umu.se/pub/gnome/binaries/win32/glib/2.28/glib_2.28.1-1_win32.zip

2)、将压缩包bin目录所有的.dll,放到C:\MinGW\bin 目录下。

 

6. 下载ffmpeg

http://www.ffmpeg.org/

编译ffmpeg

双击运行  C:\MinGW\msys\1.0\msys.bat,即可进入 MinGW 的工作目录了。

他和cmd命令有区别,反斜杠需要换成斜杠,盘符D:也要改成/d

输入命令 "ls" , 这等价于 "dir"。列出当前目录下的文件。

输入 cd ffmpeg,进入ffmpeg 目录。

在命令行下输入如下命令:

./configure --enable-memalign-hack --enable-shared

make

make install 

即得到ffmpeg.exe, ffprobe.exe

 

注释:

FFmpeg-2.8.6在MinGW下能够编译成功

Ffmpeg-3.0下make报错

FFmpeg-3.1.3下make报错

 

7. 编译ffplay

但是在编译ffmpeg的过程中,总是不能编译出来ffplay,查看config.mak文件,找CONFIG_FFPLAY 一行,发现前面总是有!结果make 怎么都出错,报告ffplay.c编译错误

解决办法:

下载SDL-1.2.15,由于SDL v2和SDL v1区别比较大,在没有特殊需求的情况下建议使用SDL v1,而且SDL v2的发布版本有明显的编译问题。

将压缩包下的include、lib、bin分别放大mingw安装目录的对应目录下如果采用默认安装目录c:\mingw,那么可以拷贝到c:\mingw\include、c:\mingw\lib、c:\mingw\bin,特别注意include文件不要包含文件夹,直接拷贝.h文件。

这样在FFmpeg的configure的时候,就可以检测到SDL,并通过配置,编译生成ffplay.exe。

完成之后检查下SDL是否正常检测到,可以查看FFmpeg编译目录下的config.h文件,找到HAVE_SDL、CONFIG_SDL宏,如果都是1,表示SDL配置成功,可以放心编译出ffplay了,以及查看config.mak是否CONFIG_FFPLAY=yes。

修改内容SDL-1.2.15\bin\sdl-config

	#!/bin/sh
	
	prefix=/c/mingw/
	exec_prefix=${prefix}
	exec_prefix_set=no
	libdir=${exec_prefix}/lib
	
	usage="\
	Usage: sdl-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--cflags] [--libs]"
	#usage="\
	#Usage: sdl-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--cflags] [--libs] [--static-libs]"
	
	if test $# -eq 0; then
	      echo "${usage}" 1>&2
	      exit 1
	fi
	
	while test $# -gt 0; do
	  case "$1" in
	  -*=*) optarg=`echo "$1" | LC_ALL="C" sed 's/[-_a-zA-Z0-9]*=//'` ;;
	  *) optarg= ;;
	  esac
	
	  case $1 in
	    --prefix=*)
	      prefix=$optarg
	      if test $exec_prefix_set = no ; then
	        exec_prefix=$optarg
	      fi
	      ;;
	    --prefix)
	      echo $prefix
	      ;;
	    --exec-prefix=*)
	      exec_prefix=$optarg
	      exec_prefix_set=yes
	      ;;
	    --exec-prefix)
	      echo $exec_prefix
	      ;;
	    --version)
	      echo 1.2.15
	      ;;
	    --cflags)
	      echo -I${prefix}/include/SDL -D_GNU_SOURCE=1 -Dmain=SDL_main
	      ;;
	    --libs)
	      echo -L${exec_prefix}/lib  -lmingw32 -lSDLmain -lSDL  -mwindows
	      ;;
	#    --static-libs)
	##    --libs|--static-libs)
	#      echo -L${exec_prefix}/lib  -lmingw32 -lSDLmain -lSDL  -mwindows  -lm -luser32 -lgdi32 -lwinmm -ldxguid
	#      ;;
	    *)
	      echo "${usage}" 1>&2
	      exit 1
	      ;;
	  esac
	  shift
	done
	

其中ffplay的编译参考链接:

http://www.cnblogs.com/tocy/p/windows_mingw_compile_ffmpeg_with_ffplay.html

 

问题:

在通过cmd命令,调用ffplay.exe播放会发现提示缺库。

下一步研究如何能避免此问题。

© 著作权归作者所有

andrew810810
粉丝 3
博文 141
码字总数 117648
作品 0
朝阳
私信 提问
使用ffmpeg推流到Wowza

Step by step instructions for using FFmpeg as a live video/audio encoder with Wowza Media Server. Updated for FFMpeg build r25705 (22 November 2010) Note: Wowza Media Systems pr......

Johnny_feng
2013/12/03
0
0
ffmpeg-java安装完后,jar的包在那儿呢?

我是按着 http://fmj-sf.net/ffmpeg-java/getting_started.php这个上面操作的,在make的时候出现许多警告。我就没理,接着安装,没提示出错就结束了。但到第三步却说找不到类, Step 1 : Get...

xiangyuwen
2012/03/21
2.1K
0
php 安装ffmpeg-php

下载ffmepg源码包和ffmpeg-php包,如下: #wget http://www.ffmpeg.org/releases/ffmpeg-export-snapshot.tar.bz2 #wget http://downloads.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0......

Thebreezecomes
2018/06/28
0
0
FFmpeg新版本(2016年10月份以后) 支持硬件解码

转载链接:http://www.cnblogs.com/wainiwann/p/6972984.html FFmpeg provides a subsystem for hardware acceleration. Hardware acceleration allows to use specific devices (usually gr......

zwg流泪
2018/10/10
0
0
基于Ubuntu交叉编译FFmpeg Windows SDK

基于Ubuntu交叉编译FFmpeg Windows SDK 写在前面   FFmpeg是一个开源且跨平台的音视频解决方案,集采集、转码、流式化为一身,项目的libavcodec编解码模块和libavformat媒体格式模块,支持...

j_m
2012/07/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

驰骋工作流引擎-督查督办系统

1.概要说明 督查督办系统信息化平台适用于政府,企事业单位的重点项目跟进,重点工程部署,及各级精神的传达等督查督办性工作。开发设计坚持流程式管理的总体思路,充分体现督查事项立项的规...

孟娟
27分钟前
0
0
阿里靠什么支撑 EB 级计算力?

作者 关涛 阿里云智能事业群 研究员 导读:MaxCompute 是阿里EB级计算平台,经过十年磨砺,它成为阿里巴巴集团数据中台的计算核心和阿里云大数据的基础服务。去年MaxCompute 做了哪些工作,这...

zhaowei121
30分钟前
0
0
mybatis生成代码配置详解

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.o......

事儿爹
32分钟前
1
0
Vuex和表单绑定的一个神级坑再填一遍

vuex有一个很大的缺陷,就是和input输入框的v-model本身是冲突的。 官方文档给出了两种解决方案:https://vuex.vuejs.org/zh/guide/forms.html 一个是使用get和set → 适用于input框比较少的...

LinearLaw
34分钟前
0
0
CPU与GPU的区别

作者讲述的清楚: 我的理解:1 GPU ALU更多 2 Core 更多 3 业务更加专一(主要进行密集计算) 4 缓存区更少 https://www.zhihu.com/question/19903344...

南桥北木
35分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部