您的位置:首页 > 运维架构 > Linux

开源项目-Mplayer在windows下的编译总结

2014-01-14 18:24 344 查看
操作系统是windows,但是编译环境是WinGW和WSYS模拟的linux操作系统,主要的编译工作还是交给linux命令去工作(当然很多开源项目是可以跨平台的),主要还是为了更加的方便快捷,如何去做呢?

首先总体总结一下编译的流程:

一:编译环境准备。

二:项目需要的特殊环境准备(有的没有,可以忽略)

三:去相关网站下载源码

四:配置、编译、生成

 

一步步详细来:

一:编译环境准备。

MinGW和Msys是在windows下模拟linux环境的工具库的集合,使用它们来真正去编译等等,该教程我就不写了。

下载后解压,拷贝到一个目录,比如:



将该路径添加到环境变量里边D:\MinGW,或者写个bat动态添加。,动态添加下边会写。

msys放里边,进入msys:



start.bat是自己写了,动态添加环境变量用:

@echo off

set minGW_dir=D:\MinGW\

set sys_bin_dir=%minGW_dir%msys\1.0\bin\

set minGW_bin_dir=%minGW_dir%bin\

set path=%path%;%sys_bin_dir%;%minGW_bin_dir%

call "%VS90COMNTOOLS%..\..\VC\vcvarsall.bat" x86

call msys.bat

@echo on


之后双击start.bat就可以进入msys了:



以后每次使用,仅仅需要双击start.bat就哦了。

二:特殊环境准备。

在本开源项目中,看很多教程都要安装好多好多的支持文件,比如解码器之类的(看这里)但是我犯懒,没安装,想看看是不是已经安装了,也没找到命令。

由于本次我想要的功能是合并视频,而合并后的视频想要播放的话,需要一个音频编码器,我主要想合并的是mp4和flv,开始的时候生成mencoder.exe后,使用的指令是:

mencoder 1.mp4 2.mp4 -ovc copy  -oac copy -o ok.mp4
可是avi才可以使用oac copy,后来使用:

mencoder 1.mp4 2.mp4 -ovc copy  -oac mp3lame -o ok.mp4

mencoder 1.mp4 2.mp4 -ovc lavc  -oac lavc    -o result.mp4

输出的视频均只能使用mplayer播放,不能使用QQ视频播放器、暴风影音播放,最后发现,这样合并的:

mencoder 1.mp4 2.mp4 -ovc lavc  -oac mp3lame -o result.mp4  成功播放。

注意要安装lame:http://sourceforge.net/projects/lame/files/lame/3.99/   lame-3.99.tar.gz

具体:

解压,双击start.bat,cd进入解压后的目录,我们需要将lame生成到linux的系统路径/user下,在windows模拟下,就要生成到MinGW跟路径下D:\MinGW,执行命令:

./configure  --prefix=/d/MinGW/  --disable-shared --disable-decoder

lame会在include,lib,bin中拷贝生成的一些文件。

三:源代码。

官网我下载的是MPlayer-1.0rc4.tar.gz。windows 下直接解压出来,拷贝到一个目录下,比如:D:\buildMyplayer\MPlayer-1.0rc4

由于我目前仅仅需要使用mencoder,所以对于mplayer的皮肤啊之类的东西,暂且不添加。

创建一个文件夹,比如D:\buildMyplayer\codes,将windows-all-20071007.zip解压后的内容复制进去,该内容是视频解码内容。

四:编译。

很简单的配置命令  :

./configure  --prefix=/d/buildMyplayer/mplayer_bin/ --enable-mp3lame  --enable-mp3lib --codecsdir=/d/buildMyplayer/codes/ --language=zh_CN


启动msys,进入D:\buildMyplayer\MPlayer-1.0rc4,输入上边的命令,之后make编译



再之后make install生成

最后生成的文件在bin中:



运行的时候,如果出现:

没有找到libiconv-2.dll

那么就去下载一个放在运行当前目录下:



运行:



由于版本问题,使用mencoder合并后的视频,只能使用mplayer播放才能显示的没问题,使用QQ播放器,很花,暂时想到的是使用其他版本的源代码。

 非常牛的是,它还能直接播放网络上的视频:



 

 参考过的地址:

很好用的windows下的mplayer:http://oss.netfarm.it/mplayer-win32.php

官网:http://www.mplayerhq.hu/design7/dload.html

在windows上用源代码编译安装MPlayer  http://blog.163.com/china_zhanghong@126/blog/static/84816762005102551831216/

Unknown paramerer: --with-codecsdir=D:/MPlayer/codecs问题的解决  http://bbs.csdn.net/topics/380189651

Windows下MPlayer编译详细步骤 [转]    http://blog.chinaunix.net/uid-20718335-id-3035492.html

在windows XP系统下编译和使用ffmpeg   http://blog.sina.com.cn/s/blog_77c6324101019s2n.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息