<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>2017/01/12 on Yano&#39;s digital garage</title>
    <link>https://www.bravotouring.com/~yano/archives/2017/01/12/</link>
    <description>Recent content in 2017/01/12 on Yano&#39;s digital garage</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 12 Jan 2017 23:21:50 +0900</lastBuildDate>
    <atom:link href="https://www.bravotouring.com/~yano/archives/2017/01/12/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>UbuntuとQSV</title>
      <link>https://www.bravotouring.com/~yano/diary/it/20170112_vaapi.htm</link>
      <pubDate>Thu, 12 Jan 2017 23:21:50 +0900</pubDate>
      <guid>https://www.bravotouring.com/~yano/diary/it/20170112_vaapi.htm</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.bravotouring.com/~yano/diary/it/20170108_h97pro4.htm&#34;&gt;H97 Pro4&lt;/a&gt;は修理に出して、再びUbuntuでのハードウェアエンコード環境構築に着手。&lt;/p&gt;&#xA;&lt;p&gt;2015年9月に&lt;a href=&#34;https://software.intel.com/en-us/intel-media-server-studio&#34;&gt;Intel® Media Server Studio&lt;/a&gt;のCommunity Editionが無償公開されたので、予てよりこそこそとトライしていたのだが、対応するCPU世代がHaswell以降に限定されてたり、カーネルのカスタマイズ(rebuild)が必要なことからCentOSやカーネル版数の縛りが避けられずUbuntuでの環境構築になかなか難儀。昨年9月公開のIntel Media Server Studio 2017ではカーネルのrebuildも不要になったという噂も耳にしたが、CentOSとUbuntuでは話が異なる事から鵜呑みにするわけにも行かず。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://software.intel.com/en-us/intel-media-server-studio&#34;&gt;Intel® Media Server Studio&lt;/a&gt;ではなくVAAPI経由で&lt;span class=&#34;Software&#34;&gt;ffmpeg&lt;/span&gt;から気軽にQSVを使えるレポートが&lt;a href=&#34;http://qiita.com/tappie/items/6ca070f4e9d461961eda&#34;&gt;tappieさん&lt;/a&gt;から報告されていたので、試してみる事に。&lt;/p&gt;&#xA;&lt;p&gt;まずはVAAPIドライバのインストール。&#xA;&lt;blockquote class=&#34;Log&#34;&gt;&#xA;yano@haswell:~$ sudo apt-get update&lt;br/&gt;&#xA;yano@haswell:~$ sudo apt-get install &lt;span class=&#34;Topics&#34;&gt;libva1 vainfo i965-va-driver&lt;/span&gt;&lt;br/&gt;&#xA;yano@haswell:~$ vainfo&lt;br/&gt;&#xA;error: can&#39;t connect to X server!&lt;br/&gt;&#xA;libva info: VA-API version 0.39.2&lt;br/&gt;&#xA;libva info: va_getDriverName() returns 0&lt;br/&gt;&#xA;libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so&lt;br/&gt;&#xA;libva info: Found init function __vaDriverInit_0_38&lt;br/&gt;&#xA;libva info: va_openDriver() returns 0&lt;br/&gt;&#xA;vainfo: VA-API version: 0.39 (libva 1.7.1)&lt;br/&gt;&#xA;vainfo: Driver version: Intel i965 driver for Intel(R) Haswell Desktop - 1.6.1.pre1 (1.6.1.pre1)&lt;br/&gt;&#xA;vainfo: Supported profile and entrypoints&lt;br/&gt;&#xA;      VAProfileMPEG2Simple            : VAEntrypointVLD&lt;br/&gt;&#xA;      VAProfileMPEG2Simple            : VAEntrypointEncSlice&lt;br/&gt;&#xA;      VAProfileMPEG2Main              : VAEntrypointVLD&lt;br/&gt;&#xA;      VAProfileMPEG2Main              : VAEntrypointEncSlice&lt;br/&gt;&#xA;      VAProfileH264ConstrainedBaseline: VAEntrypointVLD&lt;br/&gt;&#xA;      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice&lt;br/&gt;&#xA;      VAProfileH264Main               : VAEntrypointVLD&lt;br/&gt;&#xA;      VAProfileH264Main               : VAEntrypointEncSlice&lt;br/&gt;&#xA;      VAProfileH264High               : VAEntrypointVLD&lt;br/&gt;&#xA;      VAProfileH264High               : VAEntrypointEncSlice&lt;br/&gt;&#xA;      VAProfileH264MultiviewHigh      : VAEntrypointVLD&lt;br/&gt;&#xA;      VAProfileH264MultiviewHigh      : VAEntrypointEncSlice&lt;br/&gt;&#xA;      VAProfileH264StereoHigh         : VAEntrypointVLD&lt;br/&gt;&#xA;      VAProfileH264StereoHigh         : VAEntrypointEncSlice&lt;br/&gt;&#xA;      VAProfileVC1Simple              : VAEntrypointVLD&lt;br/&gt;&#xA;      VAProfileVC1Main                : VAEntrypointVLD&lt;br/&gt;&#xA;      VAProfileVC1Advanced            : VAEntrypointVLD&lt;br/&gt;&#xA;      VAProfileNone                   : VAEntrypointVideoProc&lt;br/&gt;&#xA;      VAProfileJPEGBaseline           : VAEntrypointVLD&lt;br/&gt;&#xA;      VAProfileH264MultiviewHigh      : VAEntrypointVLD&lt;br/&gt;&#xA;      VAProfileH264MultiviewHigh      : VAEntrypointEncSlice&lt;br/&gt;&#xA;      VAProfileH264StereoHigh         : VAEntrypointVLD&lt;br/&gt;&#xA;      VAProfileH264StereoHigh         : VAEntrypointEncSlice&lt;br/&gt;&#xA;yano@haswell:~$ ls -n /dev/dri&lt;br/&gt;&#xA;total 0&lt;br/&gt;&#xA;crw-rw----+ 1 0 44 226,   0 Jan 12 22:30 card0&lt;br/&gt;&#xA;crw-rw----  1 0 44 226,  64 Jan 12 22:30 controlD64&lt;br/&gt;&#xA;crw-rw----+ 1 0 44 226, 128 Jan 12 22:30 renderD128&lt;br/&gt;&#xA;&lt;/blockquote&gt;&#xA;と/dev/dri配下にrenderD128ができれば(恐らく)OK。&#xA;続いて&lt;a href=&#34;https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu&#34;&gt;CompilationGuide/Ubuntu&lt;/a&gt;を読みながら、&lt;span class=&#34;Software&#34;&gt;ffmpeg&lt;/span&gt;のインストール。&#xA;&lt;blockquote class=&#34;Log&#34;&gt;&#xA;yano@haswell:~$ sudo apt-get install autoconf automake build-essential libass-dev libfreetype6-dev \&lt;br/&gt;&#xA;    libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev \&lt;br/&gt;&#xA;    libxcb-xfixes0-dev pkg-config texinfo zlib1g-dev&lt;br/&gt;&#xA;yano@haswell:~$ sudo apt-get install yasm libx264-dev libfdk-aac-dev libmp3lame-dev&lt;br/&gt;&#xA;yano@haswell:~$ wget http://ffmpeg.org/releases/ffmpeg-3.2.2.tar.bz2&lt;br/&gt;&#xA;yano@haswell:~$ tar xvf ffmpeg-3.2.2.tar.bz2&lt;br/&gt;&#xA;yano@haswell:~$ cd ~/ffmpeg-3.2.2&lt;br/&gt;&#xA;yano@haswell:~/ffmpeg-3.2.2$ mkdir ~/ffmpeg_build&lt;br/&gt;&#xA;yano@haswell:~/ffmpeg-3.2.2$ PATH=&#34;$HOME/bin:$PATH&#34; PKG_CONFIG_PATH=&#34;$HOME/ffmpeg_build/lib/pkgconfig&#34; \&lt;br/&gt;&#xA;    ./configure --prefix=&#34;$HOME/ffmpeg_build&#34; --pkg-config-flags=&#34;--static&#34; \&lt;br/&gt;&#xA;    --extra-cflags=&#34;-I$HOME/ffmpeg_build/include&#34; --extra-ldflags=&#34;-L$HOME/ffmpeg_build/lib&#34; \&lt;br/&gt;&#xA;    --bindir=&#34;$HOME/bin&#34; --enable-gpl --enable-libass --enable-libfdk-aac \&lt;br/&gt;&#xA;    --enable-libfreetype --enable-libmp3lame --enable-libtheora --enable-libvorbis \&lt;br/&gt;&#xA;    --enable-libx264 --enable-nonfree \&lt;br/&gt;&#xA;&lt;span class=&#34;Topics&#34;&gt;&#xA;    --enable-vaapi --enable-hwaccel=h263_vaapi --enable-hwaccel=h264_vaapi \&lt;br/&gt;&#xA;    --enable-hwaccel=mpeg2_vaapi --enable-hwaccel=mpeg4_vaapi \&lt;br/&gt;&#xA;    --enable-hwaccel=vc1_vaapi --enable-hwaccel=wmv3_vaapi&lt;br/&gt;&#xA;&lt;/span&gt;&#xA;yano@haswell:~/ffmpeg-3.2.2$ PATH=&#34;$HOME/bin:$PATH&#34; make&lt;br/&gt;&#xA;yano@haswell:~/ffmpeg-3.2.2$ make install&lt;br/&gt;&#xA;yano@haswell:~/ffmpeg-3.2.2$ make distclean&lt;br/&gt;&#xA;yano@haswell:~/ffmpeg-3.2.2$ hash -r&lt;br/&gt;&#xA;&lt;/blockquote&gt;&#xA;最後に↓でVAAPIのエンコーダオプションが確認できれば(恐らく)OK。&#xA;&lt;blockquote class=&#34;Log&#34;&gt;&#xA;yano@haswell:~/ffmpeg-3.2.2$ ~/bin/ffmpeg -encoders 2&gt;/dev/null | grep vaapi&lt;br/&gt;&#xA; V..... h264_vaapi           H.264/AVC (VAAPI) (codec h264)&lt;br/&gt;&#xA; V..... hevc_vaapi           H.265/HEVC (VAAPI) (codec hevc)&lt;br/&gt;&#xA; V..... mjpeg_vaapi          MJPEG (VAAPI) (codec mjpeg)&lt;br/&gt;&#xA;yano@haswell:~/ffmpeg-3.2.2$&#xA;&lt;/blockquote&gt;&#xA;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
