文档章节

mingw+vs2013静态编译最新ffmpeg与x264

caiwang213
 caiwang213
发布于 2017/10/11 10:59
字数 454
阅读 187
收藏 7

一、 源码包下载

1、 Ffmpeg

$ git clone https://git.ffmpeg.org/ffmpeg.git

2、 x264

$ git clone http://git.videolan.org/git/x264.git

ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2 下载

二、 编译工具

1、 mingw https://sourceforge.net/projects/mingw/ 在线安装最新版本

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

3、 nasm http://www.nasm.us/pub/nasm/releasebuilds/

4、 pkg-config, mingw中默认没有 http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-0.23-2.zip

http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip只需要用到其中的libglib-2.0-0.dll文件

三、 mingw/msys环境设置

1、 复制 D:\MinGW\msys\1.0\ msys.bat 为 D:\MinGW\msys\1.0\ msys-vs2013.bat,打开文件,在最前面加上:call "D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat" 保存文件

2、 将yasm.exe与nasm.exe放置到d:/MinGW/msys/1.0/bin/中

3、 将pkg-config-0.23-2.zip解压pkg-config.exe与glib_2.18.4-1_win32.zip中的 libglib-2.0-0.dll至d:/MinGW/msys/1.0/bin中

4、 重命名 d:/MinGW/msys/1.0/bin/link.exe 为link_renamed.exe ,这一步是防止这个link.exe与vc的link.exe发生冲突,编译完成之后记得修改回来

四、 编译x264 1、 运行msys-vs2013.bat

$ cd x264
$ CC=cl ./configure --enable-static --prefix=$PWD/build_vs2013 
$ make;make install
$ export PKG_CONFIG_PATH="$PWD/build_vs2013/lib/pkgconfig"

五、 编译ffmpeg 1、 运行msys-vs2013.bat

$ cd ffmpeg
$ ./configure --toolchain=msvc --prefix=$PWD/build_vs2013 --enable-static --enable-gpl --enable-libx264 --pkg-config=pkg-config

提示错误:

出现以上现象原因有: a、 x264不是用vs2013 cl编译的,编译x264 执行./configure 前要加 CC=cl b、 mingw中缺少pkg-config.exe

$ make distclean
$ ./configure --toolchain=msvc --prefix=$PWD/build_vs2013 --enable-static --enable-gpl --enable-libx264 --pkg-config=pkg-config

$ make;make install

出错:

解决:

$ vi ffmpeg.c
在文件前面添加:
#ifndef WIN32_LEAN_AND_MEAN
 #define WIN32_LEAN_AND_MEAN
 #endif

 #include <windows.h>
 #include <winsock2.h>
保存退出
$ make;make install

六、 恢复d:/MinGW/msys/1.0/bin/link.exe

将d:/MinGW/msys/1.0/bin/link_renamed.exe改为d:/MinGW/msys/1.0/bin/link.exe

七、 参考

1、 http://blog.csdn.net/sweetloverft/article/details/38422201 2、 http://blog.csdn.net/wangjia184/article/details/7931164 3、 http://www.cnblogs.com/xylc/p/3683203.html 4、 http://www.cnblogs.com/lulu/p/5634550.html 5、 http://blog.163.com/lys_19850716/blog/static/84129044201611653736905/

© 著作权归作者所有

共有 人打赏支持
caiwang213
粉丝 1
博文 7
码字总数 4754
作品 0
珠海
高级程序员
ffmpeg安装第三方编码器(encoder)库,ffmpeg编码h264

ffmpeg安装第三方编码器(encoder)库 关键词:ffmpeg、编码h264、第三方encoder 安装好了ffmpeg后,如果你使用ffmpeg工具去把某个视频文件转成h264视频编码、mp3音频编码or其他ffmpeg自身不...

fz00x0zf
06/27
0
0
ffmpeg安装第三方编码器(encoder)库,ffmpeg编码h264(完)

ffmpeg安装第三方编码器(encoder)库 关键词:ffmpeg、编码h264、第三方encoder 安装好了ffmpeg后,如果你使用ffmpeg工具去把某个视频文件转成h264视频编码、mp3音频编码or其他ffmpeg自身不...

Michael_Yuan
2012/07/23
0
2
Build x264&FFmpeg for Android

最近在想办法把Android WebRTC上的视频流录制下来。于是不得不用到FFmpeg(再于是还得加上x264) 用git把ffmpeg(我用的github上FFmpeg-Android)和x264(vlc的官方git)分别都clone下来。 在x26...

mingkaidox
2013/10/04
0
0
Linux 下完整安装ffmpeg(包括各种解码器)

FFmpeg 是什么? FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件)。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常...

霖_柒
2015/04/27
0
0
CentOS安装视频转换FFmpeg和切割工具segmenter

一、yum安装FFmpeg 1. 最偷懒的方式就是yum安装了,自动解决依赖。不过CentOS系统默认无FFmpeg源,企业版 Linux 附加软件包EPEL源也不包含,需要手动添加yum源配置/etc/yum.repos.d/dag.repo...

董松
2015/05/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何通过 J2Cache 实现分布式 session 存储

做 Java Web 开发的人多数都会需要使用到 session (会话),我们使用 session 来保存一些需要在两个不同的请求之间共享数据。一般 Java 的 Web 容器像 Tomcat、Resin、Jetty 等等,它们会在...

红薯
今天
3
0
C++ std::thread

C++11提供了std::thread类来表示一个多线程对象。 1,首先介绍一下std::this_thread命名空间: (1)std::this_thread::get_id():返回当前线程id (2)std::this_thread::yield():用户接口...

yepanl
今天
3
0
Nignx缓存文件与动态文件自动均衡的配置

下面这段nginx的配置脚本的作用是,自动判断是否存在缓存文件,如果有优先输出缓存文件,不经过php,如果没有,则回到php去处理,同时生成缓存文件。 PHP框架是ThinkPHP,最后一个rewrite有关...

swingcoder
今天
2
0
20180920 usermod命令与用户密码管理

命令 usermod usermod 命令的选项和 useradd 差不多。 一个用户可以属于多个组,但是gid只有一个;除了gid,其他的组(groups)叫做扩展组。 usermod -u 1010 username # 更改用户idusermod ...

野雪球
今天
3
0
Java网络编程基础

1. 简单了解网络通信协议TCP/IP网络模型相关名词 应用层(HTTP,FTP,DNS等) 传输层(TCP,UDP) 网络层(IP,ICMP等) 链路层(驱动程序,接口等) 链路层:用于定义物理传输通道,通常是对...

江左煤郎
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部