文档章节

cygwin编译mplayer

来来叔叔
 来来叔叔
发布于 2017/08/04 23:57
字数 474
阅读 10
收藏 0
 

很喜欢mplayer这个视频播放器,据说它来源于linux平台,在windows上也有相应版本。用起来资源占用少、支持格式多。而且它的源代码是公开的,自己来编译一个播放器,是不是很有趣呢?

首先准备好cygwin环境,这我就不说了。

1.下载mplayer源码

我用的是http://sourceforge.net/project/showfiles.php?group_id=205275&package_id=248631

2.进入mplayer源码目录

在cygwin下运行./configure,将会检测系统环境的配置,并生成相应的makefile文件。

3.运行make命令

此时可能会出现stream_dvd.c找不到libgen.h的错误。为了不修改makefile我用了一个简单的方法,把stream_dvd.c的#include <libgen.h>注释掉,并在代码中加入下面两个函数的定义:

char* basename(char *path)           
{                                    
char *p;                          
if( path == NULL || *path == '\0' )
   return ".";                   
p = path + strlen(path) - 1;      
while( *p == '/' ) {              
   if( p == path )               
    return path;              
   *p-- = '\0';                  
}                                 
while( p >= path && *p != '/' )   
   p--;                          
return p + 1;                     
}  

char* dirname(char *path)                                              
{                                    
char *p;                          
if( path == NULL || *path == '\0' )
   return ".";                   
p = path + strlen(path) - 1;      
while( *p == '/' ) {              
   if( p == path )               
    return path;              
   *p-- = '\0';                  
}                                 
while( p >= path && *p != '/' )   
   p--;                          
return                            
   p < path ? "." :              
   p == path ? "/" :             
   (*p = '\0', path);            
}

还可能会出现nellymoserenc.c找不到INFINITY定义的错误,我就在该代码中加入以下宏定义

#define INFINITY 1e20

这样应该可以make下去了,不过时间比较长,请耐心等待。。。。

4.make完以后可以看见生成了mplayer.exe文件,这就是mplayer播放器啦,不过只能以命令行的形式调用,没有用户界面。因此双击运行它时,将会出现一个一闪而过的命令行窗口。若出现缺少dll的情况,请拷贝cygwin1.dll,cygjpeg-62.dll,cygungif-4.dll,cygz.dll到系统目录下或mplayer.exe所在的目录。

所有都准备好了,试一试刚刚编译出来的mplayer吧,在命令行下运行mplayer.exe  视频文件名,就可以看到一个视频播放窗口了。



© 著作权归作者所有

共有 人打赏支持
下一篇: switch疑惑
来来叔叔
粉丝 0
博文 100
码字总数 55732
作品 0
广州
高级程序员
私信 提问
Opensuse中如何安装Mplayer播放器

Mplayer是很强大的开源的播放器,适合linux 平台,Windows平台,甚至支持 mac osx 访问 http://www.mplayerhq.hu/design7/dload.html 可以获得安装文件。 官方推荐自行编译以获得较佳的性能体...

yahalala
2012/02/06
0
1
MinGW下MPlayer自己make、make install成功,但是无法播放音视频文件

WindowsXP SP3 i5处理器 技嘉主板集成显卡 版本:MPlayer-1.1.tar.gz 自己在MinGW环境下编译完成(make、make install)Mplayer,期间没有报错,顺利编译完成。但是打开多媒体文件时报错如下...

zysoso
2013/04/28
854
0
基于 QT 和 mplayer 的 MP4播放器设计

一、 环境搭建 1、开发环境 主机环境: ubuntu8.04 编译工具:gcc-4.2.4 界面工具:qt4 2、主机端安装 mplayer,将MPlayer-1.0rc2.tar.bz2、libmad-0.15.1b.tar.gz(1 个mp3 音频解码库)拷贝...

长平狐
2013/01/11
1K
0
Ubuntu Linux下Mplayer万能播放器的设置

sudo apt-get install mplayer-fonts mplayer mplayer-skins mozilla-mplayer linux 下mplayer 中文字幕配置 修改 ~/.mplayer/config # Write your default config options here! # 视频输出......

范堡
2009/05/08
1K
0
MPlayer播放器移植到嵌入式系统

开发板:tq2440 arm-linux-gcc交叉编译器:gcc version 4.3.3(Sourcery G++ Lite 2008q3-72) MPlayer版本: MPlayer-1.0rc2.tar.bz2 准备源码包: MPlayer-1.0rc2.tar.bz2 libmad-0.15.1b.ta......

慎思
2012/08/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 温柔的人应该这样

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @clouddyy :#每日一歌# 《フィクション-sumika》 《フィクション-sumika》 手机党少年们想听歌,请使劲儿戳(这里) 假期时间干嘛去, @for...

小小编辑
37分钟前
9
4
[LintCode] Serialize and Deserialize Binary Tree(二叉树的序列化和反序列化)

描述 设计一个算法,并编写代码来序列化和反序列化二叉树。将树写入一个文件被称为“序列化”,读取文件后重建同样的二叉树被称为“反序列化”。 如何反序列化或序列化二叉树是没有限制的,你...

honeymose
今天
6
0
java框架学习日志-7(静态代理和JDK代理)

静态代理 我们平时去餐厅吃饭,不是直接告诉厨师做什么菜的,而是先告诉服务员点什么菜,然后由服务员传到给厨师,相当于服务员是厨师的代理,我们通过代理让厨师炒菜,这就是代理模式。代理...

白话
今天
26
0
Flink Window

1.Flink窗口 Window Assigner分配器。 窗口可以是时间驱动的(Time Window,例如:每30秒钟),也可以是数据驱动的(Count Window,例如:每一百个元素)。 一种经典的窗口分类可以分成: 翻...

满小茂
今天
19
0
my.ini

1

architect刘源源
今天
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部