Ubuntu 9.10 SMPlayer with CoreAVC 2.0 win32Codecs 2010


→RMVB播放截图player RMVB

相信常在Win平台看高清的同学都不会对终极解码&完美解码这些播放器陌生吧,就目前来说身边也是越来越多的字幕组开始压制以264为编码的MP4或者mkv的视频了(取代RV10,基于264的480p或更高。

那么想要在win平台上播放这些视频却是很容易的,通常一些播放器都会集成众多的解码器来进行解码,这就是我们常说的万能播放器了,而在这些解码器中较受欢迎和常用的便是CoreAVC,ffdshow等。

从截图可以看到atom1.6Ghz的CPU播放720p只占用了很少的系统资源,可见其效能优异
以下将以<安装记录>的方式教授大家如何在Ubuntu上安装基于MPlayer+CoreAVC 2.0的万能播放器(SMPlayer)


--------------------------意味不明の分割线--------------------------

注:以下所有命令操作均在root账户下进行:
view sourceprint?1 sudo passwd root #修改root密码 

2 su root #此时提升至root,请输入root密码

  建立一个存放目录,并安装所需环境
view sourceprint?1 mkdir ~/mplayer-with-coreavc 

2 cd ~/mplayer-with-coreavc 

3   

4 apt-get install build-essential subversion pkg-config xorg-dev libgtk2.0-dev libxv-dev libasound2-dev libpulse-dev 

5   

6 apt-get build-dep mplayer #build一个编译MPlayer所需要的依赖环境 

7 apt-get install gcc-4.3   # 9.10用户需执行 

8 svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer #取得svn下的MPlayer源码 

9 svn checkout http://coreavc-for-linux.googlecode.com/svn/trunk/ coreavc-for-linux #取得coreavc for linux源码
  下载CoreAVC安装文件
CoreAVC 2.0 Professional Edition
  安装此文件需要wine支持
view sourceprint?1 apt-get install wine wine-dev #安装wine&wine-dev(注意dev必须安装,否则无法完成dshowserver编译

  运行CoreAVC 2.0 Professional Edition.exe
view sourceprint?1 wine "CoreAVC 2.0 Professional Edition.exe"
弹出程序安装窗口,进行安装(邮箱及序列号请查看压缩包内SN.txt)
安装完毕后命令行会停在{fixme:shell:DllCanUnloadNow stub},此时回车即可继续。

  建立codecs目录,复制CoreAVCDecoder.ax到codecs
下载win32Codecs all-20100303.tar.bz2
view sourceprint?1 mkdir /usr/lib/codecs/ 

2   

3 cp ~/.wine/drive_c/Program\ Files/CoreCodec/CoreAVC\ Professional\ Edition/CoreAVCDecoder.ax /usr/lib/codecs/ 

4   

5 bunzip2 all-20100303.tar.bz2 && tar xvf all-20100303.tar #解压&&解包 

6   

7 cp -rf all-20100303/* /usr/lib/codecs/ #复制所有到codecs文件夹 

8   

9 chmod -R 777 /usr/lib/codecs/ #添加权限
  编译安装dshowserver
view sourceprint?1 cd mplayer-with-coreavc/coreavc-for-linux #进入coreavc-for-linux目录 

2   

3 make -C dshowserver/ #编译 dshowserver(文件夹) 

4   

5 cd dshowserver #进入dshowserver文件夹 

6   

7 make install #安装dshowserver

  测试dshowserver是否工作
view sourceprint?1 dshowserver -c /usr/lib/codecs/CoreAVCDecoder.ax -s 1280x720 -g 09571a4b-f1fe-4c60-9760de6d310c7c31 -b 12 -f 0x34363248 -o 0x30323449
显示结果类似如下则正常
view sourceprint?01 Starting wine dshowserver.exe.so 

02 No id specified, assuming test mode 

03 Opening device (port is 0) 

04 len: 992 

05 ProductVersion: 2.0.0 

06 fixme:thread:SetThreadIdealProcessor (0x54): stub 

07 fixme:thread:SetThreadIdealProcessor (0x58): stub 

08 Decoder supports the following YUV formats: YUY2 UYVY YV12 I420  

09 Decoder is capable of YUV output (flags 0x2b) 

10 Setting fmt

11 Starting 

12 Initialization is complete
  编译MPlayer
view sourceprint?1 cd ~/mplayer-with-coreavc/mplayer #进入mplayer源码目录
编译参数
view sourceprint?1 CC=gcc-4.3 ./configure --enable-gui --enable-menu --enable-freetype --enable-debug --codecsdir=/usr/lib/codecs --language=zh_CN #如果您是9.10用户请加上CC=gcc-4.3
安装dshowserver补丁
view sourceprint?1 patch -p0 < ../coreavc-for-linux/mplayer/dshowserver.patch #安装dshowserver补丁
开始编译
view sourceprint?1 make && make install #编译时间针对配置,可能时间较长

执行一次MPlayer创建.mplayer/配置目录
view sourceprint?1 mplayer #直接输入即可
复制配置文件
view sourceprint?1 cp etc/codecs.conf ~/.mplayer/ #复制配置文件到用户目录下的.mplayer/
将下面配置信息粘贴入codecs.conf中,videocodec ffbinkvideo的前面。
view sourceprint?1 vim ~/.mplayer/codecs.conf
view sourceprint?01 videocodec coreserve 

02   info "CoreAVC DShow H264 decoder 2.0 for x86 - http://corecodec.org/"

03   status working 

04   format 0x10000005 

05   fourcc H264,h264 H264 

06   fourcc X264,x264 

07   fourcc avc1,AVC1 AVC1 

08   fourcc davc,DAVC 

09   fourcc VSSH 

10   driver dshowserver 

11   dll "/usr/lib/codecs/CoreAVCDecoder.ax"

12   guid 0x09571a4b, 0xf1fe, 0x4c60, 0x97, 0x60, 0xde, 0x6d, 0x31, 0x0c, 0x7c, 0x31 

13   out YV12,IYUV,I420,YUY2 

下载SMPlayer
SMPlayer SF.net
view sourceprint?1 cd ~/mplayer-with-coreavc #下载smplayer-x.x.x.tar.bz2 到此目录 

2 bunzip2 smplayer-x.x.x.tar.bz2 #解压 

3 tar xvf smplayer-x.x.x.tar #解包 

4 cd smplayer-x.x.x
安装SMPlayer
view sourceprint?1 apt-get install libqt4-dev zlib1g-dev fakeroot devscripts debhelper g++ #安装环境,会在命令行界面出现对话框,请一直确定下一步即可
制作一个deb包
view sourceprint?1 ./create_deb.sh #发生错误请检查是否安装上面的环境,或安装更多依赖包
安装deb包
上一条命令执行结束后会在上级目录生成deb安装包
view sourceprint?1 cd ../ #跳会上一级目录 

2 dpkg -i smplayer_x.x.x_i386.deb #dpkg -i 安装软件包
以上方法安装的SMPlayer不会集成MPlayer等软件包,但会产生错误信息、请无视。

此时SMPlayer已经安装完毕,你可以在:
view sourceprint?1 应用程序->影音->SMPlayer 启动它
ok,全部安装完成、

注:如果想在普通用户组使用,请确定所有需要调用的目录文件是否赋予权限、复制codecs.conf到当前用户目录下的.mplayer/ 并且在普通用户下重新执行
view sourceprint?1 wine "CoreAVC 2.0 Professional Edition.exe"
来安装CoreAVC,否则dshowserver可能无法正常使用

后记:第一次写这么长的东东,只是因为目前网上能查到的资料似乎都已经无法胜任了、
新版的CoreAVC for linux 改变了许多,还有大概是因为我比较爱用CoreAVC这个东东吧,所以就有了这篇小记

相关内容