Avisynth 初心者質問スレ Part9 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
Avisynthの初心者質問スレです
・質問する前に
1.まずは、過去ログを読むか検索エンジンなどを使って調べましょう
2.次に同じような質問がないかCtrl+Fでスレッド内を検索しましょう
・VapourSynthの話題はできるだけ専用のスレでお願いします
・荒らし・煽りは綺麗にスルーしましょう
■前スレ
Avisynth 初心者質問スレ Part8
http://echo.2ch.net/test/read.cgi/avi/1463062591/
■関連スレ
・Avisynthを絶讃ιょぅょ Part32
http://echo.2ch.net/test/read.cgi/avi/1486535501/
・お前らのショボイAvisynthスクリプト貼ってください part4
http://echo.2ch.net/test/read.cgi/avi/1486693045/
・VapourSynth Part2
http://echo.2ch.net/test/read.cgi/avi/1488452387/
■外部リンク
・Avisynth wiki(英語)
http://avisynth.nl/index.php/Main_Page
・avisynth.info (旧 AviSynth Wiki、日本語)
http://www.avisynth.info/
・AviSynth ニュース
http://news.avisynth.info/ video = __video__
の部分をLsmashで読み込ませたらMT使わなくても早くなるかもしれない TDeint_()は何をやってるんだろう
nnedi3はjpsdrのなら勝手にNICE_FILTERで登録されなかったっけ?
delogoは+用の使ってる?
あとは確かIts+mvtoolsがうまくいかない場合があった記憶がある 皆さま回答ありがとうございます。
安定にはまだまだ時間がかかりそうです。
地道に解決策を探してみます。
因みにQSVのみとavisynthフィルタ+qsvではやはり画質に差がありますか?
画質も大事なのですがそれ以上に速度と安定性は譲れないので妥協点を探っているところです。
正直エンコさえ完走してくれればいいのでロゴ消し以外の原因になっていそうなフィルタは実行しないようにしようとも考え出しているんですが... あとqsvをocで使っているのですが安定性的によろしく無いですかね?
+0.25mv 1550mhz >>125
怪しいと思うのなら、他のを試す前に暫く辞めてみたら? >>120
同じエラーが出てたけど、パイプ使わずに全て64bit化したら安定するようになった 縮小してmpeg2でエンコするなら
どうせ細部が潰れるからbilinearでいいわ リサイズに使う手法でDitherが高画質って話でmpeg2とは関係ないと思うぞ
確かにDither使う場合は誤差が最小限に抑えられるはずだから高品質に仕上がるのは正しいはず
内容に目を向けるとその人の主観ではSplineがLanczosより優れてると評してるけど俺はシャープに仕上がるLanczosが劣ってるとは思えない
ソースの特性やその状態、各人の好みで主観的に選択されるべきで必ずしもDither&Splineが適しているとはならないわけだ
上で既に言われてるようにどうせ潰れるから必要十分な品質と高速な処理を両立するBilinearもアリかもな
ところでそのブログこのスレで何度か見かけた事あるけど何かあるの? Recomendation for Downsizer required - SOLVED. - Doom9's Forum
https://forum.doom9.org/showthread.php?t=174496 >>128
そのDither_resize16nr()を使ったスクリプトって、絶賛スレの
http://mevius.2ch.net/test/read.cgi/avi/1486535501/95-
とか、このスレの >>74-83 で持ち出されてるんだけど、元は
http://ch.nico●video.jp/wakeup_01/blomaga/ar955171
からのコピペみたいなんだよね。
>>128の記事もこのあたりを読んで試してみたってことなんだろう。
ちなみに1分半のFHDアニメOPで、16bitでの処理と8bitでの処理をAvsMeterで比較すると、以下のようになった。
https://pastebin.com/umJi3J07
いくつか試してみたけど、地味に重さに差が出るし、仕上がりに大した差なんて無さそうだし、
8bitでいいやというのが正直なところ。 データだけじゃダメでしょ
自分のテストではネイティブで作られた感が出ていいと思った
でもふぁいうrサイズが大きくなったから使ってないけど いや、なんというか、
「よくわかんねーけど、これをコピペして16bitリサイズすれば最強なんだな!」
みたいな広まり方はしないほうがいいんじゃないかなあと。
f3kdbもDitherPostも、元記事のパラメータがそのまま使われてるみたいだけど、
DitherPostやf3kdbのdither_algoの説明を見ると、
「Floyd-Steinbergなどのerror diffusion系のディザリング手法は、エンコを考えなければベストな結果になるけど
かなり高いビットレートでエンコしないと、せっかくのデバンド結果がボロボロになる。
Ordered ditheringの方がエンコしてもデバンド結果が残りやすいので、そっちの方がお勧め。
場合によってはディザリング無しにするのもあり。」
みたいなことが書かれてるし、それも含めてちゃんと自分で考えた方がいいんじゃないかなと思う。
ちなみにFloyd-Steinbergを使うなら、DitherPostで8bit化する方が速かったけど、
Ordered ditheringを使うなら、f3kdbでそのまま8bit化する方が速かった。 HEVCの10bitエンコーディングなら細かいこと考えなくてもいい気がする
MPEG2のABRモードや、2Passでやるならその通りだと思う >>136
書いたまんまだが、
AviSynth+、プラグイン、x264の全てを64bit対応させただけ
そうすればパイプさせる必要ないしな
使っているプラグインに32bit版しかなければご愁傷様 DecombUCFについて質問があります。
DecombUCF v3.13( https://pastebin.com/dyzjwfwA )を使用中でavisynth 2.6(32bit)の時は問題なく動いたのですが
avisynth plus r2508にしてからエラーを吐くようになりました。
Script error:Invalid arguments to function 'CFieldDiff'.
([Conditional Filter,Expresion1], line1)
plusになってConditional Filterの仕様が変わったのでしょうか?
解決策を教えていただけませんか >>138
MT使わなければ問題ないはず
(最後のPrefetchを無効にする) >>139
うぉおおおお・・・これは盲点だった・・・
無事エラーでなくなりました。ありがとうございました。 Avisynth 2.60MT から Avisynth+ r2508 MT (32bit) に乗り換えようとフィルターを自前の既存のままエンコ出来る様に
してみた物の、エンコ速度が半分程度になってしまったw
全体的にフィルターの処理が重くて CPU (Ryzen 7 1700) も prefetch = 16 なんてしても大して使われない状態に。
マルチスレッド処理って SetMTMode の方が Avisynth+ のマルチスレッドよりも速いものですか? スクリプト次第なところはあると思うけど(俺は+の方がはるかに速い)
極端に遅いならSetFilterMTModeの設定か入れるプラグインが間違ってるのかもね
+用に書き直されたプラグインが多いからそれ使わないとまともにMT動かないってこともあるはず
スクリプトのっけてくれればよりコメントしやすい >>142
trim, crop, eraselogo 辺りは端折ったけど次の通りです。
プラグイン周りは全部最新かどうかの見直しも込めてダウンロードし直してます。
SetFilterMTMode("DEFAULT_MT_MODE", MT_SERIALIZED)
SetFilterMTMode("DGDecode_mpeg2source", MT_SERIALIZED)
SetFilterMTMode("NNEDI3", MT_MULTI_INSTANCE)
SetFilterMTMode("eedi3", MT_MULTI_INSTANCE)
SetFilterMTMode("TFM", MT_MULTI_INSTANCE) #2 is faster. 1 crashes randomly.
SetFilterMTMode("TDecimate", MT_SERIALIZED) #1 gave error, 2 was slower than 3
SetFilterMTMode("TDeint", MT_MULTI_INSTANCE)
SetFilterMTMode("warpsharp", 2)
SetFilterMTMode("UnsharpMask", 2)
SetFilterMTMode("aWarpSharp2", MT_NICE_FILTER)
続きます 続き
PluginPath = "C:\AviSynth+\plugins+\"
LoadPlugin(PluginPath + "warpsharp.dll")
DGDecode_MPEG2Source("hoge.d2v")
AudioDub(last, WavSource("faw.wav"))
TDeint(mode=0, order=1, type=3, tryweave=true).TDecimate(mode=1, hybrid=0)
Lanczos4Resize(960, 720) # 720p
#UnsharpMask(18, 5, 10)
#WarpSharp(64, 2, 80, -0.6)
aWarpSharp(depth=32.0, blurlevel=1, thresh=0.3, cm=0)
Prefetch(threads=16)
return last
と、大したことはしてないと…おもうw TDecimateはINSTANCEでいけるっぽいよ
自分はMT使ってないけどPintefさんだっけ?
plusに積極的にコミットしてる人がTFMと一緒にINSTANCEだと落ちないって書いてた気がする TIVTC、nnedi3は
https://github.com/pinterf/TIVTC/releases
https://github.com/jpsdr/NNEDI3/releases
こっちのを使ってSetFilterMTModeの記述は削除でOK
MPEG2SourceはChikuzen氏の使ってみるとか http://csbarn.blogspot.jp/
以前はMT_NICE_FILTERが良いってなってたと思うんだけど今ってMT_SERIALIZED推奨になってるのか
またはL-SMASH Works使うか
warpsharpは使ったことはないからわからんのだけど、
あまり重いことしてなさそうだから+のMTの恩恵は薄いかもしれない レスありがとうございます。感謝です。
>>145
Tdecimate を INSTANCE にして試してみたいと思います。
>>146
TIVTC と NNEDI3 は共に提示頂いた物と同じ物を使っていました。
なので SetFilterMTMode の記述を削除する方向でやって見ます。
それと MPEG2Source で .d2v のロードが行けるとか今更ながら初めて知ったので
これも合わせて試してみます。
ちょっと時間的に今すぐ試せないんですが、何れ結果は報告出来ればと思います。 あれこれと試す時間出来たんで HEVC エンコしてみました。ソースはアニメで 34,525 フレーム。
x265.exe への引数は
--crf 19 --preset medium --input-depth 8 --output-depth 10 --aq-mode 3 --aq-strength 0.6 --sar 4:3 --asm avx
です。
まず Avisynth+ で >>143-144 のスクリプトで aWarpSharp 抜きのエンコで 51.14fps。
次に aWarpSharp を有効にしたエンコで 35.52fps
最後に Avisynth 2.60 MT では GPU_Convolution3D, GPU_TemporalSmoother と
更に UnsharpMask, WarpSharp を追加したスクリプトで 46.03fps になりました。
自身のスクリプトで速度と画質を考えるとまだ Avisynth+ には乗り移れないのかなと感じた。
折角助言頂いたのに無念orz >>148
aWarpSharpのdepthをsubpixel用に少数にしてないなら、awarpsharp2の方が高速だよ
変数名がちょっと違うので注意が必要だけど MPEG2sourceとはどういったものですか??
エンコーダ?? Avisynth+ への乗り換えを諦めていたけど、その後もちまちま弄って
スクリプトの行頭「SetFilterMTMode("DEFAULT_MT_MODE", MT_SERIALIZED)」こいつを外したら
かなり速度が改善されました。というかこれが原因だったのかなと。
WarpSharp を入れても満足いく速度が出るようになったけど、無くても良いかなと言うことで
シャープ系は UnsharpMask のみにしたり、ノイズ除去は FluxSmoothST にしてみたりしつつ
64bit に乗り換えたら 50fps 越える速度でエンコ出来る様になりつつ画質は個人的にまぁ満足できました。
その節はご助言ありがとうございました! Avisynthをavs2pipemod使ってqsvで利用してるんですがtdeintが遅くてqsvの意味が無いので代わりになるプラグインありませんか?
MTをtdeintに適応すると早くなるのですがavs2pipemodが落ちてしまうので... 遅いと感じるのは人それぞれ。
qsvデコード使ってqsv側でインタレ解除とかじゃだめなん?
どうしてもavsじゃないといやなら、同時に複数の動画エンコードするとか自分はやってた気がするわ。
1つのavsを分割して同時エンコードしてから結合とかでもいいのかも。 >>153
yadifmod2とnnedi3を組み合わせたものがtdeint並みにお手軽
yadifmod2だけで使うのなら画質的には微妙ではある Tdientをバラエティーや生放送のソースに使うと20fps程度しか速度でませんが、アニメや映画等では90fps以上いきます。
おまけにバラエティーの出来上がったものを見るとカクカクしてしまっています(見れないレベルでは無い)
何が原因でしょうか? mode=0で30fpsに解除されてるのでは?
readmeを分からんながらも眺めればヒントはあるもの >>153
QSVでエンコするなら画質は気にしてないだろうし、AutoDeintあたりで良いと思う Bob化すると元ファイルよりエンコ後の方が大きくなるんだが...
アニメ、映画は24fps ドラマは30fps バラエティーは60fpsなんだよね。
そもそも地デジって30fpsだよな…
アニメとかもbobでいいの?
ジャンルごとに設定変えなきゃいけないのか? そういう人は全部インタレ保持でエンコすればいいと思うよ
サイズは対して縮まないけど >>160
60iな30fpsだから
片方のラインでのみ補完すれば30fps
片方のラインで補完、もう片方のラインで補完とすれば滑らかな60fpsとなる
私はビットレートの無駄だとしか思えないから30fpsでやってる tdient使ってアニメデインタレースしてるんですが、シーンの切り替わりでノイズのようなものが混じります。
原因はなんでしょうか? 同じ事前起きたけどその時は
muxするmp4boxが古かったからだった >>163
普通に縞状態でビットレートが足りずブロックノイズが発生してるのでは? アニメや映画で24fps化って必要ですか?
取り敢えず30fpsでデインタレースしてれば問題無いですか? 気にならないなら
それでいいと思うよ
しなきゃいけないってことはない plusのMT設定は
SetFilterMTMode("DEFAULT_MT_MODE", MT_SERIALIZED)
にしてたら
NICE_FILTERだけ追記していけばいいんですか? アニメは 24fps にして Fluid Motion 効かせると 30fps ソースよりも補完フレーム増えてぬるんぬるんになる。 plus対応フィルタとかplusについて詳しいサイト教えてください http://avisynth.nl/index.php/AviSynth%2B
ここ読めば大体わかるでしょ。
パラメータはググってパクって自分で調整すると楽出来る。 Aviutlの二重化のようなインタレ解除する方法はありますか?
AutoDeint(mode="Blend")はやってみたけど完全な二重化解除ではないみたい >>176
warpsharpのauto24fps使えば出来ますよ どこで書けばいいのかわからないからここで質問します
大分昔のmp4box使ってたから新しいのを自ビルドしてみてみたのですが
コマンドプロンプトでmux時の文字が緑色になったんだけど何故だかわかる人います?
何かまずったかと動画を見ても何も問題ないし文字色だけ変わったのならいいんですが…
左が今まで使ってた0.5.1DEV 右が自ビルドした0.7.2DEV
ttps://light.dotup.org/uploda/light.dotup.org479494.jpg 仕様だから気にしなくていい
自ビルドしたのならソースを確認してみるといい >>181
仕様でしたか
おかげでもやもやしたものが消えました あざっす
後でソース確認してみます >>176
二重化と呼ばれる処理は要するに縦方向3ピクセルを1:2:1で混ぜた平均だから
mt_convolution(clip, horizontal="1", vertical="1 2 1", chroma="process")
あとTDeintのtype=4と5も二重化
こちらはAviUtlの「縞部分のみ二重化」相当だね >>183
ありがとう
半ば諦めて放置してたけどやってみます 4fps、60秒のビデオを24fps、時間は相対的に10秒に凝縮。
エンコ無しで。
これで出来る?
http://aviutl.info/hure-mure-to-hennkou/ >>185
たぶん一行書くだけでできる
AssumeScaledFPS(6,1) avisynth(x86)の最新版は2.6.1alpha5ですか?
2.6MT(SEt氏)を使っていますがあまりフィルタを使っていないので差が出にくいみたいで
だったら2.6.1alpha5がSSE2使っていますから移行を視野にいれてもいいかと思ってます
Plusがいいらしいのは絶賛スレを見ればわかりますがへっぽこPCでは安定するかあやしいので保留してます
(何よりEasyVfr3Modを使うためx86版に固執してます)
2.6MTと2.6.1alpha5、速度面や安定さを含めてどちらがいいでしょうか?(長文すみません) MT使ってないならどっちでもいいんじゃね
2.6からplus(32bit)にしてMT使ったら1.5倍くらい速くなったけど。
安定性も別に変らんし SE't氏のMTの安定性や互換性は高いからね
スクリプトもMT関連以外の互換性は高いから
とりあえず入れ替えてみたら? 安定は捨てがたいですね、考えて見ます
ありがとうございます そもそも2.6.1はalpha1しかないから、alpha5なんて存在しないだろ。 ですね、2.6.0alpha5と2.6.1alpha1と混在してました
質問は2.6.1alpha1の方ということで・・・ 64bitに移行したらQTGMCが落ちなくなった
前は30分以上の動画は50%くらい落ちてた plusでプラグインの大半を+対応のに置き換えたら動くようになった>QTGMC
ノーマル(SE't氏版MT含む)向けのはごちゃごちゃしすぎ >>195
同意(2.6MTSEt版32bit)
ただQTGMCを最新にするとプレビュー(AvsPmod)では動きが変になって、エンコすると問題ないという現象はあった
気持ち悪いからQTGMCは古いものに戻したまま(3.32) >>197
それ俺だけじゃなかったんだ
QTGMCのバージョンがs付きになってから安定しない&結果がおかしくて3.32まで戻してるわ
関連プラグイン周りを最新に更新してないんでそれが原因かなとは思ってるけど SEtMT版はSetMTModeの設定に癖があるけど安定しているよ
さらにThreadRequestとかと組み合わせてるけど特に問題ない AviSynth2.6(x86)とAviSynth+MT(x64)は2つ同居できますか?
+MTx64を整えるのに時間がかかると思うのでその間は2.6x86無印版を使いたいのですが・・・
オンボロPCでどれくらい速くなるかは微妙ですがご教示いただきたく・・・
(2.6x86無印版は2.6MTSEtです) avisynth.dllを置き換えるだけだからたぶん可能 ttp://avisynth.nl/index.php/AviSynth%2B_x64_plugins
ここにあるBassAudioの64bit版まともに動く人いる?
ライブラリの方は公式から64bit版とってきたけど
ソースからビルドしようとしてみたけどソリューションファイルもないしどうやればいいのやら… >>201
そのavisynth.dllを置く場所が2.6MT(x86)と+MT(x64)で同じではないでしょうか?
いくつかブログを見た限りではですが
両方ともc:\windows\system32だからこのケースは出来ないように見えるのですが・・・
通常の32bit版(x86)→c:\windows\system32
+32bit版(x86)→c:\windows\syswow64
+64bit版(x64)→c:\windows\system32
何故こうなのかはわかりませんが・・・(間違ってたらすみません) vista以降は、32bitのdllは強制的にsyswow64に入れられる仕様
だから通常版をインストールしたらsyswow64内に作られてるはず 勘違いしてたようです
c:\windows\syswow64に作られていました、すみませんでした
これで先に進めます、ありがとうございました aviutlのプラグイン引っ張ってくる方法しか知らない メモリめっちゃ食うんだが
source="0000.ts"
video=LWLibavVideoSource(source, cache=true, stream_index=-1, threads=0, dr=true, repeat=true)#.AssumeFPS(30000,1001)
audio=LWLibavAudioSource(source,av_sync=true,layout="stereo")
audiodub(video,audio)
AssumeTFF()
crop(0,0,0,-10)
a=Trim(0,211).QTGMC() #インタレ部分BOB化
b=Trim(212,850).changefps(60000,1001) #プログレ部分60p化
c=Trim(851,2164).QTGMC() #インタレ部分BOB化
a++b++c
return last
QTGMCを2回呼んでるせいだろうけどうまい書き方ありますか? TrimしてからQTGMCを呼ばずに
QTGMCを呼んだ後にTrimするとか >>209
アドバイスありがとう。どっちにしろQTGMCを一回にするしかないってことですよね。 >>210
Its使ってみたら
うちでは問題ないよ txt60mcHybridだけど、うちもItsを使うなら大丈夫だけど
Trim文を連結する使い方をすると落ちる
Itsだと大丈夫な理由がわからない Chikuzen氏のブログに「本体が使用するメモリとは別に、プラグインが使用するメモリもある」とか書いてあった記憶があるが
Itsがバッファみたいな役割を果たして落ちにくいとか?プログラム無知なんで適当な意見だけど NNEDI3_v0_9_4_47.7zを見て疑問というか稼動してくれないので質問なのですが
家のPCはi7-870のオンボロで四苦八苦しているのですが、win7x64で一応SEE4.2なはずなのですが
AviSynthは現在2.6.1Alpha1にしたのでx86なはずですがx86の「Release_Intel_W7_Core2_SSE4.2」からnnedi3.dllを入れてもAvsPmodで弾かれます
何か間違っているでしょうか?needi3v0.9.4.zip(2011.6.10)の稼動で止まっています
その影響だと思いますがQTGMCも3.33(2015.9.10)でそれ以降は動きますがテロップの文字がにじみます
多分2件同じ原因だと思うのですが少しでも早く稼動させたいのでご教示お願いします
長文すみません<(_ _)>2.6MTでも症状は同じでした >>213
Microsoft Visual C++ 2015 再頒布可能パッケージ Update 3 をインストールしてないんじゃ
x86フォルダのReadMeにその旨が書いてある chikuzen氏がtwitterで本家(とその派生?)ではSSE4以上使えないって呟いてた気がする
だからSSE3以下(もしくはXPバージョン)のを試してみては? >>218
うちではv0.9.4.31あたりでCore2_SSE4.2版が動かなくなったけど原因それだったよ READMEで
https://software.intel.com/en-us/articles/intelr-composer-redistributable-libraries-by-version
へ行って多分
Parallel Studio XE 2017 (all Editions)
をクリックするまではいいとして次のページで行き詰りました
Links to the redistributable packagesのすぐ下の4つ全てダウンして解凍すると
@ww_icl_redist_ia32_2017.0.109.msi
Aww_icl_redist_intel64_2017.0.109.msi
2つ入っていたので@を実行して終了まで行きましたが変化無し
UPDATE1〜3も見てみたら似たファイルがあったので同じように実行するも変化無し・・・
何が悪いやら・・・orz avisynth経由で動画をエンコーダに渡す際、併せてsrt字幕を焼き付けたいのですが、どのようなプラグインを使用し、どのようなスクリプトを書けばいいのでしょうか?
希望としては、字幕フォント、サイズ、表示位置の指定可能な方法がベストです。 ■ このスレッドは過去ログ倉庫に格納されています