文档章节

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

caiwang213
 caiwang213
发布于 2017/10/11 10:59
字数 454
阅读 180
收藏 7
点赞 0
评论 0

一、 源码包下载

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
珠海
高级程序员
(iOS) FFmpeg iOS 上的安装(可以指定任意版本) 一

一、准备部分 1、去FFmpeg官网下载所需要的版本的源码:官网源码下载地址 2、安装Homebrew: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" ...

wf990051004 ⋅ 04/26 ⋅ 0

part02_编译android平台使用的FFmpeg动态库

一、ffmpeg源码目录 一、安装ndk 二、ffmpeg编译 1.下载ffmpeg2.6.9(这个版本比较稳定) wget http://ffmpeg.org/releases/ffmpeg-2.6.9.tar.gz 2.解压 tar -xzf ffmpeg-2.6.9.tar.gz 3.进入......

IT魔幻师 ⋅ 05/09 ⋅ 0

最新靠谱可用的 Mac 环境下 FFmpeg 环境搭建

大家好,我是光源。 最近在尝试搭建 FFmpeg 开发环境时遇到一个蛋疼的事,Google 了 N 篇文章竟然没有一篇是可以跑起来的! 少部分教程是给出了自我矛盾的配置(是的,按照贴出来的代码和配置...

光源_Android ⋅ 05/13 ⋅ 0

FFMPEG命令行处理视频进阶——高阶必读

FFMPEG拥有强大的视频处理能力,可惜的是有很多人不知道如何使用。本文深入介绍如何用编译好ffmpeg.exe程序处理视频,既有常用的简单的处理,也有一些比较少见的高大上的处理,一定能让你受益...

zhangamxqun ⋅ 05/13 ⋅ 0

ONVIF协议网络摄像机(IPC)客户端程序开发(12):读取音视频流

1 专栏导读 本专栏第一篇文章「专栏开篇」列出了专栏的完整目录,按目录顺序阅读,有助于你的理解,专栏前面文章讲过的知识点(或代码段),后面文章不会赘述。为了节省篇幅,突出重点,在文...

benkaoya ⋅ 2017/05/19 ⋅ 0

CMake编译OpenCV中遇到的问题

0 有以下五个文件无法下载,导致编译失败 ffmpegversion.cmake opencvffmpeg.dll opencvffmpeg64.dll ippicv2017u2winintel6420170418.zip ippicv2017u2winia3220170418.zip 1 需要自己“合成......

chenxi1900 ⋅ 04/26 ⋅ 0

centos上安装ffmpeg

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

水墨如丹青 ⋅ 04/13 ⋅ 0

Mac brewinstall自动更新后,造成库之间依赖关系出错,如何还原到以前版本?

1、brew search ffmpeg 看看brew软件包管理器中有哪些版本? 一眼难以看出ffmpeg对应版本,可以结合ffmpeg官网或者是下载下来,再查看版本,这里我就直接告知ffmpeg有4.0和2.8的版本;或许你...

rouzhiwei3128 ⋅ 05/10 ⋅ 0

android端采用FFmpeg进行音频混合与拼接剪切

接触FFmpeg有一段时间了,它是音视频开发的开源库,几乎其他所有播放器、直播平台都基于FFmpeg进行二次开发。本篇文章来总结下采用FFmpeg进行音频处理:音频混合、音频剪切、音频拼接与音频转...

mp624183768 ⋅ 05/13 ⋅ 0

Vs2010配置FFMpeg环境

1.首先创建vs2010控制台工程命名为 FFmpeg_Test1; 创建完成如下图: 2:打开工程项目属性。(右键单击FFmpeg_Test1->属性) 修改输出目录(方便库文件输出,不用多次拷贝) 3:打开 C/C++ ==...

qq_36568418 ⋅ 04/23 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

uWSGI + Django @ Ubuntu

创建 Django App Project 创建后, 可以看到路径下有一个wsgi.py的问题 uWSGI运行 直接命令行运行 利用如下命令, 可直接访问 uwsgi --http :8080 --wsgi-file dj/wsgi.py 配置文件 & 运行 [u...

袁祾 ⋅ 37分钟前 ⋅ 0

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

推荐:并发情况下:Java HashMap 形成死循环的原因

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历...

码代码的小司机 ⋅ 昨天 ⋅ 1

聊聊spring cloud gateway的RetryGatewayFilter

序 本文主要研究一下spring cloud gateway的RetryGatewayFilter GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/config/G......

go4it ⋅ 昨天 ⋅ 0

创建新用户和授予MySQL中的权限教程

导读 MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。 如何创建新用户 在MySQL...

问题终结者 ⋅ 昨天 ⋅ 0

android -------- 颜色的半透明效果配置

最近有朋友问我 Android 背景颜色的半透明效果配置,我网上看资料,总结了一下, 开发中也是常常遇到的,所以来写篇博客 常用的颜色值格式有: RGB ARGB RRGGBB AARRGGBB 这4种 透明度 透明度...

切切歆语 ⋅ 昨天 ⋅ 0

CentOS开机启动subversion

建立自启动脚本: vim /etc/init.d/subversion 输入如下内容: #!/bin/bash## subversion startup script for the server## chkconfig: 2345 90 10# description: start the subve......

随风而飘 ⋅ 昨天 ⋅ 0

版本控制工具

CSV , SVN , GIT ,VSS

颖伙虫 ⋅ 昨天 ⋅ 0

【2018.06.19学习笔记】【linux高级知识 13.1-13.3】

13.1 设置更改root密码 13.2 连接mysql 13.3 mysql常用命令

lgsxp ⋅ 昨天 ⋅ 0

LVM

LVM: 硬盘划分分区成物理卷->物理卷组成卷组->卷组划分逻辑分区。 1.磁盘分区: fdisk /dev/sdb 划分几个主分区 输入t更改每个分区类型为8e(LVM) 使用partprobe生成分区的文件:如/dev/sd...

ZHENG-JY ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部