GNU/LinuxでShadowPlay風な環境構築

さて、久々の技術ブログです
今日のネタはGNU/LinuxでShadowPlay風な環境構築です

ShadowPlayとは

ShadowPlayとはNvidia謹製のゲーム録画/配信ソフトウェアです
キャプチャ時の処理をグラボ側で行っているため、低負荷高画質が実現できるという非常にありがたいソフトウェアです
私もWindowsでゲーム録画する際には非常にお世話になっています

GNU/LinuxでのShaowPlay風環境構築

今回はキャプチャ時の処理をグラボ側で処理といったところを実現するための方法をGNU/Linux環境で構築します
具体的に用意するものとしては

  • NVencを有効にしたFFmpeg
  • OBS Stadio

以上二点です
今回はOSをUbuntu16.04を使用しています

スポンサーリンク

NVencを有効にしたFFmpegのビルド

まずはNVencを有効にしたFFmpegを用意します
FFmpegビルドの前にまず下準備を行います

FFmpegビルドの準備


  # apt-get -y install ffmpeg libfdk-aac-dev checkinstall unzip wget sysstat nvidia-cuda-dev
  # apt-get -y install libgtk2.0-0:i386 libpangox-1.0-0:i386 git yasm autoconf libtool
  # apt-get -y install libpangoxft-1.0-0:i386 libidn11:i386 libglu1-mesa:i386
  # apt-get -y install build-essential libspeexdsp-dev pkg-config cmake git-core
  # apt-get -y build-dep ffmpeg
  $ apt-get source ffmpeg

NVIDIA VIDEO CODEC SDKの取得

Nvidia Developerからnvenc用のsdkをダウンロードしてきます

  
    $ wget -c https://developer.nvidia.com/video-sdk-601 -O nvidia_video_sdk_6.0.1.zip
    $ unzip nvidia_video_sdk_6.0.1.zip
    # cp nvidia_video_sdk_6.0.1/Samples/common/inc/*.h /usr/local/include/
  
  

ffmpegのビルド

ビルド準備の項で取得してきたffmpegのソースのディレクトリに移動します


  $ ./configure --prefix=/usr --extra-version=1ubuntu2 --build-suffix=-ffmpeg --toolchain=hardened \
  --libdir=/usr/lib/x86_64-linux-gnu-c --incdir=/usr/include/x86_64-linux-gnu-c --cc=cc --cxx=g++ --enable-gpl \
  --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger \
  --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray \
  --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype \
  --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg \
  --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy \
  --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis \
  --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi \
  --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq \
  --enable-frei0r --enable-libx264 --enable-libopencv --enable-nonfree --enable-nvenc \
  --enable-libfdk-aac --enable-pic

  $ make -j4

ここまでで、ビルドの準備が整いました
ここから実際にビルドしていきます


  # checkinstall --pkgname=FFmpeg --deldoc=yes --nodoc --fstrans=no --backup=no --install=no

これでnvencが有効になったffmpegがdebパッケージとして作成されました
dpkgコマンドでさくっとインストールできます

OBS Studioのインストール

ここからはOBS Studioのインストールを行います
こっちはffmpegと違って公式にしたがって黙ってインストールすればいいので簡単です

  
    # add-apt-repository ppa:obsproject/obs-studio
    # apt-get update && sudo apt-get install obs-studio
  

これだけで入ります
これであとはOBS Studioの設定だけでShadowPlay風な環境構築ができあがります

OBS Studioの設定

OBS Studioの設定です
とはいえ、設定するところ自体は非常に簡単でファイル -> 設定 -> 出力タブのところを設定するだけです
エンコーダーのところで“ハードウェア(NVENC)”を選択してやるだけです

OBS Studioの画質設定の図

あとは録画品質を設定してやればお好きな画質になります
以上でOBS StudioでNVENCを利用した録画環境の完成です
実際に録画するにはシーンやソースの選択といった一般的なOBS Studioの設定の範疇ですので、詳しいサイトにお任せします

スポンサーリンク

関連記事

  1. NO IMAGE
  2. NO IMAGE
  3. NO IMAGE

コメントをお待ちしております

HTMLタグはご利用いただけません。