hilight.js

2018年1月24日水曜日

動画確認用プレイヤー

動画編集時に録っておいた動画を確認するのに時間がかかるのでよさ気なプレイヤーがないか探してみた。
(windows media playerは倍速再生ができない)

VLCMPC-BEが候補に上がった。
どちらも4倍速再生まで行えるが、うちの環境だと、VLCでの4倍速再生はカクカクしたり、画像がかなり乱れていた。設定の問題かもしれないが、MPC-BEではデフォルトでスムーズに再生されていたので、MPC-BEを使うことにした。

ちなみに、MPC-BEにはシークバーにカーソルを乗せると、その場面をプレビューしてくれるシークプレビュー機能がついていて、これも確認作業には便利だ。
デフォルトではプレビュー表示されないが、[表示]-[プレイヤー]-[インターフェース]にある、[サーチでプレビュー機能を使用]にチェックをいれ、プレイヤーを再起動すると表示されるようになる。

2018年1月21日日曜日

アカネオブザワイルド act.02




前回、プレビューがうまく動かなくて編集が大変だったが、原因は単純に負荷が高すぎたせいだった。
動画素材は、game capture HDから出力されたものをそのまま使っていたのだが、フルHDのH.264圧縮だったらしくデコード負荷がえらいことになっていたようだ。

動画データを非圧縮のデータに変換することで、デコード負荷を減らすことができるらしいが、非圧縮だと数秒の動画でもギガ単位の大きさになったので、最終的にLagarithコーデックで可逆圧縮にした。非可逆圧縮より可逆圧縮の方が負荷が低いらしい。

変換作業手順

  1. Lagarithコーデックをインストール
  2. game capture HDから出力されたMP4(H.264非可逆圧縮)ファイルを、AviUtlにドラッグ&ドロップし、出力したい区間を指定
  3. [ファイル]-[AVI出力]の[ビデオ出力]ボタンを押し、Lagarith Lossless Codecを選択
  4. [保存]ボタンを押して、AVI(可逆圧縮)ファイルが出力される

変換したAVIファイルをゆっくりームービーメーカーの編集時に使うことで、プレビューでの確認がだいぶまともになった。タイミング合わせもプレビューでの確認で十分できそうだ。
ちなみに、変換する際に解像度もフルHDからハーフHDに落としておいた。

基本的に動画の編集は重いものなので、作業中の負荷も工夫して減らしていかないとすぐ重くなってしまうらしい。
例えば、オブジェクトがいっぱいで重い部分を一旦中間ファイルとして出力して、それを素材として使うと、オブジェクトが動画ファイル1つになるので軽くなるというのは、よく使われる方法らしい。

動画内容はうーんって感じだが、続けていかないと向上しないだろうし、とりあえず1000再生目指して続けていってみようと思う。
視聴者でしかなかった時は、1000再生は少ないと思ってたけど、自分でやってみると遠いなぁ。



ゼルダの伝説
ブレスオブザワイルド

2018年1月18日木曜日

PS Now無料体験申し込んだら自動更新されてた

ゲームストリーミングサービスである、PlayStation Nowの7日間無料体験というのに申し込んだら、デフォルトが自動更新になってて、7日過ぎたあとに無駄に月額2500円が支払われていた。

申し込み画面では自動更新の設定はなかった気がするが、定額系サービスの無料体験はどこも自動更新されるようになってたりするので気をつけなければならなかった。
自動更新解除は、PS4の場合[設定]-[アカウント管理]-[アカウント情報]-[PlayStasionの定額サービス]から行える。

そもそも、モンハンワールドの体験版をやるためにPS+の無料体験に申し込もうとして間違えたのだが、自動更新をOFFにして、使用を停止していたPS+も、無料体験を申し込んだ時点で自動更新がONにされていたみたいで、無駄に1ヶ月分支払われていた。

申し込み画面でちゃんとそこらへんのことを書いていたのかもしれないので、ちゃんと確認しないとなと思った。

せっかくなのでPS Nowを体験してみた。

  • wifi環境ではやはり厳しい。しっかりしたwifi環境用意できたら問題ないかもしれないが、有線で繋いだ方がはやい。
  • コントローラーからの入力ラグはどうしてもあるが、シビアな操作を求めるアクションでなければとりあえずプレイできる。でもカーソル動くのがワンテンポ遅れるのはストレス。
  • 解像度が落とされるので、グラが魅力のゲームにも向かなそう。

思ったよりは悪くなかったけど、1年で23600円(3ヶ月利用権x4の場合)と考えると躊躇するな…

2018年1月15日月曜日

初めて編集した動画を投稿した



初めてなのもあるけど作るのにはめちゃくちゃ時間がかかった。
編集5時間、エンコード5時間で、1分に満たない動画に10時間もかかってしまった。

まず編集にはゆっくりムービーメーカー3を使わせてもらったけど、編集中の動画プレビューがなかなかうまく動いてくれない。再生する度に、ムービーが再生してくれなかったり、VOICELOIDの音声が再生されなかったり、タイミングがずれてたりする。
そのため、ゆっくりムービーメーカー3上では大まかにデータを配置し、タイミングをしっかり合わせたい部分は、一旦動画をエンコードしてからタイミングを確認して、また編集してエンコードしてを繰り返した。

1分弱の動画なので、この手順でもなんとかなったが、長い動画を作る場合には気が遠くなりそうだ。
タイミング合わせがキレッキレの動画はたくさん上がっているので、なにか方法はあるのだろう。
単純にPCのスペックだろうか。次の動画を作る時はなんとかしたい。

エンコードでは、【AviUtl+x264guiEx】ニコニコ新仕様用 自己流エンコード設定を参考に高画質で出力されるように設定したらエラーが出まくった。 エラーの内容は、メモリが足りなかったり、メモリ不正アクセスだったり、さっきは読み込めてたムービーファイルや音声ファイルが対応してないフォーマットだとか言われたりで、同じ設定で出力しようとしても違うエラーを吐くこともあって困った。

おすすめされていた以下の3つのフィルターを切るとエラーがだいぶ大人しくなった。

  • NL-Means-Light for GPU
  • SharpenResize
  • WarpSharpMT

あとは、264guiExの設定をタイミング合わせ時の設定(ニコ動-エコノミー回避プリセット)に戻し、設定を1つ変えてはエンコードしてを繰り返し、できるだけ画質をあげていった。
結果的には、ビットレート計算機で計算した値よりちょっと大きい値を、目標映像ビットレートに設定するくらいの設定で落ち着いた。


その他ひっかかったこと

  • 立ち絵のファイル名につける連番は、0埋めする場合2桁まで
    xxx_01.pngはいいが、xxx_001.pngは認識されない でも、xxx_100.pngはOK

  • 使用する立ち絵は800x800のサイズに収まっていないと、AviUtl上で画像が切れて表示される キャラ素材スクリプトとかいうのがそういう仕様になってるかららしい ゆっくりムービーメーカー上では普通に表示されていたので、編集作業終盤まで気づかなかった

2018年1月13日土曜日

コードブロック表示テスト

test

記事はatomを使ってmarkdownで書いたものを、markdownのプレビューから[HTMLをコピー]でコピーしてbloggerに貼り付けたけど、コードブロックがプレビュー通りに表示されなかった。

いろいろ調べるとコードブロックを表示してくれるための仕掛けをbloggerに仕込まないといけないらしい。
悪戦苦闘したがなかなかうまくいかなかったので、
hassiweb's programming Bloggerの記事をAtom/Markdownで作成するための準備
の”コード記述用のCSSを作成"にあるcssをお借りして、とりあえず単純にコードブロックが分かるようにだけした。

高機能なものは必要になったらまたやってみよう…

2018年1月11日木曜日

ubuntuでgame capture HDを使えるようにした

 ubuntuを使い始めて数日の初心者が、ubuntuでgame capture HDからnintendo switchの動画をキャプチャするための手順を、ひっかかった部分も混じえてまとめてみました。

  • windows pcかmac持ってる場合は、公式でドライバが用意されてるのでそっち使った方が楽です。  
  • linuxに慣れてる人は、github tolga9009/elgato-gchd を見た方が早いです。
  • この方法はgame capture HD用であり、game capture HD60では使えません。(github tolga9009/elgato-gchd にHD60対応中みたいなこと書いてあるけど、現時点でしばらく更新されてない)

環境

  • ubuntu 16.04 RTS
  • game capture HD
  • nintendo switch

大まかな流れ

  1. 依存するソフトウェアのインストール
  2. 公式ドライバからファームウェア抽出
  3. linux用ドライバの作成と起動
  4. キャプチャ用ソフトウェアのインストールと設定

基本的に、Streaming on Linux using Elgato Game Capture HD and OBS Studio をグーグル翻訳したものに従って進めていきます。

依存するソフトウェアのインストール

まずは、ctrl+alt+Tで端末を起動します。
そしたら下記のコマンドを入力すると必要なものがインストールされます。

sudo apt install git dmg2img hfsprogs libusb-dev clang make build-essential cmake

installの後ろが全て必要なソフトウェア。参考にしているサイトではcmakeが入っていませんが、ドライバを作成する工程で必要になるので含めています。

さらにドライバ作成時には、libusbの1.0.20以上のバージョン(libusb-devに含まれているらしい)が必要になりますが、自分の場合はなぜか1.0.0でした。
1.0.20以上のバージョンでないと、ドライバを作成する工程でひっかかるので、以下のコマンドでバージョンを確認してください。

apt show libusb

Versionの項目が1.0.20以上であれば、公式ドライバからファームウェアの抽出の項目に飛んでください。

libusb1.0.20以上のバージョンのインストール

aptではバージョンを更新出来なかったので、ソースコードを取得してパッケージを作成し、そのパッケージをインストールするという手順で更新しました。

参考にしたページ
 クロの思考ノート 意外に簡単!Debパッケージを自作する方法
 クロの思考ノート Linuxにソフトウェアをインストールするには?

github.com/libusb/libusb/releasesからlibusb-1.0.21.tar.bz2を、~/Downloadsフォルダにダウンロードします。
とりあえず最新の安定版を落としました。

パッケージを作成するのに必要なソフトウェアをインストールします。

sudo apt install checkinstall

ダウンロードしたソースコードを展開、ビルドします。

cd Downloads
tar -jxf libusb-1.0.21.tar.bz2
cd libusb-1.0.21
./configure
make

ビルドしたものからDebパッケージを作成します。

sudo checkinstall --install=no

この後、端末上でいくつか設定の入力を求められますが、基本的に全部そのままEnterでOKです。

作成したDebパッケージをインストールするためのソフトウェアをインストールします。

sudo apt install gdebi

作成したlibusbのDebパッケージをインストールします。

sudo gdebi libusb_1.0.21-1_amd64.deb

ファイル名のamd64の部分が環境によって違うかもしれないので、libusb_まで入力したらtabキーで補完するのがいいです。  

これでlibusbが1.0.20以上のバージョンになったと思うので、もう一度バージョン確認コマンドで確認してみてください。

公式ドライバからファームウェアの抽出

参考サイトでは、macドライバがうんたらとか書いていますが、作業は全てubuntu上で行います。

まずは、ドライバ作成をするためのフォルダを作成します。

mkdir -v ~/elgato-gchd

次にドライバ作成に必要なものをgithubからダウンロードしておきます。

git clone https://github.com/tolga9009/elgato-gchd.git

これで、さっき作成したフォルダに必要なものがダウンロードされます。
フォルダは、このgit cloneをすると勝手に作られるかもしれませんが、自分はよくわからなかったので先にフォルダ作っておきました。

elgato公式から、ファームウェアを抽出するためのmac版ドライバをダウンロードします。

wget http://files.elgato.com/gamecapture/gchdm_203_970.dmg

~/Downloadsフォルダにダウンロードされたと思うので、そこに移動して解凍します。

cd ~/Downloads
dmg2img gchdm_203_970.dmg -o gchdm_203_970.dmg.img

解凍したイメージファイルにマウントします。

mkdir -v /tmp/dmg
sudo mount -o loop -t hfsplus gchdm_203_970.dmg.img /tmp/dmg

マウントはまだよくわかってませんが、こうすることでイメージファイル内にアクセスして必要なファイルを取ってこれるようです。

ファームウェア用のフォルダを作成します。

sudo mkdir -v /usr/local/lib/firmware/gchd

/tmp/dmg/Game Capture HD.app/Contents/Resources/Firmware/Beddo/から/usr/local/lib/firmware/gchd/に以下の4つのファイルをコピーします。

  • mb86h57_h58_enc_h.bin
  • mb86h57_h58_idle.bin
  • mb86m01_assp_nsec_enc_h.bin
  • mb86m01_assp_nsec_idle.bin

下2つのファイルは参考サイトにはありませんが、ドライバ起動時に見つからないとエラーが出たのでコピーしておきます。

sudo cp /tmp/dmg/Game Capture HD.app/Contents/Resources/Firmware/Beddo/mb86h57_h58_idle.bin /usr/local/lib/firmware/gchd/
sudo cp /tmp/dmg/Game Capture HD.app/Contents/Resources/Firmware/Beddo/mb86h57_h58_enc_h.bin /usr/local/lib/firmware/gchd/
sudo cp /tmp/dmg/Game Capture HD.app/Contents/Resources/Firmware/Beddo/mb86m01_assp_nsec_enc_h.bin /usr/local/lib/firmware/gchd/
sudo cp /tmp/dmg/Game Capture HD.app/Contents/Resources/Firmware/Beddo/mb86m01_assp_nsec_idle.bin /usr/local/lib/firmware/gchd/

さらに

  • mb86h57_h58_enc_h.bin
  • mb86h57_h58_idle.bin

の2つは~/elgato-gchd/firmware/にもコピーします。

こちらはファイルマネージャーからGUIでコピペしてもいいし、以下のコマンドでコピーしてもいいです。

sudo cp /tmp/dmg/Game Capture HD.app/Contents/Resources/Firmware/Beddo/mb86h57_h58_idle.bin $HOME/elgato-gchd/firmware/
sudo cp /tmp/dmg/Game Capture HD.app/Contents/Resources/Firmware/Beddo/mb86h57_h58_enc_h.bin $HOME/elgato-gchd/firmware/

$HOMEの部分はtabキーで補完すると、その環境の/home/(username)に変換されます。

tmpフォルダにファイルマネージャーからアクセスする場合は、コンピューターから辿るか、移動の場所を入力からアドレス入力でいけます。 (自分はホームとルートについてわかっておらず、ずっとホームを探してました。)

linux用ドライバの作成と起動

ドライバ作成用に作っておいたフォルダに移動します。

cd ~/elgato-gchd

ドイラバをビルドするためのフォルダを作り、そこに移動します。

mkdir -v build
cd build

ドライバをビルドします。

cmake ..
make

これにてドライバの作成は完了です。

ドライバを起動させるには、事前にgame capture HDをPCに接続しておきます。
次に、ドライバの実行ファイルがあるフォルダに移動してドライバを起動します。

cd ~/elgato-gchd/build/src/
sudo ./gchd -c rgb

switchを対象にした場合、デフォルト設定で起動すると画面が紫っぽくなったため、-cオプションでrgbを指定しました。

ドライバ起動中は、端末を開いたままにする必要があります。今開いている端末は専有してしまうので、ドライバ起動中にコマンドを打ちたい場合は別ウィンドウで新たに端末を起動する必要があります。

ドライバを停止したい場合は、ドライバが動作している端末でctrl+Cを押して停止させます。

キャプチャ用ソフトウェアのインストールと設定

OBS Studioというソフトウェアで、動画を録画できるようです。
下記のコマンドでインストールします。

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

インストール後、OBSを開いたらソースリストの下にある+ボタンをクリックし、メディアソースを選択します。
開いたウィンドウに任意の名前を入力して[OK]をクリックします。
次に開いたウィンドウのローカルファイルチェックボックスにチェックを入れます。(他のチェックボックスはそのままでOK)
ローカルファイルの右にあるブラウズボタンを押し、/tmp/elgato-gchd.tsファイルを選択(コンピューターから辿っていけます)して[開く]をクリックし、次に[OK]をクリックします。
OBSのメイン画面に戻ってちょっとするとプレビューウィンドウに動画が表示されます。


自分の環境では、PCが貧弱すぎたせいで動画がカクカクで結局使い物になりませんでした。
ああああああああああああああああああああああああああああああああああああああああああああああああああ