不死鸟P2P

关于不死鸟 UT库 Phoenix库 ETUdp库 UTS库 库使用示范 最新进展 开发历史 下    载 授    权 联系我们

Mplayer播放器编译教程

Mplayer是一个著名的开源跨平台支持流播放的万能播放器软件,本教程将指导您完成从代码获取到编译出成品的全部流程.

相信很多朋友的电脑上肯定会安装至少一款媒体播放器,国内有很多很多的修改版,其实呢,诚实点的,就直接把人家的软件拿来封装后,做下优化然后打包发布;脸皮厚的呢,抄袭人家的代码,然后自己写个界面,一个典型的原创播放器就产生了.

主流的开源播放器首先是Media player classic , 这个是用MFC写的,它不能支持流播放,虽然有些版本号称支持流播放,但那是假的,看它的代码就知道了;其次是mplayer,使用C语言开发的跨平台播放器,这个播放器已经从底层实现了流播放,缺点是汇编代码太多,估计要生成64位版本有难度;最后是VLC,这个是采用C++语言开发的播放器,跨平台,发展的非常快,支持流播放. 我们这里将教您自己编译一个mplayer播放程序,不过是裸体版,当然您可以自己给它做个外壳,然后调用它,就变成了一个播放器,而我们提供的UVod2源代码就是这么个壳,并实现了P2P流播放.

Mplayer采用了SVN管理源代码,要获取源代码,您首先需要安装一个SVN版本管理软件,www.sliksvn.com/en/download 或者http://subversion.tigris.org, 到这里下载版本管理软件,然后安装,安装完成后,您应该进入到CMD命令行状态,切换到该软件目录的可执行文件bin子目录下,输入如下指令,如下图

按回车后,将自动下载mplayer的源代码,注意,新版本的mplayer没有直接包含ffmpeg库,实际ffmpeg是在编译前才使用GIT下载,这个下载过程大约需要15分钟左右,下载完成后,源代码就保存在你的指定目录中了.

mplayer是采用标准C语言开发,但是使用了大量的POSIX函数,因此无法直接使用Visula c++等这样的工具进行编译,而需要使用GNU C [MINGW]进行编译,还需要虚拟的BASH环境,你 可能已经晕了,是不是还要下载CYGWIN之类的?这里,已经有很多人帮你做了这个工作,国外有,国内也有,就是集成编译环境,例如mplayer-ww编译版网站就提供了一个编译环境,把GCC和虚拟BASH等都组合好了,包括GIT工具也配置好了,您直接下载一个就是了.

mplayer ww编译版的站点地址是:http://mplayer-ww.com/ , 不给直接的下载地址了,否则人家会怪我的,本文版权属于 俞盛 所有,禁止转载 www.phoenixp2p.com , 反正这个站是中文的,自己找找吧,注意,源代码不要下载它的,而应该使用我刚才下载的那个. 这个环境我已经放到网盘上,点这里可以下载

完成编译环境和编译器的下载后,请解压到您的磁盘目录中,如果您想偷懒,直接解压到C盘的根目录下,那么什么都不需要修改,否则请打开etc子目录下的fstab文件[用记事本打开就可以,如下

然后保存文件,就完成了编译环境的搭建,,然后把刚才下载的mplayer源代码拷贝到mingw根目录下,这主要是为了避免等下命令行操作的时候频繁的切换,产生各种不必要的问题,

拷贝完成后,请将我们提供的stream_ftp.c 文件,替换源代码子目录stream中的同名文件,必须要执行这个,否则你编译出来的东西是无法支持我们的UT P2P播放的,这一步不可以省略.

替换完成后,请双击里面的msys.bat文件,将启动一个虚拟的BASH,注意,这个MSYS模拟的BASH环境远比CYGWIN好用多了,编译mplayer足够了,至少到2012年5月,我用这个平台编译mplayer没任何问题.本文版权属于 俞盛 所有,禁止转载 www.phoenixp2p.com ,如下图:

然后请输入 ./configure , 注意前面有个点,后面带参数,参考下图:

第一次执行configure的时候,由于需要下载FFMPEG代码,时间会很长例如可能半小时,以后就会跳过下载这一步了,输入后面的参数完成后,回车,通常在是十分钟左右完成配置,如果出错,会提示你哪里错误,正常情况下绝对没错,出错一般都是后面跟的参数不正确导致的.

上面的步骤成功后,只需要输入 make ,现在你就可以去喝茶了,期间屏幕会滚过一大片一大片的警告信息,别理它,正常的,如果你的CPU不是太垃圾,大概20分钟到30分钟左右完成编译和连接,成功后你就可以到你的源代码根目录下去找mplayer.exe文件了,这个就是你的成果,不过它是裸体的,也就是命令行方式调用的可执行文件,我们的任务就是给它加个外套,这就是UVOD2,具体请到 库开发教程 中查阅如何编写mplayer外壳.




 



 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
(c) 2011-2016 phoenixp2p.com