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”这个问题尚未解决。。。待解决后更新。有推荐解决方法的亲们记得留言告诉我哦,在此多谢啦!!!



目录
相关文章
|
3天前
|
Windows
Windows平台如何修改监听的服务名称?
【8月更文挑战第15天】在Windows平台上可透过注册表编辑器、命令提示符或第三方工具修改服务的显示名称。首先,通过注册表编辑器找到`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services`下的目标服务,修改其“DisplayName”键值。或者,在命令提示符中使用`sc config`命令来变更服务名称。此外,利用第三方工具如Windows Service Manager也能简化此过程。修改前请确保了解可能的影响并做好备份。
|
6天前
|
编解码 开发工具 Android开发
Windows平台RTMP推送|轻量级RTSP服务如何实现摄像头叠加到屏幕输出
大牛直播SDK采用先进的图层概念实现视频叠加,如将摄像头画面实时叠加到屏幕输出,以C#为例展示了具体的配置方法。用户可在推送RTMP或启动RTSP服务前选择“摄像头叠加到屏幕”的选项,并调整位置。SDK还支持摄像头的开启与关闭、水平垂直翻转及旋转等功能。此外,该SDK提供了丰富的特性,包括但不限于视频和音频采集处理、硬编码与软编码支持、多实例推送、水印添加、网络适应性调整等,几乎涵盖了RTMP推送的所有常规需求,并能与播放器协同工作达到毫秒级的低延迟,非常适合无纸化同屏、智慧教室等应用场景。
|
6天前
|
开发工具 数据安全/隐私保护 开发者
Windows平台RTMP推送|轻量级RTSP服务摄像头如何添加动态文字水印
本文介绍了在Windows平台上实现摄像头或屏幕流中动态文字水印的技术方法。通过大牛直播SDK示例,展示了如何从文本获取RGB数据,并将其叠加到视频流上。文中提供了代码片段来说明如何开启文字水印、生成包含实时信息的位图、以及如何更新和控制图层。最终实现了动态显示时间和位置信息的需求。对这一领域的开发者而言,本文提供了实用的参考与指导。
|
6天前
|
编解码 Linux 开发工具
Windows平台RTSP|RTMP播放器如何实现细粒度录像控制
大牛直播SDK为Windows平台提供了细致的RTSP/RTMP直播播放及录像功能。支持多平台(Windows/Linux/Android/iOS)的推送端录像,并具备轻量级RTSP服务及GB28181设备接入能力。其特性包括:拉取RTSP/RTMP流录像、推送端同步录像、录像过程中的实时暂停与恢复、支持中文路径设置、单文件大小限制、纯音频/视频或音视频录制模式、音频转码至AAC、H.265编码支持、URL切换时自动文件分割等功能。此外,还提供丰富的事件回调机制以监测录像状态。通过细粒度的接口设计,满足了多样化的应用场景和技术需求。
|
6天前
|
XML 监控 C#
Windows平台C#版RTSP转RTMP直播推送定制版
前几年我们发布了C++版的多路RTMP/RTSP转RTMP转发官方定制版。在秉承低延迟、灵活稳定、低资源占用的前提下,客户无需关注开发细节,只需图形化配置转发等各类参数,实现产品快速上线目的。如监控类摄像机、NVR等,通过厂商说明或Onvif工具,获取拉流的RTSP地址,图形化配置,完成拉流转发等操作,轻松实现标准RTMP服务器对接。
|
6天前
|
编解码 Linux 开发工具
如何启动Windows平台轻量级RTSP服务生成RTSP拉流URL
为满足内网超低延迟需求,我们开发了轻量级RTSP服务模块,避免用户额外部署服务器。此模块集成于推送端SDK中,支持Windows、Linux、Android及iOS平台,可将本地音视频数据编码后通过RTSP协议提供。具备RTSP鉴权、单播/组播等功能,支持H.264/H.265编码,同时可创建多个服务实例,并查询连接数。实测总延迟约200-300毫秒,兼具稳定与高效。
|
3天前
|
开发工具 Android开发 C++
Windows平台Flutter桌面应用的底层模块化探索
Windows平台Flutter桌面应用的底层模块化探索
|
5天前
|
XML C# 数据格式
绝密档案曝光!Windows平台如何深挖一个dll背后的神秘依赖,揭露隐藏的秘密!
【8月更文挑战第14天】在Windows系统中,动态链接库(DLL)对程序运行至关重要。了解DLL的依赖关系有助于软件的调试与优化。本文以具体案例演示如何查看DLL依赖。首先确保环境已安装Windows及具备基本开发知识。
14 0
|
5天前
|
编解码 开发工具 C#
[大牛直播SDK]Windows平台RTMP直播推送模块功能设计
大牛直播SDK采用全自研框架,具备高度可扩展性与自适应算法,显著降低延迟并提高采集编码效率。SDK以模块化设计,支持RTMP推流及多种音视频编码格式(如AAC、SPEEX、H.264、H.265),并能与播放器SDK组合实现丰富功能,包括流媒体转发、内置RTSP服务等。提供了详尽的参数配置选项,支持多摄像头、屏幕采集与水印叠加,并兼容Windows 7及以上操作系统。该SDK以C++/C#双接口形式提供,集成简便,同时包含调试与发布版本库,便于开发者快速上手。此外,支持断网重连、实时预览及多种编码前后的数据对接需求。
|
5天前
|
监控 开发工具 数据安全/隐私保护
Windows平台如何实现多路RTSP|RTMP流合成后录像或转发RTMP服务
本文介绍了在Windows平台上实现多路RTSP/RTMP视频流的合并技术。主要应用场景包括驾考、全景摄像头以及多路会议录制等。技术实现上,文章详细展示了如何使用特定的SDK来解码并回调YUV或RGB数据,再将这些数据按照图层形式进行合成。示例代码中给出了初始化参数、设置视频帧回调函数、以及如何配置不同图层的具体步骤。最终,合成后的视频可以推送到RTMP服务器、注入到本地RTSP服务,或是直接录制为MP4文件。此外,还提供了添加实时文字水印的方法,并展示了四路视频流合成后的“四宫格”效果。