2017年1月29日日曜日

マルチモニタな二画面動画再生環境設定 MPC-HC64 (SVPpro4 & madVR & FMV) Ver.2017/1

 マルチモニタ環境の上下二画面再生では、ソースの解像度によってはコマ落ちが発生してしまいました。 ちょっと考えれば予想つくことですねorz
 なのでSVPpro4 & madVRの設定を見直すことに。 方針は二画面最大サイズ再生でもSVP処理で遅延が起きないことを最優先にします。

 あくまでここで紹介する設定はほんの一例です。 ハード構成・動作環境・設定者の主観など様々要因により最適な設定値は変わってきます。

ハード構成ざっくり
 CPU : i7-6700k 4GHz
 MEM : 16GB
 GPU1 : GeForce 1080
 GPU2 : RADEON R7 360E ※表示には使用していない。FMVや動作補助に使用
 モニタ1 : 3840x2160 (4k) 
 モニタ2 : 2560x1440
 OS : Win10 pro

画面構成は コチラ

 とりあえずmadVR設定の「chroma upscaling」と「image upscaling」を一番負荷が少ないであろう"Biliner"にしてSVPpro4の設定をザックリ決めました。

SVP4pro

 【自動】再生しながら設定のエラー回避のため


 【NULL】ソースが59fps時は補完は無効化

【Nk】ソースが4k以外はコレ使用。「Rendering device」を"AMD~"にしてるのはワザと。あまり意味ないかもしれませんがこれでもヌルヌル処理に問題なし。 GPUアクセラレーションも"AMD~"にしてます。 そっちの方が処理が軽くなる、、、、気のせいかも知れませんw  処理的には問題なさそう。 ちなみにCPUにするとソッチの負荷が高くなります。

 【4k】 【Nk】の「Frames interpolation mode」 と 「SVP shader 」を変更しました。




madVR v0.91.5
 「chroma upscaling」 "1"はフルスクリーンモードのみ適用な感じです。他はソース幅によって切り替えてます。

 「image upscaling」ソース幅と一部は表示高で切り替えてます。

他の設定
 自分のマシンスペックでは二画面再生時リソースカツカツ状態なので未使用あるいは最低限の設定になってます。 幾つか紹介します。
 「image downscaling」ほとんど使用しないので適当。
「smooth motion」使用しません。 ※替わりにFMVを使ってるつもり。
「upscaling refinement」使用しません。
「image enhancements」使用しません。


FMV(Fluid Motion Video)
 madVRの「smooth motion」を使用しない代わりに、FMV(Fluid Motion Video)を動くようにしています。ただし一応モニタをつないで有効状態になってはいるのですが、動画視聴はGeForceエリアなんですよねー。こーいう場合Fluid Motion Video処理は有効になるんだろーか? まぁ設定しとくと時々発生する画面のブレがほぼ無くなる(気のせいかも)っぽいので有効にしてます。
"ffdshow raw video filter"の下に"Bluesky Frame Rate Converter"を設定。

LAV Video Decorder(internal)
"NVIDIA CUVID" ただしあまり効果は感じない。


2017年1月25日水曜日

上下二画面接続なマルチモニタ動画再生 ※サンプル追加

 (去年末話) 迫力を求めて42型4Kモニタを縦型(横倒し)てみた。
 は、かなり無茶でしたねー 大体放熱の関係上、冬ならともかく夏場では故障の原因になりかねなかったり。そのお陰で色々判明したことがあったわけです。
 特に気になった点は、WindowsメディアプレイヤーやVLC、はたまた通常のMPC-HCなど多くの動画プレイヤーで、マルチモニター再生時に最大サイズがメイン画面のデスクトップサイズ以上にならない事でした。

 デスクトップの画面構成はこうなってます。 画面①を再生画面とした場合、動画再生の縦最大解像度は4k縦解像度の2160pixelとなります。 でも私は4kモニター横倒し縦再生のように、縦解像度を2160pixel以上に3000pixel以上に再生してみたいんです。
  機器配置はこんな感じ DMM65型4kモニタは比較用です。 それにしてもデカいですねーw

 画面最大サイズがマルチモニターの合計値となる動画プレイヤーは探せば結構あるかもしれませんが、あまり手間をかけたくないんで無料と知ってる範囲で調べると意外とすぐソコにありました。
 Windows10のファイルマネージャ動画上で右クリックメニューの「プログラムから開く」の「映画 & テレビ」です。
 ただし普通に再生しただけでは画面サイズは縛られたままでした。
ここで「映画 & テレビ」プレイヤー右下の「…」をクリックして「拡大表示」を選択すると、、、
 縦サイズ拡大して再生してくれます。 
 ただし「拡大表示」設定は再生の度に選択する必要があります。 「映画 & テレビ」の再生支援機能は必要最小限で、ちょい見ではいいかもしれませんが、ガッツリ連続再生ではメンドクサイと言えます。

 ではMPC-HCではどうでしょうか? 結論から言うと、MPC-HC既定の「DirectShowビデオ」設定の「EVR(カスタムプレゼンタ)」ではメイン画面の解像度に縛られます。 が「madVR」だと最大解像度をマルチモニタ解像度の合算に出来ました。 もちろんキチンと設定してやれば再生の度に設定してやる必要はありません。
 「表示-ビデオフレーム」の「縦か横に合わせてカット」でOK

 ただしやはりと言うか、SVP4pro+madVRでの二画面拡大再生は負荷が高いみたいで、今までのの設定ではコマ落ちしまくってしまったので、設定の大幅見直しをする事となりました。 
 それは後日と言うことで次回に続く、、、多分。

 再生サンプル 二画面拡大は0:39から

(去年末話) 迫力を求めて42型4Kモニタを縦型(横倒し)てみた。

 違う話の前振りだったんですが、分離。

 人は慣れるもので42型4k視聴距離1メートルでも小さいと思う時があるようになってしまいました。 ぃゃね、左右はそうでもないんですが、上下がもっと大きかったらなーと。
 で、去年なんですが42型を横倒ししてみました。

 ←は25型1kワイド  42型4k縦長(横倒し)→

 、が翌日には元に戻りましたwwwww
確かに縦方向は満足しました。 後電子書籍(コミック)のビューとかスゲー迫力とか。 が、今度は横が見えなくて不便すぎると、、、ちょっと考えたらワカルダロ orz

 まぁ、全くのムダと言うわけではなく、 縦長再生の迫力と幾つかの問題点と解決策(妥協案)が見えてきた点はよかった。

次回に続く、、、多分

2017年1月13日金曜日

SVP4 pro 4K再生でエラーが出なく(MPC-HCx64限定)なったので、 MPC-HCx64 & SVP4pro & madVR の設定を見直してみた。

 以下の設定は2017/1初めの設定です。 今後も随時調整していく事になります。 後、実行環境により設定は大きく変わります。 あくまで参考程度としてください。

目指してるところ
 ・ヌルヌルな60fps化
 ・コマ落ちしない
・SVP有効中も他の作業が問題なくできる
 ・二画面再生が問題なくできる。おまけで画質向上

使用マシンスペック概要
 CPU:i7-6700
 メモリ:16GB
 GPU:GeForce GTX 1080

使用アプリ
 SVP4pro  ※必須 ここでは有償版を使用(フリー版あり)
 MPC-HCx64 ※必須ではない。別のプレイヤーでも可能だが、試したことは無い。
 madVR ※必須ではない。"EVR(カスタムプレゼンタ)"でも問題ナシ。

まずSVP4の設定を見直してみた。
プロファイル適用条件
 ①【NULL】 映像フレームレート ≧ 59 ソースファイルが59fps以上は使用中止
 ②【 4k 】 ソースフレーム領域 ≧ 4Mpix ソースファイル縦×横が4MPix以上は4k設定
 ③【 Nk 】 ソースフレーム領域 ≦ 4Mpix ソースファイル縦×横が4MPix以下はNk設定
 ④【自動】は無視しても構わない。自分は「フレームレート変換を実行する」を解除している。

 先に言ってしまうと【 4k 】は【 Nk 】の「Frames interpolation mode(フレーム補間モード)」を"2m"(min artifacts)に変更しただけの設定です。
 ソースが4kの場合、ここが一つ上の"1.5m"になっただけでCPU負荷が天元突破な100%になり、コマ落ちが発生してしまうんですよねorz この設定はヌルヌル感にモロ影響していて、今のマシン性能では残念ながら極少の補完しか出来ませんでした。 

 ①【NULL】 映像フレームレート ≧ 59 ソースファイルが59fps以上は使用中止

 ②【 4k 】 ソースフレーム領域 ≧ 4Mpix ソースファイル縦×横が4MPix以上は4k設定

 ③【 Nk 】 ソースフレーム領域 ≦ 4Mpix ソースファイル縦×横が4MPix以下はNk設定

 ④【自動】は無視しても構わない。自分は「フレームレート変換を実行する」を解除している。


 DirectShowビデオなんですが、別に"EVR(カスタムプレゼンタ"でも問題ナシ。と言うかSVPの60fpsヌルヌル感を優先するなら"EVR(カスタムプレゼンタ"の方がmadVRより処理が軽いのでイイです。 設定でハマで時間をムダにする事もないですし、そーいうのが好きな人でない限りmadVRはお勧めしません。

 それでも自分がmadVRを使う理由は、過去エンコードした解像度の低い動画ファイルを時々視聴するので粗い部分を補正したいのと、二画面再生時に表示の最大サイズを二画面合計値にするためです。 "EVR(カスタムプレゼンタ)"だと画面拡大表示の最大値はメイン画面の解像度になるからです。
 madVRはSVPインストールからではなく更新HPからのを使用しています。 全部はメンドイんで主要部分のみ紹介。 全部のせてもマシン環境と設定者の主観によって無限に近い設定パターンがあるわけで、試行錯誤して詰めてく事になります。

 下の二つはソース幅(srcWidth : 3000Pixel)をしきい値にしてプロファイル自動切り替え。通常は"super-xbr" or 4Kでは動作の軽い"Lanczos"に切り替え。まぁ、拡大する必要がないなら"Bilinear"でもいいかと。



この設定とwin10付属プレイヤーのスロー比較です。 かなりの接写なんで縞々が出てますけどwww







2017年1月6日金曜日

SVP(SmoothVideo Project)4pro での4k再生成功。 ただしMPC-HC(64bit版限定)

 結論から言うと、前回の MPC-HC(64bit版限定) SVP(SmoothVideo Project)4pro & FMV(Fluid Motion Video) 同時使用できるかな? 環境においてSVPを動作させてもエラー落ちしませんでした。
 ただし非常ぉぉぉぉぉ~~~に処理が重くてコマ落ちしまくります。でもエラーでませんっ!
 よって設定を見直しました。  ちなみにMPC-HC(32bit版)は変わらずエラー落ちです。

 まずは今までの設定からプロファイル適用条件のしきい値を変更。
 調べると2560x1440とかも、コマ落ちはしないのですが非常に処理が重くなるので、この解像度も含めることにしました。

 そして4k用のプロファイル。上の二つを変えたのみです。 非常に軽い処理となったのですが、非常に補正の少ない設定となってしまいました。 今後に期待といったところです。





2017年1月4日水曜日

MPC-HC(64bit版限定) SVP(SmoothVideo Project)4pro & FMV(Fluid Motion Video) 同時使用できるかな?

 自分的には MPC-HC & SVP4 pro のヌルヌル視聴環境は非常に気に入ってるんですが、唯一の不満は1kより大きな解像度の動画だとMPC-HCがエラーで吹っ飛ぶ事でした。
 仕方なくSVP4 Pro 高解像度(1kより大きい)動画ファイル再生エラー回避のための条件付き「SVP無効化」で回避する他なかったのだが、1kより大きな動画でも少しでもヌル化させてみたいな~と考えてたら忘れてました。
 FMV(Fluid Motion Video) をッorz
 SVPのヌルヌルが圧倒的だったので無効化してたのよね~と、MPC-HCの外部フィルタのチェックボックスをポチッとONしてみたら、、、、、1kより大きな解像度だとエラー (ノД`)・゜・。 
アレ?でも先日4k動画とか再生しても問題ナカッタヨーナと思い返してみると、、、、アレッてMPC-HC(64bit)版だったか。 で今回エラーなったのはMPC-HC(32bit)版と。 そしてSVP4 pro は32bit環境しか入れてなかったな。以前64bit版環境作ってみたら動作ガクガクで32bit版に戻してたんだわ。
 でもあれから大分経ったしモシカシテ、と試しに64bit版を有効にしてみました。 SVPメンテナンスツールを起動して[DS_64]の項目を有効化。 32bit版は今後も使いそうだったんでそのまま。

 後はMPC-HC(64bit)版の外部フィルタへ「ffdshow raw video filte」を追加して「優先する」選択をお忘れなく。 そして設定位置を「Bluesy Frame Rate Converter」より上にしておく必要があります。 有効状態の「Bluesy Frame Rate Converter」の下に「ffdshow raw video filte」を設定してると、SVPがソースを59~60fpsと判断し、SVPの適用が行われないようです。

 視聴してみると結果は上手くいったようです。 SVPもいい感じでヌルヌルしてます。

 動画ソース別のSVP・FMVの有効無効の自動切換え状況をまとめるとこんな感じです (fps30~59未確認)
 〇有効 ×無効
解像度≦ 1k fps≦30 SVP〇 FMV〇
 解像度> 1k fps≦30 SVP× FMV〇
 解像度≦ 1k fps59 SVP× FMV×
 解像度> 1k fps59 SVP× FMV×
 ※FMVはMPC-HC(64bit版限定) 32bitは前述の通りエラー落ち

 ココでのポイントは「1k含む以下の30fps以下動画 SVP〇 FMV〇」 ですね。外部フィルタ設定を1.「ffdshow raw video filte」 2.「Bluesy Frame Rate Converter」 として視聴確認してみるとFMV後にSVP処理となってるような気がします。 設定的にはSVP後にFMVなよーな気がしなくもないのですが、、、まぁ、内部処理に関して詳しくはないので思い違いしてる可能性が高いんですけどね。

 SVPとFMVの設定の組み合わせでヌルヌル化がどーなってるのか確認してみました。 
 テストソースは先日アニマックスで放送されたガンダム1st劇場版I[デジタルリマスター版]前説
 4kフルスクリーン再生してHDR-AS100Vの120fpsSLOW録画したものです。

【テスト】 〇ON ×OFF ※SVPの起動時間はx1時の時間です。
①FMV×SVP× 00:38 ガタガタのガタガタ 時々画面に乱れ

 ②FMV〇SVP× 06:43 気のせいかマイルド化 画面の乱れ無し

 ③FMV×SVP〇 13:06 SVP有効に約3秒以上 スムーズ

 ④FMV〇SVP〇 19:29 SVP有効に約5秒以上 動き③とほぼ同じ

 結果は③SVPだけでもイイかもしれませんが、SVP無効時の画面の乱れを抑えるのにFMV有効になる④設定もいいのかな。 でもエラーがほぼ発生したMPC-HC(32bit)版ほどではありませんが、たま~に32bit版と同様のエラーが発生したんですよね。 まー割り切れる程度なので、設定④でもいーかなと。

 環境としてはRedeon 「AMD Radeon Fluid Motion Video」が使える状態にあるのは必須。ちなみに自分の使用カードはR7 360です。 このカードを4K解像度にしてMPC-HCで動画再生させると処理が追いつかずカクつきます。 
 なのでメイングラフィックカードはGeforce GTX1080です。
R7 360は「AMD Radeon Fluid Motion Video」が使えれば十分ですから。

2017年1月1日日曜日

「ffmpeg5sEnc.bat」 を本保存用に、一手間かけて時間範囲指定追加。 ffmpeg5st.bat(修正) と ffmpeg5call.bat

 新年あけましておめでとうございます。今年もだらだらと録画ネタを中心に忘却録代わりに更新していこうと思います。

 去年の末に作った「ffmpeg5sEnc.bat」。自分的には結構な頻度で使ってまして、そうなると普段メインとしているAviutl+x265guiExと比べてしまうわけです。

 Aviutl+x265guiEx 利点)リサイズ・クリッピングなど細かい設定が可能で綺麗。 欠点)手間がかかる。
 ffmpeg5s.bat  利点)ドラッグ&ドロップで気軽に実行 欠点)細かい設定は手間。 音量の最大化手順どーしよ
 Aviutl+x265guiEx・ffmpeg5s.bat 画質は品質を揃えたらほぼ同じ

 上下左右のクリッピングと音量の最大化さえ割り切れば、あとは品質と連続実行で自分の中では割り切りOKな感じなんですよね。

 現状、アニメのエンコード環境はAviutl+x265guiEx 固定ですが、エンコードまでのバッチ処理の準備に結構時間かかるため、マシンが停止してる時間が結構あるんです。 対してドキュメンタリーなどはイチイチAviutl+x265guiEx を使うの手間だなーな感じになってまして結構大量なファイルがテラ単位でHDDの肥しになってましてイイ加減に掃除したいなと。
 仕事が正月休みに入ったため、「ffmpeg5sEnc.bat」をもう少し改良して手軽に保存用エンコードに使えないかと考えてみました。

 「ffmpeg5sEnc.bat」は圧縮優先品質28となってるため、何度か実行と確認を繰り返して品質24に。 それと前後のCM部分をカットできるように開始時間と終了時間でエンコード範囲を指定できるようにしました。 これによりドラッグ&ドロップで即実行とはいかなくなってます。


 実行環境は①ffmpeg.exe、②ffmpeg5call.bat、③ffmpeg5st.bat を全て同じフォルダに置きます。 

 それと動画ファイルのエンコード範囲(開始時刻・終了時刻)を調べるプレイヤーが必要ですね。 自分はVLCなど使ってます。 「ツール-メディア情報」のロケーションから再生ファイルのフルパスがコピペできるので、バッチファイルの更新にも便利です。

ffmpeg.exe http://ffmpeg.org/download.html よりffmpegのwindows-buildを入手してバッチと同じ場所に展開しておく。


ffmpeg5call.bat。。"ffmpeg5call.bat"で保存しておく。メインエンコードバッチの"ffmpeg5st.bat"を呼びます。バッチ実行中でも編集可能なので、実行しながらどんどん追加します。

 SET BP=%~dp0
 rem call %BP%ffmpeg5st.bat "エンコード元ファイル名" , 開始時刻 , 終了時刻

 ex.


ffmpeg5st.bat。"ffmpeg5st.bat"で保存しておく。

@echo off
rem 2016/12/31 ffmpeg5st.bat
rem 2016/1/1 2,3引数の存在チェックを追加
rem 
rem   H.265エンコードサポートバッチファイル
rem   エンコード済みファイルは指定パスにファイル名.mkvで出力
rem   開始~終了時刻の範囲エンコード 自分なりに実写モノ保存品質
rem 
rem 実行環境
rem   http://ffmpeg.org/download.html より
rem     ffmpegのwindows-buildを入手して当バッチと同じ場所に展開しておく。
rem 
rem IN
rem   ファイル名
rem Ex.
rem Ex.
rem   call ffmpeg5st.bat "エンコード元ファイル名" , 開始時刻 , 終了時刻
rem                     ※"で囲うのはファイル名切れ防止"
rem                     ※開始・終了時刻フォーマット 00:00:00 (省略だと全指定)
rem                     ※終了時刻のみ指定したい場合は、開始時刻に 0 を入れてください
rem 
rem 内部記述
rem  BATFILE 実行パス ※原則変更しないでください
rem  INPFILE 入力ファイル名 ※原則変更しないでください
rem  FFMPEXE FFMPEG.EXE フルパス ※原則変更しないでください
rem  STATIME 開始時刻 ※原則変更しないでください
rem  EMDTIME 終了時刻 ※原則変更しないでください
rem  FFMP265 H.265 エンコードパラメータ
rem  OUTFILE 出力ファイル名 ※存在するフォルダを指定
rem  
rem 注意
rem  ファイルにANSI以外の文字や画像が入ってる場合は動かない可能性があります。
rem  該当文字や画像を削除または変更して再実行してみてください、。  
rem  
rem ****ffmpeg h.265パラメータ****
SET BATFILE=%~dp0
SET INPFILE="%~f1"
SET FFMPEXE=%BATFILE%ffmpeg -i
SET FFMP265=-c:v libx265 -preset medium -crf 24 -s 1280x720 -c:a aac -b:a 128k
SET OUTFILE="C:\!video\%~nx1.mkv"

IF "%2" EQU "" (
    SET STATIME=%2
) ELSE (
    SET STATIME=-ss %2
)
IF "%3" EQU "" (
    SET EMDTIME=%3
) ELSE (
    SET EMDTIME=-to %3
)

rem ****ffmpeg h.265エンコード実行****
%FFMPEXE% %INPFILE% %FFMP265% %STATIME% %EMDTIME% %OUTFILE%