X



Avisynth 初心者質問スレ Part9 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@編集中 (バッミングク MMfe-I3cq)
垢版 |
2017/03/10(金) 22:36:24.20ID:YdwoUOlPM
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/
0619名無しさん@編集中 (ワッチョイ 57e8-wZW4)
垢版 |
2018/10/25(木) 02:29:08.57ID:2ed29L1A0
いろいろアドバイス頂いて
https://imgur.com/a/PHjSUn8
上がオリジナル
下が以下のスクリプトを書いた結果です。
crop( 180 ,0 , -180 ,-0)
ReduceBy2()
LGhost(1, 10, 30,1, 40, 50)
ReduceBy2()
NoiseGenerator( Gaussian = true ,Amount = 40 ,LumaOnly = false )
blackmanresize(720,540)
LoadVirtualDubPlugin("C:\vdub\msu_oldcinema_20.vdf","MSU_Oldcinema",0)
ConvertToRGB32()
MSU_Oldcinema(247, 223, 181, 0, 1, 10, 10, 15, 70, 3, 20, 5, 50, 150, 0, 3, 100)
ConvertToYV12()

ソースはフリーオ買って最初に取った10年前の地デジソースです。
画角が4:3にぴったりだったんで使ってみました。
ゴーストが出てるとアナログって感じがしますね
0627名無しさん@編集中 (ワッチョイ 5bb8-Ylt7)
垢版 |
2018/11/01(木) 09:40:32.56ID:ihzd8JyB0
質問です
AssumeTFF()、AssumeBFF()は必ずいけなくてはいけないのでしょうか?(今までは入れていなかった)
周期は合わせているのに縞が出まくります
出たのはBS11のエロマンガ先生 #04、#05、ゴブリンスレイヤー #04です(それまでは出ていない)
先週のソードアート・オンライン アリシゼーション #04は問題なしです
AviSynth+r1576(x86)、L-SMASH Works r1474(修正版?)、DGIndexで確認しましたが変化無しです
ご教示お願いします
0630名無しさん@編集中 (スプッッ Sd5a-Sati)
垢版 |
2018/11/01(木) 11:57:57.97ID:g7smrF5Ed
付けなくていいよRFFで途中で変わったりするとトラブルの元になるだけ
dgindexだと作られるファイルの中に書いてあるからRFFでも無指定でなんの問題も無いし
0631名無しさん@編集中 (ワッチョイ 5af2-jtZq)
垢版 |
2018/11/01(木) 12:44:51.08ID:d3hy0mQV0
function getParity2(clip c,int "f"){
c
f=default(f,0)
gp=getParity()?true:false
(f==2)?((gp)? AssumeTFF().SeparateFields() : AssumeBFF().SeparateFields())
\:(f==3)?((gp)? AssumeTFF().ComplementParity().SeparateFields() : AssumeBFF().ComplementParity().SeparateFields())
\:((gp)?AssumeTFF() : AssumeBFF())
return last
}

テキトウに。
0634名無しさん@編集中 (ワッチョイ 5bb8-Ylt7)
垢版 |
2018/11/01(木) 16:25:29.39ID:ihzd8JyB0
>>633
TSFilePath1=InputPath + "ゴブリンスレイヤー04.ts"
V1=LWLibavVideoSource(TSFilePath1, cache=true, stream_index=-1, repeat=true, threads=0).AssumeFPS(30000,1001)
A1=LWLibavAudioSource(TSFilePath1, stream_index=1, av_sync=true, layout="stereo")
AudioDub(V1,A1)
#AssumeTFF()
T1=43
T2=5196
T3=6996
T4=25186
T5=26986
T6=46345
T7=48145
T8=48593
Trim(T1,T2)++Trim(T3,T4)++Trim(T5,T6)++Trim(T7,T8)
Its(def=InputPath + "ゴブリンスレイヤー04.def", fps=-1, chapter=InputPath + "chapter.txt", output=InputPath + "timecode_v2.txt")
0638名無しさん@編集中 (ワッチョイ daa2-zV7r)
垢版 |
2018/11/01(木) 18:51:24.40ID:bu7JJprC0
なんだかんだでAssumeTFF()関係なしの周期変化に対応できてないだけじゃねーの?

Autovfrなどの周期検出設定煮詰めないでそのまま使えばそりゃ縞になるだろう
まあ煮詰めてもだめなときはだめだろうけどさ
参考程度に使って目視確認でおかしかったら自力で調整しないと

あとフレームレートスレとかも見ていたほうがいいとおもうぞ
0641名無しさん@編集中 (ワッチョイ 27c3-MyS3)
垢版 |
2018/11/01(木) 22:07:28.37ID:+tDtfDLL0
>>627
L-SMASH WorksがBFFを返すのって↓これじゃない?

https://pop.4-bit.jp/?p=8519#comment-896
> デフォルトのffmpegではMPEG-2 Videoのフィールド適応ピクチャーのフィールドオーダーが強制的にBFFとして扱われてしまいます。

RFFが使われてなければTFFで問題ないと思うからAssumeTFF()はいつも付けておけばいいと思う

RFFがあると本当にBFFになっていることがあるから、LWLibavVideoSourceにdominance=1を追加して、
強制的にTFFを返すようにしておけばOK
0643名無しさん@編集中 (ワッチョイ 27c3-MyS3)
垢版 |
2018/11/02(金) 03:22:53.04ID:U4fm4/4N0
あーそっか
このバグでBFFって認識されたフレームでdominance=1指定するとフィールドオーダー狂うから指定しないほうが良いか
本当はパッチ当てたLSWでdominance=1 + AssumeTFF()が一番良いんだろうけど
0647名無しさん@編集中 (ワッチョイ 5bb8-Ylt7)
垢版 |
2018/11/07(水) 17:22:14.77ID:TQYFppD+0
avs作る前にdropのチェックは先に行うと思うけど
dropしてたらその時考える、一例だけど今年の台風(何号かは忘れたけど土曜深夜〜日曜朝だった)でdropして複数番組を諦めた
dropっていうレベルじゃなかったけどね
0649名無しさん@編集中 (ワッチョイ 4e9b-unWt)
垢版 |
2018/11/07(水) 23:15:00.65ID:w9OVE8r+0
Dropの音ズレはFAAD改造版0.7のTS読みで
-Fオプションの「〜のエラーフレームを無音」を指定テンコ盛りにすると結構頑張ってくれるw
※完璧とは言っていない
0651名無しさん@編集中 (ワッチョイ 932d-iWyn)
垢版 |
2018/11/08(木) 11:50:21.57ID:iNFAL0uv0
>>648
昔2senに上がってた改造版DGIndexが吐き出すd2v+aacを使って
DGDecodeさせて、DelayTimeを正しく設定できていれば
本来あるはずの音ズレは別の世界線に逃げていく。
ただしTS以外の音ズレは対処できないのが残念。

最初からVirtualDubでAvs読み込んでエンコすれば音ズレとか気にしなくていいんだけどな
0655名無しさん@編集中 (ワッチョイ c3b8-ZinP)
垢版 |
2018/11/23(金) 22:00:51.69ID:x2dr1aMy0
AviSynthplusのPrefetch(n)っていうのはMTの開始
例:SetFilterMTMode("DEFAULT_MT_MODE", MT_SERIALIZED)
とセットでいいのでしょうか?(SetFilterMTModeがないとエラー?)
初歩的な質問ですみません
0656名無しさん@編集中 (ワッチョイ f3c3-zhOP)
垢版 |
2018/11/23(金) 22:17:23.10ID:snw3GiTP0
Prefetchはそれより上をマルチスレッド化する関数
DEFAULT_MT_MODE設定しなくてもデフォでMT_MULTI_INSTANCEになってるから、SetFilterMTModeなくても動く
SetFilterMTModeは文字通りフィルタ個別やデフォルトのMTモード設定するための関数
0658名無しさん@編集中 (ワッチョイWW b3e9-j2f/)
垢版 |
2018/11/24(土) 19:23:58.21ID:qCQqCUIb0
指定した色のピクセル数を数える方法はないでしょうか?
Overlay(v1,v2,mode="difference")で差分が一定以上あるところのみ自動で抜き出したいと考えています
0662名無しさん@編集中 (ワッチョイ 4ee8-NpJ6)
垢版 |
2018/12/01(土) 22:50:24.30ID:UWfXLPwl0
Avisynth.dllからして
Neo+AVXxで最適化ビルドしたものにどうせ差し替えるから
今のインストーラーで十分だし・・・
SSE2最適化のNeoとか同梱されててもいらんなぁ
0667名無しさん@編集中 (ワッチョイWW 4ee8-a1R0)
垢版 |
2018/12/03(月) 07:50:52.52ID:cRkbAo3C0
x264afsと言うのが、avisynth用のafsと聞いたのですが
使い方がよくわかりません
afsのパラメータ設定ができたり、
タイムコードを吐いてくれるのでしょうか?
0668名無しさん@編集中 (ワッチョイ daa2-o5Pc)
垢版 |
2018/12/03(月) 18:17:30.98ID:Y4tIYzuS0
AVIUTLのafsって逆テレシネでしか使ってなかったけど
Avisynthに移行してからいくつもある自動逆テレシネスクリプトから
好みの奴使うようになってからぜんぜん気にならなくなったな

アナログ時代ならともかく今のデジタル物ならいらない気がするがどうなんだろう
0672名無しさん@編集中 (ワッチョイ 2b80-Po2/)
垢版 |
2018/12/11(火) 16:35:23.39ID:U2t2JHmG0
itsを使ってvfrエンコをしたいのですが

・メイン処理部分

its文
共通処理

・24fps処理の関数部分

24fps処理

・60fps処理の関数部分

60fps処理



という流れのavsを書いてます。
今回共通処理部分に24fps処理を行った場合、60fps処理を行った場合
それぞれに違う処理を行おうと変数にそれぞれ違う値をセットして
if文で分岐させようとしているのですが上手く動作せずに悩んでいます。
こんな感じで

・メイン処理部分
global syori = 0

its文

共通処理
if (syori == 1) {
処理1
} else {
処理2
}

・24fps処理の関数部分

24fps処理
syori = 1
return last

・60fps処理の関数部分

60fps処理
syori = 2
return last

ここでdefで指定した範囲の60fps処理部分で変数syoriに2が入らずに処理1に分岐してしまってます。


どなたかどこがおかしいか指摘頂けないでしょうか

avisynth+2728
を使っています。
0674名無しさん@編集中 (ワッチョイ 91a5-n9Ol)
垢版 |
2018/12/11(火) 17:30:36.01ID:S99DHAEQ0
itsの後に共通処理関数を走らせようとしてるけどうまくいかないってことでいいんだよね?

global変数はフレームごとに割り当てられるんじゃなくて全フレーム共用だから
itsの中身が 24→60→24 だったらsyoriは全フレーム1になるし、24→60なら 全フレーム2になると思う
なので分岐されない

itsの中で共通処理関数もやるようにすれば想定の動作になると思われる
0680名無しさん@編集中 (ワッチョイ 8bec-UKyl)
垢版 |
2018/12/14(金) 01:40:16.92ID:KoiiPO+J0
他に良い方法ありそうな気もするけど、Avisynth+ならこんな感じ?

x=400
y=300
ConvertToPlanarRGB()
h=Height()
src=last
Crop(x-1, y-1, -Width()+x, -Height()+y)
PointResize(h,h)
ScriptClip(last, """
Subtitle("(" + String(AverageR()) + "," + String(AverageG()) + "," + String(AverageB()) + ")", align=5)
""")

AverageR()とかの結果をScriptClipの外で使う方法がわからんかった・・・。
0681名無しさん@編集中 (ワッチョイ f380-2dqZ)
垢版 |
2018/12/14(金) 02:48:24.77ID:xzEg6V3g0
色々とありがとうございました。
指定ピクセルの色を抽出したり条件によっては置き換えたりしたかったのです。

Averageとか調べてみます。

ありがとうございました。
0682名無しさん@編集中 (ワッチョイ 2380-2dqZ)
垢版 |
2018/12/19(水) 23:20:48.39ID:LxV2lxdK0
>指定ピクセルの色を抽出したり条件によっては置き換えたりしたかったのです。

いい方法ないですね
色の抽出くらいは普通に出来るものだと思ってたのですが
0684名無しさん@編集中 (ワッチョイ 7d9e-5YD5)
垢版 |
2018/12/20(木) 10:22:06.89ID:GOqqjfrV0
初心者になんて事を…自分には出来ません

どなたか指定ピクセルの色情報を取得するプラグイン作って頂けると嬉しいです
1ピクセルで十分ですし色の置き換えも出来たりx64だと更に嬉しいです
0687名無しさん@編集中 (ワッチョイ c5ec-q1e7)
垢版 |
2018/12/20(木) 16:18:42.68ID:EjsnwxMf0
AvisynthにこだわらなくていいならAviUtlの拡張編集でgetpixel()とputpixel()を使った
スクリプトを書けば簡単にできるけど。
それすら他力本願になるなら諦めた方がいいと思うけどね。
0689名無しさん@編集中 (ワッチョイ 939f-/mRV)
垢版 |
2019/01/17(木) 03:17:55.37ID:+m+aYOrR0
スーパーファミコンとかをキャプチャした時の縦方向のノイズを
Avisynthで消すにはどんなデノイズフィルタを使ったらいいんでしょうか?

avisynthで、FFT3DFilterの Some "best settings", slower processing 
fft3dfilter(sigma=1.5, bt=5, bw=32, bh=32, ow=16, oh=16, sharpen=0.4)
を使ってみましたが消えませんでした。

今までは、Aviutlのノイズ除去フィルタを使っていました。
そのまま:http://s.kota2.net/1547662492.png
Aviutlでデノイズ:http://s.kota2.net/1547662554.png
0690名無しさん@編集中 (ワッチョイ 5101-hbMC)
垢版 |
2019/01/18(金) 15:01:00.56ID:3a2gl/5A0
60iを30pに変換するとファイルサイズ(ビットレート)がかなり大きくなるんだけど、
そういうものなの?
30iを24pにしたものに比べて倍くらいになる。
0691名無しさん@編集中 (ワッチョイ 1316-fAiL)
垢版 |
2019/01/18(金) 20:00:58.83ID:sPapKjoK0
なんか設定間違ってるんじゃ?
30pじゃなく60pになってるとか

それはそうとふと思ったんだけど
amatsukazeのdeblockフィルタを
L-SMASH worksのほうに組み込むことはできないのかな?
たしかdeblockはCUDAに依存してないって話だったはずだし
手軽に使えたら嬉しいんだけど
0692名無しさん@編集中 (ワッチョイ 5101-hbMC)
垢版 |
2019/01/19(土) 09:08:57.21ID:R0YTcCWV0
>>691
確かに、ファイルサイズ的には60pになってそうなんだよ。
でも、出来たファイルのプロパティを見ても30p(29.97fps)なんだ。
それに、念の為、SelectOddでフレームを半分にしたら、
動画がカクカクになるんで、30pなのは間違いないと思う。

ちなみに
(1)ソースは29.97fpsで全フレームがインターレース
(2)全フレームにNNEDI3をかける
これで60i→30pにならないのかな?
0694名無しさん@編集中 (ワッチョイ 93f7-F2Ks)
垢版 |
2019/01/19(土) 12:29:53.07ID:v2Eczgrr0
俺もなんでAvsPmodで確認しないの?とかおもったけどAviutkあたりにでもavs投げてるんじゃね?

>692
パラメータをいじらないでデフォルトで使えば60i→30pになるはず。
まあ初心者スレだし、いじってはいないと思うけどパラメータンしだいで60pにもできるので
こういう質問はパラメータまで書き込まないと2度手間になるのでちゃんと書き込んだほうがいい

あと、縮む縮まないはソースとフィルタ、コーデック設定しだいとしかいえない。
0696名無しさん@編集中 (ワッチョイ 5101-hbMC)
垢版 |
2019/01/19(土) 19:44:44.24ID:R0YTcCWV0
>>692です。レスありがとう。
>>695のスクリプトで画面に「30000/1001」と表示された。
これは、30pになってるってことだよな?
NNEDI3はデフォルトのまま使ってる。
NNEDI3以外は、いつも30i→24pするときの設定と同じ。
もちろん、逆テレシネはかけてない。
やっぱ、ソースが全フレーム・インターレースだから、圧縮率が低いだけなのかな。
0698名無しさん@編集中 (ワッチョイ 5101-hbMC)
垢版 |
2019/01/19(土) 21:13:54.25ID:R0YTcCWV0
>60iと30iをどういう意味で使い分けてるのか気になる。

60iは全フレームがインターレースの30fps動画だと思ってる。
30iは24pをテレシネ変換したものだと思ってる。
0699名無しさん@編集中 (ワッチョイ 59b0-G1wx)
垢版 |
2019/01/19(土) 21:31:03.05ID:1qhNR4Gr0
そもそも何をエンコしようとしてるのか。
30pのものは何をエンコしようとしていて、24pの何とファイルサイズを比較しているのか。

fpsよりも映像の変化が激しいかどうかの方が圧縮率的には影響が大きいからね。
動きの小さいアニメ(24fps)と動きの激しい実写(30fps)を同じ設定でエンコしたら。
後者の容量は25%増じゃ済まない。かるく数倍になるよ。
0700名無しさん@編集中 (ワッチョイ 5101-hbMC)
垢版 |
2019/01/19(土) 22:07:51.57ID:R0YTcCWV0
60iと30iは、どちらも実写(この分け方が正しいのか分からないけど)。
動きの激しさは同じくらいか、むしろ60iソースの方が小さいと思う。
なのに、60iを30pにしたらビットレートが、30iを24pにした動画の倍ほどになった。
30i→24pの変換は今までに50本以上やってると思う。特に問題はない。
なので、24p動画のビットレートが正しいんだと思う。

意味不明なことを言ってたらゴメン。
0701名無しさん@編集中 (ワッチョイ 5101-hbMC)
垢版 |
2019/01/19(土) 22:42:48.14ID:R0YTcCWV0
質問をちょっと変える。
全フレームがインターレースの動画を
プログレッシブにするにはどうしたらいいの?
逆テレシネするみたいには綺麗にできない?
0702名無しさん@編集中 (ワッチョイ 1316-fAiL)
垢版 |
2019/01/19(土) 23:18:55.05ID:l82HtPbw0
>>700
正しいもくそもないよ
単純に1秒に表示するフレームが多くなれば
それだけ毎秒に必要なビットレートが増えるってだけ

>>701
Tdeintがお手軽
qtgmcのfasterはちょい重めだけどTdeintよりは綺麗
qtgmcのslowだととても綺麗に補完するけど重い
0704名無しさん@編集中 (ワッチョイ 5101-hbMC)
垢版 |
2019/01/20(日) 08:53:36.35ID:zpUdAA5U0
>>702
>単純に1秒に表示するフレームが多くなれば
>それだけ毎秒に必要なビットレートが増えるってだけ

24pと30pを比べたら、ビットレートが1.25倍になるのは分かる。
でも、倍以上になる理由が分からんのよ。
やっぱ元が全フレーム・インターレースだから圧縮率が低いってだけなんだろうか。

>>702, >>703
P化方法を教えてくれてありがとう。試してみるよ。

実は、Yadifmod2( mode=0, edeint=NNEDI3() )ではやってみたんだよ。
それでもビットレートがでかいので、間違ってるのかと思ってた。
でも、方向性は合ってるんだな。いろいろ試してみるよ。
0705名無しさん@編集中 (ワッチョイ 59b0-G1wx)
垢版 |
2019/01/20(日) 09:35:13.38ID:appofDDJ0
1.25倍になるのはわかるって考え方は今のうちに捨てた方がいいかも。正比例なわけはないので。
全フレームインターレースをプログレッシブにしたら圧縮率が下がるということもない。
差し支えなければその24pと30pのソースを教えて欲しいところ。

単にその30pな奴がノイズまみれとかのエンコ殺しソースなだけな気がする
0706名無しさん@編集中 (ワッチョイWW 212c-0UEX)
垢版 |
2019/01/20(日) 13:50:10.47ID:hEkRglU/0
>>704
24pソースの60iを30pに変換すると
AtAb BtBb BtBb CtCb DtDb
とされるか?
AtAb BtBb BtCb CtDb DtDb
となるんじゃないのかな?

上の段になるアルゴリズムなら圧縮率は高いが(24pにかなり近い)、下の段のアルゴリズムは全フレーム別画像になる。縦の動きとかで凄く圧縮率低下しそうに思う。
0707名無しさん@編集中 (ワッチョイ 5101-hbMC)
垢版 |
2019/01/20(日) 14:12:29.21ID:zpUdAA5U0
>24pソースの60iを30pに変換すると

これの意味が分からない。俺が「24pと30pを比べたら」と言ったのは、
各フレームの画像がほぼ同じで(かといって静止画でない)
単純に1秒あたりの枚数が増えた場合の話だよ。
それだけでも30pは24pに比べて(最大で)1.25倍になるという話。
もちろん、静止画に近いシーンがあれば変わるけど。

そのうえで、30pの元動画が60iだったら、
同じようなフレームが続くことがほとんどないから圧縮率が下がるので、
さらにビットレートが上がるんだろうな、ってことを言いたかった。
0708名無しさん@編集中 (ワッチョイWW 212c-0UEX)
垢版 |
2019/01/20(日) 21:38:58.36ID:hEkRglU/0
>>707
「30pにした時に24pにした時の倍以上のビットレートになったのが解せない。」
と書いてたので24pからテレシネで60iにされた動画のインタレース解除を失敗してしまうとビットレートが上がっても不思議ではない。
とサンプルを提示してみました。
0716名無しさん@編集中 (ワッチョイ e99e-atQK)
垢版 |
2019/01/21(月) 15:25:02.20ID:e/4KyHHI0
そんなプリインストールプリセットなんかないぞ
あんたの設定したパラメータなんか誰も知るわけないんだから
設定画面の下に出てるパラメータぐらい書けよ
0718名無しさん@編集中 (ワッチョイ 5101-hbMC)
垢版 |
2019/01/21(月) 16:17:10.05ID:TetpSTl+0
あと、ふと思いついて、
60iソースにBOB()をかけたのと、同じソースにNNEDI3()をかけたのを比較した。
すると、ビットレートはほぼ同じなんだけど、
フレームレートはBOBの方が60fpsでNNEDI3の方が30fpsだった。
これって、NNEDI3の方は、表示上は30fpsだけど、実際には倍のフレームが入ってるのかな?
でも、この動画をAVIUTLに読み込むと、やっぱり30fps分のフレームしかないんだけど。

なんか、俺の日記みたいな書き込みばっかりで、ごめん。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況