■備忘録:ソフトウェアで倍速補完ヌルヌル動画再生
SVP(Smooth Video Project)
●使用されているソフトウェア(Full版)
・プレーヤ:MPC-HC (MediaPlayer Clasic Home-Cinema)
古参に定評のある万能プレイヤ 軽くすることも激重にすることも可能 後述のレンダラやデコーダなども 自由に選択可能となっています ※SVPでインストールされるので設定変更は不要です |
・レンダラ:madVR
知る人ぞ知る高画質表示厨御用達 EVR/VMR/オーバレイなど表示方法の一つで ビデオカードに直接働きかけるため スケーリングやクロマアップサンプリングの扱いを 軽量にしたり超高画質激重にしたりできます ※SVPでインストールされるので設定変更は不要です |
・デコーダ:LAV Filters
・倍速補完:Avisynth
・倍速補完との橋渡し:ffdshow Tryouts
ffdshowの機能拡張版で既に開発終了となっているのですが AvisynthとMPC-HCとの橋渡しに必要となっています SVPが生まれるまではこれらの組み合わせを 各自が手動で調整していました ※SVPでインストールされるので設定変更は不要です |
・音声タイミング調整:ReClock
・SVP自体の設定
動画サイズごとにどのくらいの精度で
倍速補完するかをプリセットできます
1280x720以下は超ヌルヌル、
1440x1080以上はそこそこヌルヌルなど
細かな指定ができますが基本は初期設定で十二分です
SVPが常駐していればMPC-HCで再生時に
自動で倍速補完を発動してくれるので
インストールするだけでOKです
厳密にはffdshowの設定でAvisynthへ橋渡し設定されていれば
ffdshowを使うほぼすべてのプレイヤに対応します
ただしデコーダやレンダラの組み合わせに相性があるため
適切にヌルヌルにできるかは不明
この辺りの面倒事をSVPはインストールするだけでやってのけます
120Hz入出力対応ディスプレイで激ヌルにしたい人は
要設定変更ですがCPU・GPUのスペック次第というところです
Intel Core i7 3770T & Geforce 560 ti でだとこんな感じ
よりハイスペックならばMaxもいけるかも
1280x720 60Hz対応設定※後述にて設定訂正あり
1920x1080 60Hz※後述にて設定訂正あり
ただし残念ながら実写・アニメの自動判別はできないため
倍速補完で観たい動画のみMPC-HCで再生するという使い方が良いでしょう
ダブルクリック再生の関連付けは他のプレイヤーにしておくほうが無難です
用法用量を守ってSVPで動画ヌルヌルライフをお楽しみください
※ニコ動やYoutubeなどブラウザ直再生には対応していません
※DLしたMP4やFLVなどをMPC-HCで再生時には発動します
※DL時はDL違法に抵触しないようにしましょう
※フリーソフトですが気に入ったらdonate(寄付)が世界のマナーのようです
●2014/11/03追記
GTX560tiもくたびれてきてファンが軸ブレしたのでGTX970に換装
1280x720なら120Hzで全MAX
1920x1080なら120HzでMotion Vectors Gridのみ1ランク下げで
他はMaxまでいけました
GPU Loadは50%もいかない程度でしたので
Motion Vectors Gridもマックスにするには
CPUを3770Tより上位に替えないと無理なようです
GPUメモリ使用量は
1280x720なら120Hzで全MAXで1GB弱
1920x1080なら120Hzで1.4GB前後となりました
このクラスになるとGPUメモリは1.5GB以上あったほうが良いようです
なので十分な環境がある方は倍速補完だけでなく
madVRによる高画質化の設定を詰めていくのがオススメです
こちらの方は最高設定の壁がはるかに高いようで
3770T&GTX970でさえ程遠いと言う印象です
Versionが上がるたびに上位設定が出てくるmadVRマジ恐ろしい子。。。
●2014/11/23追記
書き忘れその1:コメントにてSVPのカクツキについて回答(thx:shifさん)
書き忘れその2:firefoxからmp4などをクリックしてMPC-HCで再生する方法
「ツール」-「オプション」-「プログラム」から設定すると
MPC-HCが立ち上がりSVP発動で見れるようになります
●2015/02/15追記
Max目指していろいろ設定してみたけれど
視聴レベルで体感的ヌルヌルを求めたら
思ったよりも低い値のほうが
画質や滑らかさがいい感じでした
過ぎたるは猶及ばざるが如しってことなのかも
ってことで設定改訂
1280x720 120Hz/60Hz対応設定
1920x1080 120Hz/60Hz対応設定
もしメモリ使用過多でエラーが出るようならひと手間
下記の2つのファイルの該当箇所を書き換え
"C:\ProgramData\SVP 3.1\AVS\ffdshow.avs"
"%userprofile%\AppData\Roaming\SVP 3.1\AVS\ffdshow.avs"
該当箇所
SetMemoryMax(1024) → SetMemoryMax(3072)
"C:\ProgramData\SVP 3.1\Settings\SVPMgr.ini"
該当箇所
AVSmem=1024 → AVSmem=3072
MPC-HCやMPC-BEを別途最新にする場合は
32bitアプリで多めにメモリ使えるようにおまじない
"C:\Program Files (x86)\SVP\Utilities\4gb_patch.exe"
これにMPC-HCやMPC-BEをドラッグ&ドロップ
または64bit版のMPC-HCやMPC-BEを利用
●2015/02/24追記
32bitのmadVRが64bit化されないかなぁと思っていたら
別な方々が新たなものを作っていました。
MPDN(Media Player .NET)というソフトウェアで
SVPもなしで倍速補完をしつつレンダラも64bit対応
倍速補完についてはSVPが受け持っていた部分を
MPDN内のRender Script Systemという機構で橋渡しするようです
ちょっと触ってみましたが補完部分(NEDI)だけでなく
Shaderや超解像度(SuperRes)などを
チェーンと呼ばれる仕組みでつなぐようです
なのでこの組み合わせと順位次第で
恐らく負荷の最適化もできるのではないかと思われます
難点はその組み合わせと順位を自分で試行錯誤するというところでしょうか
またAMD独自の倍速補完であるFluid Motionにも対応しているので
単体APUでも低負荷で楽しめるようです
※2015/03/02訂正:AMD Fluid Motionとは別物とのことIt's similar to avisynth's blend mode fps conversion,~(略)~隣接するビデオフレームの相対的なタイミングに比例して
ブレンド係数による重み付けを行って、
それらのフレームをブレンドします(「ブレンドモード」)
IntelのQSVの対応も押さえているようで
オンボでもそこそこなヌル感を味わえつつ
新技術を取り込んでいくコンセプトみたいですね
そういったコンセプトが理由なのかわかりませんが
120HzでMPDNを使ってみたところ
SVP120Hz時の激ヌル感には及びませんでした
むしろサブのノートで60Hzちょいヌルが負荷低めでいい感じかも
廃人スペックのSVPと一般スペックのMPDNと
良い感じで二極化してきている印象でした
お互いに良い処取りしつつ進化してもらえたらいいですね
とここまで書いてふと思ったのですが
DirectX11や10bit以上のDeepColorなど最新技術にも対応で
64bit化によるゆとりあるメモリ空間に
超解像度まで備えた60Hz程度の低負荷仕様
それって今後の4k・60Hz時代に向けた
きれいなアップサンプリングのちょいヌル環境を築くための
黎明期的な試みなんじゃないだろうかと
その意味でも今後注目のソフトウェアになりそうです
●2015/03/22追記
4kディスプレイを購入しました:Philips BDM4065UC/11
このディスプレイは問題があっておすすめはできないのですが
その点については後述するとして
まずは4k 60HzでTSファイルをSVPにかけてみた結果から
こちらは以前貼った1920x1080 60Hz再生時の設定
そして3840x2160 60Hz再生時の設定
プロファイルはソースとなるファイルに依存するので
1920x1080@24が使用されます
変えたのは「Wide search」と「Artifact masking」と
「Decrease frame size」になります
「Wide search」と「Artifact masking」は
このくらいにしておかないと絵の具の滲みのようなゴミが目に余ります
この設定でも消し去ることはできませんが妥協点ということで
「Decrease frame size」は「Disable」にして
AvisynthでのリサイズをさせずCPU負荷を軽減し
MadVR側でGPUでのリサイズをさせるようにしました
CPU負荷が軽くなっていますね
意外だったのはGPUメモリ使用量で150MB位しか増えませんでした
この辺りはソース自体が4kにならないと大して増えないみたいですね
画質については微妙ですね
動きの少ないものであれば720pでさえ
そこそこきれいに見えるのですが
動きの激しいシーンでは
1080pでも前述の絵の具の滲みのようなゴミが出てしまいます
正直なところFull HD 120HzのTN液晶が最適解ですね
とはいえ40インチ4kでの迫力は捨てがたくもありますので
次点としてSVPを使用せずに前回お知らせしたソフトの
MPDN(Media Player .NET)を使うという切り分けが解かな
以上 4kでのSVP検証でした
●2015/05/10追記
いつの間にかmadVRが64bit対応していましたね
これでMPC-HC/BEともに64bit版に移行できます
32bit版だと4K動画再生で落ちまくってましたので
64Bit版でMPC-HC/BE、Lavfilters、madVRが揃って
安定した4k再生環境となりました
残るはReClockとAvisynth
まぁReClockは音ですから
32bitのメモリ上限使い潰す心配はないからいいとして
Avisynthは2.6も長年アルファ版だったのが
このところRC版でのテストリリースが活発な模様
この先メモリ使用量が鰻登りになる時代ですから
64bit版2.6に期待ですね
●2015/11/01追記
コメントで旧世代機でのSVPオプション構成について
質問いただいたので追記
結論的にはクラボだけでも買い換えたほうが
フルHD激ヌルを楽しめるのでって感じなのですが
よく考えたらサブのノートがコメ主さんよりも
よっぽど非力だったのでオプション設定を見なおしてみました
SVP4も出てますが今までのスクショに合わせて
Ver3.16の馴染みある方で貼っておきます
ノートのiGPUだと排熱がきつくてファンがうるさい事この上ないですが( ;^^)ヘ..
スクショのスペックはこんな感じ
・機種:SONY VPC Z21AJ
・CPU: i7 2620M 2.7GHz
・GPU:同 HD 3000 ※OpenCL非対応
・OS:Windows 10 Pro x64 Insider Preview 10656
・Mem:8GB
・SVP:Ver3.16
・動画:MPEG2-TS 1436x1080 (1920x1080でないのはお約束)
・倍速:29.976fps → 59.94fps
・滑らかさ:1.01x~0.97xくらいなので目視でカクツキはわからない
560Tiや970のヌルヌル感はないので脳汁までは漏れませんが
この設定ならiGPUや旧世代のdGPUでも
ちょいヌル感は楽しめるのではないでしょうか
ではでは
コメントありです
うん、たぶん恐らく
一個前の最後に書いたとこに
ジャストフィットなエラーな気がします^^;
>>27
> え~
> SVPの補完機能の肝は
> 「AviSynth」だったりします
>
> そして
> SVPで通常導入されるのは
> 「32Bit版のAviSynth」だったりします
>
> 。。。。。
>
> |"-;) チラッ
>
> 。。。。。
> http://www.avisynth.info/?avisynth64
>
> ってことでたぶん
> avisynth64のJoshyD版を入れてみたら
> 解決するのではないかと
> そう思う次第でありますですはい
ReClockも恐らくVer.1.8.8.5でしょうし
のけさんとの環境の違いは
avisynth64くらいですね
インストール順序としては
avisynth64の後にffdshowですね
先にffdshowを入れた場合も行けるとは思うのですが
場合によってはavisynth64が見つからないので
ffdshowのインストール時の設定が
不完全になっている可能性があります
とはいっても
上手く動く32Bit版のffdshowの設定に
64Bit版のffdshowの設定を合わせてあげればいいだけですが
ちなみにこちらでうまくいっているSVPは
Ver3.16です
3.17や4系は未検証ですので
もしかしたらその可能性もなくはないかもですが
32BitのSVPやReClockからでも
MPC-BE(MPC-HC)
avisynth
ffdshow
LAV filters
madVR
の5つが64Bitであれば
上手く発動してくれるはずです
ひとまずこんなところですね
試行錯誤した分だけ
発動した際のヌルヌル感の感動は上がるので
頑張ってくださいませ~
言われたとおりraw video filterの設定を完コピさせてみましたがダメでした(´;ω;`)
自分なりに原因がありそうな箇所を列挙してみますので、何かあれば言って頂けると助かります。
□madVRの導入後にFFdshow(32/64が共存)を導入
□madVRは32/64bitが両方同じですか?
□avisynth64bitは紹介されたものを導入
→ここが一番怪しいです!
plgins64というフォルダができればインストールはされていますよね?
これ以降何かやらなければいけないことはあるのでしょうか?
きらあさん コメントありです
ん~原因は何でしょうね
avisynth64bitはavisynth32bitと別フォルダになっていますか?
C:\Program Files\avisynth64
C:\Program Files (x86)\AviSynth
32bitに64bitを上書いちゃうとうまく動かないので
後はそうですね~
いろいろ弄って動かなくしちゃったことは
何回かあるんで直して土岐の手順を少々
avisynth32bit、avisynth64bit、SVP、MPC-BE(MPC-HC)64bitと
AMD Catalyst Driverを
いったんアンインストールして再起動
AMD Catalyst Driver → avisynth → SVP Full → MPC-BE(MPC-HC)
の順で改めてインストール
avisynthは下記の手順を端折らずに行うこと
http://www.avisynth.info/?avisynth64#content_1_5
SVPが後なのは
もしavisynth64bitの手順を見吸っていても
最悪SVPのFullパッケージががavisynth32bitを直してくれるから
MPC-BE(MPC-HC)64bitが最後なのは
必要なものがきっちりそろっている状況で
インストーラーを起動させるため
そのうえで
SVP、MPC-BE(MPC-HC)64bitの設定を確認
※SVPはOpenCL有効と無効の時の挙動を確認
こんな感じですね
サクッと解決できずすみませぬ
その後、頂いたコメントを元に試行錯誤していますが上手く動きませんねぇ・・・
仰られている通りavisynthに問題がありそうなのですが、x64のパッチを当てても状況変わらず・・・
現在、avisynthはSVPをインストールする際に同時にインスト―ルされるものを利用していて、
これがダメなのか?と思い、単体でインストール→パッチを当てを行ったのですが状況変わらず
全て削除しクリーンインストールしましたがダメでした
更にx86版でも
script error: there is no function named "SetMTMode"(C:\ProgramData\SVP 3.1\AVS\ffdshow.avs , line12)(ffdshow_filter_avisynth_script, line4)
というエラーが発生
んー難しいですなぁ
のけさんコメントありです
そののエラーであればavisynthが問題で確定ですね
ひとまずSVPのVer.3.16のFullを
SVP本体とavisynthにチェックをオンにして
インストールすればx86での再生は直るかと思います
実はこちらもx64環境のファイル構造を確認してみたり
先日最新リリースされたMadVRとLavfiltersのアップデートしたりと
いろいろ弄ってみたりしていたら。。。
x64のMadVRがエラー落ちするようになっちゃったり。。。
ただこの不具合の状態でもレンダラをEVRにすれば
SVPは発動しますね
SVPからのOSDが表示され
SVPアイコンへのマウスオーバーでも倍速稼働中の数字が出て
SVPのログにmpc-hc64.exeで動いた記録がでますね
ちょっと気長な検証が必要になってきちゃいましたね
ただ正直なところ
フルHDでの再生ならばx86のメモリ上限を超えることがないので
実益的にx64は不要だったりします
x64のメモリ空間が必要になるのは
4k動画や4kへのアップスケーリングでのSVP発動くらいです
うちには4KディスプレイとGTX970があるので
興味本位で環境構築と実験をしていますが
GTX970程度だと4k 60fpsはカックカクで見れたものじゃありません
この先GPUがもっと進化してお値段も手ごろになるくらいまでに
x64再生環境ができればいいなぁって感じでの試行錯誤で
あれやこれや弄っていた産物ですし
今回のように
ちょっとしたアップデートでトラブル出現したりと
x64周りはまだまだ安定運用に難ありですので
実験大好きっ子には楽しいお題ですが
実用性としてはフルHDでのx86環境の安定化を
充実させたほうが良いかと思います
ただ先にも書きましたが
avisynthでのエラーであればSVPの上書きで
x86再生環境は復帰できるはずですので
臆せず試していって大丈夫です
良きヌルヌルSVPライフを♪
ご回答有り難うございます
x86環境は再インストールで復旧出来ました
x64は未だ出来ないままですが。。。
どこがネックになってるやら皆目見当がつきません
x86環境でSVPを動かしているのですが、いまいちヌルヌル動いている感じがしないんですよね―
試しにSVP有り(MPC-BE)とSVP無し(VLC)を同時に再生してみましたが変化が感じられないのです。
また、SVPをON,OFF切り替えてMPC-BEで視聴しても違いがわかりません
ffdshowのFrame durationはSVP有りで16.6833ms、無しで41.7083msとなっているので変化は有るはずなのですが・・・
youtubeに上がっている60fpsと24fpsの比較動画では違いがダイレクトにわかります。
なのでモニタ自体の問題では無い気がします。
tet様の環境ではSVP環境で動画を見ると明らかに違いがわかりますか?
ちなみに動画はアニメの24フレームの動画を再生しています。
んーなんでだ
ぬるぬるになりたいー
のけさんコメントありです
うーん60fps動画で違いが判るなら
恐らくうまく発動してなさそうですね
SVPを右クリックでSettingにある
「Show OSD Messages」をオンにすると
動画再生の最初に倍速情報が出ますので
確認してみてください
それが出ないとなると
ffdshowの設定がうまくいかず
SVPに届いていない可能性があります
届いていてダメな場合は
OSDにエラー情報が出ます
出ないでぬるぬるしない場合は
MPCで再生時にフィルタ情報から
ffdshowを開いてみて
Avisynthの項目が正しくなっているか
確かめてみてください
こちらでは発動時は素敵になめらかですね
ただx64はx86程ヌル感がないような気も。。。
OSDは出るのですがもしかしたら
x64ではOSDにもログにも出ない未知のエラーがあるのかも
(エラーログないのはデバックしんどそう)
いずれにしろx86では正に目を見張る違いが出ますので
まずはうまくいかない理由を
OSDやログで特定できるように頑張ってみましょう
早急なご回答有り難うございます。
一旦関連する全てのアプリケーションをアンインストールし、再度SVPから入れなおしました。
OSDでの確認は随時行っているのですが、きちんと表示されており、またエラーログも吐いていないようです。
log.txtより
21:22:01.887; Performance statistics:
Playback: 1280 x 720 @ 23.976 * (5 : 2) = 59.94 fps
CPU usage 66% Duration: 0:19 SVP Index 1x
Memory used at start:1342 at end:1343 growth:16 MB/min
となっているので補完されているのだと思います。(AVSError.txtは作成されず)
ffdshowでのavisynthの設定は
global svppath="C:\ProgramData\SVP 3.1\"
Try {
import(svppath+"AVS\ffdshow.avs")
}
Catch(err_msg) {
ffdShow_source().Subtitle(err_msg)
WriteFileStart(svppath+"Logs\AVSError.txt", "err_msg")
}
となっています。
Demonstration modeで確認してもやはり変化なし。。。
動画はSVPの公式で比較されていたので、艦これのOP(24fps)を用いて確認していますが、
そもそもこちらの環境ではSVPを切っていても、比較動画のSVP OFF の時のようにカクつかないのですよね
SVPを発動させていなくても比較動画の24フレーム/秒の様にはならず、比較的スムーズに動いています。
また、SVPをクリーンインストールした直後に同封されているMPC-HCで確認しましたが、SVPのOSDは60fpsに変換している旨が表示されていますが、ヌルヌルしている感じが無いというか今までと変化が無いというか
何も設定していませんが、フレーム補間されている可能性とかありえるんですかね?
グラボはAMD HD7850なのでfluid motionには対応していません
他になにか手がかりになるような情報がありましたら、ご指摘頂けると幸いです。
フレーム補間の変化が見られなかったためOSのバージョンを上げたので、一応PCの構成を書いておきます。
OS:windows10 pro x64
CPU:intel core i7 3770k
mem:24GB
gpu:AMD HD7850
MB:GIGABYTE Z77X-UD3H
openCLはグラボに設定しています。
何度も質問ばかり申し訳ありません。
よろしくお願い致します。
のけさんコメントありです
構成やログや試行を見る分には
発動していない要因がなさげですね
あと考えられるのは
MPDNをインストールした後などに
設定が変わってしまうことがあるのが
Lav Video Decoderの
Deinterlacingあたりでしょうか
「25p/30p」のところが「50p/60p」に代わっていたり
Software Deinterlacingがオンに代わっていたり
その他ですとあまりないとは思うのですが
ffdshow raw video filterの設定で
Intel QuickSyncが「Force~」がオンになっていたり
同じく「SW emulation」がオンになっていたり
出力の色空間で「NV12」がオフになっていたり
優先が「NV12」や「AUTO」でなかったり
ただ色空間に関しては以前に
RADEONだと稀に「NV12」で落ちるとかなんとかで
その環境では「YV12」使うってのを小耳に挟んだ記憶も。。。
(RADEON使ったことないので話半分未満でお試しを)
あとは可能性を少しずつ潰して検証するしかないですね
例えば
OpenCLを切ってみるとか
3770kの方にディスプレイをつないでみるとか
RADENドライバのバージョンをいくつか異なるもので試してみるとか
環境によって成否が異なる場合って
エラーログを確認
↓
使用ソフトのバージョンを揃える
↓
エラーログを確認
↓
ソフトの設定を揃える
↓
エラーログを確認
↓
別なメディアで試してみる
↓
エラーログを確認
↓
ソフトの設定を替えてみる
↓
エラーログを確認
↓
ドライバやハードウェアを替えてみる
↓
エラーログを確認
↓
一晩寝て閃くのを待ってみる
↓
エラーログを確認
↓
成功するか諦めるまで以下ループ
てな感じで
地道に行くしかないんですよねぇ
特にSVPみたいに複合ソフトウェアだと
不具合個所の特定に難儀したり
こればっかりは「謎解きゲーム」と楽しめないと
苦痛にしかならないので
「めっさがんかれ」とは言いづらいところです
もし謎解きを楽しめる質でしたら
じっちゃんの名に懸けて地道な捜査に挑んでくださいませ
>>36
のけさん 年又ぎになりましたが
こちらでその状況に近い現象の再現と
解消方法を確認でs来ました
Windows 8.1 Pro With Mediacenterでは再現しなかったのですが
年末年始の休みを使ってWindows 10 Proにアップグレードしたところ
SVPが発動しなくなりました
SVP、MadVR、Lavfiltersなど入れ直しをしても解消されなかったので
いろいろ有効化/無効化を試したところ
最新のLavfiltersが引っ掛かっていたようです
MPCの外部フィルターで下記のようにすれば
SVPが発動することが確認できました
・Lav Video Decoderをフィルタ追加 且つ「使用しない」に設定
・ffdshow raw Video Decoderをフィルタ追加 且つ「使用しない」に設定
・ffdshow Video Decoderをフィルタ追加 且つ「優先する」に設定
要はffdshow Video Decoderで代用する状態にします
あくまでこちらで再現できた環境での
サンプル1例の解消方法ですので
万全とはいきませんが参考になれば幸いです
Lavfilters Ver.0.68以降で不具合が解消された場合は
下記のように設定を戻してもいいかも
・Lav Video Decoderをフィルタ追加 且つ「優先する」に設定
・ffdshow raw Video Decoderをフィルタ追加 且つ「優先する」に設定
・ffdshow Video Decoderをフィルタ追加 且つ「使用しない」に設定
それでは本年もヌルヌル視聴ライフを楽しみましょう