好久没有关注MPC(Media Player Classic)的源码了。几年前,暴风影音不带广告和捆绑插件时,曾经用过,感觉不错。可是现在这个影音绑了一堆无用的东西,总是不怎么干净。于是干脆自己下了源码,试着编译一下。把它放到了我的下载里头了。
http://iihero.download.csdn.net/ 里头应该能找到。
总共下了三份源码:
1. https://guliverkli.svn.sourceforge.net/svnroot/guliverkli
这个是最早的MPC源码了,作者gabest于 2006.04停止更新
编译顺序如下:
<!--[if gte mso 9]><![endif]--><!--[if gte mso 9]><![endif]--><!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"/@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
mso-pagination:none;
font-size:10.5pt;
mso-bidi-font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:宋体;
mso-font-kerning:1.0pt;}
/* Page Definitions */
@page
{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}
@page Section1
{size:612.0pt 792.0pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;
mso-header-margin:36.0pt;
mso-footer-margin:36.0pt;
mso-paper-source:0;}
div.Section1
{page:Section1;}
--><!--[if gte mso 10]><style><! /* Style Definitions */ table.MsoNormalTable{mso-style-name:普通表格;mso-tstyle-rowband-size:0;mso-tstyle-colband-size:0;mso-style-noshow:yes;mso-style-parent:"";mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-para-margin:0cm;mso-para-margin-bottom:.0001pt;mso-pagination:widow-orphan;font-size:10.0pt;font-family:"Times New Roman";mso-fareast-font-family:"Times New Roman";mso-ansi-language:#0400;mso-fareast-language:#0400;mso-bidi-language:#0400;}--><!--[endif]-->
</style>
1. deccs
2. dsutil
3. ui
4. subpic
5. subtitles
6. filters (for mpc only build thoseconfigurations which output a lib, the rest outputs stand-alone filters)
7. apps/mplayerc
需要修改的内容:
1、subtitles
guliverkli/src/subtitles/CCDecoder.cpp
' ','!','"','#','$','%','&','/'','(',')','?','+',',','-','.','/',//lsp
将 '? 全局替换成 '?' 。
源代码也要作若干改动。
俺使用的是2003版的DirectxSDKa9. 它的baseclass工程使用的是VC6代码格式,需要改动几个文件。
另外,
<!--[if gte mso 9]><![endif]--><!--[if gte mso 9]><![endif]--><!--[if gte mso 10]><style><! /* Style Definitions */ table.MsoNormalTable{mso-style-name:普通表格;mso-tstyle-rowband-size:0;mso-tstyle-colband-size:0;mso-style-noshow:yes;mso-style-parent:"";mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-para-margin:0cm;mso-para-margin-bottom:.0001pt;mso-pagination:widow-orphan;font-size:10.0pt;font-family:"Times New Roman";mso-fareast-font-family:"Times New Roman";mso-ansi-language:#0400;mso-fareast-language:#0400;mso-bidi-language:#0400;}--><!--[endif]-->
</style>
(a) winnt.h
d:/Program Files/Microsoft Visual Studio8/VC/PlatformSDK/include/winnt.h
在该文件头部添加:
#define POINTER_64 __ptr64// add bypeter lee
(b) vmr9.h
D:/DXSDK/Include/vmr9.h
MixerPref9_RenderTargetRGB = 0x1000,
MixerPref9_RenderTargetYUV = 0x00002000, //lspadd
该份源码使用VS2005编译。基本还算顺利。
2. http://sourceforge.net/projects/guliverkli2/
这份代码是第1份的维护版本,编译起来相对方便。整个就一个大工程。先把baseclasses编译好,再编译余下的。
可是1和2编译出来的mpc,功能还是不全。连个flv文件都播放不了。于是我又尝试编译3。要准备的东西就多了。
3. https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk
我准备的有:
1. VS2008标准版
2. 重新下载了SDK for vista
http://www.microsoft.com/downloads/details.aspx?FamilyID=4377f86d-c913-4b5c-b87e-ef72e5b4e065
安装完以后,发觉并不完全可用。
3. DirectX9c (2007版)
http://www.microsoft.com/downloads/details.aspx?FamilyID=529f03be-1339-48c4-bd5a-8506e5acf571
弄完之后,header路径和lib路径也按要求设置完毕,编译就是死活过不去。
同样,按照上边的改改winnt.h。
最后,只差一点了,就是SDK for vista中缺少MDAC相关头文件,建议把VS2008自带的6.0a的sdk头文件中的mdac部分拷一部分过来。
另外,VS2008中缺少ATL_server相关头文件。可以从:
http://atlserver.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=3754
下一份。放到单独的目录里边,再设置好相应的header路径。
于是乎,build完毕。kao, sourceforge上或者源码里头的readme写得可是不够仔细。让人一顿摸索。建议学习或者摸索MPC相关源码的朋友把directx 从2003a到2009March的所有版本打包,platform_SDK从XP_sp2到SDK2008也都打包,放到一起,这样可以很方便的组合在一起。
搞了半天,我就是想弄个flash视频播放的东东。下边是flv视频的截图:
<script type="text/javascript"><!--
google_ad_client = "ca-pub-7104628658411459";
/* wide1 */
google_ad_slot = "8564482570";
google_ad_width = 728;
google_ad_height = 90;
//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
分享到:
相关推荐
《自己动手编译MPC-HC播放器:深入解析与实践》 MPC-HC(Media Player Classic - Home Cinema)是一款深受用户喜爱的开源媒体播放器,它基于MPC(Media Player Classic)项目并持续更新,支持Unicode编码,提供丰富...
VS2013上已经编译通过的 mpc-hc 代码,花费了我3天的时间,从官网下载,编译,解决 bug 。编译方法: 1. 从 http://xhmikosr.1f0.de/tools/msys/MSYS_MinGW-w64_GCC_492_x86-x64.7z 下载 msys 2. 在 msys\etc 找到...
标题"MPC-HC.1.9.6.21.x64_player_mpc-hc_"指的是Media Player Classic - Home Cinema(MPC-HC)的64位版本,这是一个开源的媒体播放器,版本号为1.9.6.21。这个软件专为Windows操作系统设计,主要用于播放各种...
可以直接用vs2008编译。内含所有第三方库。如果错误比较多,建议搭建windows下的gcc环境。
为您提供MPC播放器 MPC-BE下载,最强的播放器MPC-HC没落了,MPC-BE来了。mpc-be 是从mpc-hc分离出来的,以俄国程序员主打,重新编译优化的版本,解码器不同,界面也多有美化。MPC-BE在保留所有特点的基础上花功夫改进...
为您提供MPC播放器 MPC-BE下载,最强的播放器MPC-HC没落了,MPC-BE来了。mpc-be 是从mpc-hc分离出来的,以俄国程序员主打,重新编译优化的版本,解码器不同,界面也多有美化。MPC-BE在保留所有特点的基础上花功夫改进...
4. 编译源码: ```bash make ``` 5. 安装到系统路径: ```bash sudo make install ``` **使用mpc编译Caffe** 要使用mpc编译Caffe,你可能需要在Caffe的Makefile配置文件中指定mpc库的路径,并链接mpc。具体...
最新的mpc源码,可以使用vs2008编译。 支持 unicode. 和 VISTA。 功能非常强大。里面具有非常完善的视频解决源码组件。 非常好的学习资料。 (共28M,分2个传)
"MPC"在这里并不是指多媒体播放器,而是Multiprecision Calculator的缩写,它是GCC在处理浮点运算时的一个重要依赖。MPC是一个用于复数算术的多精度浮点计算库,它支持IEEE 754标准,并且在编译时为GCC提供精确的...
在IT行业中,我们经常遇到各种各样的开源软件和工具,其中MPC(Media Player Classic)是一款广泛使用的媒体播放器,而“mpc-1.2.0.tar.gz”则是该软件的一个特定版本的源代码压缩包。本文将深入探讨MPC及其1.2.0...
标题中的"mpc-1.0.2.tar.gz"是一个软件源码包的名称,它遵循了一种常见的开源软件发布格式。"tar.gz"表明这是一个使用`tar`工具打包,并用`gzip`进行压缩的文件。这种组合通常用于在Linux和Unix-like系统中分发源...
标题 "gmp-isl-mpc-mpfr" 指涉的是四个开源软件库,它们在计算机科学,特别是计算领域扮演着重要角色,尤其是在编译GCC(GNU Compiler Collection)时是必需的组件。让我们逐一深入探讨这些库的详情。 1. **GMP ...
在GCC的编译过程中,mpc库提供了高级数学函数的实现,使得编译出的程序能够进行高效、精确的计算。在Linux环境下,通常通过包管理器如yum来安装系统所需的各种库,但有时可能由于仓库的更新延迟,无法获取到最新版本...
MPC-BE(Media Player Classic Black Edition)是来自 MPC-HC(Media Player Classic Home Cinema)的俄罗斯开发者重新编译优化后的一款经免费的经典全能影音播放器,纯净无广告,启动速度快,占用消耗低,支持解码...
**Media Player Classic (MPC) 是一款经典的媒体播放器,其源代码的第1249...通过获取源代码并进行编译,用户可以进一步探索播放器的内部运作,同时也可以根据自己的需求进行个性化开发,这体现了开源软件的强大魅力。
完成以上步骤后,你可以在自己的代码工程中使用这些库和头文件,直接引用编译出的库,无需再额外配置环境。注意,为了保证兼容性和性能,确保你的代码遵循了MySQL和C++的编程规范,以及正确处理了异常和错误处理。 ...
GRPC-Java 源码环境构建 GRPC-Java 源码环境构建是一个相对复杂的过程,需要具备一定的技术基础和经验。本文将详细介绍 GRPC-Java 源码环境构建的步骤和过程,旨在帮助读者快速搭建 GRPC-Java 源码环境。 一、...
标题中的“gcc4.8.2+mpc-0.8.1.tar.gz+gmp-4.3.2.tar.bz2+mpfr-2.4.2.tar.bz2”表明了这是一个关于构建GCC(GNU Compiler Collection)4.8.2版本的流程,其中涉及到的依赖库包括GMP(GNU Multiple Precision ...