x264代码剖析(一):图文详解x264在Windows平台上的搭建

简介: <h1 style="text-align:center">x264<span style="font-family:宋体">代码剖析(一):图文详解</span><span style="font-family:Calibri">x264</span><span style="font-family:宋体">在</span><span style="font-family:Calibri

x264代码剖析(一):图文详解x264Windows平台上的搭建

 

        X264源码下载地址:http://ftp.videolan.org/pub/videolan/x264/

 

        平台:win7 PCVS2010

 

1MinGW的下载、安装与配置

 

MinGW的下载地址:http://sourceforge.net/projects/mingw/files/

如下图,点击下载即可。


全部采用默认安装(安装过程中会自动下载所需要的插件等等,故耗时略长),安装完毕,出现如下界面:

然后勾选Basic Setup中的如下图几个选项进行安装(安装方法为:选择完毕后,点 Installation菜单,选择 apply changes即可):

接着在All packagesMSYS里面的system-builder进行安装,如下图:

最后,对MinGW进行配置,把MinGW安装目录的bin目录的路径追加到“高级”->“环境变量”的PATH里,如下图所示:

最后在CMD中输入gcc -v,看看有没有安装成功,如果出现一下画面说明安装成功。


2yasm的配置

 

下载地址:http://download.csdn.net/detail/frd2009041510/9385752

Yasm的配置操作如下:

1)、将vsyasm.exe复制至MinGW的安装目录C:\MinGW\bin下,并重命名为yasm.exe

(2)、进入至C:\MinGW\msys\1.0\etc,找到fstab.sample,将其内容修改为:

C:\MinGW \minGW

其中,C:\MinGWMinGW的安装目录,否则后面编译库时会提示缺少头文件。

(3)、进入C:\MinGW\msys\1.0,找到msys.bat,双击运行,进入到一个模拟linux系统的命令行,如下图所示:


3、编译x264

 

首先下图中列出了执行./configure --enable-shared命令前的x264源码文件夹中的内容

接着,执行./configure --enable-shared

接着执行make,但是出现如下图错误提示:

解决方法如下:(类似参考:http://blog.csdn.net/chinabinlang/article/details/25377841

1)、进入extras文件夹,找到cl_platform.h头文件,将#include <stdint.h>修改为#include "stdint.h";

(2)、“./common/osdep.h:35:22 inttypes.h: No such file or directory”这个问题尚未解决。。。待解决后更新。有推荐解决方法的亲们记得留言告诉我哦,在此多谢啦!!!



目录
相关文章
|
23天前
|
监控 Windows
Windows平台RTSP|RTMP播放器如何实时调节音量
我们在做Windows平台RTSP、RTMP播放器的时候,有这样的技术需求,特别是多路监控的时候,并不是每一路audio都需要播放出来的,所以,这时候,需要有针对音量调节的设计
|
23天前
|
监控 C# 块存储
Windows平台RTSP|RTMP播放器如何叠加OSD文字
做Windows平台RTSP|RTMP播放器的时候,特别是多路播放场景下,开发者希望可以给每一路RTSP或RTMP流添加个额外的OSD台标,以区分不同的设备信息(比如添加摄像头所在位置),本文主要探讨,如何动态添加OSD台标。
Windows平台RTSP|RTMP播放器如何叠加OSD文字
|
23天前
|
Linux Android开发 iOS开发
Windows平台RTSP|RTMP播放器如何实现实时录像功能
Windows平台RTSP、RTMP播放器实时录像接口设计,实际上,除了Windows平台,我们Linux、Android、iOS平台也是一样的设计,单纯的录像模块,如果做的全面,也不是一两个接口可以搞定的
|
11天前
|
并行计算 开发工具 异构计算
在Windows平台使用源码编译和安装PyTorch3D指定版本
【10月更文挑战第6天】在 Windows 平台上,编译和安装指定版本的 PyTorch3D 需要先安装 Python、Visual Studio Build Tools 和 CUDA(如有需要),然后通过 Git 获取源码。建议创建虚拟环境以隔离依赖,并使用 `pip` 安装所需库。最后,在源码目录下运行 `python setup.py install` 进行编译和安装。完成后即可在 Python 中导入 PyTorch3D 使用。
|
21天前
|
Windows
Windows7电脑启动时提示文件winload.exe无法验证其数字签名,错误代码0xc0000428的解决方法
Windows7电脑启动时提示文件winload.exe无法验证其数字签名,错误代码0xc0000428的解决方法
|
1月前
|
Linux 开发者 Python
从Windows到Linux,Python系统调用如何让代码飞翔🚀
【9月更文挑战第10天】在编程领域,跨越不同操作系统的障碍是常见挑战。Python凭借其“编写一次,到处运行”的理念,显著简化了这一过程。通过os、subprocess、shutil等标准库模块,Python提供了统一的接口,自动处理底层差异,使代码在Windows和Linux上无缝运行。例如,`open`函数在不同系统中以相同方式操作文件,而`subprocess`模块则能一致地执行系统命令。此外,第三方库如psutil进一步增强了跨平台能力,使开发者能够轻松编写高效且易维护的代码。借助Python的强大系统调用功能,跨平台编程变得简单高效。
26 0
|
2月前
|
开发者 C# Windows
WPF与游戏开发:当桌面应用遇见游戏梦想——利用Windows Presentation Foundation打造属于你的2D游戏世界,从环境搭建到代码实践全面解析新兴开发路径
【8月更文挑战第31天】随着游戏开发技术的进步,WPF作为.NET Framework的一部分,凭借其图形渲染能力和灵活的UI设计,成为桌面游戏开发的新选择。本文通过技术综述和示例代码,介绍如何利用WPF进行游戏开发。首先确保安装最新版Visual Studio并创建WPF项目。接着,通过XAML设计游戏界面,并在C#中实现游戏逻辑,如玩家控制和障碍物碰撞检测。示例展示了创建基本2D游戏的过程,包括角色移动和碰撞处理。通过本文,WPF开发者可更好地理解并应用游戏开发技术,创造吸引人的桌面游戏。
124 0
|
2月前
|
C# Windows 开发者
当WPF遇见OpenGL:一场关于如何在Windows Presentation Foundation中融入高性能跨平台图形处理技术的精彩碰撞——详解集成步骤与实战代码示例
【8月更文挑战第31天】本文详细介绍了如何在Windows Presentation Foundation (WPF) 中集成OpenGL,以实现高性能的跨平台图形处理。通过具体示例代码,展示了使用SharpGL库在WPF应用中创建并渲染OpenGL图形的过程,包括开发环境搭建、OpenGL渲染窗口创建及控件集成等关键步骤,帮助开发者更好地理解和应用OpenGL技术。
124 0
|
2月前
|
存储 开发者 C#
WPF与邮件发送:教你如何在Windows Presentation Foundation应用中无缝集成电子邮件功能——从界面设计到代码实现,全面解析邮件发送的每一个细节密武器!
【8月更文挑战第31天】本文探讨了如何在Windows Presentation Foundation(WPF)应用中集成电子邮件发送功能,详细介绍了从创建WPF项目到设计用户界面的全过程,并通过具体示例代码展示了如何使用`System.Net.Mail`命名空间中的`SmtpClient`和`MailMessage`类来实现邮件发送逻辑。文章还强调了安全性和错误处理的重要性,提供了实用的异常捕获代码片段,旨在帮助WPF开发者更好地掌握邮件发送技术,提升应用程序的功能性与用户体验。
43 0
|
2月前
|
iOS开发 Android开发 MacOS
从零到全能开发者:解锁Uno Platform,一键跨越多平台应用开发的神奇之旅,让你的代码飞遍Windows、iOS、Android、macOS及Web,技术小白也能秒变跨平台大神!
【8月更文挑战第31天】从零开始,踏上使用Uno Platform开发跨平台应用的旅程。只需编写一次代码,即可轻松部署到Windows、iOS、macOS、Android及Web(通过WASM)等多个平台。Uno Platform为.NET生态带来前所未有的灵活性和效率,简化跨平台开发。首先确保安装了Visual Studio或VS Code及.NET SDK,然后选择合适的项目模板创建新项目。项目结构类似传统.NET MAUI或WPF项目,包含核心NuGet包。通过简单的按钮示例,你可以快速上手并构建应用。Uno Platform让你的技术探索之旅充满无限可能。
46 0