2015-11-06 51 views
0

我有一台没有显卡的Ubuntu PC。视频转换的AVCONV/FFMPEG硬件加速

我用avconv视频转换:

avconv -i video.wmv -c:v libx264 -c:a libmp3lame -b:v 1800K video.mp4 

我的CPU(英特尔酷睿i7-4770K)处理1.5-2Gb视频在7-10分钟。

avconv github sources我看到的选项

Hardware accelerators: 
    --enable-d3d11va   enable D3D11VA code 
    --enable-dxva2   enable DXVA2 code 
    --enable-vaapi   enable VAAPI code 
    --enable-vda    enable VDA code 
    --enable-vdpau   enable VDPAU code 

我想编译avconv与--enable-vdpau并把视频卡插入电脑。

这是否允许avconv使用视频卡进行视频转换?

这怎么能提高视频转换的速度(我的意思是我的命令)?

如果你的电脑配有视频卡,你能帮我做这个测试吗?

这是WMV的example

回答

0

如果您不想从源代码编译任何东西,或使用购电协议进行额外的软件包,你可以先看看分布所提供的:

$ avconv -codecs | grep vdpau 
avconv version 9.18-6:9.18-0ubuntu0.14.04.1, Copyright (c) 2000-2014 the Libav developers 
    built on Mar 16 2015 13:19:10 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1) 
DEV.L. mpeg1video   MPEG-1 video (decoders: mpeg1video mpeg1video_vdpau) 
DEV.L. mpeg2video   MPEG-1 video (decoders: mpeg2video mpegvideo_vdpau) 
DEV.L. mpeg4    MPEG-4 part 2 (decoders: mpeg4 mpeg4_vdpau) (encoders: mpeg4 libxvid) 
DEV.LS h264     H.264/AVC/MPEG-4 AVC/MPEG-4 part 10 (decoders: h264 h264_vdpau) (encoders: libx264) 
D.V.L. vc1     SMPTE VC-1 (decoders: vc1 vc1_vdpau) 
D.V.L. wmv3     Windows Media Video 9 (decoders: wmv3 wmv3_vdpau) 

仔细看字母“d” - 为解码,“E”进行编码。如您所见,VDPAU仅用于解码 - 它不会帮助您将视频编码回去。你必须测量是否这样:

avconv -vcodec wmv3_vdpau -i video.wmv -c:v libx264 -c:a libmp3lame -b:v 1800K video.mp4 

...给你任何改善的转码时间。

从我的经验来看,VDPAU非常适合观看视频 - Mplayer2和VLC支持它进行显示,并且我还得到了Mplayer2使用它进行h264解码。当解码和演示(视频输出)通过VDPAU完成时,可以在2个内核上使用80%的CPU负载进行软件解码,同时可以播放相同的1080p素材,并且可以播放5-10%的CPU负载。

对于编码,您可以研究AMD的VCE,英特尔的QuickSync和Nvidia的NVENC(字母顺序)。

与此同时,从ffmpeg的:

我有越来越avconv使用VDPAU解码问题。然后,我偶然发现了这个(推荐阅读这样的问题反正): https://trac.ffmpeg.org/wiki/HWAccelIntro

- >似乎VDPAU解码器支持状态是:

其实没错,但不建议,不应该用过的。

因此,最终答案是 - 一张VDPAU卡在您的情况下可能没有优势。