Avisynthを絶讃ιょぅょ Part32 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
「AviSynthを絶賛」というのは、聞いたら答えたり報告したりなどギブアンドテイクな作業を指す。 厨と呼ばれて当然の事を、調べもしないで訊くバカが住み着くスレではないので、 avisynth.infoぐらいは読んでおくように。 【前スレ】 Avisynthを絶讃ιょぅょ Part31 http://echo.2ch.net/test/read.cgi/avi/1383985211/ 【日本語による解説】 avisynth.info http://www.avisynth.info/ 【実家】 AviSynth http://avisynth.org/mediawiki/Main_Page >>359 に追記 使ってるAvsPmodは AvsPmod_v2.5.1-90-gfcd7a61 x86_64版 とかいう、どこかで拾ったやつ >>360 の続き KTGMCを遣うとこんなエラーメッセージが出る https://i.imgur.com/aSrFgOW.jpg 先頭は OnCPU って書いてるはずなのにCPUって関数はないって怒られる >>359 readmeに書いたけど、def内でフィルタをインスタンス化すると止まる avsスクリプト内でフィルタ呼び出してdefファイルから変数を参照するようにして >>362 その方法でできました あっという間に要望に答えていただいて ありがとうございます Avisynth+ CUDAは環境にはシビアでしょうか? 自宅のwindows8で630MのノートだとAvsPmodが起動できない ネットカフェのwindows7でGTX660はAvsPmodは起動するがプレビューで緑の画面になる ネットカフェのwindows10でGTX780は動きます Preset="fast"で30fps以上は出ます これだけでもPC変えようかと思うほど素晴らしいです 作者さんこれからもバージョンアップお願いします 動作環境書いてある > compute capability 3.5以上のNVIDIA GPUで動作します。 > お持ちのGPUの対応は https://developer.nvidia.com/cuda-gpus とかで確認してください。 630Mは2.1、660は3.0だからどっちもダメ、780は3.5だからOK AviSynth+CUDAの本体・プラグインのコンパイルに慣れた 自動最適化もかますとくっそはえーな あのQTGMCやNNEDI3がKになるとサクサクだ KTGMCのプリセットがうまく動かないのがいくつかあるが コンパイルとか毎回しないと使えないのか・・・めんどくさそうだな。 BS11などの動くロゴを64bit版delogプラグインで処理したいのですが 良い関数などがあれば教えてください >>371 「メモ置き場 透過性ロゴフィルタ」でググって出てくるブログの透過性ロゴフィルタカテゴリの記事とか。 そのdelogo mod、x86版しか無いんだよなあ ソースも無いしx64に再コンパイルする手段すらなくて、積んでる ソースの公開とまってるものをアップするのは気が引けたが 有用だし元々は別の人のプラグインだしでアップさせてもらうことにした ソース持ってたからコンパイルしたけど動作確認はしてない ttps://www.axfc.net/u/3863655 >>374 ありがとうございます! AvsPmodとAvisynth+64bit(309さん版)で動作することを確認しました 309さんのavisynth+ x64(r2528-CUDA)と350さんのItsを使っています 環境はcore i7 8700K windows10 pro x64(ver1709)です defファイルで24fps化を2回呼び出すと次のようなエラーが出ます Its:Invoke failed. <trim(1,0).p24td> (Script error: Invalid arguments to function 'trim') (p24tdはavs中でソースにTFM().Tdecimate()をかけているものです) defファイルで2回目の24fps化するところを 30fpsにしたり60fpsにすればエラーが起きません 24fps化にはSelectEveryとTFM().tdecimate() を試しました また、たとえ一回だけdef中で24fps指示をだすとしても 0フレーム目からでなければ同様にエラーが出ました 問題のavsとdefファイルをアップしました https://dotup.org/uploda/dotup.org1391442.txt.html エラーを回避する方法があれば教えてください >>374 ありがとう!まさかソースまでうpしてもらえるなんて思ってなかった。 言ってみるものだなあ >>376 Itsのソース読んでみたけど、24fpsクリップの開始位置(=start)が5の倍数でないときは start%5フレームだけ先頭を捨てるようになってるみたい でもこれ必要なのかな。>>376 のdefファイルみたいにSelectEveryで手動24fps化してる とこにこれを適用するとマズそうに見える Itsのソースから元々想定してた挙動って video.Trim(start%5, 0).SelectEvery(5, 0, 2) とかだけど、これstartが5の倍数以外だと手動24fps化の想定してた挙動にならないよね なんか俺間違ってる? start%5フレームだけ先頭を捨てるようになってるのがなぜなのか 分かる人いたら教えて欲しい ともかく、24fpsクリップの開始フレームを5の倍数にすればエラーは出なくなる 0-9708[24] tfm2 9709-27544[60] qtqt 27545-42524[24] tfm2 >>376 p24tdとp60KTGMCを関数化して、defファイルも修正 ###################################AVSファイル#################################### Import("C:\Tool64\Plugin\function.avs") (省略) video=video.EraseLOGOmod(logofile=movelogo,pos_x=400,pos_y=0,depth=128,start=27691,end=27991,fieldin=0,fieldout=0,logo_start=0,logo_end=-1,interlaced=true) video function p24td(clip clip) { clip TFM().tdecimate() return last } function p60KTGMC(clip clip) { clip OnCPU(2).KTGMC().OnCUDA(2) return last } Its(def=SourceDir+src+".def",fps=-1,debug=false,chapter=SourceDir+src+".xml",output=SourceDir+src+".tmc") return last ###################################AVSファイル#################################### >>374 これ、そもそもどうやって あの少時間のロゴデータとるんですか? #####defファイル##### set [24] shu1 = 'DoubleWeave.SelectEvery(5, 0, 2)' #2:3プルダウンされている30fpsソースにおいて、01フレームに縞がある場合 set [24] shu2 = 'DoubleWeave.SelectEvery(5, 0, 3)' #2:3プルダウンされている30fpsソースにおいて、12フレームに縞がある場合 set [24] shu3 = 'DoubleWeave.SelectEvery(5, 1, 3)' #2:3プルダウンされている30fpsソースにおいて、23フレームに縞がある場合 set [24] shu4 = 'DoubleWeave.SelectEvery(5, 1, 4)' #2:3プルダウンされている30fpsソースにおいて、34フレームに縞がある場合 set [24] shu5 = 'DoubleWeave.SelectEvery(5, 2, 4)' #2:3プルダウンされている30fpsソースにおいて、40フレームに縞がある場合 set [24] tfm2 = 'p24td()' set [60] qtqt = 'p60KTGMC()' mode fps_priority = 24 default 24 = tfm2 default 60 = qtqt (省略) 0-9708[24] tfm2 9709-27540[60] qtqt 27541-42524[24] tfm2 #####defファイル##### >>376 関数化させないと、どのクリップに対してフィルタを掛けるのか明示できないんじゃないの 言葉&知識足らずでうまく言えないけど、少なくとも元のavsだとp24pt=video.TFM().tdecimate()となってるから 指定範囲のクリップがItsから呼び出される度にvideo(CMトリムとロゴ消しをしたクリップ)も掛かっちゃうからおかしなことになるんだと思う それとSelectEvery(5, a, b)の前にはDoubleWeave()が要る >>378 ソースを調べてくれてありがとうございます キャッシュの取り方が変わったせいなのか 開始フレームを5の倍数にするのが厳格化されているんですね それとアップしたファイルはうっかり selecteveryの前にDoubleWeave()かけるの忘れていました もし参考にする人がいたらご注意下さい >>380 異なる動画ファイルを300個ほど集めて それを平均化して取得しています >>382 おっしゃる通りだとは思うのですが 350さん版のItsは従来と違って defファイル内でフィルタをインスタンス化すると キャッシュが無効になって性能が激落ちするか止まるそうです 現在のavisynth+の仕様だそうです >>381 > 0-9708[24] tfm2 > 9709-27540[60] qtqt > 27541-42524[24] tfm2 ↓ > 0-9708[24] > 9709-27540[60] > 27541-42524[24] そのdefならこれでも同じ処理になるんじゃね? >>389 default設定してるからなるね もっと省略するなら 0-9708[24] 9709-[60] 27541-[24] これでも可 0- 9709-27540[60] これでもいける >>388 ありがとうございます x64版でItsと動くロゴフィルタさらにQTGMCがGPUで動くようになるとは そんな日が来るとは思いませんでした >>374 のdelogomod(x64)はもう消しちゃいましたか?(T_T) この流れに便乗したいんだけど通常版のdelogo.dllにfieldin&fieldoutオプションを追加したやつのx64版てないですかね +64bit環境に移行してHalfLogoErase.avs使ってるけどめんどい 便乗出来なかった>>395 に謹んで哀悼の意を表します 394だけど流れたの1日か、そこらでしょ? それを便乗出来なかったは厳しいよ 普通のロゴなら別にいいけどdelogomodはムービングロゴがないとダメだからね 有ると無いとでは全然違う(と思う) delogomodでjoin_logo_scpみたいなやつで自動認識するのってある? >>395 delogomod0009.zipにavisynth+(未確認)ってのが入ってるよ。 なんとなくメモ。 ディレクトリ構成例 ━┳x264┳ x264.exe ┃ ┗ ffms.dll ←実行ファイルと同じ場所にプラグインのDLLを置く ┗ test.avs ←別の場所にavsを置く test.avsの内容 LoadPlugin("ffms.dll") ←フルパス指定しない FFVideoSource(〜) x264.exeでtest.avsをエンコードしようとした場合、Avisynth2.6では問題ないが、 Avisynth+(r2508)ではffms.dllがロードされずエラーとなる。 つまりAvisynth+のLoadPluginでは実行ファイルと同じ場所にあるDLLはロードしに行かないらしい。 まあ実行ファイルと同じ場所にプラグインのDLLを置くような使い方は普通しないけど 本来はAvisynth2.6を入れて使う「つんでれんこv2.97」を、Avisynth+(r2508)で使おうとしたら うまくいかず、なんでだろうと思ったらこういう挙動の違いが原因だったようなので。 .彡⌒ ミ / ̄ ̄ ̄ ̄ ̄ ( ´・ω・)< 罫線のズレが、ズラのズレより気になる件。 ( ) \_____ │ │ │ (__)_) ここ読んでらっしゃるかわかりませんが。 宛先: RawSourcePlus作者様 内容: yuv420p10なy4mなどが正常に読めなかったのでIssue出しております。 気が向いた時にでもご確認いただければ幸いです。(既にお気づきでしたらすみません) なおちゃんとコードが読み書きできるわけじゃないのでプルリクは出せない模様。 ズラのズレより気になるズレなんて 女子のブラとパンツ以外には この地球上には存在しない 誰でも自分PCで稼げる方法など 参考までに、 ⇒ 『政道のゴウイウセレイイ』 というHPで見ることができます。 グーグルで検索⇒『政道のゴウイウセレイイ』 4GBGDN1CEL >>Not Found ちんぽじのズレはめっちゃ気になるだろうがw 嘘つくんじゃないよまったく DecombUCFはAvisynth+のMTで動かないからほかのNR試してみたけど やっぱDecombUCFは手軽で優秀だは >>407 DecombUCFは俺も使ってるけどかなり優秀に感じる。 ただ、作者の説明にもあるように激しい動きのところで好みの結果にならないから パラメータを細かく調整してみようかなと思っているところ。 デバッグモードも各パラメータに反映しやすく全部のフレームもログ取れるようにならんかなとか ノイズが多い場合の片フレームだけ使用する場合にもフィルタ適応できるようならんかなとかもおもう。 あと、このノイズ検出システムを使ったノイズ量に合わせたフィルタのを3つくらい設定できるようになるとか。 そのうち好みの改良加えてmodにしようかとも思ってるけど、皆公表してないだけでmodにして使ってるんだろ?w >>409 NRだけ追加して使ってる どのみち誤爆したら意味ないから閾値をかなり上げてるけど より高性能なのを作ってくれるならぜひ公開してくれ masktoolsのFixが来てる https://github.com/pinterf/masktools/releases/tag/2.2.12 > Changelog > v2.2.12 (20180107) > > Fix: mt_merge 10-16 bits: right side artifacts when clip is non-mod 8 (non-AVX2) or mod16 (AVX2) widths > > Earlier changes > v2.2.11 (20180105) > > Fix: mt_merge luma=true: broken output when: 8-16 bits AVX2, 32 bit float: SSE2, AVX > move project to VS2017, vs141_xp toolset 2passTIVTCの1pass目の出力テキストを使ってフレームアダプティブフィルタリングしてるんだけど、 KFMって2passTIVTCみたいな使い方できるのかな? できるならグラボ買ってくる >>413 作者だけど、フレームアダプティブフィルタリングが何か分からないとなんとも言えん KFMは24pと60pを別処理して60pにマージして出力する 聞きたいことがあったら聞いてくれ >>414 ありがとうございます TFMの様に、フレーム毎のフィールドマッチング、縞判定、縞強度をtxtファイルで出力する事は可能でしょうか? こういうのです ↓ #TFM v1.0.4 by tritical field = top crc32 = 00000000 0 h + [256] 1 p - [2] 2 p - [16] 3 h + [235] 4 h + [256] 5 p - [25] 6 p - [26] 7 c - [21] 8 c - [16] 9 h + [209] 10 p - [36] 11 p - [27] 12 c - [18] 13 c - [34] 14 c - [24] 15 p - [31] フレーム毎に縞強度等から強度を調節してノイズ除去等を行ってます (ConditionalReaderとScriptclipで) >>415 txtファイル出力とかの機能はない あと、中身はTFMとは完全に別物だから期待したものじゃないと思う TFMは30pを出力するけどKFMの中で30pは一切出てこない 出てくるのは24pと60pだけ LSMASHSourceでTS読み込むと途中で静止画になるバグに悩まされてたけど、 seek_mode = 2, seek_threshold = 0 にしたら問題なくなった。 KSMDegrainを使うにはどのdllをどこにインストールすればいいんでしょうか? >>419 KSMDegrainはAmatsukazeのリリースパッケージにしか入ってない 単体で使いたい場合はKTGMCを入れて、 ↓このスクリプト入れて(Amatsukazeのリリースに入ってるのと同じ) https://pastebin.com/AqywRRmN 新Itsの作者様のnekopanda様へ Itsを25fpsに対応させることは無理でしょうか? PAL→NTSC変換に失敗した動画の25fpsパートを Srestore関数で25fps化しつつ60iテロップ部は60fpsにという動作をさせたいので 触る機会があったら対応お願いします タイムコード側で対応せずにフィルタ側で対応すればいいだけじゃね? ITSはあくまでタイムコードにあわせて指定したフレームにフィルタを当てるミドルウェアだしな。 >>422 対応版作ってみた https://github.com/nekopanda/Its/releases 25fpsは240の約数じゃないから内部処理的にかなり改変してて 突貫工事+よく分からないコードはバッサリ消しちゃったから 変なとこあったら教えて >>424 ありがとうございます 今日、明日にでもテストして報告させていただきます とりあえずパッと見ではではおかしなところはなかったと思います ただ25fpsは240の倍数じゃないのは確かなので r6までのItsと別プラグインにしていただけませんか? もし25fpsに対応するためのバグで困る人が出たら心苦しいので なにか異常がありましたら改めて報告したいと思います 改造ありがとうございました KSMDegrain_MAnalyzeの引数についてお尋ねします Mvtoolsに対応させると、前の方は予測がついたのですが、後ろの3つがわかりませんでした KSMDegrain_MAnalyze(super=psuper, isb=False,delta=2,blksize=16,blksizeV=8,overlap=4,?1=False, ?2=True,?3=4) ?1・?2・?3はそれぞれ何に相当するものなのでしょうか KMDegrain1をthSAD=150で使っても、MDegrain1では残せていた雨が半分ぐらい消えてしまうので、このあたりをいじってみたいのです MDegrain1は下のように使ってました super=Msuper(pel=4,levels=1) superfilt=ColorYUV(levels="TV->PC").Msuper(pel=4) bv1=Manalyse(superfilt,isb=false, delta=1,truemotion=true,overlap=4) fv1=Manalyse(superfilt,isb=true, delta=1,truemotion=true,overlap=4) Mdegrain1(last,super,bv1,fv1,thSAD=150) >>428 関数定義見れば分かると思うけど、後ろ3つは bool truemotion, bool chroma, int batch truemotionは対応してないから使ってない 雨は試してみたけどブロックサイズ小さくしないとダメっぽいね KMAnalyseは16x16と32x32しか対応してないから8x8は使えない・・・ >>429 ありがとうございます ダメですか・・・ 色々小細工を考えてみます >>430 8x8対応した https://github.com/nekopanda/AviSynthCUDAFilters/releases KSMDegrain(tr=1,blksize=8,thSAD=150,thSCD1=400)で だいたい同じになるはず。探索アルゴリズムが違うから微妙に違うけど >>431 対応ありがとうございます 早速試したところ、雨がエンコード後も残ってました と思ったのですが、 Script error: Cannot load a 32 bit DLL in 64 bit Avisynth: 'P:/Capture/Amatsukaze/exe_files/plugins64/KTGMC.dll'. というエラーを吐いて止まってました・・・ >>433 すまん、なぜか壊れてたから作り直して挿し替えた GPUのインタレ解除機能を使ってインタレ解除するフィルタ作った https://github.com/nekopanda/D3DVP PCで普通に再生したときと同じ品質でインタレ解除できるはず 速度は、手元のPCだとフルHDサイズの動画で Skylake CPUで180fps、GeForce 1060 GTXで400fpsくらいだった ただ、Radeonだと単純なBobしか掛からなくて画質が悪かった 環境の問題なのかプログラムの問題なのか分からん >>437 Radeonで動作確認しました 自分の環境だと一応高度なデインターレースをしているように見えます >>438 動作確認ありがとう! GeForceとRadeon共存の上にRadeonはディスプレイ出力してないっていう 特殊な環境だったから、おま環だったかな。よかった mp_pipeline経由でKSMDegrainが動くのでD3DVPを試したのですが、 Script error: [COM Error] -2005270524: Unknown error 0x887A0004 at D3DVP.cpp:617 というエラーが出て動きませんでした >>437 Radeon環境だとD3DVPは_GPU25に比べてどっちが高品質? >>440 こっちでは動いてるようにみえるけど、mp_pipeline経由じゃなければ動くの? GPUは何使ってる? GT1030をモニタ出力なしで使ってます System32のAvisynth.dllを入れ替えてmp_pipeline無しで使っても同じエラーが出ました モニタが冷陰極管世代の古いものなので、一部ビデオオプションが出ないのが影響してるかもしれません >>443 なんでだろう。エラーはDirectX11.1で初期化しようとしたところで出てるね - GPUがDirectX11.1に対応してないから - Win7使ってるから - モニタ出力してないから このくらいしか思いつかん >>443 あ、そもそも、モニタ出力してないってことは、他にモニタ出力してるGPUがあるんだよね デバイス名を何も指定しなければデフォルトでプライマリディスプレイに繋いでるGPUを使おうとする そっちがDirectX11.1に対応してないとそういうエラーになるかも Win7だからだ! りどみでは11って書いてあったので大丈夫かと思ってたけど、11.1対応が必要だったのか avisynth: Avisynth+ r2580MT プレビュー: AvsPmod v2.5.1 (windows x86-64) OS: windows10 Home (64bit) fcu GPU: Radeon RX460 最初、ジャンプ後にエラー出ると報告しようとしたけどMTを無効にしたら問題なく動きました RadeonのポストプロセッシングもDXVA Checkerで有効にできるのも確認 これはお手軽高速デインタレとして最高かも・・ >>446 Itsといいこれといいお世話になります thx! >>447 0.1.1でエラーでた? 0.1.0はMTでエラーが出てたから直したつもりだったけど、まだダメだったかな >>446 Win7はちょっと細工が必要だけど対応できるって情報がチラッとあったから、 そのうち対応するかも。待ってね 凄く便利だけど GPUのインターレス解除ってソフトに比べてどれくらいの品質なんだろうね >>449 す、すいません ダウンロードとセットアップ&テストにラグがあったので 0.1.0での結果になります 0.1.1はMT有効でも問題ありませんでした >>437 AmatsukazeからNVEncを使うとHWデインターレースが使えなくてバランスが悪かったのだけど AVS経由で使えるようになって嬉しい ただ、GeForceが載っているマシンではD3DVP(device="Intel")ではエラーが出て使えなかった AmatsukazeからQSVEncを呼んだときは--vpp-deinterlaceがちゃんと使えるのだが HWデインタレはIntelの方がNVIDIAより上というのが以前からの所感だが、いまだに納得がいかない もう少し遅くてもいいからデインタレの質を上げてくれんかな 他の人の話だとRadeonが一番というが手許にないのでたしかめられない いくら良いと言ってもQTGMC slowに敵うものじゃないし そういう高度な処理と比べたら大したことないと思う>radeon含むHWデインタレ GPUはCPUをサポートする感じだったが、 昨今はお値段がCPUより高かったりするし、 だったら、DualスロットCPUとかにでもして CPUのコア・スレッド多くしてQTGMCかけたほうがシンプルで画質もよさそう >>455 あれって結局NNIEDI3メインじゃん でも、NNEDIってやり過ぎて歪む確率も高いからRadeonの適応ディレクションの方が、俺は好きなんだよね 基本的なことになりますが、出来るだけ高画質にインターレースを除去したい場合、 ここにあるようなQTGMC等を使用するのと、AEプラグインのMagic Bullet Framesや、Re:VisionのFieldsKitを使用するのとどちらが適しているのでしょうか? >>458 そもそも高画質の定義が曖昧で自分自身が見てその「高画質」を決めるんだから、「基本的」なことを言うなら全て試すのが正解 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる