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/ avisynth.dll(2.6.0.3?)+avs2pipemodがある環境で
dllを2.6.1.0のに差し替えてみたら、x264のfpsが半減してしまって
色々フィルタを切り分けてたら、FFT3dGPUを使うと凄く遅くGPU負荷も高くなることに気づいた。
いったい、どうなってるんだろ >>21
SetMemoryMax()で大き目の数値を使ってみるとか
>>22
Runtime functionを使うのが一般的かと。単に表示するだけなら
scriptclip("Subtitle(String(AverageLuma))")
数値として比較して処理を変えるならframeevaluate()やconditionalfilter()を組み合わせて >>23
256MBだったので大きめに指定してみたらほぼ同じ速度になりました。
メモリ消費量の違いが大きすぎる気もしますが、とりあえず前進したような気がします
ありがとうございました。 質問です
30fps状態のファイルを29.97fpsにしたいのでChangeFPSでやってみたところ、フレーム落ちがあるのが
その後AutoVfrで間引いて見てもカクつきが目立ちます
30fpsのファイルを29.97fpsにするのにもっといい方法はありませんか?
30fpsのままエンコすると29.97fpsとは違ったカクつきがあるのでやはり間引くしかないと思っているのですが
そのために一度29.97fpsに変換したいのです、ご教示お願いします ってワッチョイ同じになるの?違う人物なのに、これじゃ一人芝居に見えちまうよ
単独人物とは限らないのか ワッチョイはたまに被るよ
DTV板は導入から日が浅いので知らない人もいるかもだが avisynth.infoが死んでる……と思ったら
PukiWikiが古いままでphp7になったからか TOP関係だけね
他の何か押さえてればそこからいけるよ NNEDI3速くなったなぁ
QTGMCもいつの間にか実用的な速さになったし AutoCropのsampleって
連続したフレームからのサンプルですか?
それとも間隔を開けたフレームですか?
10000フレームある動画だとして
sampleを5にした場合、1~5フレームを見るのか、1,2000,4000,6000,8000フレームをみるとか分散しますか?
分かる人いたら教えてください https://ameblo.jp/tenshoku-gokui/entry-12265148335.html
mpeg2のエンコード記事だけと、adobeやらの高価なものより、フリーのavisynthとhcenc使ったものの方が高品質な結果が得られた…とのこと。
エンコードとしてのhcencもさることながら、avisynthのリサイズは秀逸だな。 テストしてみればいい気がしたので冷静になってテストしてみたけど
連続してみてるわけじゃないっぽいですね リサイズおよびアスペクト比に関する質問です。
HD(1920x1080)をSD(740x480)にリサイズする場合、DVDによるテレビ視聴前提だと、
40:33で引き伸ばされることから、
○○Resize(704,480)
AddBorders(8,0,8,0)
となるのは理解出来ました。
しかし、海外フォーラムのスクリプトサンプル等を見ていると、リサイズの際、
Spline36Resize(704,480,0,1,1920,1078)
のように、HD動画の上下を1pxずつトリミングし、1920x1078をリサイズする…というのをしばしば見かけます。
上下1pxずつクロップする意味をどなたかご教示いただけませんでしょうか。 >>37
BFF⇒TFF か TFF⇒BFF へ、フィールドオーダーを逆転させる為の処置。
扱ってるソース内容にそういった要因が関わってないなら不要。
(そのサンプルスクリプトがインタレ対応してるのかの方が気になるけど、質問の範疇ではないから置いとく) >>38
フィールドオーダーを逆転させるための処理だったんですね!
ありがとうございます。助かりました。 ソースはプログレッシブのため、不要な処理だというのがわりました。 Avisynth+を使う場合、インストーラで入れた上で最新版(r2489)のDLLに置き換えるという
手順を踏む必要があると思うのですが、
http://avisynth.nl/index.php/Avisynthplus/Downloads
を見たところ、Groucho2004氏のインストーラ(r2294,r2172とも)が消えてしまっているようです。
それより前のインストーラはr1825になってしまうようなんですが、これを使うしかないのでしょうか? 探したらこんなの見つけた
Avisynth Universal Installer [2017-05-29] - Doom9's Forum
https://forum.doom9.org/showthread.php?t=172124
Groucho2004氏だし大丈夫だと思う
試してないけど
これを出したからインストーラを消したんじゃないかな >>43のリンク先のDropboxに当該ファイルがあった aviutlで3840x2160に伸張、UtVideoにてavi出力。
Avisynthにて59.94fps化して出力を行いたいのですが、殆ど失敗します。
数秒はエンコ出来ますが、直ぐに真っ暗になります。
どこか確認事項があればご教示下さい。 >>43
なるほど。そういうことでしたか。ありがとうございます。今見たらr2504に更新されてました。
こんなスレッドもありました。AVSMeterとかもまとめて移したみたいですね。
Groucho's Avisynth Stuff - Doom9's Forum
https://forum.doom9.org/showthread.php?t=173259 質問なのですがfadein/fadeoutは全体の最初/最後でしか出来まない、で合っていますか?
途中(シーンチェンジ等)でどう行うのでしょうか?
ご教示ください 必要なシーンを全てTrimで切り出してから適用して結合し直したり
指定した場所に掛けられるように自分で関数書いたり
指定範囲だけフィルターを掛けられるような関数を使ってみたり
色々あるな >>50
遅れました、返答ありがとうございます
フレームが増えてしまいましたが他は問題なくできました >>51
そもそもFadeIn/Outがそれぞれ1フレームかさ増しされなかったか?
FadeIn0/Out0を使えばいいと思うよ >>52
FadeIn0/Out0でフレーム加算せず出来ました、ありがとうございます
(実写の短いのでテストしました) MVToolsについて質問なのですが、
https://www.youtube.com/watch?v=Bz494Y9uqDI
の動画の様にモーションブラーを付けたいのですがここまで綺麗にかかりません
どのパラメータを弄れば良いですか? 自分のは
super=MSuper(hpad=0,vpad=0,rfilter=0)
backward_vectors=MAnalyse(super,isb=true,search=3,dct=1)
forward_vectors=MAnalyse(super,search=3,dct=1)
MFlowBlur(super,backward_vectors,forward_vectors,thSCD1=2000)
です その設定がどこから持ってきたかは知らないけど
マスクに問題があるかブラーの強度に問題があるかのどちらか
後者ならMFlowBlur側を弄ってみればいいし前者ならMSuperとMAnalyseを弄ってみればいいと思う MFlowBlurの引数のblur=の値は大きくしても>>55の動画の様にはならずにモニョモニョ(?)した感じにブラーがかかるだけでした
AEで言うシャッター角度?のような引数は無いのでしょうか blurがシャッター角度と同様の意味の引数だと思う。 QTGMCについて質問です。
プリセット等は全部デフォルトの QTGMC() のみで使用すると、ゴースト(ていうのかな?)みたいなのがよく出るんですけど、
これを消すにはどのパラメーターをいじればいいのでしょう
白い横線
ーーーーーーーーーーー
これが
ーー
ーーーーーーーーーーー
ーー
ー
こんな感じみたいなのになるやつです。 # アニメーション用。anime+の動くロゴ&「テレビは離れてみて〜」のテロップをマスキング
function TDecimate24P7A2(clip clip){
video=clip
Interp=video.eedi3(field=-1)
mask_clip=combmask(video,cthresh=10,mthresh=30)
clip_0=video.tdeint(mode=0, tryweave=true,full=false,edeint=Interp)
clip_deblock=clip_0.SmoothD2c(quant=17, num_shift=3, Matrix=12, Qtype=2).SmoothD2(quant=5, num_shift=4,zw=2, Matrix=12, Qtype=3)
filt_clip=MaskedMerge(clip_0, clip_deblock, mask_clip,MI=60)
clip1=video.yadifmod2(mode=0, edeint=interp)
clip2=clip1.mt_lut("0", chroma="128", offx=120, offy=24, w=420, h=230).mt_lut("0", chroma="128", offx=260, offy=920, w=1320, h=80).TDecimate(mode=1,clip2=filt_clip)
return clip2
}
なんかもしかしてテレシネ縞でマスク作ってNRすれば狙い撃ちでNRできるんじゃね?と思い立って作ったら
かなりいい感じに動いたんだけど、スクリプト的になんか不味いところありますか? あと、おすすめNRとかあれば試してみたいので
紹介よろしくお願いします TS初心者勉強会から誘導されて来ました
テレシネされたTSを、手動でキネコするというのはどのようにやるのでしょうか?
いつもAviUtlの自動フィールドシフトで行っているので疑問に思った次第です AviSynthでやるならDoubleWeave()とSelectEvery()やPulldown()を組み合わせて行う
周期を見るためにコーミングマスクフィルタを使ってる人もいると思うよ
多分聞くより調べたほうが早いと思う Avisynthスレに行く前にググれと言っておいたのに全く調べずに来た時点で相手にする価値無し。 AvisynthのスクリプトをUnicodeで書く方法無いかな?
できればUTF-8がいい >>64
手動=AvisynthのDoubleWeave()とSelectEvery()のことかと思って誘導したけど、そうとも限らないのね
早い話が1フレーム内の奇数ラインと偶数ラインを組み合わせて
そのなかから奇麗になるパターンを探すこと
奇数uラインと偶数ラインを組み合わせるだけだから画質の劣化はほぼなし
afsはそんなの手動でやってらんねーってことで色々な仕組みを導入して自動で動くようにしたようなもの
avisynthのtivtc24p2関数は普通にインタレ解除して動きのない2枚のうち一枚を捨てる感じ
ちなみにキネコよりはテレシネ解除のほうがメジャー(ってかキネコなんて誰も使わない) >>62
NRまでするほど画質に拘るなら手動間引き後にNRした方がいいと思う
>>68
tivtc24p2も基本はフィールドマッチング、
それでもコーミングが検出されたときだけインタレ解除だよ >>69
平たーく特徴を説明したほうが違いが分かっていいと思ったので・・
(上の関数について)
いうほど画質にこだわってる訳ではないんですが
たまたま作ったものが想像以上の効果だったので、どんな感じかと意見を聞こうと思いました >>69
> tivtc24p2も基本はフィールドマッチング、
> それでもコーミングが検出されたときだけインタレ解除だよ
これはTIVTC内のTFMの機能では
テレシネ解除するには間引かないと すいません
TDeintを使うスクリプトを触るのが久しぶりで、TFM使わずに解除するときはfullをfalseにしたらダメなの忘れてたので軌道修正中です
そして今はこんな感じになってます
(一応、誰が見ているか分からないので書いておきます)
function TDecimate24P7A2(clip clip){
video=clip
Interp=video.eedi3(field=-1)
mask_clip=combmask(video,cthresh=10,mthresh=10)
clip_0=video.tdeint(mode=0,tryweave=true,aptype=2,ap=20, expand=10)
clip_deblock=video.tdeint(mode=0,tryweave=true,aptype=2,ap=20, expand=10,edeint=Interp).SmoothD2c(quant=17, num_shift=3, Matrix=12, Qtype=2).deblock(quant=16)
filt_clip=MaskedMerge(clip_0, clip_deblock, mask_clip,MI=60)
clip1=video.yadifmod2(mode=0)
clip2=clip1.Framecache(9).mt_lut("0", chroma="128", offx=120, offy=24, w=420, h=230).mt_lut("0", chroma="128", offx=260, offy=920, w=1320, h=80).TDecimate(mode=1,clip2=filt_clip)
return clip2
} 今まで(私の中で)対処法なしだった1ラインごとのコーミングのようなディテールが保存されるようになってた
ずっと昔にこれで質問したら、「○○でマスク作って〜」と言われたのを思い出して数年越しに言われてた意味が分かった
http://imgur.com/a/OSPfI
72の関数は最終的に
video=clip の後ろにFramecache(9)を移動して
smoothD2cの前にVinverseを入れたので落ち着きそうです
(添付の画像はVinverse導入前のもの) どなたかお詳しい方、ご教示ください。
Dither_resize16nr〜でリサイズする際、
色味・コントラストは、従来通り「ColorYUV(gain_y=6〜」をスクリプトに追記すれば動作しますが、
シャープにしたい場合、「UnsharpMask」等では動作してくれません。
自分なりに調べた結果、Sharpen(0.8)であれば問題なく動いたのですが、まったく効果が見られません。
Dither_resize16nr〜と組み合わせて動作するシャープ化フィルターと、
スクリプト記述をご教示いただけると助かります。 もう1つ質問というか、疑問です。
DVD用に動画を704,480にする場合、
横の足らず((720-704)/2=8px)のボーダーを左右に付けないといけないのでしょうか。
単純に704,480のままDVDを作成すれば、再生時にプレイヤー側で勝手に横サイズを引き延ばしてはくれないのでしょうか。 >>74
・16bit対応してないフィルタは8bitクリップの状態で使う。16bitクリップに対して使っても意味がない。
・16bitクリップでシャープ化したいなら16bitに対応したフィルタを使う(何があるのかはよく知らない)
というだけのことだと思うので、Avisynthの16bit hackについて理解しておいたほうがよさそう。
High bit-depth Support with Avisynth - Avisynth wiki
http://avisynth.nl/index.php/High_bit-depth_Support_with_Avisynth
Stack16 - Avisynth wiki
http://avisynth.nl/index.php/Stack16
ただ、そもそも縮小に本当にDither_resize16nrを使う必要があるのか確認したほうがよさそうでもある。
と書いてはみたが、うまくいかないというスクリプトを書いてアドバイスを求めてみてもいいかもね。 8bitに戻してからシャープ掛けるんじゃだめなの?
どのみち最終的に8bitに戻すだろうし
個人的にはDither_resize16使うならシャープなんていらないと思うけど >>74
動画ソフトだと16bit化の意味を説明している所があまりないのでPhotoShopとかの画像用ソフトで16bitと8bitの違いを見たほうがいいよ
リサイズを高精度にする意味もあるが色調変更を8bitでやるとすぐ階調割れするのでこちらの方こそ16bit(バンディング処理→Dither_lut16とか)でやるべき
>>77のリンクを読めばわかると思うがColorYUVとかのDither_toolsに対応してないフィルタは効果が見えないor変化していてもデタラメな結果になってるよ
使えるシャープフィルタはwikiにのってるのしか知らないがこれもシャープ化は8bitでやって合成してるなあ
http://avisynth.nl/index.php/Dither_tools#Filtering_in_16_bits_with_basic_sharpening LSMASHSource_LWLibavVideoSource("○○○.○○")
ChangeFPS(30000,1001)
ColorMatrix(mode="Rec.709->Rec.601",Clamp=0)
ColorYUV(gain_y=6,cont_y=10,cont_u=4,cont_v=6) # 輝度=Y,輝度と青の差=U,輝度と赤の差=V
Sharpen(0.8) #あまり・・・というか効果がわからない
Dither_convert_8_to_16()#色深度を8ビットから16ビットに展開
Dither_resize16nr(704,480,kernel="Lanczos",taps=6,noring=true)#色深度16ビットリサイズ&リンギング抑制/横サイズ,縦サイズ,左クロップ,上クロップ,右クロップ,下クロップ
f3kdb(range=15,Y=56,Cb=40,Cr=40,grainY=0,grainC=0,keep_tv_range=true,input_mode=1,input_depth=16,output_mode=1,output_depth=16,random_algo_ref=2,random_algo_grain=2)#色深度16ビット バンディング処理
DitherPost(mode=6)#色深度を16ビットから8ビットに戻す&バンディング処理2
AddBorders(8,0,8,0) # 左,上,右,下
スクリプトです。
UnsharpMaskとかを使いたいところですが、使うとエラーになります。 順番がおかしい フィルタ1個づつにして動作と効果を確認しましょうよ
あえていうならSharpenの後にDither_resize16nr( 〜,taps=6,noring=true)なんてやってるからシャープ効果が消えてるのを勘違いしてるんじゃない? >>81
sharpenはやはりaddbordersのすぐ前がいいのでしようか?
あと、他に位置がおかしいフィルタ等があれば、ご指摘いただければと思います。 いいか悪いかは個人の好みとソース次第なので実際にやってみて好きな方を選ぶ
自分なら階調が減った映像を16bit化しても精度が落ちるから色調変更はDitherPostの後にするか16bitで行う
Sharpフィルタを使うくらいならDither_resize16nrではなくDither_resize16でnoringもオフにする AutoVFRのfastモードを利用せずに検索させたら
↓のように5フレームだけ60fとされるのだけど、理由に見当つく人いますか?
000000-006449 [24] (5,2,4)
006450-006504 [24] (5,1,3)
006505-006509 [60] f60
006510-006604 [24] (5,0,2)
006605-006699 [24] (5,0,3)
006700-006799 [24] (5,1,4)
006800-006804 [60] f60
006805-006894 [24] (5,0,2)
006895-006899 [24] (5,1,3)
006900-006904 [60] f60
・
・
・
216455-216459 [60] f60
216460-216469 [24] (5,0,2)
mode fps_adjust = on
216470-333850 [24] (5,0,3)
end
(14行から149行まで上のように分割されてる)
ソースは古いフィルム・ソースなので周期が変わってるのだろうとは思ってるんですが
60fが入るのはなぜなんでしょうか >>84
本当に周期が変わっているところなら
うまく逆テレシネ出来ないから60fになるだけだと思うけど 実は出来上がったものの再生確認をしたら映像・音声なしのごみファイルができてました
なので、どこかがおかしかったようです
実写でやるときはMIとか調整したほうがいいのかな・・ >>85
レスありがとうございます
あしたavsなどの確認をしてみます Plusだと今までのプラグイン動かない?
SVP入れたらエラーがでて困ってます 使ってるプラグインとAvisynth+のバージョンの組み合わせを1つずつ試して、自分なりのStableを模索するしかない
各プラグインがAvisynth+に正式対応しているか、対応していても特定のバージョン以降しか対応してないとか色々あるし >>89
多分SVP4を入れたらAvisynth+がインストールされてしまったということなんだと思うけど、
SVP自体は多分まだAvisynthでも動くはずだから、Avisynth+をアンインストールして
Avisynthをインストールするというのも1つの手。(個人的にはAvisynth+への移行を推奨)
ただ、後から「やっぱりSVP4が入れてくれるAvisynth+がいい」と思って
SVP4の「その他のプログラムや機能」でAvisynth+を入れなおそうと思っても、
なんかうまくシステムにインストールしてくれない。(既にインストールされていると判断されてしまう)
この場合は自分でAvisynth+をインストールするか、
SVP4を一度アンインストールして最初から入れなおす必要があると思う。 >>90
LoadPluginExみたいに非plusのプラグインを使えるようにするプラグインはないんですね・・
>>91
SVP使用時にAvisynthのバージョンが違いますみたいなポップアップがでるようになったので
SVP再インストールしたら今までのAvisynthが完全に使えないようになった状態です
ポップアップが出ただけで正常にSVPが使えてるかは確認してませんでした
また今までのAvisynth入れてみてSVPが使えるか確認してみてダメならプラグイン一つ一つ確認してplusに移行するのを試みるしかないみたいですね Avs2pipemod使ってqsvエンコしてるんだけどmtにしてからたまに落ちるようになった。
解決法ってある? >>93
リサイズアルゴリズムは好きに選ぼうぜ
Lanczos系は目を凝らすと輪郭周辺にリンギング乗ってるけどSpline系より全体的にくっきりシャープに仕上がるから俺は好きだよ
>>95
その手の話はネット上のブログ含めて散見されるけど再現するスクリプト携えてChikuzen氏に報告してみるしか無いと思うよ
当然ながらavs2pipemodだけで発生する問題に限るけど・・・ お返事ありがとうございます。
イベントビューアーにエラーログが出ていたので一応載せておきます。
何か詳しいことわかる方いたら教えて頂きたいです。
Avisynthスクリプトは自分で書いたものではないのであまり詳しくないのですが、調べながらSTのものをMT化しました。
MTmodeは2で4スレッドに設定してあります。
関係あるかわかりませんが、
頻繁に落ちるスクリプトにはTdeint_()の記述が有りました。 続き
障害が発生しているアプリケーション名: avs2pipemod.exe、バージョン: 1.1.1.0、タイム スタンプ: 0x57b08eec
障害が発生しているモジュール名: KERNELBASE.dll、バージョン: 10.0.15063.296、タイム スタンプ: 0x28e9cf15
例外コード: 0xc0000005
障害オフセット: 0x000eb802
障害が発生しているプロセス ID: 0xbe18
障害が発生しているアプリケーションの開始時刻: 0x01d306208d5fa2ec
障害が発生しているアプリケーション パス: C:\Program Files (x86)\AutoConvert改\bin\avs2pipemod-1.1.1\avs2pipemod.exe
障害が発生しているモジュール パス: C:\WINDOWS\System32\KERNELBASE.dll
レポート ID: 491070b0-2e41-4300-8518-3edd84751ca8
障害が発生しているパッケージの完全な名前:
障害が発生しているパッケージに関連するアプリケーションID: 質問するなら
・PC環境
・使ってるAvisynthまたはAvisynth+のバージョン
・使ってるプラグインのバージョン
・avsの内容
・実行したコマンドの内容
などの具体的な情報を出さないと話にならないし、
「avs2pipemod 落ちる」でググったら出てくる対処法は試したんだろうかとは思う。 ■ このスレッドは過去ログ倉庫に格納されています