编译LAVFilters

编译LAVFiltersLAV Filters编译全攻略0. Msys mingw安装1. Git安装2. Yasm下载3. Lavfiltes下载4. Ffmpeg下载5. Pkg-config 不用单独用gtk+包包含了很多工具和库用于mingw 【开发环境】直接下载的地址http://xhmikosr.1f0.de/tools/ 且包含了yasm zlib等已经弄好了。-j8也可

大家好,又见面了,我是你们的朋友全栈君。

LAV Filters编译全攻略

0. Msys mingw安装

1. Git安装

2. Yasm下载

3. Lavfiltes下载

4. Ffmpeg下载

5. Pkg-config 不用单独用gtk+包包含了很多工具和库用于mingw

 

【开发环境】

直接下载的地址http://xhmikosr.1f0.de/tools/ 且包含了yasm zlib等已经弄好了。-j8也可以用了,pkg-config都有了。真好。如果不嫌弃麻烦或不怕出现问题本着了解的目的可以自定义安装如下所示。

 

 

【自定义安装】

msys mingw安装】

 

自定义下载:生成的lav库需要gcc库链接。

http://www.mingw.org/wiki/MSYS 下载安装器 downloadinstaller

执行选择必须的安装组件base就好,不用所有,选择g++等。

 

选择 

mingw-developer-toolkit

Ming32-base

Mingw32-gcc-g++

Msys-base

 

可以将 c:/mingw/bin加入到系统全局环境变量path中否则如果用gcc编译则找不到gcc路径。避免影响到其他进程可以考虑将该路径只在msys客户端中设定。

 

更改C:\MinGW\msys\1.0\etc\fstab

增加:c:/mingw /mingw 或在msys终端中执行如下命令

Linux命令: export PATH=$PATH:/c/mingw/bin 设定mingw路径

运行gcc确定是否OK

yasm

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

VC工程使用 下载 Win32 .exe (for general use on 32-bit Windows) 下载后改名为yasm.exe放到 c:\windows\system32\ 避免冲突也放到vc的目录下 C:\Program Files\Microsoft Visual Studio 10.0\VC\bin 

 

 

MINGW用: 下载源码Source .tar.gz 在mingw下编译 git下来的竟然没有configure,还是下打包过的。 

命令: ./configure

Make

Make install

被自动安装到

C:\MinGW\msys\1.0\local\bin目录下。

 

Mingw下的yasmwindows下不一样并且需要mingwlibintl库如果用mingw编译用到yasm必须用这个。

[git]

https://code.google.com/p/msysgit/ 下载msysgit

https://code.google.com/p/tortoisegit/ 下载乌龟git客户端他需要git.exe

编译ffmpeg需要git,其会去自动下载一些第三方库,好像是。

【pkg-config】

http://pkgconfig.freedesktop.org/releases/

http://www.gtk.org/download/win32.php 下载编译好的二进制工具 解压释放到mingw目录下覆盖里面的东西。

下载安装相关包后,可以 配置编译 pkg-config

Mingw编译安装。编译glib不对?

非必须用来检查版本配置的。

 

zlib

Msvc编译:

下载zlib source http://www.zlib.net/

1Grab the zlib sources.

2Edit win32/Makefile.msc so that it uses -MT instead of -MD, since this is how FFmpeg is built as well.

3Edit zconf.h and remove its inclusion of unistd.h. This gets erroneously included when building FFmpeg.

4)在vc的命令行编译环境Run nmake -f win32/Makefile.msc. 

5Move zlib.lib, zconf.h, and zlib.h to somewhere MSVC can see. 放到

 

 

Gcc编译:

如果是gcc编译则移动到libz.a

移动到libE:\develop\KTVSystemDevelop\LAVFilters\thirdparty\lib32\

Include: E:\develop\KTVSystemDevelop\LAVFilters\thirdparty\include

这两个路径在build_ffmpeg.sh中指定了第三方库连接和包含路径但windowsmsvc编译没有指定。

 

参看 build_ffmpeg.sh

 EXTRA_CFLAGS=”-D_WIN32_WINNT=0x0502 -DWINVER=0x0502 -I../thirdparty/include -idirafter../common/includes/dxva2 -DPTW32_STATIC_LIB”

ffmpeg

vc编译需要参看 http://ffmpeg.org/platform.html

1Vc C89标准,ffmpeg遵循C99规范,需要将c99转换到c89,否则编译不了。http://download.videolan.org/pub/contrib/c99-to-c89/,将c99wrapc99conv拷贝到C:\Program Files\Microsoft Visual Studio 10.0\VC\bin下。Yasm.exe也放到该目录下。应该可以放到system32目录下。

 

2)C99用到的一些类型定义: https://code.google.com/p/msinttypes/ 将stdint.hinttypes.h放到C:\Program Files\Microsoft Visual Studio 10.0\VC\include下,有一个存在,没有覆盖。

3)先启动vc 命令行终端,在终端中在启动msys.bat

4)下载 http://git.1f0.de/gitweb?p=ffmpeg.git;a=summary;js=1 ffmpeg,下载对应的lav所修改的版本。

5)修改build_ffmpeg_msvc.sh make -j8去掉j8 debug改为release版本,  –enable-debug  改为–disable-debug

用默认的bat编译失败 make -j8 捣的鬼,j8代表多少个线程同时编译,如果直接make代表一个一个编译。现在的就是make -j8出错。修改build_ffmpeg_msvc.sh 和 build_ffmpeg.sh

 

编译步骤:

Msvc编译:

1)启动vc命令行终端

2)启动C:\MinGW\msys\1.0\msys.bat

3)export PATH=$PATH:/c/mingw/bin fstab中如果有了映射则这个就不需要了

4)cd /e/develop/KTVSystemDevelop/LAVFilters/

5)./build_ffmpeg_msvc.sh

 

Gcc编译:

msvc 最后运行 build_ffmpeg.sh,千万注意一定要在vc命令行终端中启动msys.bat否则会出现莫名的错误。

 

【其它】

不要用默认配置,需要根据需要带参数,故进入lavfilter 执行build.bat执行其中的build_ffmpeg.sh

如果提示VS2010 Cannot determine the location of the VS Common Tools folder. 卸载2010再重新安装解决,应该是netframework的原因即没有该framework导致bat脚本的时候不存在变量什么的网络手写更改要注意framework的版本,不可靠。

可以注释掉64位的编译。如果你不需要的话。 Rem 注释掉那些行

Ffmpeg需要很多第三方库故一定要git,其编译脚本会自动下载所需的第三方库和文件。

 

LAVFilters

1)下载新release的版本的source code,不要最新的,一定要release的确保稳定可靠源码工程下载 : http://git.1f0.de/gitweb?js=1

2)和本地修改的版本合并,本地修改了音轨多输出等

3)在vs2010编译。

 

Vs2010序列号: YCFHQ-9DWCY-DKV88-T2TMH-G7BHP  

 

LAVFilters】编译

获取msys编译环境 MSYS_MinGW-w64_GCC_482_x86-x64_Full.7z,下载路径,http://xhmikosr.1f0.de/tools/,直接解压到C:\MYSYS目录

获取lavfilters source code http://git.1f0.de/gitweb?js=1 lavfsplitter.git 选择release版本如0.59.1下载打包的sourcecode tar.gz 解压缩到LAVFilters

获取lavfilters用到的第三方code ffmpeg.git 地址同上,获取lav0.59.1特定release版本,解压到LAVFilters的下一级目录ffmpeg

获取libbluray.git 与 qsdecoder.git并解压缩到lavfilters\libbluray 和 lavfilters\qsdecoder

用命令行工具编译ffmpeg,注意一定要先起vc 命令行终端否则最后编译的文件出错

启动 VC Command Line 

Cd c:\MYSYS

MYSYS.BAT

CD /E/LAVFILTERS
./BUILD_FFMPEG.SH

如果要编译64位的带参数如下:

./BUILD_FFMPEG.SH x64

vc2010中加载lavfilters.SLN 编译release版本

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143632.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月21日 上午9:20
下一篇 2022年5月21日 上午9:20


相关推荐

  • VBA获取股票历史数据方法

    VBA获取股票历史数据方法Sub股票历史记录查询()Worksheets(“历史记录表”).Cells.Clear”输出结果表X=Application.CountA(Worksheets(“代码”).Range(“A:A”))”需要提取的股票代码Y=1Fori=2ToXdm=IIf(Worksheets(“代码”).Cells(i,1)<600000,…

    2022年6月24日
    49
  • 大数据实时项目(采集部分)[通俗易懂]

    大数据实时项目(采集部分)[通俗易懂]第一章 实时需求概览1实时需求与离线需求的比较离线需求,一般是根据前一日的数据生成报表,虽然统计指标、报表繁多,但是对时效性不敏感。实时需求,主要侧重于对当日数据的实时监控,通常业务

    2022年8月2日
    10
  • linux录制gif图片,Linux系统录制GIF

    linux录制gif图片,Linux系统录制GIF转载请标明出处 http blog csdn net wu wxc article details 本文出自 吴孝城的 CSDN 博客 LInux 系统录制 gif 图片的方法我的系统是 Ubuntu16 04LTS 录屏软件用的是 byzanz 这款软件在 Gnome 桌面的系统上有图形界面可以使用 我用的是 Unity 界面的系统 只能通过命令行来操作安装命令 sudoapt getinstal

    2026年3月17日
    2
  • jenkins自定义构建参数_jenkins怎么构建项目

    jenkins自定义构建参数_jenkins怎么构建项目前言当我们的自动化项目越来越多的时候,在代码仓库会提交不同的分支来管理,在用jenkins来构建的时候,我们希望能通过参数化构建git仓库的分支。下载安装GitParameter插件系统管理-

    2022年7月28日
    11
  • WPF WrapPanel:自动折行面板「建议收藏」

    WPF WrapPanel:自动折行面板「建议收藏」WrapPanel:自动折行面板。内部元素在排满一行后能够自动折行,类似于Html中的流式布局WrapPanel布局面板将各个控件从左至右按照行或列的顺序罗列,当长度或高度不够时就会自动调整进行换行,后续排序按照从上至下或从右至左的顺序进行。常用的方法:1.Orientation——根据内容自动换行。当Orientation属性的值设置为Horizontal:元素是从左向右排列…

    2022年7月22日
    13
  • python的第三方库是用什么实现的_python 第三方库

    python的第三方库是用什么实现的_python 第三方库编写自己的第三方库当你看见你编程时所用到的所有Python第三方库时,有没有想过,他们是怎么被允许使用的呢?这篇教程,帮你制作一个属于自己的第三方库!1.你需要的工具pycharmsetuptools库twine库2.详细步骤首先,打开pycharm,新建一个项目然后选择编译器Virtualenv,新建一个虚拟环境等待虚拟环境创建完成,如果默认存在main.py,就删除它然后,新建一个pythonpackage文件夹,取名为你要上传的库的名字创建后,文件夹中默认有__init__

    2022年8月31日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号