[教程]自己动手编译A卡和I卡支持硬解码的mplayer(目前只能自己来,没有现成的包)

Totem,mplayer,sopcast,realplayer,bmp
回复
ryoohki
帖子: 3249
注册时间: 2008-10-28 20:18
送出感谢: 0
接收感谢: 0

[教程]自己动手编译A卡和I卡支持硬解码的mplayer(目前只能自己来,没有现成的包)

#1

帖子 ryoohki » 2010-02-12 14:21

现在的I卡和A卡的硬解虽然在mplayer上实现了,不过还没有被上游支持,所以没有现成的Deb或RPM包可以用,需要用户自己手动编译
带vaapi的mplayer源码下载链接
http://www.splitted-desktop.com/~gbeauc ... yer-vaapi/
并且在编译之前还要用户自己动手安装 vaapi 接口,源码下载地址:
http://www.splitted-desktop.com/~gbeauchesne/libva/
因为本人没A卡或I卡就先不测试了

以下编译都是基于Debian系统的(Ubuntu,Kbuntu也是),如果你的系统是RedHet或Suse请参阅源码包内的说明来编译
=====================================================================================
vaapi 接口的安装方法一:
编译方法:
下载最新的源码,然后解压,进入解压后的源码目录:
sudo dpkg-buildpackage -rfakeroot -uc -us
---------------------------------------------------------------------------------------------------------------------------------------------------------
vaapi 接口的安装方法二:
直接安装Deb包

vaapi i386 Deb包:
http://www.splitted-desktop.com/~gbeauc ... pkgs/i386/

vaapi AMD64 Deb包:
http://www.splitted-desktop.com/~gbeauc ... kgs/amd64/
---------------------------------------------------------------------------------------------------------------------------------------------------------
以上两种方法只能选择一种
=====================================================================================
自己编译支持vaapi的mplayer,从http://www.splitted-desktop.com/~gbeauc ... yer-vaapi/下载
mplayer-vaapi-latest-FULL.tar.bz2 这个源码包

然后解压,进入解压后的源码目录:
sudo apt-get build-dep mplayer

还有一步:

sh ./checkout-patch-build.sh -----如果过程中出错,可能是需要root权限那么就在前面加 sudo
=====================================================================================
编好的mplayer就在编译目录下的mplayer-vaapi目录内
la ubuntu
帖子: 150
注册时间: 2008-05-29 20:48
送出感谢: 0
接收感谢: 0

Re: [教程]自己动手编译A卡和I卡支持硬解码的mplayer(目前只能自己来,没有现成的包)

#2

帖子 la ubuntu » 2010-02-12 16:36

终于有糕手出来赐教了

问问 *http://www.splitted-desktop.com/~gbeauchesne/ 页面上

[2009/11/27] libva
VA API extensions for VDPAU and XvBA backends
*

[2010/01/27] vdpau-video
VDPAU backend for VA API
*

[2010/02/11] xvba-video
XvBA backend for VA API

libva 和 后边的 vdpau-video xvba-video 说什么意思,都要下载编译安装吗

还有里边的 patch 也要一一装吗
black
帖子: 169
注册时间: 2007-01-19 13:02
送出感谢: 0
接收感谢: 1 次

Re: [教程]自己动手编译A卡和I卡支持硬解码的mplayer(目前只能自己来,没有现成的包)

#3

帖子 black » 2010-02-12 19:03

ati 装xvba-video

nv装vdpau-video
la ubuntu
帖子: 150
注册时间: 2008-05-29 20:48
送出感谢: 0
接收感谢: 0

Re: [教程]自己动手编译A卡和I卡支持硬解码的mplayer(目前只能自己来,没有现成的包)

#4

帖子 la ubuntu » 2010-02-12 19:42

black 写了:ati 装xvba-video

nv装vdpau-video
先装 vaapi,在装 xvba 或者 vdpau?是这样吗?
black
帖子: 169
注册时间: 2007-01-19 13:02
送出感谢: 0
接收感谢: 1 次

Re: [教程]自己动手编译A卡和I卡支持硬解码的mplayer(目前只能自己来,没有现成的包)

#5

帖子 black » 2010-02-12 20:04

先xvba 或者 vdpau,然后libva,最后vaapi
ryoohki
帖子: 3249
注册时间: 2008-10-28 20:18
送出感谢: 0
接收感谢: 0

Re: [教程]自己动手编译A卡和I卡支持硬解码的mplayer(目前只能自己来,没有现成的包)

#6

帖子 ryoohki » 2010-02-12 20:25

la ubuntu 写了:
black 写了:ati 装xvba-video

nv装vdpau-video
先装 vaapi,在装 xvba 或者 vdpau?是这样吗?
你的显卡如果是A可或I卡就只需要装vaapi
如果你的卡是N卡就只需要装vdpau
black
帖子: 169
注册时间: 2007-01-19 13:02
送出感谢: 0
接收感谢: 1 次

Re: [教程]自己动手编译A卡和I卡支持硬解码的mplayer(目前只能自己来,没有现成的包)

#7

帖子 black » 2010-02-12 21:22

a卡这边问题较多,libva依赖xvba,没有是装不上的,我的3450一月份驱动用不了,据说4系列是可以用,不过少几个xvba文件(国外有人调侃说ati用没毕业的程序员搞linux驱动),要手动加,我只能用去年10月驱动,还有就是颜色偏蓝问题,我这张卡在win用ffmpeg硬解也有这个问题。 :em06 :em20 希望明年能解决,对ati 搞linux驱动效率佩服得五体投地。有谁搞定说说,我还是用开源驱动看720的影片算了。
intel那边ppa上面实际上有deb包,并且是有段时间了。效果未知
lsl330
帖子: 294
注册时间: 2008-09-25 19:58
送出感谢: 0
接收感谢: 1 次

Re: [教程]自己动手编译A卡和I卡支持硬解码的mplayer(目前只能自己来,没有现成的包)

#8

帖子 lsl330 » 2010-02-12 22:06

black 写了:a卡这边问题较多,libva依赖xvba,没有是装不上的,我的3450一月份驱动用不了,据说4系列是可以用,不过少几个xvba文件(国外有人调侃说ati用没毕业的程序员搞linux驱动),要手动加,我只能用去年10月驱动,还有就是颜色偏蓝问题,我这张卡在win用ffmpeg硬解也有这个问题。 :em06 :em20 希望明年能解决,对ati 搞linux驱动效率佩服得五体投地。有谁搞定说说,我还是用开源驱动看720的影片算了。
intel那边ppa上面实际上有deb包,并且是有段时间了。效果未知
看来我的3300还要再等一会了,反正现在软解也没什么问题
ryoohki
帖子: 3249
注册时间: 2008-10-28 20:18
送出感谢: 0
接收感谢: 0

Re: [教程]自己动手编译A卡和I卡支持硬解码的mplayer(目前只能自己来,没有现成的包)

#9

帖子 ryoohki » 2010-02-12 23:45

...手头上其实是有个机子上面用的A卡...不过是主板上集成的...这两天如果有空的话试试在上面实现硬解
头像
ericcantone
帖子: 149
注册时间: 2009-09-30 19:59
送出感谢: 0
接收感谢: 0

Re: [教程]自己动手编译A卡和I卡支持硬解码的mplayer(目前只能自己来,没有现成的包)

#10

帖子 ericcantone » 2010-02-13 1:56

:em06
有谁编译成功过吗?
:em11
carter003
帖子: 70
注册时间: 2007-09-10 19:56
送出感谢: 0
接收感谢: 0
联系:

Re: [教程]自己动手编译A卡和I卡支持硬解码的mplayer(目前只能自己来,没有现成的包)

#11

帖子 carter003 » 2010-02-13 15:29

you need VA API headers for this project

在最后一步,sh的时候,出现了以上信息。。

请问这代表什么?
头像
ericcantone
帖子: 149
注册时间: 2009-09-30 19:59
送出感谢: 0
接收感谢: 0

Re: [教程]自己动手编译A卡和I卡支持硬解码的mplayer(目前只能自己来,没有现成的包)

#12

帖子 ericcantone » 2010-03-11 16:14

carter003 写了:you need VA API headers for this project

在最后一步,sh的时候,出现了以上信息。。

请问这代表什么?
同问,同问
:em20
头像
allarem
帖子: 1025
注册时间: 2008-05-31 17:27
来自: SUES
送出感谢: 0
接收感谢: 0
联系:

Re: [教程]自己动手编译A卡和I卡支持硬解码的mplayer(目前只能自己来,没有现成的包)

#13

帖子 allarem » 2010-05-20 14:40

ericcantone 写了:
carter003 写了:you need VA API headers for this project

在最后一步,sh的时候,出现了以上信息。。

请问这代表什么?
同问,同问
:em20
http://www.splitted-desktop.com/~gbeauc ... kgs/amd64/
下载一个 libva-dev (一定要和你的libva版本号一样的)

最后链接了一下dummy->i965 不过还是不成功,不知道为什么……intel 4500HD win7下硬解成功,很不服气啊……

代码: 全选

vainfo 
libva: libva version 0.31.0-sds6
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/va/drivers/i965_drv_video.so
libva: va_openDriver() returns 0
vainfo: VA API version: 0.31
vainfo: Driver version: Dummy Driver 1.0
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Simple            :	VAEntrypointMoComp
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointMoComp
      VAProfileMPEG4Simple            :	VAEntrypointVLD
      VAProfileMPEG4AdvancedSimple    :	VAEntrypointVLD
      VAProfileMPEG4Main              :	VAEntrypointVLD
      VAProfileH264Baseline           :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
mplayer总是提示

代码: 全选

………………
[VD_FFMPEG] XVMC-accelerated MPEG-2.
mplayer: dummy_drv_video.c:914: dummy_DestroyBuffer: Assertion `obj_buffer' failed.
MPlayer interrupted by signal 6 in module: decode video
- MPlayer crashed. This shouldn't happen.
  It can be a bug in the MPlayer code _or_ in your drivers _or_ in your
  gcc version. If you think it's MPlayer's fault, please read
  DOCS/HTML/en/bugreports.html and follow the instructions there. We can't and
  won't help unless you provide this information when reporting a possible bug.
………………
全部的DEBUG信息

代码: 全选

./mplayer-vaapi/mplayer -vo vaapi -va vaapi /media/56B84899B8487A0F/Download/阿凡达.Avatar.2009.1080p.BluRay.X264-AMIABLE-人人影视高清发布组.mkv 
MPlayer SVN-r31027-4.4.3 (C) 2000-2010 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing /media/56B84899B8487A0F/Download/阿凡达.Avatar.2009.1080p.BluRay.X264-AMIABLE-人人影视高清发布组.mkv.
[mkv] Track ID 1: video (V_MPEG4/ISO/AVC), -vid 0
[mkv] Track ID 2: audio (A_DTS) "English DTS 1509kbps", -aid 0, -alang eng
[mkv] Track ID 3: subtitles (S_TEXT/UTF8) "English", -sid 0, -slang eng
[mkv] Track ID 4: subtitles (S_TEXT/UTF8) "English", -sid 1, -slang eng
[mkv] Will play video track 1.
Matroska file format detected.
VIDEO:  [avc1]  1920x1080  24bpp  23.976 fps    0.0 kbps ( 0.0 kbyte/s)
libva: libva version 0.31.0-sds6
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/va/drivers/i965_drv_video.so
libva: va_openDriver() returns 0
[vo_vaapi] vaQueryDisplayAttributes(): unknown libva error
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
[VD_FFMPEG] VA API accelerated codec.
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 48000 Hz, 2 ch, s16le, 1536.0 kbit/100.00% (ratio: 192000->192000)
Selected audio codec: [ffdca] afm: ffmpeg (FFmpeg DTS)
==========================================================================
[AO OSS] audio_setup: Can't open audio device /dev/dsp: Device or resource busy
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
Starting playback...
Unsupported PixelFormat 61
[VD_FFMPEG] Trying pixfmt=1.
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [vaapi] 1920x1080 => 1920x1080 H.264 VA API Acceleration 
[VD_FFMPEG] XVMC-accelerated MPEG-2.
mplayer: dummy_drv_video.c:914: dummy_DestroyBuffer: Assertion `obj_buffer' failed.


MPlayer interrupted by signal 6 in module: decode video
- MPlayer crashed. This shouldn't happen.
  It can be a bug in the MPlayer code _or_ in your drivers _or_ in your
  gcc version. If you think it's MPlayer's fault, please read
  DOCS/HTML/en/bugreports.html and follow the instructions there. We can't and
  won't help unless you provide this information when reporting a possible bug.
jsntyyl
帖子: 45
注册时间: 2009-02-25 22:29
送出感谢: 0
接收感谢: 0

Re: [教程]自己动手编译A卡和I卡支持硬解码的mplayer(目前只能自己来,没有现成的包)

#14

帖子 jsntyyl » 2011-08-21 14:18

自己是编译出来了,通过命令行放电影确实能够硬解,CPU也降低了,但是命令行字幕乱码搞不定,而把编译出来的的MPlayer指定给SMplayer或者Gnome-MPlayer使用,视频选择vaapi,但是这时候CPU占用很高,不知道如何解决。
回复

回到 “影音多媒体”