CygwinX安装与FFMpeg编译

最近接触到 ffmpeg,由于ffmpeg 是Linux平台的开源工具但可以在多种平台编译。故想到之前有在Cygwin下编译NS2的经历, 因此Cygwin/X下编译FFMpeg应该也是可以的。

1. 安装Cygwin/X

之前在编译NS2按照教程一步一步编译,自己也完全没有多少思考,全当完成任务。因此完全没有Cygwin/X的概念。直到这次刚开始编译出 ffplay 时无法播放视频的才意识到要运行窗口程序是需要Cygwin/X的。

1.1 安装依赖包

安装Cygwin/X需要安装以下几个依赖包。

  • xorg-server(必须,Cygwin/X X Server)
  • xinit (必须,包含一些启动X Server的脚本,xinit, startx, startxwin和开始菜单的快捷方式等)
  • xorg-docs(可选,文档)
  • xlaunch(可选,一个运行X Sessions的向导程序)
  • gnome-flashback(可选,X Server运行于Windowed Mode的一个桌面环境,还有其他可选)
  • gedit(可选,作为一个测试程序)

安装好之后可以发现在开始菜单出现XLaunch,XWin Server等。如下图所示

figure1

1.2 运行Gedit(Cygwin/X)

1.2.1 启动 multiwindow mode方法一

直接开始菜单运行XWin Server,可以在托盘处看到如下图标,右键绿色的那个图标,选择gedit Text Editor程序。

figure2

1.2.2 启动multiwindow mode方法二

在Cygwin的终端中输入以下命令(要先启动X Server即上图托盘处红色的图标),从而启动gedit

1
2
$ export DISPLAY=:0.0
$ gedit
figure3

1.2.3 启动windowed mode

在开始菜单中直接运行GNOME Flashback,启动后如下图所示

Figure4

这些只是一点点的基本使用方法,更多的说明还请参考Cygwin/X User’s Guide

2. 编译FFMpeg

如果要编译出ffplay,需要增加依赖libSDL2-devel安装包。可以通过Cygwin的安装程序安装。

2.1 解压

首先从官网下载最新的ffmpeg源码包,本文编译的版本为ffmpeg-3.2.4.tar.bz2

2.2 编译

命令顺序如下:(configure和make的时间较长,耐心等待)

1
2
3
4
5
$ tar -jxf ffmpeg-3.2.4.tar.bz2
$ cd ffmpeg-3.2.4
$ ./configure --disable-debug --disable-yasm --enable-shared
$ make
$ make install

3.3 使用ffplay播放视频

别忘要先启动X Server和设置DISPLAY环境变量。

figure5