Chinaunix首页 | 论坛 | 博客
  • 博客访问: 710463
  • 博文数量: 112
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 1192
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-12 16:46
文章分类

全部博文(112)

文章存档

2009年(4)

2008年(108)

我的朋友

分类: LINUX

2008-11-29 16:11:52

文件:CoreAVC.Professional.Edition.Setup.1.8.5.With.key.tar.gz
大小:311KB
下载:下载
  论坛里有很多提问Win32codecs安装的问题。论坛里目前没有一篇完整简便的mplayer编译安装方法。论坛里现有几张coreavc安装的贴子,可惜说得都不够简明清楚。几番摸索后,终于成功完成。

先要感谢以下几位同学的贴子,正是因为有了这几篇,我才搞懂了整个过程。
testtest22 的

2ig2ag 的

讲得最清楚的是这篇
mplayer加CoreAVC播放H.264安装指南

正式开始
1. 如何安装win32codecs
比起手动安装来,我更推荐加源安装的方法。medibuntu是目前最好的源。
以ubuntu8.10为例
先加源
代码:
sudo wget --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 intrepid main
deb-src intrepid main

保存后
代码:
sudo apt-get update

代码:
sudo apt-get install mplayer smplayer mplayer-fonts  mozilla-mplayer

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

---------------------------------------编译mplayer的快乐分隔线------------------------------------------------------

3. 准备编译mplayer+Coreavc。
第一步(重要)
代码:
sudo apt-get build-dep mplayer


第二步 下载mplayer,下载Coreavc,以及破解版的CoreAVCDecoder.ax。
下载SVN版的mplayer(只有SVN版的mplayer才能安上Coreavc)
代码:
svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer


用SVN版下载Coreavc
代码:
svn checkout 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,应该到下载最新的包。然后把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-freetype --codecsdir=/usr/lib/codecs --language=zh_CN

打补丁
代码:
patch -p0 < ../coreavc-for-linux/mplayer/dshowserver.patch

然后编译安装
代码:
make
sudo make install


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

把下面这一段拷贝到codecs.conf中,VIDEO CODECS部分的最前面。
代码:
videocodec coreserve
  info "CoreAVC DShow H264 decoder 1.3 for x86 - "
  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上完成。不敢保证其他机型也能顺利成功完成。
另外,6楼的兄弟提供了更简洁的安装办法和更高版本的CoreAVCDecoder.ax,值得参考。

附:参考资料
coreavc地址及官方教程


mplayer的普通编译安装
http://blog.chinaunix.net/u2/81801/showart_1330801.html
medibuntu官方指南


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

6#的帖子

不错,我之前已经在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,我以前写过,楼主文中提到过,不过,较简略,应以这个为准。

注:sudo ln -s /usr/lib/win32 /usr/lib/codecs
是针对w32codecs解码器做个软连接 Mplayer不同安装方式会把解码器放在不同的目录,做连接就不用管理了。

附件:CoreAVC.Pro.1.8.5 的文件CoreAVCDecoder.ax,含注册码


阅读(3502) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~