[总结]ubuntu8.10下mplayer+win32codecs+Coreavc编译安装详解。

Totem,mplayer,sopcast,realplayer,bmp
nowhere
帖子: 31
注册时间: 2007-05-23 0:57

[总结]ubuntu8.10下mplayer+win32codecs+Coreavc编译安装详解。

#1

帖子 nowhere » 2008-11-11 23:05

论坛里有很多提问Win32codecs安装的问题。论坛里目前没有一篇完整简便的mplayer编译安装方法。论坛里现有几张coreavc安装的贴子,可惜说得都不够简明清楚。几番摸索后,终于成功完成。

先要感谢以下几位同学的贴子,正是因为有了这几篇,我才搞懂了整个过程。
testtest22 的
[分享]Mplayer+CoreAVC for Linux播放1080p高清很流畅
2ig2ag 的
CoreAVC for linux(低配CPU看高清视频)
讲得最清楚的是这篇
mplayer加CoreAVC播放H.264安装指南

正式开始
1. 如何安装win32codecs
比起手动安装来,我更推荐加源安装的方法。medibuntu是目前最好的源。
以ubuntu8.10为例
先加源

代码: 全选

sudo wget http://www.medibuntu.org/sources.list.d/intrepid.list --output-document=/etc/apt/sources.list.d/medibuntu.list
然后加GPG Key

代码: 全选

sudo apt-get update && sudo apt-get install medibuntu-keyring && sudo apt-get update
这一步时可能会有未验证之类的错误提示,回答yes,或y让它继续进行即可。

安装win32codecs包
如果是intel的CPU

代码: 全选

sudo apt-get install w32codecs
如果是64位 CPU

代码: 全选

sudo apt-get install w64codecs
OK,完成win32codecs的安装

2. 从源里安装mplayer。因为我们需要用源里的mplayer来装上一些重要的包,要不然,编译的mplayer很可能会缺少某些功能。
8.10源里的mplayer仍是1.0rc2,有点老。我们可以加个源用新的

代码: 全选

sudo gedit /etc/apt/sources.list
在末尾加上

代码: 全选

deb http://ppa.launchpad.net/rvm/ubuntu intrepid main
deb-src http://ppa.launchpad.net/rvm/ubuntu intrepid main
保存后

代码: 全选

sudo apt-get update
(这一步可能会出现缺少PGP密钥的信息,参照这里的办法解决。)

代码: 全选

sudo apt-get install mplayer smplayer mplayer-fonts  mozilla-mplayer
执行到这一步,不想编译的同学就可以止步了。你将得到一个版本比较新的mplayer和smplayer。但有可能mplayer会有问题。源里的mplayer要稳定得多。

---------------------------------------编译mplayer的快乐分隔线------------------------------------------------------
6楼的兄弟提供了更简洁的编译安装办法和更高版本的CoreAVCDecoder.ax,值得参考。

3. 准备编译mplayer+Coreavc。
第一步:(引自6楼)安装依赖包,比我原来的build-deb方式更简洁。。而且现在用build-deb,最后会出错,用这个是正确的。

代码: 全选

#BASIC
sudo apt-get install build-essential
#GTK support
sudo apt-get install libgtk2.0-dev
#XV support
sudo apt-get install libxv-dev
#ALSA support
sudo apt-get install libasound2-dev
#PULSE support
sudo apt-get install libpulse-dev
第二步 下载mplayer,下载Coreavc,以及破解版的CoreAVCDecoder.ax。
下载SVN版的mplayer(只有SVN版的mplayer才能安上Coreavc)

代码: 全选

svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer 
用SVN版下载Coreavc

代码: 全选

svn checkout http://coreavc-for-linux.googlecode.com/svn/trunk/ coreavc-for-linux 
下载CoreAVCDecoder.ax破解包。内有安装说明。解压后将CoreAVCDecoder.ax拷贝到/usr/lib/codecs目录中,然后更改此文件权限为所有用户可读。

代码: 全选

sudo chmod 644 /usr/lib/codecs/CoreAVCDecoder.ax
第三步 顺序是:处理Coreavc---注册CoreAVCDecoder.ax--配置mplayer--打补丁--编译--完成
a. 处理Coreavc(以intel CPU为例 )

代码: 全选

cd coreavc-for-linux
make -C dshowserver
 
然后

代码: 全选

sudo cp dshowserver/dshowserver /usr/local/bin
sudo cp dshowserver/registercodec /usr/local/bin
对于64位CPU,应该到http://code.google.com/p/coreavc-for-li ... loads/list下载最新的包。然后把dshowserver和registercodec拷贝到/usr/local/bin目录中。

b. 注册CoreAVCDecoder.ax

代码: 全选

registercodec -r ~/.mplayer/registry32 -k "HKLM\\Software\\CoreCodec\\CoreAVC Pro\\Serial" -v "0OKWX-E83B3-CORE-IQ0UW-3I3B7"
然后验证dshowserver是否工作:

代码: 全选

dshowserver -c CoreAVCDecoder.ax -s 1280x720 -g 09571a4b-f1fe-4c60-9760de6d310c7c31 -b 12 -f 0x34363248 -o 0x30323449
如果输出信息如下,那就表示解码器工作正常。

代码: 全选

输出:No id specified, assuming test mode
Opening device
len: 992
ProductVersion: 1.7.0Decoder supports the following YUV formats: YUY2 UYVY YV12 I420
Decoder is capable of YUV output (flags 0x2b)
Setting fmt
Starting
Initialization is complete
c. 配置mplayer和打补丁,在打补丁之前,一定要先./configure,要不然是打不上补丁的。

代码: 全选

cd mplayer
./configure --enable-gui --enable-menu --enable-freetype --enable-debug --codecsdir=/usr/lib/codecs --language=zh_CN
打补丁

代码: 全选

patch -p0 < ../coreavc-for-linux/mplayer/dshowserver.patch
然后编译安装

代码: 全选

make
sudo make install
(sudo make install时,最好用sudo checkinstall做成deb包后再安装,需要先sudo aptitude install checkinstall)

最后还有一步
编辑~/.mplayer/中的codecs.conf文件。如果没有这个文件,就拷贝一个过去

代码: 全选

cp etc/codecs.conf ~/.mplayer/
gedit ~/.mplayer/codecs.conf
把下面这一段拷贝到codecs.conf中,VIDEO CODECS部分的最前面。

代码: 全选

videocodec coreserve
  info "CoreAVC DShow H264 decoder 1.3 for x86 - http://corecodec.org/"
  status working
  format 0x10000005
  fourcc H264,h264 H264
  fourcc X264,x264
  fourcc avc1,AVC1 AVC1
  fourcc davc,DAVC
  fourcc VSSH
  driver dshowserver
  dll "CoreAVCDecoder.ax"
  guid 0x09571a4b, 0xf1fe, 0x4c60, 0x97, 0x60, 0xde, 0x6d, 0x31, 0x0c, 0x7c, 0x31
  out YV12,IYUV,I420,YUY2
最后,把从源里安装的mplayer改个名,保证以后调用的都是编译的mplayer。

代码: 全选

sudo mv /usr/bin/mplayer /usr/bin/mplayer.apt
好,现在,大功告成。哪怕是Atom CPU,也能基本流畅地播放720P视频了。

注:以上编译过程在Eeepc 1000H、ubuntu8.10上完成。不敢保证其他机型也能顺利成功完成。


附:参考资料
coreavc地址及官方教程
http://code.google.com/p/coreavc-for-li ... stallation
http://code.google.com/p/coreavc-for-li ... verInstall
mplayer的普通编译安装
http://blog.chinaunix.net/u2/81801/showart_1330801.html
medibuntu官方指南
https://help.ubuntu.com/community/Medibuntu

P.S. 如果你觉得Coreavc解码器的确好用,那最好还是去注册。普通版$7.95,PRO版$14.95。网址是http://www.coreavc.com/

09.03.07
更新CoreACDDecoder.ax为1.9版。/color]
CoreAVC1_9.tar.bz2
1.9版的CoreAVCDecoder.ax。。另附nvcuvid.dll
(561.95 KiB) 已下载 338 次
简单说明:
下载后解压,连同nvcuvid.dll一起CP到/usr/lib/codecs里。使用前,需要重新输入注册码(方法上面有)
正确的话,
输入

代码: 全选

 dshowserver -c CoreAVCDecoder.ax -s 1280x720 -g 09571a4b-f1fe-4c60-9760de6d310c7c31 -b 12 -f 0x34363248 -o 0x30323449
输出应是

代码: 全选

No id specified, assuming test mode
Opening device
Called unk_IsDebuggerPresent
len: 992
ProductVersion: 1.9.0
Decoder supports the following YUV formats: YUY2 UYVY YV12 I420 
Decoder is capable of YUV output (flags 0x2b)
Setting fmt
Starting
Initialization is complete
可以参考一下[url=http://linuxtoy.org/archives/coreavc-19 ... guide.html]这篇文章[/url]
上次由 nowhere 在 2009-04-01 2:50,总共编辑 7 次。
头像
openicq
帖子: 73
注册时间: 2008-05-07 20:37

Re: [总结]ubuntu8.10下mplayer+win32codecs+Coreavc编译安装详解。

#2

帖子 openicq » 2008-11-12 8:17

sudo cp dshowserver/dshowserver /usr/local/bin
sudo cp loader/registercodec /usr/local/bin
这一步在我这里应该是这样的
sudo cp dshowserver/dshowserver /usr/local/bin
sudo cp dshowserver/registercodec /usr/local/bin
还有
CoreAVCDecoder.ax复制到/usr/lib/win32后需要给它己加上所有用户的只读权限
(之前我没有加上读取权限所以无法调用....Orz)
rover1985
帖子: 9
注册时间: 2006-08-24 13:15

Re: [总结]ubuntu8.10下mplayer+win32codecs+Coreavc编译安装详解。

#3

帖子 rover1985 » 2008-11-12 14:20

好的,看看效果如何~ :em02
LaoLiulaoliu
帖子: 131
注册时间: 2006-10-25 17:50
来自: 南京
联系:

Re: [总结]ubuntu8.10下mplayer+win32codecs+Coreavc编译安装详解。

#4

帖子 LaoLiulaoliu » 2008-11-12 19:43

VC1的编码,支持吗?
nowhere
帖子: 31
注册时间: 2007-05-23 0:57

Re: [总结]ubuntu8.10下mplayer+win32codecs+Coreavc编译安装详解。

#5

帖子 nowhere » 2008-11-12 22:37

openicq 写了: 这一步在我这里应该是这样的
sudo cp dshowserver/dshowserver /usr/local/bin
sudo cp dshowserver/registercodec /usr/local/bin
还有
CoreAVCDecoder.ax复制到/usr/lib/win32后需要给它己加上所有用户的只读权限
(之前我没有加上读取权限所以无法调用....Orz)
多谢指正。主贴已修改。

我原来是下载包二进制包直接复制过去的。刚才make -C之后才发现registercodec果然是在dshowserver里面。

用medibuntu安装的win32codecs实际上全都放在了/usr/lib/codecs里面。/usr/lib/win32只是个链接,所以把CoreAVCDecoder.ax复制到/usr/lib/codecs中也是一样的。
testtest22
帖子: 101
注册时间: 2006-06-24 20:03

Re: [总结]ubuntu8.10下mplayer+win32codecs+Coreavc编译安装详解。

#6

帖子 testtest22 » 2008-11-13 4:11

不错,我之前已经在8.10上(64位版)重新安装了,也补充一下:

1,CoreAVCDecoder.ax的获得
CoreAVCDecoder.ax现在最新版是1.85,你可以从网上下载有注册机的安装包在WIN上安装并提取这个文件。
当然,也可以直接从附件里下载

2,mplayer (含gui)的编译安装

A,如果想启用OSD菜单,在编译时可加上 --enable-menu

B,解决编译mplayer svn时的依赖关系,可以简化一下,应该会少安装一些没必要的东西:

代码: 全选

#BASIC
sudo apt-get install build-essential
#GTK support
sudo apt-get install libgtk2.0-dev
#XV support
sudo apt-get install libxv-dev
#ALSA support
sudo apt-get install libasound2-dev
#PULSE support
sudo apt-get install libpulse-dev
C,如果不想安装官方源里的mplayer,并且还想安装smplayer(对mplayer有依赖),可以这样做:

./configure .........
make
sudo make install
sudo make uninstall
sudo checkinstall
也就是说先源码安装mplayer,然后删除,然后再以deb包的形式安装它(sudo checkinstall会生成一个deb包并安装它)
之所以先安装再删除,是因为要创建一些目录,为后面的DEB包安装做准备(以后删除这个DEB包时这些目录会自动被删除)

安装deb的好处是:方便管理,解决安装smplayer时的依赖(不需要再装源里的mplayer了)

3,编译安装mplayer之前,你可能还需要安装libdca0这个包。

4,对于64位版,似乎只能下载编译好的dshowserver和registercodec,附件中提供个较新的R77版的。

5,纠正下楼主的一个错误:Intel CPU 64位版的也是安装w64codecs,并不只是AMD,AMD64这个版本不仅是针对AMD CPU的。

6,我以前写过针对8.04的安装过程,楼主文中提到过,不过,较简略,应以这个为准。
附件
CoreAVC.Professional.1.8.5.Keygen.tar.gz
CoreAVC.Pro.1.8.5的注册机,WIN或wine下运行
(108.08 KiB) 已下载 13256 次
dshowserver-ia32-r77-acme.tar.bz2
用于ub8.10 AMD64位版的dshowserver和registercodec (r77版,比官方新)
(565.44 KiB) 已下载 13167 次
CoreAVC.Professional.Edition.Setup.1.8.5.With.key.tar.gz
CoreAVC.Pro.1.8.5 的文件CoreAVCDecoder.ax,含注册码
(311.37 KiB) 已下载 13019 次
头像
eagle5678
帖子: 1865
注册时间: 2006-07-08 14:07

Re: [总结]ubuntu8.10下mplayer+win32codecs+Coreavc编译安装详解。

#7

帖子 eagle5678 » 2008-11-13 15:01

单核的好像没有作用
头像
我安静不代表我斯文
帖子: 10
注册时间: 2008-11-10 21:50
来自: 重庆
联系:

Re: [总结]ubuntu8.10下mplayer+win32codecs+Coreavc编译安装详解。

#8

帖子 我安静不代表我斯文 » 2008-11-13 17:29

下载好慢
以前我得过精神分裂症,现在我们都好了
3911557
帖子: 82
注册时间: 2008-04-01 15:15

Re: [总结]ubuntu8.10下mplayer+win32codecs+Coreavc编译安装详解。

#9

帖子 3911557 » 2008-11-13 22:15

好复杂。
kingarthas
帖子: 4
注册时间: 2008-11-13 14:17

Re: [总结]ubuntu8.10下mplayer+win32codecs+Coreavc编译安装详解。

#10

帖子 kingarthas » 2008-11-14 19:37

照做了,可是得到这些错误,请各位帮忙看下

代码: 全选

 sudo apt-get install w32codecs
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
有一些软件包无法被安装。如果您用的是不稳定(unstable)发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们还在新到(incoming)目录中。

您仅要求对单一软件包进行操作,这极有可能是因为该软件包安装不上,同时,
您最好提交一个针对这个软件包的故障报告。
下列的信息可能会对解决问题有所帮助:

下列的软件包有不能满足的依赖关系:
  w32codecs: 依赖: libstdc++5 (>= 1:3.3.4-1) 但却无法安装它
E: 无法安装的软件包
nowhere
帖子: 31
注册时间: 2007-05-23 0:57

Re: [总结]ubuntu8.10下mplayer+win32codecs+Coreavc编译安装详解。

#11

帖子 nowhere » 2008-11-14 22:28

试试

代码: 全选

sudo apt-get install libstdc++5
可以参考这个贴子
kingarthas
帖子: 4
注册时间: 2008-11-13 14:17

Re: [总结]ubuntu8.10下mplayer+win32codecs+Coreavc编译安装详解。

#12

帖子 kingarthas » 2008-11-14 23:38

谢谢帮忙,已经开始安装了,貌似libstdc++5又需要gcc-3.3-base,而这几个包现在的ubuntu源里都没有了,还好能google到...下回来按顺序安装就行了
kingarthas
帖子: 4
注册时间: 2008-11-13 14:17

Re: [总结]ubuntu8.10下mplayer+win32codecs+Coreavc编译安装详解。

#13

帖子 kingarthas » 2008-11-15 0:53

依赖太复杂了。。。而且这里遇到的4个还装不了,晕了...

代码: 全选

sudo apt-get install mplayer smplayer mplayer-fonts  mozilla-mplayer
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
有一些软件包无法被安装。如果您用的是不稳定(unstable)发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们还在新到(incoming)目录中。
下列的信息可能会对解决问题有所帮助:

下列的软件包有不能满足的依赖关系:
  smplayer: 依赖: libqt4-network (>= 4.4.3) 但是它将不会被安装
            依赖: libqt4-xml (>= 4.4.3) 但是它将不会被安装
            依赖: libqtcore4 (>= 4.4.3) 但是它将不会被安装
            依赖: libqtgui4 (>= 4.4.3) 但是它将不会被安装
E: 无法安装的软件包
头像
somuch
帖子: 5
注册时间: 2008-03-14 18:24

Re: [总结]ubuntu8.10下mplayer+win32codecs+Coreavc编译安装详解。

#14

帖子 somuch » 2008-11-16 15:44

太好了,早有这个想法,想把这总结一下,一直没做。
谢谢楼主的辛苦劳动。
苍茫云海间
明月出天山!
天神泪
帖子: 35
注册时间: 2008-08-04 0:55
来自: 广西

Re: [总结]ubuntu8.10下mplayer+win32codecs+Coreavc编译安装详解。

#15

帖子 天神泪 » 2008-11-16 17:54

搞了大半天,没成功 :em06
回复