お前らのショボイAvisynthスクリプト貼ってください

このエントリーをはてなブックマークに追加
446名無しさん@編集中
http://pc5.2ch.net/test/read.cgi/avi/1091905498/43

AudioDVD作成支援っぽいの…(for 2.54)
-----
sound_track=WAVSource("C:\Documents and Settings\All Users\My Documents\My Music\[シスタープリンセス TV OP]Love Destiny{堀江由衣}.wav").SSRC(48000)
music_title="Love Destiny"
music_artist="堀江由衣"

ColorBars(640,480)
GreyScale()

Subtitle(music_title,x=64,y=96,font="MS UI GOTHIC",size=64,text_color=$ffffff,halo_color=$000000)
Subtitle(music_artist,x=360,y=150,font="MS UI GOTHIC",size=48,text_color=$ffffff,halo_color=$000000)
#下2行削ると時間表示はなくなるけど格段に速くなる(__;
time_overlay=BlankClip(last,width=116,height=22,pixel_type="RGB32").ShowSMPTE().crop(28,0,56,22)
Overlay(last,time_overlay,x=292,y=400)
BilinearResize(704,480)
AddBorders(8,0,8,0)

AudioDub(last,sound_track)
Trim(0,int( (sound_track.Audiolength/sound_track.Audiorate)*29.97) + 5)

FadeIn(60,$000000)
FadeOut(120,$000000)

return last
-----
現在のフレームナンバ(時間でもいいけど)を知る方法ってあるのかな?
447名無しさん@編集中:04/08/10 18:48
>>446
framecount
448名無しさん@編集中:04/08/10 19:01
>>447
framecountでは総フレーム数しか取得できないような
449名無しさん@編集中:04/08/10 19:23
ShowFrameNumber
450名無しさん@編集中:04/08/10 19:38
>>449
画面に直接書かれちゃ利用のしようがないのでは?
多分446は時間表示に使いたいんだろうし
451名無しさん@編集中:04/08/10 19:40
ShowSMPTE
文句言うだけじゃなくてマニュアル読めよ
452名無しさん@編集中:04/08/10 19:41
>>451
画面に直接(ry
453名無しさん@編集中:04/08/10 19:45
せめて位置指定くらいできればいいのにねぇ > ShowSMPTE()
454名無しさん@編集中:04/08/10 19:56
レイヤー使えば強引だが位置移動くらいはできるだろ
455446:04/08/10 20:03
>>454
>>446

それはもうやってます
layerやOverlayを使うとガクっと遅くなるのでデータとして取得したいのですが…
456名無しさん@編集中:04/08/10 20:10
俺も昔音楽DVD用に関数作ったなぁ
現時間と総時間とプログレスバーと歌詞が表示ができるようなの
歌詞表示って言っても切り替わったりするわけじゃなくて
ずっと全歌詞が固定表示されてるから文字ちっちゃくなっちゃうんだけどねw
縦にスクロールしていくの作ったら無茶苦茶重くなっちゃったんでw
で例のごとく全く使ってないけどな
457名無しさん@編集中:04/08/10 21:00
ちなみにScriptClipを使うといいと思うよ
458名無しさん@編集中:04/08/10 21:05
ScriptClip("subtitle(string(current_frame))")
ってわけか
459446:04/08/10 21:15
>>457
>>458
なるほど〜
ScriptClipはいぢったことが無かったのでこれから勉強しようと思います
Thx!
460名無しさん@編集中:04/08/10 22:35
>>459
本スレの過去ログに似たようなのが載ってる
461名無しさん@編集中:04/08/27 14:28
保守
462名無しさん@編集中:04/09/17 15:18:48 ID:kMeZjcWi
保守
463名無しさん@編集中:04/10/04 09:30:35 ID:aApPcf1l
null
464名無しさん@編集中:04/10/04 12:00:44 ID:mHqmiih0
po
465名無しさん@編集中:04/10/04 17:04:42 ID:DiZvftgI
galtu
466名無しさん@編集中:04/10/07 19:10:58 ID:IMuir2lc
AVISource(".avi")
#AudioDub(last, WavSource("wav"))
Trim() ++ Trim() ++ Trim() ++ Trim() ++ Trim()
IT(fps = 24, ref = "TOP", diMode = 0)
FrameCache(9).Auto24fps (false,24,16,"blend",false)
#FrameCache(5).YV12ToYUY2(true)
_2DCleanYUY2(interlaced=0, thresholdY=2, thresholdU=2, radiusX=2, radiusY=2, dmode=4)
FrameCache(5).FaeryDust(2)
FrameCache(9).LanczosResize(640,480,8,0,704,480)
Xsharpen(70)
WarpSharp(depth=40, blur=2, bump=80, cubic=-0.6)
UnsharpMask(strength=50, threshold=4)


DVDのアニメなどを主にエンコ
467名無しさん@編集中:04/10/07 21:58:37 ID:p0QQ30w0
2DCleaner使うとFaeryDustの意味が無いような
468名無しさん@編集中:04/10/07 23:55:25 ID:FSFhnNxQ
シャープ掛け過ぎだろ
ファイルサイズえらいことになりそうだ
469名無しさん@編集中:04/10/08 19:31:47 ID:sQuAFLTE
>468に同意。
最後のUnsharpMaskはいらないな。
470名無しさん@編集中:04/10/08 20:11:19 ID:+b1yi20K
>>466
>_2DCleanYUY2(interlaced=0, thresholdY=2, thresholdU=2, radiusX=2, radiusY=2, dmode=4)
>FrameCache(5).FaeryDust(2)
は順番逆にした方が良いな
471名無しさん@編集中:04/10/08 20:54:40 ID:OigTxo5v
>>470
うほっ同じ事を考えてる人がいるとは(w

シャープに関しては、プレビューしながら決めてるんだろうから他人が口だし
する所じゃないな。 あえて言うなら、シャープでサイズが増える分Quantizerを落としたら
汚くなって元も子も無いって事と、そこまでかけるならmfToon使った方がいい。
472名無しさん@編集中:04/10/08 21:25:19 ID:I+6T/hJP
>>471
他人に口出すななんて言っといて、テメーは言いたいこと言ってるじゃねえかw

古い作品なら、DVDソースでもシャープをキツく掛けたくなるのも分からなくは
ないが、その割りにNR(ぼかしでもいいが)が弱いんじゃねえか?
これじゃ見た目にもギラギラしそうな気がする。
473名無しさん@編集中:04/10/08 22:58:12 ID:TJL6r5AA
おまえら一見罵倒しあってるようにみえて
すげえ参考になる話ししてるじゃねえか
良スレgood
474名無しさん@編集中:04/10/09 02:34:27 ID:2KUc6FO0
スレタイが悪すぎるな
475名無しさん@編集中:04/10/09 02:50:48 ID:RBGZOJOP
基本は良ソースを素エンコ
476名無しさん@編集中:04/10/09 02:52:37 ID:GiXUoHVx
XsharpenやMSharpenは輪郭ギザギザにならない?
SharpenやUnFilterの方が自然な気がするけど。
477名無しさん@編集中:04/10/09 17:29:34 ID:Pf53sek/
画面からちょっと離れると綺麗になるよ。
478名無しさん@編集中:04/10/20 02:36:58 ID:+Dmv6yPg
PluginDir = "C:\AviSynth\plugins\"     #プラグインのディレクトリ
SourceDir = "C:\AviSynth\sources\"    #ソースディレクトリ

LoadPlugin(PluginDir + "MPEG2Dec3.dll")
LoadPlugin(PluginDir + "De.dll")
LoadPlugin(PluginDir + "IT.dll")
LoadPlugin(PluginDir + "NoMoSmooth.dll")
LoadPlugin(PluginDir + "ColorYUY2_for_25.dll")

MPEG2Source(SourceDir + "xxx.d2v")
AudioDub(last,WavSource(SourceDir + "xxx LPCM T01 48KHz.wav"))
AssumeFrameBased()

Trim(aaa,bbb) ++ Trim(ccc,ddd) ++ Trim(eee,fff) ++ Trim(ggg,hhh) ++ Trim(iii,jjj)

DeDot(20,20,15,5)

IT(fps = 24, ref = "TOP", blend = true, diMode = 3, pthreshold=10000)

ConvertToYUY2.NoMoSmooth(40,1,6,1,3,false)

ColorYUY2(Levels="TV->PC")

Crop(4,0,704,480).LanczosResize(640,480)

AmplifydB(8.5)

return last


#インタレ解除&ドット妨害除去に成功。
479名無しさん@編集中:04/10/20 05:29:33 ID:GbYdUu+O
MPEG2Dec3.dllって0フレームと最終フレーム削られなかった?
前試したら削られたからMPEG2Dec3dg.dllの1.1.0使ってるんだけどdgの方が水差ししてるのかな
480名無しさん@編集中:04/10/20 18:35:25 ID:5L/hulHc
ソースは子供駅です

DirectShowSource("xxx.avi",audio=false)
ConvertToYUY2(interlaced=true)
AddRange("xxx.vcf")
DeDot()
DeCross()
UVTimingH(2,2,false)
ColorYUY2(gain_y=10,off_y=-8,off_g=-3)
AssumeTFF()  
IT(ref="TOP")
DeGrainMedian()
Convolution3D("animeHQ")
WarpSharp(depth=84, blur=2, bump=84, cubic=-0.6)
Crop(8,0,-8,-4)
Lanczos4Resize(512, 384)
FadeIn(5)
FadeOut(5)

もろ環境依存だな
481名無しさん@編集中:04/10/20 19:13:15 ID:p+U1JN4J
>>480
RGB補正してるの初めて見た。でもYUY2とRGBの関係上RGBは4倍程度敏感だから
3とか小さな数字だとあまり意味が無いかも。(補正しないのと同程度じゃない?)

warpsharpはdepthが大きすぎて線が細くなりすぎない?(64程度で良いと思う。俺はもっと小さいけど)

cropは微妙だな。俺ならcrop(8,0,-8,0).letterbox(0,4)とする。
482名無しさん@編集中:04/10/20 19:53:37 ID:5L/hulHc
真っ黒なフレームで、ヒストグラム見て調整してる
キャプボの特徴が出るんだよね

WarpSharpは一種のノイズ除去として使ってる
元があれなので

DirectShowSourceはffdshowのブロック低減目的で使ってる

まじで糞ソース専用スクリプト
483名無しさん@編集中:04/10/21 22:06:39 ID:a9QOV0C0
>>478
Crop(4,0,704,480).LanczosResize(640,480)は
LanczosResize(640,480,4,0,704,480)

でいいんじゃない?それと、

ColorYUY2(Levels="TV->PC")
ってやる必要ある?d2vをYV12で読み込んでるんだから、
白飛びとか黒つぶれしちゃうような気がするんだけど。
484名無しさん@編集中:04/10/22 01:52:47 ID:bbSErBx9
横レスだが
LanczosResizeにそんな技があるなんて知らなかったありがとう
どうでもいいっちゃどうでもいいんだけど
485名無しさん@編集中:04/10/22 06:24:36 ID:S6iO5sti
>>484
さらに横レスだが

どうでもいい?
んな訳無い。横奇数cropできるので漏れの場合必須。


>>483
それってYV12で読む事が関係あるの?YUY2だったら伸張していいって事なのか?
486名無しさん@編集中:04/10/22 06:40:21 ID:jeUig7gs
>>485
失礼、何か変な事書いちゃったな。

YUV系なら再生時にYC伸長されるから
わざわざエンコ時に伸長する必要ないんじゃない?
って事言いたかった。別にYV12に限定した話ではないです。

あ、もしかして再生にGeforce使ってるのかな?だとしたら
再生時のYC伸長は無いからそれで良いと思う。
487名無しさん@編集中:04/10/23 16:39:07 ID:pfot9A34
>>486
GeforceはYC伸張してくれるし、ドライバのバージョンによっては
Overlayだとコントラストと黒レベルもメリハリが効いた状態になるはず。
どちらにしても、後々面倒にならないようにYC伸張はとりあえずせずに
OverlayとGDI表示の両方で色が同じになるようにOverlayの調整をしてから
色調補正したほうがいいと思うけど。
ただ、これを言い出したら、GDI表示が正しい色を表示しているかどうかも
問題になるのが面倒だよね。
俺はそこまではしたくないので色調補正はソースと同じになるようにしかしてない。
488名無しさん@編集中:04/10/23 16:41:11 ID:M2W1/LHq
非オーバーレイ=GDIではないのだが

と余計な突込みをしてみる
489名無しさん@編集中:04/10/23 16:56:04 ID:TDGqjJ51
VMRっていうDirect3Dを使った表示が出てきたので混乱の度は増すばかり。
これも各チップで色が変化する模様。
YC伸張しないだとかの意見も見られる。
まあ最近のオーバーレイほどは伸張しないことは確か。
490名無しさん@編集中:04/10/23 21:58:53 ID:Tmwz7wXC
491名無しさん@編集中:04/10/24 05:06:48 ID:VEJL0Rh9
Lanczos4Resize
492名無しさん@編集中:04/10/24 07:16:31 ID:tijhOMqq
PluginDir = "C:\plugins\"
SourceDir = "E:\"

LoadPlugin(PluginDir + "LoadPluginEx.dll")
LoadPlugin(PluginDir + "AddRange.dll")
LoadPlugin(PluginDir + "warpsharp.dll")
LoadPlugin(PluginDir + "_2DCleanYUY2.dll")
LoadPlugin(PluginDir + "lanczos3.vdf")
Import(PluginDir + "colcontrolc.avs")
Import(PluginDir + "iir_3dnr.avs")

AVISource(SourceDir + "***.avi")
AddRange(SourceDir + "***.vcf")
AssumeTFF()

FrameCache(9).Auto24FPS(true,24,16,"blend",false)

Crop(8,2,704,478)

_2DCleanYUY2(0,4,2,2,0,4,4)

Lanczos3Resize(640,478)

ConvertYUY2ToAviUtlYC()
AU_colcontrolc(2,94,-6,3,92,-8,2,94,-6,3,95,-5,true,false)#TBS
#AU_colcontrolc(1,96,-4,0,100,0,0,98,-2,-3,98,-2,true,false)#TV_TOKYO
AU_iir_3dnr(30,15,128,0,20,0,false)
ConvertAviUtlYCToYUY2()

AddBorders(0,2,0,0)

return last
493名無しさん@編集中:04/10/27 00:57:34 ID:CW2Qkw3/
1.5倍速再生用スクリプト自動生成→再生

set magnif=1.5
set player="C:\Program Files\Windows Media Player\mplayer2.exe"
set avsfile=%TEMP%\temp.avs

if not exist %1 goto :EOF

echo AviSource("%~1")> %avsfile%
echo EnsureVBRMP3Sync()>> %avsfile%
echo SelectEvery(Int(Framerate()/30)+1,0)>> %avsfile%
echo AssumeFPS(Framerate()*%magnif%)>> %avsfile%
echo TimeStretch(tempo=100*%magnif%)>> %avsfile%
echo return last>> %avsfile%

if not exist %avsfile% goto :EOF
%player% %avsfile%
del %avsfile%
494名無しさん@編集中:04/10/27 01:18:23 ID:CZoUrIec
>>493
このスレはAvisynthスクリプトのスレだからバッチスクリプトにする必要は無いよ
495名無しさん@編集中:04/10/27 02:03:21 ID:KGHl3zCS
>>494
いや再生用にわざわざスクリプトを用意しなくても良いし、見終わってもスクリプトを削除する必要もない
結構有用な技だよ。
496名無しさん@編集中:04/10/27 02:05:20 ID:yWKsgjSi
>>493
何これ どうやって使うの?
497492:04/10/27 02:10:29 ID:AMaX+O68
なんか突っ込み入れて欲しい(´・ω・`)
498名無しさん@編集中:04/10/27 02:12:51 ID:yWKsgjSi
ああ何となく分かった
でもthere is no function named "TimeStretch"ってエラーが出る
499名無しさん@編集中:04/10/27 02:17:42 ID:yWKsgjSi
ああバージョンの問題か
TimeStretchは2.55以降なのね
500名無しさん@編集中:04/10/27 02:19:48 ID:CW2Qkw3/
応用すればソースファイルをD&Dするだけで自動エンコなんてこともできるかな。
501名無しさん@編集中:04/10/27 02:25:04 ID:KGHl3zCS
>>496
必要なのは、再生するファイルを渡すだけ。(バッチファイル自体は拡張子.cmdとした方が良いかも)
あとは、デスクトップやSendToにショートカット作成するんで良いのでは?
ファイルの関連付けで、再生するアプリをこのバッチファイルに関連付けしちゃえば、
エクスプローラからダブルクリックだけで良いけどこれはやりすぎかも。
502名無しさん@編集中:04/10/27 02:30:27 ID:yWKsgjSi
専用のソフト使わなくてもD&Dだけでそのファイルを読み込めるAVSを作れる方法が
あると分かっただけでも俺にはかなりありがたい
いろんな応用も効きそうだし
>>493サンクス
503名無しさん@編集中:04/10/27 02:53:21 ID:KGHl3zCS
>>497
別に取り立てて突っ込むところが無いせいじゃない?
504名無しさん@編集中:04/10/27 09:58:59 ID:cqZOW/VP
>>500
そんなバッチ、需要なんて無いんじゃない?Reena!とかあるし。
Reena!やdougaαとか知らずにmpeg2ソースからXviD+oggのogmを自動で作成するバッチ組んだ漏れ・・ orz
505名無しさん@編集中:04/10/27 22:00:35 ID:QTpz/3nA
>>497 じゃ突っ込むよ

Auto24FPSの"blend"は嫌
*dust|*smooth|colorYUY2 などは試した?
代替が利かなければaviutl呼び出せばいいけど
そうでないならどちらか一方で完結させた方が...
506名無しさん@編集中:04/10/27 22:27:51 ID:CZoUrIec
>>492
Lanczos3Resizeよりも内蔵のLanczosResize使った方が速度的にいい
精度どうこう言っても見た目は変わらん
あとリサイズ後にNRはしない方がいい
やるならリサイズより前にもってこい
間引きがイマイチなAuto24FPSでBlendは好ましく無い
他のフィルタでの間引いて解除漏れをBlendで消すとかの使い方の方がいい

突っ込むならこれくらいか?
507名無しさん@編集中:04/10/27 23:11:02 ID:+qhUmYLI
>>492
そのスクリプトだったらAviUtl使った方がいいよな
508名無しさん@編集中:04/10/28 13:54:35 ID:ayg9nf9L
120fpsって、24と30を一旦別々に出力するしか無いんでしょ〜か?
509名無しさん@編集中:04/10/28 15:41:01 ID:8vDXVskj
ITVFR
510名無しさん@編集中:04/10/28 21:00:38 ID:lNXmwKeW
>>509
>>508の聞きたいのは、スクリプト上で24fpsと30fpsをtrim等で分けて記述して、
出力する時に1本の動画ファイルとして出せないかという事だと推測してみる

出力プラグインとセットで作ればできそうな気もするけど・・・漏れはWMV9のVFRを
吐けるような物を作って欲しいとか言ってみるテスト

Reena!とかdougaαでもいいんだけど、Reena!はasfコンテナ使えないし、
dougaαだと縞表示が無い、asfコンテナが最近の環境で何故か使えなくなってる。
511名無しさん@編集中:04/10/28 21:03:07 ID:8vDXVskj
フレームレートの異なるクリップを繋げて出力するのは不可能。
エラーが出る。
512492:04/10/28 21:32:05 ID:EHJ1h31Y
>>505>>506
Thx!!とても参考になったYO!!上に書いたやつを
IT(fps=24,ref="TOP",blend=false,diMode=0).Auto24FPS(false,24,16,"blend",false)
に置き換えてITで間引いてAuto24FPSで縞部分を二重化することにした。

あとNRだの何ので散々画像を弄っておきながら、拡大縮小の微々たる精度が
どうもこうも無いと今更ながらに気付かされて
LanczosResize(640,478)
に置き換え。

以前はFaeryDustを使ってたけど時間との兼ね合いで排除。
MipSmoothの導入も検討してたけど思いっきり緑がかった色になったから却下。
で一転してIIR-3DNRに。
IIR系は画像を落ち着ける効果があると認識しているので、フィルタリング後にリサイズを
咬ませた場合、効果が落ちることが無いか気になっているのですがどうなんでしょうか?

イマイチIIR系NRの動作が分かっていないので、そのうち気合入れてソ−ス読んでみます。
画像処理の知識が殆ど無いからきつそうだ(;´Д`)

>>507
ごもっともで∧||∧
513名無しさん@編集中:04/10/29 01:07:27 ID:7qXHxFz/
>>511

Aviutlで無理矢理結合できない?

60fpsのシーンがある動画をvfrで作りたくて、
Aviutlで無理矢理結合して、タイムコード書いて
mkvで作成したことがあるよ。
514名無しさん@編集中:04/10/29 02:06:37 ID:7qXHxFz/
って、Avisynthで出力する場合の話か。勘違いしてた、スマン。
515508:04/10/29 02:13:26 ID:9RY/TtM2
>>510
Reenaかdougaα使えば出来るんでしょうか?
2.5なんで、dougaαを入れてみたんですけど、どこで120f指定するのかよくわかりません。
出来れば、24/30/60混合をまとめて120一本でだしたりしたいんですが…。
516名無しさん@編集中:04/10/29 04:56:29 ID:6VLjabNp
>>515
Reena!は24-60、24-30等、2種類までなら違fpsの混合設定ができる。
24-30-60みたいに3種類はできない。

dougaαはまともに触ってないからわからないけど、Reena!と同じくできないんじゃないかと。

というか、

>2.5なんで、dougaαを入れてみたんですけど、どこで120f指定するのかよくわかりません。

この程度の事を人に聞くようなら、あきらめた方がいい。
517508:04/10/29 17:49:13 ID:9RY/TtM2
>>516
初心者でスマン。
AVI60のパスを指定する場所はあるのに、
どこでどう呼び出すのかがわかんないんです。
518名無しさん@編集中:04/10/31 19:04:46 ID:3x9DptJQ
>>508 >>511
フレームレート違いはAssumeFpsで繋げば無問題
Aviコンテナなら、InsNULL(Reenaのおまけ)で後から120fps化すればよい
24&30&60をお手軽に作りたいならこの辺り
http://pc5.2ch.net/test/read.cgi/avi/1091239309/388
519名無しさん@編集中:04/11/05 19:51:36 ID:Hrxnq1o3
#周期判別不能=半分位適当/テロ欠け各話対応要/TFF用
#
function MaihimeED24(clip p)
{ p=p.DoubleWeave d=p.Pulldown(0,3) e=p.Pulldown(1,4)
return (d.trim(0,275)+e.trim(276,0))
\.ac(275,296).ac(526,537).ac(803,825).ac(1688,1699) }
#
function ac(clip c, int st,en)
{ r= c.trim(st,en).AntiComb r= (st>0)? c.trim(0,st-1)+r : r
return (en<c.framecount-1)? r+c.trim(en+1,0) : r }
520名無しさん@編集中:04/11/05 23:38:23 ID:8K+uOR3h
>>519
Its使ってみたら?

でも舞-HIME EDの切り方って俺と全然違うのは何故なんだろう?
0- 349 <10010>
350- 1019 <01001>
1020- 1369 <00101>
1370- <01001>
521名無しさん@編集中:04/11/06 07:41:11 ID:TH9Y/za9
>>520 どもです。切り方違うのは、うちの受信環境では縞がよく見えずほぼ適当なのと、
30の段階で切るか24化してから切るか、でフレーム番号が違うため、
とクロスのどこで周期替えるか、でしょう
そちらの切り方では、
{ p=p.DoubleWeave c=p.Pulldown(2,4) d=p.Pulldown(0,3) e=p.Pulldown(1,4)
return (d.trim(0,281)+e.trim(282,817)+c.trim(818,1097)+e.trim(1098,0))

になると思う。(こちらより正確だと思われます)

itsは、Encの自動24にも誤爆がある、だったらsynthだけで手動24…
ということで今回はパスです
522名無しさん@編集中:04/11/06 12:39:13 ID:OAdQeU5N
>>520
<10010>の部分、Itsのdefの構文ですよね。
法則性がわからないのですが意味を教えてください。
523名無しさん@編集中:04/11/08 04:01:44 ID:RWNJkvAm
>>522
まずDoubleWeaveの説明だが、Tをトップフィールド、Bをボトムフィールドとすると、
0(0T0B) 1(1T1B) 2(2T2B) 3(3T3B) ・・・

0(0T0B) 1(0T1B) 2(1T1B) 3(1T2B) 4(2T2B) 5(2T3B) 6(3T3B 3T4B) ・・・
と倍のフレーム数に拡張する(つまり間にフィールドオーダーの入れ替わったフレームを挟んでいる)

IVTCするのは、ソース5フレーム中4フレーム選択するということだから、
doubleweave後だと、5フレーム中2フレーム(10フレーム中4フレーム)を選択すれば良いことになる。

<10010>とは、つまりTMPGEncのパターン指定と同じであり、
選択の指定で、1は選択、0は捨てることを意味している。

<10010>は、つまり 5フレーム間隔で、選択、捨て、捨て、選択、捨て、というパターンで
以降フレームを取捨選択してくことを意味する。
Avisynthだと、SelectEvery(5,0,3)とかPulldown(0,3)と同じ意味となる。

なお、<10>だと2フレーム間隔で選択、捨てとなるから、結局元のままとなることはわかるだろうか?
524名無しさん@編集中:04/11/08 12:59:51 ID:jTGigxmq
>>523
わかりました。
http://www.avisynth.info/index.php?Pulldown
上記のことですね。DoubleWeave後、縞のあるフレームは捨て縞のないフレームは残すという。

Itsは使いこなせるようになればこの上なく便利そうですね。
defの作り方がちょっと難しげなので勉強してみます。
525名無しさん@編集中:04/11/08 13:47:21 ID:qfxSUr4f
>>524
今回のようにEDだけのソースを用意して出力も24fpsにするのなら、
>>520の4行だけ書けばそれで良いんだよ。

もし本編も付いているなら、

0-29999 'IT()'
offset 30000
0- 349 <10010>
350- 1019 <01001>
1020- 1369 <00101>
1370- <01001>
とかにしてEDの先頭を0にずらせば良い。
526名無しさん@編集中:04/11/08 14:50:42 ID:qfxSUr4f
それと実際にはこの4行だけでは、フェードアウトしてる部分に縞が残るので
1370-とか最後を誤魔化してるけど、微細加工するか、
この後に縞解除用のフィルタを適用するかしないといけないのでした。
527名無しさん@編集中:04/11/08 20:11:33 ID:peuzqtPQ
手間かけて手動24化してもフェード縞の為にボカす
いい手はないでしょうかね?

AntiComb -> 縞の部分だけしか影響されないが、ソースによってはゴミが出る
Auto24fps("blend") -> よけいなフィールド操作される時がある
EquLines -> 発想はいいと思うけど、ほとんど効果なし
528名無しさん@編集中:04/11/08 20:16:51 ID:LjPBQC/W
Auto24fpsの閾値を256にする
529名無しさん@編集中:04/11/09 05:56:29 ID:wFw6q4+F
FilterRangeEx(100, 102, 500, 504, "IT(fps=30, diMode=3)")
530名無しさん@編集中:04/11/09 07:08:37 ID:T1GDmTqc
>>528 >>529 試してみます。ありがとう。
531名無しさん@編集中:04/11/10 19:39:47 ID:n+gQWNO4
# 選択範囲のフレーム削除
# DelFrames(削除開始フレーム番号, 終了フレーム番号)
# DelFrames(削除開始フレーム番号, -フレーム数)
function DelFrames(clip clip, int "first_frame", int "last_frame")
{
first_frame = default(first_frame,0)
last_frame = default(last_frame,0)
all = ((first_frame<0) && (last_frame<0) && (first_frame-last_frame)<= 0) ? 1 : 0
last_frame = ((first_frame<0) && (last_frame<0) && (first_frame-last_frame) > 0) ? (first_frame-last_frame-1) : last_frame
first_frame = (first_frame<0) ? 0 : first_frame # 0以下なら0にする
all = (first_frame>=clip.Framecount) ? 1 : all
last_frame = (last_frame==0) ? (clip.Framecount-1) : last_frame
last_frame = ((last_frame<0) ? (-last_frame-1 + first_frame) : last_frame)
last_frame = (last_frame < first_frame) ? first_frame : last_frame # first_frame以下ならfirst_frameにする
Assert(!(first_frame == 0 && last_frame >= (clip.Framecount-1)), "DelFrames : Error") # 全フレーム削除は出来ない。
index = (clip.Framecount-1)<=last_frame ? 2 : (first_frame==0) ? 0 : 1
index = (all == 0) ? index : 3
return Select(index, clip.Trim(last_frame+1, 0), clip.Trim(0,-first_frame) ++ clip.Trim(last_frame+1, 0), clip.Trim(0, -first_frame), clip)
}

1箇所削除するのにTrimを2回使うのが少し面倒だったんで
ユーザー定義関数作ってみた。
範囲指定方法はTrimとほぼ同じです。

使用例
DelFrames(100,149)  # 100番から149番までの50フレームを削除 [ Trim(0,99) ++ Trim(150,0)と同じ ]
DelFrames(100,0)    # フレーム100番以降を全て削除。
DelFrames(100,-100)  # 100番から199番までの100フレームを削除。
DelFrames(0,-1)     # 最初の1フレームのみ削除。
532名無しさん@編集中:04/11/10 20:16:22 ID:9r6wlX64
>>531
どういう目的?
CMカットならVDとかVDMとかで済むし?
533名無しさん@編集中:04/11/10 21:21:15 ID:qwnw9CYV
内部関数でApplyRangeがあるのを、FilterRangeEx調べるまで知らなかった……恥

function KannaOp24(clip p)
{ p=p.DoubleWeave a=p.Pulldown(0,2) b=p.Pulldown(1,3) c=p.Pulldown(2,4)
d=p.Pulldown(0,3) e=p.Pulldown(1,4) f=p.SelectEvery(10, 0,2,6,8)
#
return a.u(e,570,"d0").u(d,767).u(b,915,"be").u(a,1065,"be").u(b,1106)
\.u(c,1236).u(f,1257).u(b,1279).u(e,1385).u(b,1495).u(e,1558,"be").u(d,1620,"be")
\.u(d,1718,"de").u(e,1772).u(a,1797,"be")
\.FilterRangeEx(640,648, 1770,1775,"""Auto24fps(false,256,16,"blend")""") }
#
# クリップ2つをフレーム番号nで繋げる
function u(clip p,q, int n, val "fnc")
{ s=(n>1)? p.trim(0,n-1):p.trim(0,-1) r=q.trim(n,0)
return defined(fnc)? Eval(fnc+"(s,r)"):s+r }
# 上の補助関数(主に片フィールド処理用)
# 前クリップの最終フレームを破棄(その前のフレームで補完
function de(clip c,d)
{ return c.freezeframe(c.framecount-1,c.framecount-1,c.framecount-2)+d }
# 前クリップの最終フレームを二重化
function be(clip c,d)
{ return c.ApplyRange(c.framecount-1,c.framecount-1,"Auto24fps",false,256,16,"blend" )+d }
# 後クリップの先頭フレームを破棄(次のフレームで補完
function d0(clip c,d)
{ return c+d.trim(1,0).DuplicateFrame(0) }
# 後クリップの先頭フレームを二重化
function b0(clip c,d)
{ return c+d.ApplyRange(0,0,"Auto24fps",false,256,16,"blend" ) }
534名無しさん@編集中:04/11/11 00:34:22 ID:DSLbkPiM
>>532
ちょいカット用です。
VDで.vcfファイル作る程のカット数でもないなーってときに使うつもり。
削除範囲指定のほうが後で見たときに分かりやすい場合もあるかなと。 まぁ好みの問題ですが。
535名無しさん@編集中:04/12/19 01:37:51 ID:wwMdDUMf
あヴぃsyんth
536名無しさん@編集中:05/01/05 10:49:31 ID:+b6G94zi
あヴぃsyんth
537名無しさん@編集中:05/01/21 22:59:35 ID:4zc3maQ3
ほす
538名無しさん@編集中:05/01/21 23:22:07 ID:uF2k3vvT
スレタイどおりに貼りますね

PluginDir = "C:\Program Files\AviSynth 2.5\plugins\"
FileName = "アニメ"
FileDir = "D:\source\"
LoadPlugin(PluginDir + "LoadPluginEx.dll")
LoadPlugin(PluginDir + "MPEG2DEC2.dll")
LoadPlugin(PluginDir + "MpaSource.dll")
LoadPlugin(PluginDir + "AddRange.dll")
LoadPlugin(PluginDir + "a60224.dll")
Import(PluginDir + "RingingCanceller.avs")
LoadPlugin(PluginDir + "cc.dll")
LoadPlugin(PluginDir + "hqdn3d.dll")
LoadPlugin(PluginDir + "_2DCleanYUY2.dll")
#video =
MPEG2Source(FileDir + FileName + ".d2v")
#Audio = MPASource(FileDir + FileName + " MPA T01 DELAY -66ms.mpa").DelayAudio(-0.066)
#AudioDub(Video,Audio)
AddRange(FileDir + "アニメ.vcf")
AssumeTFF()
DoubleWeave()
a60224(fast=false, blur_rate=0.027, x1=8, x2=8, y1=6, y2=6)
Crop(16, 6, -16, -6, true)
cc()
ConvertToYV12
hqdn3d()
ConvertToYUY2
_2DCleanYUY2(0, 2, 2, 2, 0, 2, 2)
LanczosResize(640, 480)
return last
539名無しさん@編集中:05/01/22 02:01:07 ID:mEjcEosb
スレタイどおりにショボイですね。
540名無しさん@編集中:05/01/22 02:19:40 ID:wAAWa0bO
ソースファイル名を変数にするのは気付かなかった・・・

あと、2.5系でMPEG2Sourceで読み出した場合、色空間はデフォルトでYV12だから
ConvertToYV12要らないんじゃないの?
541名無しさん@編集中:05/01/22 02:49:53 ID:CQaOWvdD
>>MPEG2DEC2.dll
見れ
542538:05/01/22 02:52:23 ID:l9PNrVtW
もういろいろ試すの疲れた。ファイルサイズが小さくて
鑑賞に堪えうるならそれでOK。XviD1Passだし。

>>540
DVD2AVI 1.76 Plusなので色空間はYUY2ですよ。たぶん。
543名無しさん@編集中:05/01/22 02:58:50 ID:foWJmNgV
スクリプトって自作関数の話じゃなく、
エンコに普段使ってるやつの事なのかい
544名無しさん@編集中:05/01/22 03:15:45 ID:l9PNrVtW
Avisynthはスクリプト言語だからスクリプトでしょ。
スレの最初の方ではこういう流れだったと思うけど
545名無しさん@編集中:05/01/22 03:29:49 ID:SJ0ymAVi
最後に何でYUY2にするの?
_2DCleanYUY2を使いたいという理由だけで、そんなことするの?
546名無しさん@編集中:05/01/22 03:46:43 ID:/rdmpOVr
>>542
> DVD2AVI 1.76 Plusなので色空間はYUY2ですよ。たぶん。
>>541
547名無しさん@編集中:05/01/22 03:57:17 ID:EDPLaMTB
LoadPlugIn ("e:\AVSplug\VSFilter.dll")
# Read files "01.jpg" through "47.jpg"
ImageSource("e:\pic\%02d.jpg", start = 1, end = 47, fps = 1)
Lanczos4Resize( 320, 240 )
textsub("e:\AVS\Word.ass")
return last
548名無しさん@編集中:05/01/22 04:49:11 ID:l9PNrVtW
>>545
まぁ、そういうことかな。早いし、他のYV12のに変えると、
また設定とかやらないといけないし。メンドクセ。
>>546
ツッコミサンクス。MPEG2DEC2がYUY2にするんだった。
549名無しさん@編集中:05/01/22 08:20:23 ID:TseRNZ3O
Avisynth2.5はYV12に対応しただけの代物。
デフォルト色空間がYV12ってワケじゃない。
550名無しさん@編集中:05/01/22 08:59:24 ID:y6vnou2L
>>547
それで出力される color space は RGB でしょうか?
551名無しさん@編集中:05/01/22 10:47:58 ID:CQaOWvdD
_2DCleanYUY2のYV12対応版は使わんの?
552名無しさん@編集中:05/01/22 14:51:15 ID:q0AGnVEk
今確かめたら、YV12対応の_2DCleanYUY2使ってた。
俺ってバカだ・・・。ort
553名無しさん@編集中:05/01/22 16:02:35 ID:1SMbZokW
>>550
最後にinfo()をつけて貰えばわかるけど、RGB24です。
554名無しさん@編集中:05/01/23 12:47:16 ID:QjxxVRbZ
っていうかMPEG2DEC3使えば最初から最後までYV12で通せるんだし、変えたら?
555名無しさん@編集中:05/01/23 13:13:08 ID:KItJlTPh
>>554
思い出したよ、以前はTemporalSmoother使ってたからMPEG2DEC2
使ってたんだよ。TemporalSmootherはアニメだとガシガシ容量減るから
MPEG2DEC3使うことにする。レスサンクス
556名無しさん@編集中:05/01/23 13:15:56 ID:XMS4bVPN
時代はもはや DGDecode です。
557名無しさん@編集中:05/01/23 13:16:41 ID:UGV6TDf6
>>556
違いを簡潔・明瞭に教えてくれ
558名無しさん@編集中:05/01/23 13:28:24 ID:kvvN6AdO
559名無しさん@編集中:05/01/23 16:52:58 ID:XoG36f2F
>>558
それが何か?
560名無しさん@編集中:05/01/23 17:00:01 ID:wxt/eUXk
DGDecodeってDGIndex以外は確か使えないんだろ。
DGDecodeっていろいろバグ持ちだったけど、直ったの?
そもそもドナルドたんだし。
561名無しさん@編集中:05/01/23 19:01:12 ID:aPzAs6So
ドナルドってフォーラムでの発言が痛いだけで嫌われてるんでしょ。
プラグイン自体のバグはReadMeに書いてあるし、不安な要素はないと思うが。
562名無しさん@編集中:05/01/23 22:09:08 ID:j4QuAxqg
>>561
バグは不安要素じゃないのかよ
563名無しさん@編集中:05/01/23 22:41:17 ID:aPzAs6So
>>562
LOLI-Jのは先頭のBフレ二枚がなくなるバグあるしIDCT処理のバグも放置だけど?
なんだかんだとまあいってるうちにDGdecode1.10でましたよ。
564名無しさん@編集中:05/01/23 22:51:41 ID:SrBAMGZf
>>560
そんな酷いバグなんてあったか?
使ってても無いように思えるんだが
565名無しさん@編集中:05/01/23 22:57:03 ID:P9CzTUZ6
1枚や2枚減ったぐらいで皆、ガタガタ言うな。
566test:05/01/23 23:08:19 ID:XLJg71I9
echo off
DGIndex -ia=3 -FO=0 -YR=1 -TN=1 -OM=1 -AIF=[%1] -DRC=2 -OF=[%1] -Exit
exit
567名無しさん@編集中:05/01/24 00:23:22 ID:Q1bXHX5a
おまいらまるもつかえよまるも
568名無しさん@編集中:05/01/30 16:39:49 ID:RkXkrAEI
俺はおまるものリンギング低減使ってるよ
569名無しさん@編集中:05/02/10 03:01:27 ID:FQhBVlD9
あげるぜよ
570名無しさん@編集中:05/02/11 10:22:40 ID:xnT6d5W0
インターレース解除したあとに、
true120fpsにして、1フレームずつチェック、
前のフレームと比較してまったく同じなら次フレームチェック、
違うなら、それまでの同じフレームを1フレにまとめ、120で割ったfpsに変更(vfr)。もしくはNullを仕込む。

こんなのがあれば復元や再編集は面倒だけど、
混合もダイジョウブ。


と、初心者的妄想、およびチラシの裏。
571名無しさん@編集中:05/02/12 02:37:42 ID:pf9AZyQS
>570
問題はノイズの切り分けだな。
下手すると全部120で吐き出されかねない。
572名無しさん@編集中:05/02/20 20:03:11 ID:pIYcVgcI
##### ディレクトリ指定 #####
PluginDir = "C:\AviSynth\plugins\"
SourceDir = "C:\AviSynth\sources\"

##### プラグイン読み込み #####
LoadPlugin(PluginDir + "MPEG2Dec3.dll")
LoadPlugin(PluginDir + "GuavaComb.dll")
LoadPlugin(PluginDir + "FluxSmooth.dll")

##### ソース指定 #####
MPEG2Source(SourceDir + "xxx.d2v")
AudioDub(last,WavSource(SourceDir + "xxx LPCM T01 48KHz.wav"))

YV12toYUY2() # 色空間をYUY2にする
AssumeTFF() # フィールド・オーダー指定
GuavaComb(Mode = "NTSC") # クロスカラー除去
InterlacedFluxSmoothST(7,7) # ノイズ除去
Crop(6,0,-10,-0) # 無効領域を切り落とす
ConvertToYV12(interlaced=true) # 色空間をYV12へ変換
Normalize() # 音声正規化

##### ユーザ定義関数 #####
function InterlacedFluxSmoothST(clip clip,int s,int t)
{
clip = clip.SeparateFields()
Top = clip.SelectEven().FluxSmoothST(s,t)
Bottom = clip.SelectOdd().FluxSmoothST(s,t)
clip = Interleave(Top,Bottom).Weave()
return clip
}

return last
573名無しさん@編集中:05/02/20 21:00:03 ID:k6u6Pxpn
FluxSmoothって初めて聞いた
574名無しさん@編集中:05/02/20 23:19:19 ID:fYZLAx9+
>>572
GuavaCombって副作用が大きい割には効果低いと思う。
DeCrossの方が遥かにいい。

あとカラースペースの変換タイミングとかが微妙に不明。
フィールド分離とかインターレース解除の際のYUY2変換はわかるけど。

>>573
大分前からあるから無名じゃないと思うが。

名称が変わってからは多少よくなったような感じだけど、
いかんせん、もっといいフィルタがあるから使う気になれん。
575名無しさん@編集中:05/02/20 23:36:41 ID:fYZLAx9+
ごめん、GuavaCombはドット妨害除去か。
クロスカラー除去と間違えた。
576名無しさん@編集中:05/02/23 16:31:34 ID:loc9wDa/
FluxSmoothとTemporalSmootherの効果的な違いって何ですか?
副作用の違いも教えてください。
577名無しさん@編集中:05/02/23 21:18:15 ID:TZxR1UsE
>>576
ソースが実写かアニメかでもだいぶ違ってくるし、アニメでものっぺりした方がいいとかいろいろあるから、
結局は自分の好みでって事だ。AvsPreview2とかでノイズの除去具合とか確かめながらパラメタを決めて
1分ぐらいのソースでエンコしてみ。TemporalSmootherについては過去ログとかでもよく出てるから、そこら
へんを参考にしてみれば。
578名無しさん@編集中:05/02/23 23:41:52 ID:WTK0p7MX
DVDからリプル場合を想定した、ブロックノイズを綺麗さっぱり消して
ノッペリさせるのと、Mpeg2エンコ時に微妙にエッジにでるリンギング
を消し去るショボイスクリプトおながいします。
579名無しさん@編集中:05/02/24 00:03:06 ID:P0d88w4T
過去ログあさるか、片っ端から試せ。
580名無しさん@編集中:05/02/24 02:16:34 ID:kW/ZbMPb
漏れならわざわざそんなソース、エンコして保存しないで、まんま寝かす。
581名無しさん@編集中:05/02/24 10:20:23 ID:uIhD+wfV
>>577
FluxSmoothはTemporalSmootherに比べフェードが滑らかですね。
TemporalSmootherの何か、ベールが剥がれる様にフェードする副作用?
そいつが少ない感じです。
2D機能は排除して色ノイズ用のパラメータが加われば速度効果比が高く、
処理速度もTemporalSmootherとほぼ同じなので良いフィルタと思うのですが・・・。
他に処理速度が速く効果的なフィルタが存在するのですよね?あまり詳しくなくってスマソ。
582574:05/02/24 20:56:26 ID:wzmfQmTQ
>>581
>他に処理速度が速く効果的なフィルタが存在するのですよね?あまり詳しくなくってスマソ。

漏れの書きこみの事か?誰も処理速度が速いなんて一言も言ってないが。
時間軸NRでDust以上の物は知らん。

お手軽に速く、そこそこの効果って言うのならKenKunNRT、RemoveDirt、HQDN3D等を
使ったら?特にRemoveDirtは速度の割にはかなり綺麗になると思うが。 >サイズが縮まないが

はっきり言ってTemporalSmootherは過去の遺物。比較すべきフィルタでは無いと思う。
583名無しさん@編集中:05/02/24 21:08:20 ID:b0fkr7Ie
俺はアニメソースには以前TemporalSmootherを愛用してたぞ。結構サイズも縮むしな。でもHQDN3Dで
俺の見た目で同じようなパラメタ設定にすると、HQDN3Dの方が縮む方が多いし、速度もそんなにかわらんしな。
だから今ではHQDN3D。それにTemporalSmootherってYUY2しか使えなかったんじゃなかったっけ?
584名無しさん@編集中:05/02/24 21:35:32 ID:wzmfQmTQ
>>583
以前って言うなら漏れも愛用してたよ。
KenKunNRTが出てから完全に入れ替わったけど。 >現在はDust

そういやTemporalSmootherはYV12版が無いな。
585名無しさん@編集中:05/02/24 23:33:18 ID:wAtiUA8x
Dustって2.5でうごかねーぢゃん!!
586名無しさん@編集中:05/02/24 23:38:13 ID:6aWHpDlI
>>585
そうだね、帰っていいよ
587名無しさん@編集中:05/02/25 02:30:45 ID:wpm8eBWh
アニメの画風にもよるけど、ノッペリした画風の場合は_2DCleanYUY2も併用する。
それ以外はFluxSmoothSTだけを掛ける。
588名無しさん@編集中:05/02/25 18:30:54 ID:rPtOBaMH
チラシが両面刷だったので書き込みますね。
ちなみに実写のDVDエンコのためのもの。
なんか突っ込んでください!


name = "hogehoge"
desktop = "C:\Documents and Settings\Admin\Desktop\"
puraguin = "C:\Program Files\AviSynth\plugins\"

LoadPlugin(puraguin + "MPEG2Dec3.dll")
LoadPlugin(puraguin + "TomsMoComp.dll")
LoadPlugin(puraguin + "De.dll")

AudioDub(mpeg2source(desktop + name + ".d2v"),WavSource(desktop + name + " LPCM T01 48KHz.wav"))

DeDot(20,20,15,5)
TomsMoComp(1,5,0)
yv12toyuy2()
Crop(0,60,720,355)
LanczosResize(704,396)
589名無しさん@編集中:05/02/25 18:35:54 ID:2m0u977y
実写DVDをわざわざインタレ解除するのか






(´ー`)
590名無しさん@編集中:05/02/25 18:40:26 ID:rPtOBaMH
なんで?するだろ。しなかったら縞縞じゃん。
591名無しさん@編集中:05/02/25 18:41:43 ID:MIXReY8X
>>587
僕の場合はFluxSmoothTだけど上手くビートノイズを除去しれくれてるような気がします。
サイズの縮み具合はTemporalSmootherの方がいいと思うけど副作用が少ないので
強めにかけてもいいような気がします。
592名無しさん@編集中:05/02/25 18:43:48 ID:2m0u977y
>なんで?するだろ。しなかったら縞縞じゃん。
>なんで?するだろ。しなかったら縞縞じゃん。
>なんで?するだろ。しなかったら縞縞じゃん。

( ´д)ヒソ(´д`)ヒソ(д` )
593名無しさん@編集中:05/02/25 19:05:09 ID:ETMrd1+V
どっちでも正しい
594名無しさん@編集中:05/02/25 20:48:21 ID:GjTK/HV6
>>588
突っ込みどころ多すぎるなこりゃ・・・
実写のDVDというがフィルム映画だったりしたらその設定だと最悪だな
フィルムじゃないならインタレ解除よりも保持してインタレエンコの方がいい
DVDなのになんでDedotしてるの?
無駄にYUY2変換してるのはなぜ?
なんで奇数クロップしてるの?
奇数クロップしてリサイズするならLanczosResizeで範囲指定
あとはアス比がヤバそう
595名無しさん@編集中:05/02/25 21:41:27 ID:OlW7jVrf
実写DVDを60→30fpsにしようが、インタレ解除しようが、そんなのは人の勝手。

大体、実写=60iって決め付けるのはどうよ?

それよか縦を引き伸ばししてる上に計算上はアス比がちょっと狂ってるな。

>>594はアス比からフィルム映画の可能性を指摘してるが、
確かにその場合は最悪かも。

しかしDVDなのにDeDotが要らないってのは、DVDのエンコードの
経験が少ないんだろうな。
596名無しさん@編集中:05/02/25 22:53:24 ID:rsAvjExU
>>595
普通、映画のことを実写はと言わない。
映画は映画。
597名無しさん@編集中:05/02/25 23:14:06 ID:OlW7jVrf
>>596
それはあんたの普通。

映画でも実写とアニメは分けて考えるからな。

それにビデオ撮影された物でもPVなら24-30-60が混じった
物だってあるだろうに。

それとも今度はPVはPV、実写は実写とでも言うのか?
598名無しさん@編集中:05/02/25 23:26:43 ID:mOMsx9cW
実写にはいろいろあるのに>>588に実写としか書いてないのが問題だったな
599名無しさん@編集中:05/02/26 09:02:48 ID:EwL1piSd
hogehogeなんて認めない
600名無しさん@編集中:05/02/26 09:42:16 ID:w64vMtB3
homohomo
601588:05/02/26 15:16:00 ID:36RrRlPy
>>598
エンコしようとしてたのは30-60の混ざったPVです。

>>594
YUY2変換したのはしないとCrop使えないから。
奇数クロップしたのは下の帯が65だったからだけど、
LanczosResizeの範囲指定知らなかった、スマソ。

今までいろいろ試してきたけど結局シンプルなのにたどり着いたけど
まだまだだったんだなorz
602名無しさん@編集中:05/02/26 15:23:12 ID:TekuvFBE
>>601
漏れYV12でソース読み込んでるが、変換しなくてもクロップできるぞ。
それに、DeDot、TomsMoCompはYUY2でも可能だからはじめからMPEG2DEC2
でYUY2で読み込めばいいだけだし。
603名無しさん@編集中:05/02/26 16:47:43 ID:36RrRlPy
YUY2でもYV12でも結局エンコするときにRGBになるんだからかわらないんじゃないと思ったんだけど
604名無しさん@編集中:05/02/26 17:24:10 ID:0KvvXtlV
>>603
君は何を言っているのかね
605名無しさん@編集中:05/02/26 18:41:10 ID:IPtMuUxn
MPEG2がRGBか、初耳だなそんな話。
606名無しさん@編集中:05/02/26 18:48:37 ID:36RrRlPy
エンコするときに  ×
aviにエンコした後  ○
607名無しさん@編集中:05/02/26 18:57:16 ID:wlH6fI6F
( ・ω・)モニュ?
608名無しさん@編集中:05/02/26 19:07:38 ID:IPtMuUxn
>>606
お前、おもしろすぎ。もう1回ぐらい訂正してくれ。
609名無しさん@編集中:05/02/26 19:10:44 ID:wlH6fI6F
次はCMYKか
610名無し募集中。。。:05/02/26 19:17:56 ID:36RrRlPy
なに!?DivXとかWMV9のaviにエンコしたらRGBじゃないの?
もいっかい勉強しなおしたほうがよろしいですね、俺。でなおしてきまつ。
611名無しさん@編集中:05/02/26 19:19:07 ID:36RrRlPy
名前欄ミスった。。。
612名無しさん@編集中:05/02/26 19:28:31 ID:vMsCRnTk
狼住人を代表してお詫びします
613名無しさん@編集中:05/02/26 19:33:57 ID:O6P0VCaw
ということはJPEGもRGBなわけだな。勉強になる。
614名無しさん@編集中:05/02/26 20:15:33 ID:RNyuw+yu
R・G・B!R・G・B!
615名無しさん@編集中:05/02/27 10:21:16 ID:vcd3ygPG
色空間のことサッパリわからん
勉強するのにおすすめのサイトあったら教えてクレ
616名無しさん@編集中:05/02/27 12:11:27 ID:j/uSeD/U
617名無しさん@編集中:05/02/27 14:40:41 ID:b3J7sLVW
>>616
ありがとう
ここで勉強して出直してくるよ
618名無しさん@編集中:05/02/27 17:11:23 ID:rOKTwC9g
まったくショボイぜ
619名無しさん@編集中:05/02/28 11:20:59 ID:WRdqPvnG
ほしゅ
620名無しさん@編集中:05/03/02 22:30:36 ID:w441jfhV
mkv(vfr/チャプター打ち)前提のを晒してみる……
#
# プラグイン/ソース読み込み部分略
#
PriF
#
S0=trim(673,1921).f24p #オープニング
S1=trim(1922,2371).f30p
S2=trim(2372,2502).f24p
S3=trim(2503,2638).f30p
S4=trim(2639,2739).f24p
S5=trim(2740,3037).f30p
S6=trim(3038,3372).f24p
S7=trim(5468,22969).f24 #Aパート
S8=trim(25668,45927).f24 #Bパート
S9=trim(45928,48627).Ed #エンディング
S10=trim(50573,51472).f24 #次回予告
S99=trim(51916,51920).PostF.f1.Loop(2) #エンドフリップ
#
(S0+S1+S2+S3+S4+S5+S6+S7+S8+S9+S10).PostF+S99
return last
#
function f24(clip c)
{ c=c.Auto24FPS(true,24,0,"blend")
return c }
function f24p(clip c)
{ c=c.Decimate(cycle=5)
return c }
function f30p(clip c)
{ return c.assumefps(2997,125,false) }
function f1(clip c,int "no")
{ return c.trim(default(no,c.framecount-3),-1).assumefps(2997,125,false) }
621名無しさん@編集中:05/03/02 22:31:29 ID:w441jfhV
#function Ed(clip c)
# 長いんで略
#
function PriF(clip c)
{ c=c.AssumeTFF
c=c.DeCross(30,60,1,false)
c=c.EraseGhostV(256,"G:\work\GF08"+"_SearchGhostV.log")
c=c.Crop(10,60,704,360)
c=c.FluxSmoothT(5)
return c }
#
function PostF(clip c)
{ c=c.ConvertToYUY2.ConvertYUY2ToAviUtlYC
c=c._AU_nijimi(80,32,-40,32)
c=c._AU_RingingCanceller(-4,-2,8)
c=c.ConvertAviUtlYCToYUY2.ConvertToYV12
c=c.HQDN3D(3,3,3,2.25,4)
c=c.Crop(0,2,704,358).AddBorders(0,0,0,2)
c=c.UnSharpMask(12,3,9)
c=c.WarpSharp(35,2,50,-0.6)
c=c.LanczosResize(640,360)
c=c.ColorYUY2(0,0,10,0,0,0,0,0,0,0,0,0,debug=0)
return c }
622名無しさん@編集中:05/03/02 22:32:05 ID:w441jfhV
タイムコード

# timecode format v1
assume 23.976
998,998,19.98
999,1448,29.97
1552,1552,13.32
1553,1688,29.97
1768,1768,13.32
1769,2066,29.97
16335,16335,14.985

チャプター

CHAPTER01=00:00:00.000
CHAPTER01NAME=オープニング
CHAPTER02=00:01:30.090
CHAPTER02NAME=Aパート
CHAPTER03=00:11:14.074
CHAPTER03NAME=Bパート
CHAPTER04=00:22:30.083
CHAPTER04NAME=エンディング
CHAPTER05=00:24:00.174
CHAPTER05NAME=次回予告
CHAPTER06=00:24:30.204
CHAPTER06NAME=エンドフリップ
623名無しさん@編集中:05/03/02 22:36:32 ID:w441jfhV
チラシのウラ……

タイムコード中のおかしなfpsは24fps部分の終端補正

例えば、30fps1249フレームを24fps化する場合、
あるべきフレーム数は 1249x24/30= 999.2フレーム

実際には小数点以下切捨て 999フレームになるので、
0.2フレーム分の再生時間が足りなくなる

で、最終フレームの時間(fps)を補正して、
0,997,23.976
998,998,19.98
#23.976fps/1.2=19.98fps

小数点以下が切り捨て/切り上げのどちらになるかは多分…

Auto24Fps/IT/Decimate等…切捨て
SelecEvery/PullDown等…パラメータによる(VDMにかけて確認したほうが早い?)
Weave/Layer等 …切り上げ


範囲を結合してから24fps化しない( (trim + trim ).f24 にしない)のは
チャプター打ちの都合

範囲の先頭にチャプターを打つ事にすれば、
単純にソースのフレーム数から経過時間が計算できるんで
(終端補正は必要)
624名無しさん@編集中:05/03/02 22:38:14 ID:w441jfhV
チラシのウラ2……

エンコ手順

@Reena! : CMカット&音声出力/ゴースト除去設定/fpsとチャプターで範囲分割
Aサクラエディタ : Reena!の範囲指定をマクロで整形/Excelとavsにコピペ
BVMD1.4.13+スクリプトエディタ : avs整形/手動部分周期切&フレーム数確認/aviにエンコ
CExce l: fps修正/チャプタータイトル打ち/タイムコード&チャプター出力
Dmkvmerge : 全部mux

長文スマン
625名無しさん@編集中:05/03/02 23:05:48 ID:CTLx6gT8
アニオタ恐るべし
626名無しさん@編集中:05/03/02 23:28:14 ID:KO3QNgEM
ここにも局長様のようなネ申が・・・
627名無しさん@編集中:05/03/03 00:30:08 ID:AJD86Dl0
DeDotやDeCrossってインタレ解除やクロップする前にやるもんだよな?
で、似たようなのにccてのがあるけど、DeDotやDeCrossはインタレ解除
クロップの前においてもエラー起きないんだが、ccはエラーが起きる。
エラーは Evaluate : Unrecognized exception ! ていうやつ。エラーの行数は
最後のノイズ処理のフィルタの行数。俺の環境ではクロップしてからじゃないと
正常に動かねぇ。俺と似たようなエラーが起こる香具師いる?
628名無しさん@編集中:05/03/03 00:35:08 ID:cO+SnXXp
インタレ解除、クロップの前にcc置いてるけどエラー起きたことなんて無いよ。

きちんと引数で interlaced=true と指定してる?
629名無しさん@編集中:05/03/03 00:42:42 ID:YZn/69RX
AVIUTL変換の誤差とかフィルタの数で結構色がやばい事になっていそうだな
ノイズ除去とシャープ化しすぎで細部がどうなってるやら
630名無しさん@編集中:05/03/03 00:55:14 ID:oMc9cda4
>>628
readme.txtに書いてあったから、すでにやってみてるんだが、それでもダメ。同じ現象。
それに、interlacedはYV12の時だけ有効じゃなかったっけ?FearyDust使うからYUY2
で読み込んでるんだが。ちなみに実写ソース。インタレ解除はTomsMoComp。
631名無しさん@編集中:05/03/03 00:55:56 ID:oMc9cda4
↑ID変わってるけど627です。
632名無しさん@編集中:05/03/03 01:26:58 ID:cO+SnXXp
>>630
自分のはMPEG2dec3.allで読み込んでYV12toYUY2()でYUY2にして編集。
インタレ解除はIT。

ccのバージョンは2004/05/22

パラメータは説明書からコピペして
cc(y1=8,y2=8,c1=12,c2=112,interlaced=true,yc=2.,ylimit=true,climit=true)
のまま使ってる。

>interlacedはYV12の時だけ有効
そうでした。最初はYV12で使ってて、後からYUY2で使うようになったから
外すの忘れてた。
633名無しさん@編集中:05/03/03 02:05:04 ID:oMc9cda4
DEC2からDEC3でFearyDustはずしてcc(interlaced=true)にしてみたら、今度は画像が思いっきり乱れてる。
やはり、クロップの後にしたら正常に動作する。ccはインタレの前に置けとか書いてないから
インタレ、クロップ後でもいいのか?俺は一応cc()とcc(interlaced=true)と、そのreadme.txtの
やつを試してみたがどれも同じ。DeDotの場合はDEC2でインタレ前でも正常に動作するんだが。
DeDot、ccに比べたら少し遅いんだよなぁ。DeDot使えっていう暗示か?
634名無しさん@編集中:05/03/03 09:10:26 ID:FmX8RvrB
>>633
今試してみたけど、ウチは問題無く使える。

cc()最新でdec3dgでYV12読み。ITの前に持って来てる。ITの後に
カラースペース変換してDustかけてるけど・・・
635名無しさん@編集中:05/03/03 09:37:39 ID:TI8bcrhl
>>634
レスthx
どうもいじってみたら、LGhostをクロップ後に持ってくると、エラーが起こる。
クロップ前に持ってきたら、インタレ解除前でもcc()使えた。で、便乗で悪いんだが
LGhostって、インタレ解除やクロップより先に持ってくるものなの?
636名無しさん@編集中:05/03/03 09:41:50 ID:TI8bcrhl
cc()
TomsMoComp(1, 5, 0)
UVtimingH(4,0,false)
ColorMatrix()
FrameCache(9).LGhost(1, 4, 20, 1, -2, 20, 3, 7, 16, 4, 7, 8)
Crop(16, 6, -16, -6, true)
FaeryDust(2)
LanczosResize(640, 480)

とりあえず、実写720x480MPEG2ソースをDEC2で読み込み。
上のような順番でフィルタかけてるんだが。
637名無しさん@編集中:05/03/03 10:10:50 ID:FmX8RvrB
>>635
LGhostはDeenの後に持ってくるとおかしくなるけど
基本的にリサイズ前、インターレース解除後にかけてる。

それからcrop使わないでLanczosResizeでResizeとcropを
同時に行ってくれ。これでcrop絡みのミスは減ると思う。

LanczosResize(640,480,8,4,704,480)

こんな感じ。

ついでにccは作者様には悪いがどんなに弱く掛けても特定のシーンで
残像がバリバリ出るので使えん。a60224は動きが少ない処でミスるが
ソースによっては他の物よりいい結果が出るので多用させてもらってるが。

じゃ、そろそろ出かけるわ。
638名無しさん@編集中:05/03/03 10:11:46 ID:FmX8RvrB
>>637
>LGhostはDeenの後に持ってくるとおかしくなるけど

Deenの前の間違え
639名無しさん@編集中:05/03/03 11:47:29 ID:IH6ENz30
AssumeTFF()
SeparateFields()
hage=Trim(0,-5)
hoge=hage.Trim(4,-1)
hoge=hoge.LanczosResize(hoge.Width(), hoge.Height() * 2)
hoge=hoge.SeparateFields()
hoge=hoge.AssumeFPS(hage.Framerate())
hage=hage.Trim(0,-(hage.Framecount()-1))
hage = hage ++ hoge
hage ++ last.Trim(6,0)
Weave()

前後のシーンがかぶってるわ。ああいやだ。
そうだ前のフレームの縦を二倍にしてみよう。
そのときにLanczosResizeを使おう。
これで気分的に縦の解像度が単純二重化より上の気がする。
640名無しさん@編集中:05/03/03 19:08:57 ID:F0s9l087
スレが活性化してきましたな
641名無しさん@編集中:05/03/03 19:22:37 ID:RqOgoprK
そのレスはどこかで見た
642名無しさん@編集中:05/03/03 20:14:40 ID:Bywk0//m
漏れもCropの後にノイズフィルタかけてるんだがダメなのかな。
なんとなくサイズが小さくなった分、速度も上がってる気がするんだが。
cc以外のものって何使ってる?漏れは、thejam79のDeDot使ってるんだが、
GuavaCombもそこそこいい気もするが、イマイチ使い方がわからん。
英語がすらすら読めたらなぁ。
643名無しさん@編集中:05/03/03 20:52:03 ID:FmX8RvrB
>>642
>英語がすらすら読めたらなぁ。

なんとなく読めればあとはテストをすればいいだけ。

漏れはDeDotを副作用が気にならないくらいに薄くかけてUnDot
(or UnDot相当のフィルタ)をさらにかけてる。

ちなみにドット妨害低減以外のフィルタでも工夫次第でドット妨害を
目立たなく、あるいは消す事ができるフィルタもある。

3つくらい使ってるが一つはVagueDenoiser。輪郭のドット妨害が
うまくぼかされて綺麗になる時がある。

あと2つは強力なので出し惜しみしとくよ。1つのヒントは↑のフィルタ。 
644名無しさん@編集中:05/03/03 21:24:32 ID:1S6Tzcgd
VagueDenoiserか、漏れも今度試してみようかと思ったが、Waveletベースなのか。
たぶん重いんだろうな。漏れも実写はFearyDustのみだが、それでも平均4fpsしか
でないんだよな。そこにVagueDenoiser加えたら1fpsぐらいしかでなくなるんじゃ・・・。
645名無しさん@編集中:05/03/03 21:29:49 ID:FmX8RvrB
>>644
昔は重かったけど、大分前から軽いとはいえないがそんなに重くなくなったよ。
でも、最近のバージョンは必要以上にぼけやすいような気がする。

漏れが使ってるのはv0.29だわ。

Spatial系NRをがっつりかける人には向いてないかも。
(強くかけると古めのバージョンでもぼけぼけになる)
646名無しさん@編集中:05/03/03 21:48:13 ID:VSyzeKEn
TomsMoComp(-1, 5, 1)
でぼかしてます…

最近synth導入したヘタレからショボイ質問させて下さい
フィルタの順番て

先  3D系>(インタレ解除)>ぼかし&シャープ>クロップ>リサイズ>色調&階調補正  後

基本的にはこういうことでしょうか?
647名無しさん@編集中:05/03/03 21:49:19 ID:1S6Tzcgd
AviSynth Filter CollectionのVagueDenoiserのURL間違ってるぽ。エラーページになるし。
にーやんの方はLefungus氏のサイトなぜか載せてない。Doom9から探したら見つかったから
いいけど。にーやん氏、ここ見てたら下のURL追加ヨロ

VagueDenoiser
Lefungus (Lefungus)
http://perso.wanadoo.fr/reservoir/

ちなみに、AviSynth Filter Collectionのはv0.28だった。
648名無しさん@編集中:05/03/03 21:51:06 ID:1S6Tzcgd
h抜くの忘れてた。
649名無しさん@編集中:05/03/03 22:11:02 ID:FmX8RvrB
>>646
AviUtlだと時間軸系NRの事を3DNRって呼称するけど
Avisynthだと、Temporal(時間軸)系NR+Spatial(2D)系NR
のフィルタに3D〜って名前がついてる事が多い。

時間軸系NRとかTemporal系NRって言ってもらうとわかりやすい。

で、順番だけど、

インターレース解除前は、インターレース対応したフィルタならいいけど、
対応してない場合はフィールド分離する必要がある。

YC分離系→インターレース解除→Temporal系NR、Spatial系NR→色ずれ補正
→LanczosReSezeで同時にcropとResize→シャープ系→色調補正

って感じにかけてるけど・・・基本的にはどうだかシラン
650名無しさん@編集中:05/03/03 22:30:28 ID:1S6Tzcgd
VagueDenoiserってv0.29が最新じゃないのか。
v. 0.34.1てのが下記のURLにあるんだが、Fizick氏が作ってるのか?

ttp://bag.hotmail.ru/vague/vaguedenoiser.dhtml

>>646
YC分離→インタレ解除(逆テレシネ)→色タイミング補正(色ずれ補正)
→時間軸→2D→リサイズ→色調補正

の順だな。色タイミング(色ずれ)補正は、下のURLの記事参照にして
ノイズ処理の前にしてるんだが、順番変えてもそんなに違いはわからん

ttp://jumper-x.hp.infoseek.co.jp/begin/filter/6/
651名無しさん@編集中:05/03/03 22:38:42 ID:VSyzeKEn
>>649
レス感謝です

>インターレース解除前は、インターレース対応したフィルタならいいけど
てことは、最近ハヤリの(?)インタレXvidにする時は注意がいるのですね
気をつけます
652名無しさん@編集中:05/03/03 22:45:42 ID:VSyzeKEn
>>650
「インタレ解除」の後で「時間軸系」でも大丈夫でしたか
参考にして試してみます

synthはフィルタたくさんあって楽しいけどタイヘンです…
653 ◆NIiYaNiQWc :05/03/04 02:18:03 ID:9ueqR7nK
>>647
修正しました。

Wikiへデータを移した時に、リンク漏れしてしまったようです。
はっきり覚えていませんが、AviSynth Filter Collectionのと同じURLでチェックしていたのが原因かもしれません。

>>650
最新版は、Fizick氏ので合っているはずです。
Lefungus氏もKurosu氏も、最近はDoom9のForumで見かけませんから、開発をやめたのかもしれませんね。

こちらのリンクも抜けていたので、Wikiの方を修正しておきました。

みなさん、情報提供、感謝します。
654名無しさん@編集中:05/03/04 02:35:52 ID:DxJ0tGgq
>>653
おつかれさまです〜
655名無しさん@編集中:05/03/08 13:51:51 ID:mQwP8BJx
>>602
亀横レスだがMPEG2Dec2って2.0系だけだよな?
656名無しさん@編集中:05/03/08 15:04:05 ID:Qozsj5Eh
んなこたーない
657名無しさん@編集中:2005/03/24(木) 17:13:25 ID:y7EIDRq/
色空間変換ってそんなに気になることか?
658名無しさん@編集中:2005/03/24(木) 22:18:46 ID:Wl9lMjIj
>>657
精神的にかなり気になる。
659名無しさん@編集中:2005/03/25(金) 00:57:10 ID:1/X1/vWh
>>657
とりあえずここでも見とけ。参考程度にしかならんと思うけど
ttp://www10.plala.or.jp/p205tb16/
660名無しさん@編集中:皇紀2665/04/01(金) 19:11:32 ID:HjbdS4MK
奇数クロップしたくないからアス比少しずらすのと
アス比ずらしたくないから奇数クロップするか
661名無しさん@編集中:2005/04/07(木) 09:36:26 ID:cfbt7jmj
初心者スペシャル
####### Avisynth マスタースクリプト DVDリップ 字幕付き #######

####### Plugin 設定
PluginDir = "c:\Path\Avisynth Plugins\"

LoadPlugin(PluginDir + "DGDecode.dll")
LoadPlugin(PluginDir + "GreedyHMA.dll")
LoadPlugin(PluginDir + "ColorYUY2_for_25.dll")
LoadPlugin(PluginDir + "LoadPluginEX.dll")
LoadPlugin("C:\WINDOWS\system32\vobsub.dll")
####### ファイル入力
mpeg2source("d:\DGMPGDec 出力\XXXXXXX.d2v")
ConvertToYUY2()
####### リサイズ 及び クリッピング 及び ボーダー追加
BicubicResize(704,396)
AddBorders(0,42,0,42)
####### インターレース解除 及び 24fps化
GreedyHMA(1,0,5,0,0,1,0,0)
####### 輝度 及び 色調補正
Levels(0,1.4,255,0,255)
####### 字幕付け
Vobsub("D:\Vobsub\VTS_01_0")
662名無しさん@編集中:2005/04/07(木) 12:03:11 ID:ayZ7GTR5
なんでYUY2変換するの?
663名無しさん@編集中:2005/04/07(木) 12:07:50 ID:FiDmM1RQ
GreedyHMA がエラーはくから。
664名無しさん@編集中:2005/04/07(木) 13:46:34 ID:OOejhXzF

#include<stdio.h>
int main (void){
while(true){
printf("ゥ゙ォヶ\n");
}
return true;
}
665名無しさん@編集中:2005/04/08(金) 00:37:04 ID:acNXtY3Y
板違い
666名無しさん@編集中:2005/04/09(土) 11:28:45 ID:OncD7DpP
MPEG2Source("D:\a.d2v",cpu=6)
AssumeFrameBased().ComplementParity()
Convolution3D (0, 6, 12, 6, 8, 2.8, 0)
TomsMoComp(1, 5, 1)
IT(fps=30,ref="TOP",blend=false,diMode=1)
DeDot(30,30,10,5)
UnsharpMask(64, 3, 8)
crop(8,0,-8,0)
LanczosResize(640,480)

TVドラマ厨です。
輪郭くっきり好みなんですが、こんなんではどうでしょう?
667名無しさん@編集中:2005/04/09(土) 12:36:27 ID:q8WCdv13
いくらくっきりが好きといってもUnsharpMaskをそんなに強くかけたら擬似輪郭が出るんじゃない?
668名無しさん@編集中:2005/04/09(土) 13:58:01 ID:/plGumnD
MPEG2Source("D:\a.d2v",cpu=6)
DeDot(30,30,10,5)
AssumeFrameBased().ComplementParity()
AutoDeint("")
Convolution3D (0, 6, 12, 6, 8, 2.8, 0)
UnsharpMask(24, 2, 8)
LanczosResize(640,480,8,0,704,480)
669重複:2005/04/09(土) 15:17:54 ID:UE+VtM9f
インタレ解除はしない
670名無しさん@編集中:2005/04/09(土) 15:23:06 ID:jRbpMZ0A
ドット妨害除去はAssumeFrameBasedの後に置くべきかと。
671名無しさん@編集中:2005/04/10(日) 00:00:44 ID:NIhoo34T
レスありがとうございました。
随分画質が落ち着いたし、サイズも縮みました。
これでまた春ドラマのエンコが楽しみになりました。
もっと良いご意見がありましたら、追加でお教えください。
672名無しさん@編集中:2005/04/10(日) 13:42:49 ID:6l1+dtiT
FFT3Dがよさげなんだけど設定を詰めるのが難しい・・
auf.avsの書き方を教えてください。
673名無しさん@編集中:2005/04/10(日) 20:40:29 ID:Sru1MtmN
>>666
シャープなのが好みと言ってるのに縮小する意味がわからん
674名無しさん@編集中:2005/04/11(月) 00:44:45 ID:2p2mU5F7
>>673
縮小すれば線は細くなるんだから別におかしくはないんじゃない?
拡大すれば当然ボケるし。
解像感という意味を含てのシャープっていうなら縮小は避けるべきだけど。
675名無しさん@編集中:2005/04/11(月) 00:55:44 ID:r7IV4ogQ
何の話してるの? 縮小してるようには思えないけど?
676名無しさん@編集中:2005/04/11(月) 15:56:43 ID:i7oE8yT7
おっきいことはいいことだ
677名無しさん@編集中:2005/04/11(月) 21:51:42 ID:WSQarCZO
>>675
> 何の話してるの? 縮小してるようには思えないけど?

>>673の意見には賛成しないが、縮小はしてるでしょ。
678名無しさん@編集中:2005/04/12(火) 23:36:47 ID:1h5nChjD
環境: Pen4 2.8Ghz / メモリ 1GB / WinXP SP2
ツール: AviSynth2.5 / VDM 1.5.10.1
コーデック: Divx5.1.1 / QB4 / [Use Bidirectional Encoding]のみチェック入

LoadPlugin(PluginDir01 + "MPEG2DEC.dll")
LoadPlugin(PluginDir01 + "warpsharp.dll")
LoadPlugin(PluginDir02 + "LoadPluginEx.dll")
LoadPlugin(PluginDir01 + "Dustv5.dll")
MPEG2Source(SourceDir + "a.d2v")
AudioDub(last,WavSource(SourceDir + "a.wav"))
AssumeTFF()
crop(8,0,704,480)
trim(0,2003) ++ trim(3204,218954)
TomsMoComp(1,5,1)
IT(fps=30,ref="TOP")
PixieDust(5)
LanczosResize(640,480)
return last

ソースはエロDVDの2時間15分モノ

エンコすると処理速度2〜4fpsなんですが、この環境でPixieDust使えばこの位の速度なんでしょうか?

Kenkunは11fpsくらいでしたが、実写にはPixieがよさげで速度も速いと聞き使ってみた次第です
でも実際は、速度的にはKenkun > Pixieなんでしょうか?

んなわけないと思われた方は、せめて処理速度向上のヒントだけでもお願いしますm(_ _)m
679名無しさん@編集中:2005/04/12(火) 23:51:45 ID:rKBj3JMj
Dust系はWavelet並みに重いよ
それに実写でPixieかけるなんて普通ありえない
なんかTomsとIT両方やってるけど重くなるだけで無駄
そんなに速度重視したいならノイズ除去はしない方がいい
あと実写ならインタレエンコにしとけ
680名無しさん@編集中:2005/04/13(水) 00:24:28 ID:FzuFIE9x
なるほど 指摘ありがとうございましたm(_ _)m
681名無しさん@編集中:2005/04/13(水) 00:46:44 ID:oYJLcqTk
Dustを追加しただけで20fps→3fpsになることもあるなぁ
682名無しさん@編集中:2005/04/13(水) 04:32:52 ID:fdiB7Igv
IT で24fps化すると時間がかかるような気がするけど
ためしに GreedyHMA 使ってみたら2時間もののソースで IT より30分早かったんだけど
683名無しさん@編集中:2005/04/13(水) 06:30:13 ID:c1dOIWTb
>>682
あたりまえだよぅ〜
684名無しさん@編集中:2005/04/13(水) 13:25:37 ID:xUqveZAn
ttp://forum.doom9.org/showthread.php?s=&threadid=92478

FanFilterっていいのかな?
ビートノイズが入ってる環境なので写真のように低減されたら魅力的。
685名無しさん@編集中:2005/04/13(水) 19:01:03 ID:FO4xaWhk
インタレエンコしたいけどクロップできないのがイヤだな
686名無しさん@編集中:2005/04/14(木) 00:22:17 ID:1GkcY7Ql
>>685
普通にできるでしょ?
687名無しさん@編集中:2005/04/14(木) 01:21:38 ID:SOf5jXvR
奇数行でcropしたら、フィールドオーダーが逆転することに気をつけてれば問題はないね。
まあボトムフィールドファーストになったって別に構いはしないんだけど。
688685:2005/04/14(木) 18:48:42 ID:+EMK64HP
クロップじゃなくてリサイズできないって言いたかった
689謎電波:2005/04/14(木) 19:14:21 ID:FrcwGFi5
にーやん・・・ここにもあなたの加護を受けていない人がいます
690名無しさん@編集中:2005/04/14(木) 19:30:19 ID:+EMK64HP
加護より辻のほうが好きだな
691名無しさん@編集中:2005/04/14(木) 19:45:35 ID:zPuKDgI+
強めのNRで矢口を消した
692名無しさん@編集中:2005/04/14(木) 20:16:32 ID:kiwRnID7
アス比調整で加護をスリムアップ
693名無しさん@編集中:2005/04/14(木) 20:27:18 ID:+EMK64HP
今流行のドザペクトかw
694名無しさん@編集中:2005/04/15(金) 00:17:52 ID:Fjw9iaIF
モヲタはAvisynth使いが多いのか?
695名無しさん@編集中:2005/04/15(金) 01:32:53 ID:VNb87H6j
インタレ保持で作るからじゃね?
696名無しさん@編集中:2005/04/15(金) 11:02:57 ID:DVssXh1H
Avisynthを使うこととインタレ保持に何か関連性があるのだろうか・・・
697名無しさん@編集中:2005/04/15(金) 11:12:32 ID:RK1SsKBO
      |
      |
      J
698名無しさん@編集中:2005/04/15(金) 12:49:47 ID:yoJbvR/M
あえて言えば、Avisynth通すときはインタレ保持したまんまにするのに少し面倒だな。
699名無しさん@編集中:2005/04/15(金) 13:32:41 ID:/aqbfFxj
インタレ
700名無しさん@編集中:2005/04/15(金) 13:36:09 ID:yCDvouPk
メントレ
701名無しさん@編集中:2005/04/15(金) 20:02:37 ID:FvZ8u2pv
メンソレータム
702名無しさん@編集中:2005/04/16(土) 14:56:12 ID:WzzXkTe+
>>691
おまえそれってまるで矢口が強力なノイズだと言いたげじゃないか
703名無しさん@編集中:2005/04/16(土) 17:47:57 ID:tSAcckmo
矢口はすでに消えた
704名無しさん@編集中:2005/04/17(日) 14:41:18 ID:RdVLtM5i
FanFilter、使い方難しい。副作用でもやもやが出てしまう。
DeFreqもそうだったけどビートノイズ除去って難しいね。
705名無しさん@編集中:2005/04/18(月) 03:44:49 ID:ARJth6Md
茂木さんがだいぶ前に妄想してた逆位相ぶつけるタイプのビートノイズ除去
誰か作ってくれないかな。
706名無しさん@編集中:2005/04/18(月) 09:12:24 ID:rYf6RuyI
>>705
DeFreqがそうじゃないですか?
707名無しさん@編集中:2005/04/19(火) 01:47:30 ID:fiHkIofe
擬似vfrなavi作成支援

要 InsNull.exe (Reena!付属 これのパラメータ作成用です) / (Avi30a)

# 最初に記述
#
global NulTblFilename="G:\work\tmp.tbl" # 出力されるNulフレームテーブルのファイル名
global tgtfps=120 # 変換後のfps(120fps化するなら120)
global nultbl="" # ワーク用
#
# スクリプト例
#
PriF
S0=trim(673,1921).f24p #オープニング
S1=trim(1922,2371).f30p
S2=trim(2372,2502).f24p
S3=trim(2503,2638).f30p
S4=trim(2639,2739).f24p
S5=trim(2740,3037).f30p
S6=trim(3038,3372).f24p
S7=trim(5468,22969).f24 #Aパート
S8=trim(25668,45927).f24 #Bパート
S9=trim(45928,48627).f24 #エンディング
S10=trim(50573,51472).f24 #次回予告
(S0+S1+S2+S3+S4+S5+S6+S7+S8+S9+S10).PostF
#
# return 直前に "WriteTbl"
#
WriteTbl
return last
708名無しさん@編集中:2005/04/19(火) 01:47:54 ID:fiHkIofe
#
# fps変換前後を "intbl"と"adtbl"で挟んでおく
#
function f24(clip c)
{ c=c.intbl.Auto24FPS(true,24,0,"blend").adtbl
return c }
function f24p(clip c)
{ c=c.intbl.Decimate(cycle=5).adtbl
return c }
function f30p(clip c)
{ return c.intbl.adtbl.assumefps(2997,125,false) }
#
#
# 変換前のフレーム数を記憶しておく(だけ)
#
function intbl(clip c)
{ global nulwok=c.framecount
return c }
#
# Nulフレーム計算
# fps: 変換後のfpsを明示(29.97fpsを30で表記、省略するとクリップから読み取る)
#
function adtbl(clip c,float "fps")
{ fps=default(fps,c.Framerate*30/29.97)
m=float(tgtfps)/fps #変換係数
i=nulwok*tgtfps/30 #必要なnulフレーム数
j=c.framecount*m #そのまま変換した場合のフレーム数
ct1= (i==j)? c.framecount : c.framecount-1 #終端補正とか
ct2= (i==j)? 0 : i+m-j
str=string(ct1)+":"+string(int(ct1*m))
709名無しさん@編集中:2005/04/19(火) 01:48:14 ID:fiHkIofe
str=(ct2!=0)? str+",1:"+string(int(ct2)) : str
str=(frac(ct1*m)!=0)? string(c.framecount)+":"+string(i) : str #変則fps等は補正なし均等割り
global nultbl=(nultbl!="")? nultbl+","+str : str
return c
}
#
# ファイル書き出し
#
function WriteTbl(clip c)
{ return c.WriteFileStart(NulTblFilename,"nultbl")
}

スクリプトをVDMにかけると、Nulフレームテーブルファイル(例だと"G:\work\tmp.tbl")が出来る
上の例だと中身は
"998:4990,1:6,450:1800,103:515,1:9,136:544,79:395,1:9,298:1192,268:1340,14000:70000,1:8,16208:81040",2160:10800,720:3600"

エンコ後のaviファイル(たとえば"G:\work\tmp.avi")とNulフレームテーブルファイルを
InsNullにかけて擬似vfr.aviに変換する

InsNull.exe [変換前のファイル] [変換後のファイル] @[Nulフレームテーブルファイル] [ヘッダ倍率]

例: (コマンドプロンプトまたはバッチファイル等から)
"C:\Reena\InsNull.exe" "G:\work\tmp.avi" "G:\work\tmp120.avi" @"G:\work\tmp.tbl" 5

InsNullで変換するとヘッダが微妙に狂うので、細かいこと気にする人はAvi30aで修正しておく
(120fpsの場合、 83416,10000000 → 25,2997)

とりあえず思いついて作ってみたが、最近ほとんど.avi作ってないんで、あまり検証してません
バグがあったら(あると思う)スミマセン
710名無しさん@編集中:2005/04/19(火) 13:32:20 ID:gpmrK3JX
MKV用のTimecode出力ツールあるからその処理無駄くさいと思うが。
711名無しさん@編集中:2005/04/19(火) 21:08:00 ID:fiHkIofe
>>710
そんな物がありましたか… orz
( 出来れば詳細教えて下さい。洩れの検索能力では見つかりませんでした

最近作ってるのはほとんどmkvなんですが、ヌルフレームの方が扱い簡単なんで、
この考えでとりあえず作ってみて、うまい事いけば、タイムコードやチャプターの計算/出力まで
スクリプトに埋め込みできると思ったんですが…
712名無しさん@編集中:2005/04/19(火) 21:32:01 ID:dzhwtypI
713名無しさん@編集中:2005/04/19(火) 22:20:09 ID:fiHkIofe
???? ひょっとして、あじ氏のconverterの事ですか?
aviutl+asfを使えと言うご助言ですか? いたみいります
(converter群は優秀なツールだと思いますが、大元のvfr作成にどのように使用するか、ご教授下さい)
714名無しさん@編集中:2005/04/19(火) 22:46:07 ID:2Dh6JlQn
kiraru2002のとこのitsは使えないの?
Reena!とかdougaαの出力をカット&ペーストで利用できそうな気がするけど?
715名無しさん@編集中:2005/04/19(火) 23:31:46 ID:fiHkIofe
…… どうゆう判断基準で、どこからどこまでをカットして、
どこにペーストするのか、 そもそも何のためにカット&ペーストするのか、
洩れの知能では分かりませぬ ……
716名無しさん@編集中:2005/04/23(土) 05:29:39 ID:8fqk6tDu
レスが無いなぁ……
分割結合エンコか自動VFRで十分なのかな?

貼っちまった義務上、修正
/計算を切捨→6捨7入(格納fpsが30の公倍以外の精度用)
/1フレーム以下の時のヘマ

#
function adtbl(clip c,float "fps")
{ fps=default(fps,c.Framerate*30/29.97)
m=float(tgtfps)/fps # 変換係数
i=round(float(nulwok)*tgtfps/30-0.2) # 必要なnulフレーム数
j=c.framecount*m # そのまま変換した場合のフレーム数
ct1= (i==j)? c.framecount : c.framecount-1 # 終端補正とか
ct2= (i==j)? 0 : int(i+m-j)
str=string(ct1)+":"+string(int(m*ct1))
str=(ct2!=0)? str+",1:"+string(ct2) : str
str=(frac(ct1*m)!=0 || c.framecount==1)? string(c.framecount)+":"+string(i) : str
# 変則fps等は補正なし均等割り
global nultbl=(c.framecount==0)? nultbl
\ : (nultbl!="")? nultbl+","+str : str
return c
}
717名無しさん@編集中:2005/04/23(土) 05:30:26 ID:8fqk6tDu
#
# 24/30/60fps以外も使えるが、格納fpsによっては当然カクつく
# 20+24+30+48は144fps化がバランス良に思う
#
function f20(clip c,int "phase",string "method")
{ c=c.intbl
c=(defined(phase))? c.DoubleWeave.SelectEvery(3,phase)
\ : Eval("c."+default(method,"IT(fps=30,dimode=3)")+".Decimate(cycle=3)")
return c.adtbl.assumefps(2997,125,false)
}
function f48(clip c,int "phase",string "method")
{ c=c.intbl
c=Eval("c."+default(method,"TDeint(mode=1,tryweave=true)"))
c=Eval("c."+(defined(phase)?
\ "SelectEvery(5,"+select(phase,"1,2,3,4)","0,2,3,4)","0,1,3,4)","0,1,2,4)","0,1,2,3)")
\ : "Decimate(cycle=5)" ))
return c.adtbl.assumefps(2997,125,false)
}
function fAnyFps(clip c,float fps,string "method")
{ c=c.intbl
c=Eval("c."+default(method,"TDeint(mode=1,tryweave=true)"))
c=c.FDecimate(fps*29.97/30)
return c.adtbl.assumefps(2997,125,false)
}
718名無しさん@編集中:2005/04/23(土) 08:04:33 ID:Q5Vp5l/0
同じ方だと思うが、>>620-624のは、すごく参考にさせてもらってます
(自分でも理解がおよぶ部分だけパクって)。特に「24fps部分の終端補正」の部分は
目から鱗。ただ60pからんでくると、なんか妙なことになったりすることあるんで
結局分割してたりして…。将来的にはAVCとMP4でやりたいなあ、VFR。
719名無しさん@編集中:2005/04/23(土) 22:35:16 ID:8fqk6tDu
>>718 レスどうも
30→60fps変換では、フレーム数が単純に倍になるだけで、
補正はいらないハズですよ

以前書いてみたのは、

30fps NフレームをMfpsに変換した場合のあるべきフレーム数は
NxM/30 だが、フレーム数は整数にしかならないので、
小数点以下端数がでる場合は、切捨てか切り上げされてしまう
それを、vfr化した時に、最終フレームの時間調整をして、
再生する上では999.2フレームとか0.8フレームとかにしよう、
という考えだったんです(mkv用タイムコード計算はこれでやりやすいのですが)

avi用に使ったのはもっと単純に
@fps変換前の長さは 変換前のフレーム数x1/30
Afps変換後の長さは 変換後のフレーム数x変換後のfps
@-A+変換後の1フレーム分の長さ→最終フレームのとるべき長さ

関数化してスクリプト内に入れてしまえば、計算に必要なパラメータはクリップから
読み取ればよいので、切捨て/切り上げを確認する手間も省けた次第
720名無しさん@編集中:2005/04/24(日) 00:31:16 ID:1aHI6GsZ
>補正はいらないハズ
わざわざ、どうもありがとうございます。
書き方が紛らわしかったのですが、60pからむと妙なことというのは、終端補正のことではなく
s0+s1+…のとこで、60pパートが「framerateあってないよ」と「時々」synthに叱られることがあって
「必ず」エラー吐くなら、かえっていいんですが、大抵は23.976で統一されて普通に繋がるんで、?。
(assumefps()のとこがうまくいってないのかな…)
原因は自分が根本を理解してないことにあると思うので、精進します
…ってたぶん精進できないけどw
721名無しさん@編集中:2005/05/02(月) 21:57:45 ID:AZmefMCQ
この流れで質問しづらいけど、
インタレ保持で、DustかConvolution3D使っているのですが、
Dustは激重だし、Convolution3Dは少々ぼやける感じで・・・
みなさんは何をお使いですか?
722名無しさん@編集中:2005/05/03(火) 00:31:55 ID:fgOkk4ug
FluxSmoothST
723名無しさん@編集中:2005/05/03(火) 01:28:27 ID:shsBXWJT
>>721
インタレ保持の方法は抜きにして、Dustとか使ってるということは実写かな。
最近のやつではRemoveGrain(スクリプト関数になったほう)がよさげ。
これは個人の画質(絵柄)の好みにもよるが、設定次第ではConvolution3D
とかよりも早くて好みの画質になることもある。と言っても、そんなにいろいろな
フィルタを試したわけじゃない俺が言う意見だから参考までにという事で。
724名無しさん@編集中:2005/05/03(火) 02:43:02 ID:3dnXyXh3
>>721
Dust一筋
725名無しさん@編集中:2005/05/03(火) 03:32:08 ID:izFyqbSg
TTempSmooth
TTempSmoothF
726名無しさん@編集中:2005/05/03(火) 04:57:55 ID:l2sDfq8i
>>721
実写はdust(2〜3)
しかし重くてたまらん
どういうアルゴリズムやら
727名無しさん@編集中:2005/05/03(火) 07:30:45 ID:Fzcz2IId
P4-2.4GHzだとソース(huffyuv)→中間ファイル(YUY2無圧縮)がFaeryDustで約8倍。
CCE-basicが2倍速2passで1倍。計9倍。
ソースが30分や1時間なら寝てる間・仕事に行ってる間に終わるからまぁいいかと諦めてる。
728名無しさん@編集中:2005/05/03(火) 07:42:05 ID:YWXcyqln
>>721
LRemoveDustなんてどうよ?
729721:2005/05/03(火) 14:03:44 ID:Gd0FFG4H
色々ありがとうございます。
とりあえず、RemoveGrainとFluxSmoothTを実写インタレ保持テストしてみました。
RemoveGrainですがおっしゃるとおり、激早でした。
画質もRemoveGrain(2) ぐらいが標準でなかなかいい感じで、
強めのConvolution3Dぐらいの容量に収まりました。

RemoveGrainを通すとインタレ網が少なくなる?ようです。
だから、結構くっきりしてるのに縮むのかな??

色々テストしてみます。
730名無しさん@編集中:2005/05/03(火) 17:59:45 ID:YWXcyqln
インタレ縞が減るってフィールド崩れてるんじゃないの?
731名無しさん@編集中:2005/05/03(火) 20:57:29 ID:jn6zpZ5R
フィールド分離して、それぞれのフィールドにフィルタすれば良いじゃん。
これdustの常套手段だったはずだし。
732名無しさん@編集中:2005/05/08(日) 05:02:32 ID:7Al7uvWl
video = mpeg2source("〜.d2v")
audio = MPASource("〜 -66ms.mpa", normalize=false)
DelayAudio(audio,-0.066)
AudioDub(video, audio)

AssumeFrameBased().ComplementParity()
Import("E:\avs\myFunctions.avs")
iDustB("FaeryDust", 1〜3, "YUY2", "kernelbob(order=1)")
#iFilterT("""removegrain(2)""")
Crop(8,0,704,480)
#LanczosResize(544,480)
AddRange("〜.vcf")

インタレエンコです。
みなさんはどんな感じで書いてますか?

733名無しさん@編集中:2005/05/08(日) 07:40:31 ID:Z3Cko/zr
長すぎるから貼らないがだいたい同じ
違いはAssumeTFF使ってるくらいか
734名無しさん@編集中:2005/05/08(日) 14:37:22 ID:bi7ivz0j
MPEG2DEC_MPEG2Source("〜.d2v")
AssumeFrameBased().ComplementParity()
TomsMoComp(1, 5, 0)
Crop(8, 0, -8, -0)
LanczosResize(640, 480)
735名無しさん@編集中:2005/05/08(日) 14:58:05 ID:bFXCoQUr
>>732
Import("E:\avs\myFunctions.avs") ##### 途中に書くと紛らわしいので先頭か末尾のどっちかに書く

video = mpeg2source("〜.d2v")
audio = MPASource("〜 -66ms.mpa", normalize=false).DelayAudio(-0.066)
AudioDub(video, audio)

AssumeFrameBased().ComplementParity()
AddRange("〜.vcf") ######## Addrange , Cropはフィルタ処理の前に置いた方
Crop(8,0,704,480) ######## 無駄な処理をしなくてよいので早く終わる

iDustB("FaeryDust", 1〜3, "YUY2", "kernelbob(order=1)")
#iFilterT("""removegrain(2)""")
#LanczosResize(544,480)
return last ##### 一応付けといた方がよい
736名無しさん@編集中:2005/05/09(月) 00:17:18 ID:a82jqysa
MPEG2Source("xxx.d2v")
AudioDub(last,WavSource("xxx LPCM T01 48KHz.wav"))
YV12toYUY2
AssumeTFF()

DeDot(20,20,15,5)
DeCross(30,60,1,false)
InterlacedFluxSmoothST(7,7)
ConvertToYV12(interlaced=true)
return last

function InterlacedFluxSmoothST(clip clip,int s,int t) {
clip = clip.SeparateFields()
Top = clip.SelectEven().FluxSmoothST(s,t)
Bottom = clip.SelectOdd().FluxSmoothST(s,t)
clip = Interleave(Top,Bottom)
clip = clip.Weave()
return clip
}
737名無しさん@編集中:2005/05/09(月) 07:34:41 ID:ToTzOuJJ
ペグファイルのデコードはMPEG2DEC派が多いな。
まるもが寂しがってるぞ。
738名無しさん@編集中:2005/05/09(月) 07:54:20 ID:FeFBsNOX
>>735
ツッコミサンクスす。
他にインタレエンコの書き方あったら教えて欲しいです。
739名無しさん@編集中:2005/05/14(土) 22:19:12 ID:EPMXdkZp
iDustBってプラグイン探したけど見つからなかった。
皆さん、インタレ保持エンコの際はLanczosResize使ってないみたいだけど
使わない方がいいのかな?
740名無しさん@編集中:2005/05/14(土) 22:52:04 ID:+bGiandF
>>739
縦方向を変化させなきゃ問題ないと思うよ。でもbilinearと変わらないことになりそうだけど。
741名無しさん@編集中:2005/05/14(土) 22:53:47 ID:YMiIQZ4R
742名無しさん@編集中:2005/05/14(土) 23:42:19 ID:EPMXdkZp
>>740
LanczosResizeはインタレ対応なのですね。ありがとうございます。
インタレエンコしたら壊れてた・・・LanczosResizeが原因かと思ってたんだけどWNRが原因かな?
何がインタレ対応なのか1個ずつ使ってみないとわかりません。

>>741
自作関数って奴ですか。凄い技術ですね。
743名無しさん@編集中:2005/05/14(土) 23:50:45 ID:HxSEAjj1
精進してくれ
744名無しさん@編集中:2005/05/15(日) 03:47:29 ID:9SK80kQ9
>>742
凄い技術ですね。にワロタ。あと743の優しさにも感動したw。
何がインタレ対応かはドキュメント読めば書いてあるよ。interlaced=true/falseとかのオプションがあれば
そこをtrueにするだけ。それがないのはたいていプログレッシブの入力を予定してる。

あのね。インタレって簡単にいえば、縦に奇数番目と偶数番目のラインに「本来は別の画」がおりこまれてる
だけなの。だから縦方向に画素を混ぜるようなやつは上に書いたようなオプションがなければ壊れるし、
逆に縦にさえ混ぜなければ(横方向のみとか時間軸=前後のフレームのみとか)「インタレ対応」と書いて無くても
大丈夫。

で、「インタレースのまま」リサイズしたいなら上のレスのFluxSmoothの例にあるように
function InterlacedLanczosResize(clip i,int new_x,int new_y) {
i = i.SeparateFields()
top = i.SelectEven().LanczosResize(new_x, new_y/2)
btm = i.SelectOdd().LanczosResize(new_x, new_y/2)
return Weave(Interleave(top,btm))
}
とでもやればよし。まあ、こんなんしてリサイズした画をインタレ「保持」というかは個人的に疑問だけど。
用途はDVD規格に吐きたい時くらいか?
745739:2005/05/15(日) 09:27:46 ID:QSThksvG
>>744
精進します。サンクスです。
746名無しさん@編集中:2005/06/04(土) 18:28:34 ID:AmCv3z4V
にーやん氏のところのShift_Fieldを簡略化してみますた。
よく考えればParity情報が正しければこれだけでいいんだな、と思って。

function InvertFieldOrder(clip c)
{
ParityC = GetParity(c)
c = c.SeparateFields
DominantF = c.SelectEven
SlaveF = c.SelectOdd
DominantF = DominantF.DeleteFrame(0)
c = Interleave(DominantF,SlaveF).Weave
return ParityC ? c : c.ComplementParity
}

フィールドオーダーが正しく設定されてないと変なクリップを合成します。
(AviSourceで呼び出している場合は注意が必要?)
フィールドオーダーが異なるソースを連結するときとかに使えます。
普段は全く用途がないです。
747名無しさん@編集中:2005/06/04(土) 21:42:19 ID:2Ouemh/N
c=c.SeparateFields.SelectEvery(2, 1,0).Weave
一行で済むのでわ?
748名無しさん@編集中:2005/06/04(土) 21:51:07 ID:2Ouemh/N
ゴメン
c=c.SeparateFields.SelectEvery(2, 1,2).Weave
749名無しさん@編集中:2005/06/05(日) 01:07:36 ID:6QEwmFp2
ホントだ、Parity情報もキチンとひっくり返ってる・・・ orz
フィールドの情報って結構頑丈に保持されてるんですね・・
750名無しさん@編集中:2005/06/05(日) 01:55:35 ID:+zUPKZpq
フィールド情報を取り扱うフィルタはどれもきちんとパリティ管理されている。

Trim
  bool Trim::GetParity(int n)
  {
    return child->GetParity(n+firstframe);
  }
interleave
  inline bool __stdcall GetParity(int n)
    { return child_array[n % num_children]->GetParity(n / num_children); }
SelectEvery
  inline bool __stdcall GetParity(int n)
    { return child->GetParity(n*every+from); }
SelectRangeEvery
  bool __stdcall SelectRangeEvery::GetParity(int n){
    return child->GetParity((n/length)*every+(n%length)); }
751名無しさん@編集中:2005/06/05(日) 02:00:21 ID:+zUPKZpq
AddRange
  bool __stdcall AddRange::GetParity(int n)
  {
    int i = 0;
    while( n >= AddRangeData[i].end) { i++; }
    if(i) {
      if(!AddRangeData[i].MaskedFlag)  n += AddRangeData[i].startframe - AddRangeData[i-1].end;
      else                     n = AddRangeData[i-1].end - 1;
    }
    else {
      if(!AddRangeData[i].MaskedFlag)  n += AddRangeData[i].startframe;
      else                     n = AddRangeData[i].startframe;
    }
    return child->GetParity(n);
  }
752名無しさん@編集中:2005/06/05(日) 18:16:12 ID:5V9UyYuA
ショボいの貼ってくれってコトだったんで。
LoadPlugin("MPEG2Dec3.dll")
LoadPlugin("AlignFieldsS.dll")
LoadPlugin("VSFilter.dll")
Video = BicubicResize(AlignFields(YV12toYUY2(MPEG2Source("hoge.d2v"))),720,406)
Audio = WavSource("hoge.wav")
AudioDub(Video,Audio)
VobSub("hoge")
753名無しさん@編集中:2005/06/06(月) 00:52:57 ID:kZpaOt8+
>>752
AlignFieldsSって何?
754名無しさん@編集中:2005/06/06(月) 09:01:19 ID:9C+4jA/7
msvcr70.dllが必要のないようにスタティックリンクしたもの。
msvcr70.dllが入ってる環境では無駄にファイルサイズが大きいだけのもの。
755名無しさん@編集中:2005/06/07(火) 21:17:14 ID:RcCnVeh5
Plugins = "〜\AviSynth2.5\plugins\"
LoadPlugin(Plugins + "warpsharp.dll")
LoadPlugin(Plugins + "DGDecode.dll")
MPEG2Source("enc.d2v", idct=2, cpu=6, iPP=true)
YV12toYUY2()

LoadPlugin(Plugins + "cc.dll")
FrameCache(6).cc(y1=16, y2=80, c1=16, c2=118, yc=12, ylimit=false, climit=false)

LoadPlugin(Plugins + "IT.dll")
LoadPlugin(Plugins + "IVTC.dll")
FrameCache(6).UVTimingH(2, -1)
IT(fps=30, ref="TOP", blend=false)
Decimate(5, 16, 300)

LoadPlugin(Plugins + "SimpleResize.dll")
Crop(4, 0, -12, 0)
SimpleResize(640, 480)

LoadPlugin(Plugins + "convolution3d.dll")
FrameCache(6).Convolution3d(preset="animeHQ")

return last

Avisynth使い始めて2週間程です。いまいち何がいいのかとか分かってません。
画質より速度重視でしてます。24/30混合アニメ用。実写はDecimate(5, 16, 300)を抜いて使いまわし。
AthXP2000+定格で24分ソース1時間30分ちょい。
756名無しさん@編集中:2005/06/07(火) 21:47:04 ID:8mDfWUQo
プラグインフォルダに置いているならLoadPluginを全て削除してくれ
あとFrameCacheは必要か?
757名無しさん@編集中:2005/06/07(火) 22:13:58 ID:RcCnVeh5
>>756
フルパス記述しないとVDModがエラー出すので書いてます。
フレームキャッシュ入れても遅くなりはしないのでおまじない的に使ってます
758名無しさん@編集中:2005/06/07(火) 22:20:51 ID:8mDfWUQo
あっそ。
つまり1行目のパスはだましなのか?
759名無しさん@編集中:2005/06/07(火) 23:40:27 ID:RcCnVeh5
たぶんavisynthインストミスってるんだろうけど面倒なので
インストし直すよりスクリプト少々追加するだけで済むならと…('A`)
760名無しさん@編集中:2005/06/08(水) 11:13:20 ID:hzQyxYd6
LoadPluginは上にまとめて書いたほうが見やすくないか?
その都度読み込む方が気に入ってるなら別に構わんが
761名無しさん@編集中:2005/06/08(水) 11:23:20 ID:C9F/EckW
756はオートロードの事を言ってるんだろうが、話がかみ合っていないのがオツ
762名無しさん@編集中:2005/06/08(水) 21:03:57 ID:g9ehlpwP
>>755
画質より速度重視と言ってるのに、YUY2で処理する理由は?
763名無しさん@編集中:2005/06/09(木) 00:48:18 ID:7dDs8SKr
>>757
例えば
s1=Trim(233,344).framecache(9).auto24fps()

s40=Trim(23456,34567).framecache(9).auto24fps()
s1++…s40
のようにたくさん分割して、後で結合するような記述があるとき
フレームキャッシュを入れると私の環境では
フレーム情報がおかしくなって、エンコード時に
Iフレーム情報が正常に記録されない場合がありました。
ですので、フレームキャッシュは入れないほうが無難な気がします。
764名無しさん@編集中:2005/06/09(木) 00:52:37 ID:9aAfWdUq
(´・ω・`)プラグインオートローディングがされませんのです。
>>762
いつYV12とYUY2の変換していいのかワカラナサス

>>763
(´・ω・`)CMカット済みソース使ってます
765名無しさん@編集中:2005/06/09(木) 00:53:25 ID:rNkU5Mbl
フレームキャッシュは逆にキャッシュを制限するときに使ったら?
framecache(1)とかで。
766名無しさん@編集中:2005/06/09(木) 01:23:45 ID:V4o96sle
とりあえずConvolution3DをYV12対応版に変えれば後は全部YV12で通せると思うよ。
つかなんでSimpleResize?
767名無しさん@編集中:2005/06/09(木) 01:38:52 ID:rNkU5Mbl
別にいいんじゃない?
説明みたら、2-tap linear interpolationで、最大の特長が
It's main advantage is that it will run somewhat faster than some of the others
だということだし。

俺としては、WarpedResize/InterlacedResize/InterlacedWarpedResize
の方に興味あるなあ。
768名無しさん@編集中:2005/06/09(木) 02:44:44 ID:ooRVXxHG
確かに「画質より速度重視」って基準が決まってるとつっこみどころは限られてくるよな。

ああそんで
>>764
762のつっこみから分かると思うけど、基本的にYUY2で処理するよりYV12で処理する方が
速いんだす。でもってMPEG2Sourceから出てくるのはYV12なんだす。
となると、
・YV12でたくさんフィルタをかけると色が劣化するから嫌なんじゃボケ、という御仁
・「画質向上のために」どうしても使いたいフィルタがYUY2専用という状況
しかYUY2にする必要はないんだす。で、Convolution3DはYV12版もあるから大丈夫。
というわけでYV12のままがおすすめ。
あとは、後でエンコーダにYUY2で渡す必要があるとき、スクリプトの最後に
ConvertToYuy2を入れることはよくあるかな。
769名無しさん@編集中:2005/06/09(木) 03:36:59 ID:+hNneVSf
速度重視ならConvolution3dよりもBlurを弱めにかけるだけでもいいんじゃないだろうか
770名無しさん@編集中:2005/06/09(木) 12:19:42 ID:SFAJCkyy
速度重視なら、idct=6, cpu=0, fastMC=trueではなかろうか?
あとccとか要るのかなあ?
YV12で通すのなら、convolution3dyv12とITもyv12対応版がいる
TMPGEncを使うの止めるなら最後にConvertToYUY2も追加しなくてよい
771名無しさん@編集中:2005/06/09(木) 15:12:49 ID:Mp4Hvsu2
c3dのyv12版はyuy2版に比べるといまいちな気がする
yv12ならhqdn3dも試してみてほしい
772名無しさん@編集中:2005/06/09(木) 23:00:30 ID:9aAfWdUq
>>768
今までで一番分かりやすいレスでしたthx

地上波アナログのMPEG2ソースなのでNR入れてます。
おまけにドット妨害とクロスカラーも酷いのでUnDotとDeDotも使ってましたが
時間軸でほとんど取れない感じだったので結局cc使ってます。
うちのソースではダメでしたがUnDotは早くてそれなりに低減されてたので結構よかったと思います。

Convolution3dのYV12版探してきてそこだけYV12で処理してみたら、
今までのYUY2で90分〜100分程だったのが60分〜70分程度にまで早くなりました。
個人的にはXP2000+でここまで早くなるとは思っていなかったので(今までaviutlで2時間以上)
結構満足してます。
そんな40分そこらでエンコしたいとか、そんな所までは思っていないし、いろいろ設定変えて
比較するのも面倒なのでこれくらいで妥協してみるのが良さそうかなと思いました。
773名無しさん@編集中:2005/06/10(金) 00:47:59 ID:y15yspUS
>>772
んじゃ久しぶりにマジレスで

速度重視って事なら先に左右のクロップ済ませるべき
YV12でスルーするならConvolution3Dよりもhqdn3dの方が性能がよくノイズはよく取れる
速度が早いConvolution3DのYV12版だが、何か処理手抜きしてるんでノイズ除去性能は悪い

クロスカラーにはdecross、ドット妨害にはdedotと併用または使い分ける
ccは時間軸で混ぜるために残像がよく出たり、酷いとインターレース壊す

あとITのmode3で24fps化解除し解除残りはauto24fpsでブレンド処理するのが意外と早く綺麗だったりもする

無駄なフレームキャッシュは余計な時間が増えるだけになるので必要最低限にすること
774名無しさん@編集中:2005/06/10(金) 02:00:07 ID:4InrrU8k
IT(dimode=3)は前方参照する分誤爆率倍になる
フィールドオーダー正常ならdimode=2
IT.Auto24fpsでは解除残しはキレイにはならない
Auto24fps.ITではITがAuto24のブログレを壊す
併用はあまりよろしくない
775名無しさん@編集中:2005/06/10(金) 02:03:11 ID:4InrrU8k
↑フィールドオーダー正常ならdimode=1 の間違い
776名無しさん@編集中:2005/06/10(金) 02:13:31 ID:Ov5ccD3Y
ttp://www.uploda.org/file/uporg122848.avi.html
うちの酷い?ドット妨害…以前ドット妨害低減無しでエンコしたのから切り出で。

NRはconvolution3d以外もちょっとは使ってみたいと思います。
YV12版の方はTemporal influence currently disabled.と書かれてますから
2DNRという事なのでは、、、と

avisynthでの24/30混合の処理をどんな風に処理すればいいのか
aviutlから移行したばっかりではほとんど分からなかったので
最初はIT+Auto24fps使ってたのですが、どーしてもカクカクになってしまうのが
気になって今のDecimateでそれなりに満足してます(´・ω・`)
777名無しさん@編集中:2005/06/10(金) 06:18:21 ID:XyJ88TjQ
# 再生速度の変更
# ChangeSpeed(速度倍率)
function ChangeSpeed(clip clip, float speed)
{
Assert(!(speed <= 0.0), "ChangeSpeed : Error")
rate = HasAudio(clip) ? Audiorate(clip):1
f = Float(rate) / speed
p = Ceil (Log( f*1073741824.0 ) / Log(2) ) - 30 # 2^30
Assert(!(p > 30), "ChangeSpeed : Error")
p = (p < 0) ? 0:(30-p)
denominator = Pow(2, p)
HasAudio(clip) ? ResampleAudio(clip, Round( f * denominator ), Int(denominator) ):clip
HasAudio() ? AssumeSampleRate(rate):last

fps = HasVideo() ? Framerate():0.0
HasVideo() ? ChangeFPS(fps / speed):last
return HasVideo() ? AssumeFPS(fps):last
}

使用例
ChangeSpeed(3.5)    # 3.5倍速
ChangeSpeed(2)     # 2倍速
ChangeSpeed(1.0/2.0) # 半分の速度
ChangeSpeed(1.0/3.0) # 1/3の速度

勢いで作ってしまいましたが、同じ物が既にありましたっけ?
778名無しさん@編集中:2005/07/13(水) 03:58:16 ID:JLdXURX9
音でめんどくさいことやってるけど、TimeStretchじゃだめなん?
779名無しさん@編集中:2005/07/13(水) 09:58:34 ID:k1CEYlEH
>>778 ソ連の鉛筆
780名無しさん@編集中:2005/07/13(水) 12:23:22 ID:5FwUnQSC
781名無しさん@編集中:2005/07/13(水) 13:36:27 ID:PGbpmOZO
もうすぐこのスレも三年目か
782名無しさん@編集中:2005/07/14(木) 23:50:18 ID:ruUvrqHQ
ぐぐったら、こういうジョークがあった。

「アメリカ人が宇宙に行ったとき重力、気圧の関係でボールペンが使えなかった
 そこでNASAを中心として、アメリカの最先端の技術を結集して宇宙で使えるボールペンを開発したんだって。
 一方旧ソ連の宇宙船では鉛筆が使われていた。」

>>779の言っている意味がわかった気がする。
783名無しさん@編集中:2005/07/15(金) 12:36:42 ID:gO/Ej3G6
そういえばそのころ、そのボールペンが欲しかったなぁ〜
寝転がっても書けるから
784777:2005/07/15(金) 19:44:24 ID:exHFLZEx
>>778
気付きませんでした、TimeStretchのtempoではなくrateを使えば同じ処理ができたんですね。
レス感謝です。
785名無しさん@編集中:2005/08/07(日) 12:03:29 ID:2Ho7LAQc
ネタがないからsynthのじゃなくてもいい?(ショボイことは間違いないよ)

Reena!の.task → .avs(範囲指定のみtrim形式に変換) awkスクリプト
CvReAvs.awk
BEGIN{ sc=1; tc=0
}
NR==1{ if ($0!~/^Reena! Task/) exit(255)
}
/^;/{ sc++; continue
}
sc==2{ gsub(/[ :\-\[\]]+/," ",$0);
printf("S%i=trim(%i,%i).f%i\n",tc++,$1,$2,$6)
}
END{ for(i=0;i<tc;i++) printf("%sS%i",i ? "+":"#\nS=",i);
print
}
使い方は↓のような.batのショートカットをデスクトップに置いて.taskをドロップ
if not exist %1 goto :end
C:\bin\gawk.exe -f C:\lib\CvReAvs.awk %1 1> "%~dpn1.avs"
:end

こっちはInsNull形式の.tbl → timecode.txt 変換
BEGIN{ RS=","; FS=":"; fn=0;
print "# timecode format v1";
print "assume 23.976";
}
{ s=sprintf("%i,%i,%f",fn,(fn+=$1)-1,$1/$2*119.88);
if(s!~/23\.9760*$/) print s;
}
786名無しさん@編集中:2005/08/09(火) 00:46:15 ID:zW/KNItb
ついでに .tbl → chapter.txt変換(trimした所に取りあえず全部チャプター)
BEGIN{ RS=","; FS=":"; cc=1; fc=0
}
$1>1{ s=fc/119.88;
h=int(s/3600); m=int((s-=h*3600)/60); s-=m*60;
printf("CHAPTER%02i=%02i:%02i:%06.3f\n",cc,h,m,s);
printf("CHAPTER%02iNAME= \n",cc++) #←全角スペース
}
{ fc+=$2
}
timecode変換とまとめて.bat
if not exist "%1" goto :end
C:\bin\gawk.exe -f C:\lib\CvTblTC.awk %1 1> "%~dpn1_t.txt"
C:\bin\gawk.exe -f C:\lib\CvTblCH.awk %1 1> "%~dpn1_c.txt"
:end
787名無しさん@編集中:2005/08/17(水) 19:50:02 ID:7lFcQZR1
ショボイのがなかなかないもんで・・・貼れない;;
788名無しさん@編集中:2005/08/17(水) 21:41:07 ID:ZBK4P6B7
ひさしぶりにまにある見たら、今どきのawkはそんなにユルくはないらすい
2.15で動いてるからまぁいっか。

timecode.txt(v1) → .tbl変換
でもassumeで省略だと最後がわかりまへんので
"# all xxxxx"
↑とどこかに総フレーム数を書いておいてくらはい
BEGIN{ IGNORECASE=1
}
/^# +all +[0-9]+/{ al=$3
}
f&&!/^#/&&gsub(/\,/," ")==2{
pout($1-fc,as); pout((fc=$2+1)-$1,$3)
}
/^ *assume +[0-9.]+/{ as=$2; f=1
}
END{ if(f) pout(al-fc,as)
}
func pout(n,fps)
{ if(n>0){ printf("%s%i:%i",pf?",":"",n,n/fps*119.88+0.5); pf=1
}}

.tbl → timecode.txt 改
BEGIN{ RS=","; FS=":"
print "# timecode format v1";
print "assume 23.976"
}
{ s=sprintf("%i,%i,%.9f",fn,(fn+=$1)-1,$1/$2*119.88);
sub(/0+$/,"",s); if(s!~/23\.976$/) print s
}
END{ print "# all\x20" fn
}
789名無しさん@編集中:2005/08/29(月) 21:04:41 ID:g86Td9+q
実写には、インタレ解除、NR系はよくないということを、この頃知った・・・
790名無しさん@編集中:2005/08/29(月) 21:22:10 ID:n/B8MUTH
実写というのがアニメに対応する言葉として使われてるとして
NRはともかくインタレ解除は時と場合によるだろ
791名無しさん@編集中:2005/08/29(月) 21:48:06 ID:5T9dhntM
実写にも色々あるが60i物をインタレ解除するのは賢くないな
792名無しさん@編集中:2005/08/29(月) 22:49:09 ID:nAswVjrM
だが、2時間ものになるとサイズが半端じゃない。
さらにHDだと・・・
793789:2005/08/30(火) 01:26:57 ID:9Jp5G5rZ
言葉足らずでした
実写60iはインタレ解除しないほうが綺麗でした。
NRてんこ盛り、インタレ解除してサイズ縮めるより、
ビットレートを下げる方向のほうが、自然で綺麗に感じる。
実写元24fpsは解除すべきか未だに迷う…色々試したけど、
avisynthでは限界を感じています。
794名無しさん@編集中:2005/08/30(火) 01:41:28 ID:HVhEXHce
俺は実写でもインタレ解除する。
静止画(コマ送り)でみると汚くなるけど、
動画としてみるならインタレ解除したほうが見やすい
795名無しさん@編集中:2005/08/30(火) 01:50:07 ID:cNpu9osI
まあ、アニヲタは死ねってことですな。
796名無しさん@編集中:2005/09/01(木) 23:21:56 ID:sn5KzRoW
>>794
逆ならわかる気もするけど・・・
797名無しさん@編集中:2005/09/25(日) 09:54:11 ID:qDh+eT9h
masktools.dllを使ってエッジを検出して
エッジ部分にのみUnsharpmaskをかけるには
どのようにスクリプトを書けばよいでしょうか。
798名無しさん@編集中:2005/10/01(土) 12:43:14 ID:BWTZMBsy
age
799名無しさん@編集中:2005/10/01(土) 20:07:54 ID:Y0LvytR5
答えられるか?

3人で一泊3万円の部屋に泊まることになった。
前払いで3万円を払ったが、後で主人が2万円の部屋に
案内してしまったことに気づいた。そこでバイトに1万円を
持たせて返してくるように言いつけた。ところがこのバイト、
7千円を自分のポケットに入れて、3千円をお釣りとして
返してしまった。
3千円のお釣りが帰ってきたので、払った宿代は27000円
バイトが盗んだお金は7000円
合計すると27000円+7000円=34000円

最初に払ったお金は3万円なのだが、余った4千円は
どこから生まれてきたのでしょう?


800名無しさん@編集中:2005/10/01(土) 21:01:30 ID:3xixeYH0
>>799
30,000=27,000+3,000
30,000=20,000+3,000+7,000
27,000=30,000-3,000
7,000=30,000-20,000-3,000
3,000=30,000-20,000-7,000

客は27,000しか払ってない。
バイトは7,000しか取ってない。
宿は20,000しかもらってない。
801名無しさん@編集中:2005/10/01(土) 21:13:34 ID:x9D9DaMO
20,000 = 27,000 - 7,000
ってのも書けよ。
でも、きっとこの問題の本質は別のところにあるんだろうな。
802名無しさん@編集中:2005/10/01(土) 21:57:59 ID:3xixeYH0
客は27,000しか払ってないんだから、それ以上にお金が増える
はずがない。払った側の金額と受け取った側の金額を足して
いるんだから払った金額以上の額(34,000円)になるのは当然。
803名無しさん@編集中:2005/10/01(土) 23:05:02 ID:L36wuQ9R
>>801
この問題の本質がわからないんだよ。
804名無しさん@編集中:2005/10/02(日) 09:05:12 ID:OqGW9KD4
客が3人いました 宿代は30ドルだったので
ひとり10ドルづつ出しました
しかし宿屋の店主が25ドルにまけてやろうと思い
ボーイに5ドル客に返すよういいました
しかしポーイは2ドルくすねて 3ドルしか返しませんでした
そうすると ひとり9ドルだしたことになり
9×3=27ドル これにボーイの2ドルを足すと29ドル
残りの1ドルはどこに消えたのでしょう?
805名無しさん@編集中:2005/10/02(日) 09:25:39 ID:Qzc/uONf
おい、おまえら
ここはショボイAvisynthスクリプトを貼るスレであって
おまえらのショボイ脳みそを晒す場所じゃないんだよ
806名無しさん@編集中:2005/10/02(日) 10:20:20 ID:PrLzQX79
確かにショボイな。
807名無しさん@編集中:2005/10/02(日) 13:16:39 ID:CMJ1VNKN
mkj!
808名無しさん@編集中:2005/10/02(日) 16:50:12 ID:NnZvWLNW
AssumeTFF()
function bbb(clip clip)
{
c1 = clip.TomsMoComp(1,4,1).AddBorders(0,1,0,0).crop(0,0,0,-1)
c2 = clip.ComplementParity().TomsMoComp(0,5,1)
clip = Interleave(c1,c2)
return clip
}
bbb()

TomsMoCompで60fps化したいんだけどこれでいいのかな…?
809名無しさん@編集中:2005/10/02(日) 21:09:53 ID:fr7+k/zR
function TomsBob (clip c)
{ f=c.GetParity
c=c.SeparateFields.TomsMoComp(f?1:0,-1,0)
c=c.BilinearResize(c.width,c.height+1)
t=c.SelectEven.Crop(0,f?1:0,0,f? 0:-1)
b=c.SelectOdd.Crop(0,f?0:1,0,f?-1:0)
return interleave(t,b)
}
810名無しさん@編集中:2005/10/02(日) 21:22:46 ID:fr7+k/zR
function Auto24Bob(clip c)
{ c1=c.Auto24fps(false,16,8,"blend")
c2=c.SeparateFields.Trim(1,0).Weave.Auto24fps(false,16,8,"blend")
return InterLeave(c1,c2)
}
function LanczosBob(clip c, float "d")
{ d=default(d,0.25) d=c.GetParity? d:-d
c=c.SeparateFields
t=c.SelectEven.LanczosResize(c.width,c.height*2,0,d,c.width,c.height)
b=c.SelectOdd.LanczosResize(c.width,c.height*2,0,-d,c.width,c.height)
return InterLeave(t,b)
}
811名無しさん@編集中:2005/10/03(月) 16:36:37 ID:c68LYYx2
>>810
スクリプトとは直接関係無いけど、
interleaveはこれで一語だぞ。inter-leaveではなく。
812名無しさん@編集中:2005/10/03(月) 21:23:36 ID:DdBwfipF
名詞形は、interleaf
813名無しさん@編集中:2005/10/04(火) 07:11:20 ID:ItKvQMs5
>>809-810
なんか凄いyo
814名無しさん@編集中:2005/11/01(火) 20:37:13 ID:/FAL74x0
ほしゅ
815名無しさん@編集中:2005/11/13(日) 15:57:30 ID:1mX9vBCV
     。 ο     ,.。 ο
   ο
     ,.  ゚   ο    o
   。   o
 ο     。    ゚  ο
  ,ヘ、 ,.:-一;:、ο人がまるでいない・・・
_,.-';:  ミ;;:;,. _,.;:゙ミ '^ー、 ο    。
    ,r( ´・ω・) ,.*。\,r'!  ο
.,。   ツィー=ニ彡'   ,.。 _j
   〜'l  つとノ  '" {-'
    ,.;:;u‐―u' ,.。* ._,.-!
-=、,r'        ,r='i:,ィ'
 ,.*。    ,__,.-=':トー'
ヘ_,、   /;;::-一'
‐-、`-'iニレ'^'
816名無しさん@編集中:2005/11/13(日) 18:14:26 ID:N/Us8ir9
そこはどこの無人島だ。
817名無しさん@編集中:2005/11/15(火) 23:08:40 ID:uno0vUZR
     。 ο     ,.。 ο
   ο
     ,.  ゚   ο    o
   。   o
 ο     。    ゚  ο
  ,ヘ、 ,.:-一;:、ο人がまるでいない・・・
,.-';:  ミ;;:;,. _,.;:゙ミ '^ー、 ο    。
,.:-一;:、      ,r( ´・ω・) ,.*。\,r'!  ο
ミ;;:;,. _,.;:゙ミ .,。   ツィー=ニ彡'   ,.。 _j
( ´・ω・)<だね'l  つとノ  '" {-'
ィー=ニ彡'     ,.;:;u‐―u' ,.。* ._,.-!
l  つとノ-=、,r'        ,r='i:,ィ'
u‐―u' ,.*。    ,__,.-=':トー'
ヘ_,、   /;;::-一'
‐-、`-'iニレ'^'
818名無しさん@編集中:2005/12/17(土) 15:06:31 ID:m41l/FWj
1ヶ月過疎ってるところにに、ショボイスクリプトで悪いんだが、

PluginDir = "D:\AviSynthPlugins\"
FileName = "01"
FileDir = "D:\d2v\"

LoadPlugin(PluginDir + "DGDecode.dll")
LoadPlugin(PluginDir + "De.dll")
LoadPlugin(PluginDir + "DeCross.dll")
LoadPlugin(PluginDir + "IT.dll")
LoadPlugin(PluginDir + "hqdn3d.dll")

mpeg2source(FileDir + FileName + ".d2v")
DeDot()
DeCross()
IT(fps = 24, ref = "TOP", diMode = 1)
hqdn3d()
LanczosResize(640, 480, 8, 0, 704, 480)

な感じでmkvに出力してるんだが、
本編24、OP30、ED60の混合フレームでmkvに出力したいのがあるんだが、サンプルあったら教えてくで
819名無しさん@編集中:2005/12/18(日) 21:51:20 ID:nJKtkq/I
>>818
timde-code使って解決じゃだめなの?
820名無しさん@編集中:2005/12/18(日) 21:53:10 ID:0oWfh16C
>>819
timecodesの連結する方法を教えてくだされ。
821名無しさん@編集中:2005/12/19(月) 01:05:23 ID:Z99fgIMi
>>818
>707>785
822818:2005/12/19(月) 21:39:13 ID:P1QUYi7m
サンクス
まさか過疎地でレスもらえるとは思わなかった・・・テヘ
>>712のTimecode出力ツールで問題解決しますた
823名無しさん@編集中:2005/12/20(火) 13:33:39 ID:SxvNgkEo
過疎といっても一応見てることは見てる
824名無しさん@編集中:2005/12/21(水) 05:15:57 ID:MP+g/STU
あんたは出て来ないで宜しい
825名無しさん@編集中:2006/01/04(水) 16:52:22 ID:Qt2cex+b
だれかいますか?
826名無しさん@編集中:2006/01/04(水) 16:56:11 ID:w2j8CR0F
宗男といいます
827名無しさん@編集中:2006/01/04(水) 18:55:32 ID:Qt2cex+b
本スレに書いたんですが応答ないので、こちらでも聞かせてもらいます。
LanczosResize(640,480)
をした後に、フィルタをかけるにはどうすればいいですか?
具体的にはLanczosResize(640,480)してからvobsubで字幕合成したいのに
字幕合成後にLanczosResizeされてしまいます。

mpeg2source("C:\データ\2005-11-DVD\12\12.d2v")
crop(8,0,-8,0)
AutoDeint("")
LanczosResize(640,480)
ConvertToRGB24()
vobsub("I:\Temp\DVD\12\VTS_01_0")
return last
828名無しさん@編集中:2006/01/04(水) 20:19:32 ID:pyV5kmHD
vobsub(last,"I:\Temp\DVD\12\VTS_01_0")

にしてみるとか
829名無しさん@編集中:2006/01/04(水) 21:12:58 ID:Qt2cex+b
>>828
ありがとうございます。
でも変化なかったです。
830名無しさん@編集中:2006/01/04(水) 22:19:11 ID:S5SmVnYp
まったく関係ないんだが、

ConvertToRGB24()

なんで入れてるの?
831名無しさん@編集中:2006/01/04(水) 22:55:30 ID:Qt2cex+b
後にTMPGEncへと流れるからです。
832名無しさん@編集中:2006/01/04(水) 23:13:24 ID:jj7bxDQS
>>827
laczosresizeのあとにvobsubになってるよ
字幕を入れてからリサイズされていると考えてるみたいだけど
リサイズされたあとの大きさにあわせてvobsubが字幕を貼り付けてるだけ
字幕の大きさを大きくしたいのだろうけど、字幕って結構端の方にあるからはみ出る
可能性大

役に立てないけど解決法はわからん
833名無しさん@編集中:2006/01/04(水) 23:49:28 ID:Qt2cex+b
なんて言うか、字幕の文字は正方形なので貼りつけたあとに640x480に
リサイズすると文字が縦長みたいになっちゃうんです。ソースは720x480
でも、vobsubが解像度に合わせて貼りつけているって言う方が
つじつまが合う気がします。
834名無しさん@編集中:2006/01/04(水) 23:51:19 ID:WW2jGnKA
640x480の一時ファイルを出力した後なら上手く行くの?
835名無しさん@編集中:2006/01/05(木) 00:05:56 ID:LUQHVG8Z
はっきりさせるため320x240にvobsubだけ当てると字幕まで縮小されています。
どうやら、vobsubが自分で縮小しているようです。
ご迷惑をおかけしました。いろいろ教えたらアドバイスくれた人ありがとうございます。
836名無しさん@編集中:2006/01/05(木) 02:00:32 ID:Hv37Ht+6
久しぶりに伸びてると思ったら・・・
837名無しさん@編集中:2006/01/07(土) 14:46:49 ID:DCqzsIXU
正月休みからAvusynth&VirtualDubを勉強しはじめて、ある程度目処がたってきたな
と思ったら今度はVirtualDubのCMカットがちょっと面倒だなと思うようになり、dougaα
の存在を知ってdougaαをCMカットだけに使ってみようと今はこんな感じです。

### ソースファイル指定
FileName = "Capture"

PluginDir = "D:\Program Files\AviSynth 2.5\plugins\"
LoadPlugin(PluginDir + "warpsharp.dll")
LoadPlugin(PluginDir + "De.dll")
LoadPlugin(PluginDir + "TomsMoComp.dll")
LoadPlugin(PluginDir + "MPEG2Dec3.dll")
LoadAviUtlInputPlugin(PluginDir + "m2v.vfp", "MPEG2VIDEO")

### MPEG2読み込み - キャプ
AudioDub(MPEG2VIDEO("E:\_1\" + FileName + ".m2v"),WavSource("E:\_1\" + FileName + ".wav"))
### MPEG2読み込み - DVD
#AudioDub(MPEG2Source("E:\_DVD\" + FileName + ".d2v"),WavSource("E:\_DVD\" + FileName + ".wav"))

Trim(0,100)+Trim(200,300)

DeDot(20,20,15,5)

FrameCache(9).TomsMoComp(1,5,1)

Crop(8,0,704,480)

FrameCache(9).LanczosResize(640,480)

FrameCache(9).KenKunNR(32,3,6)
FrameCache(9).KenKunNRT(64,3,20)
838名無しさん@編集中:2006/01/07(土) 18:32:05 ID:It2kqTzf
で?
839名無しさん@編集中:2006/01/07(土) 18:35:05 ID:QMXFtSDp
いや、ここ貼るスレじゃんw
840名無しさん@編集中:2006/01/07(土) 20:24:11 ID:MO4r1FzU
別にCMカットだけなら、インストがめんどいdougaαよりもVDubとかでよくね?

と言ってみるテスト
841名無しさん@編集中:2006/01/07(土) 21:20:01 ID:nfmGu4YQ
もはやtrimを++していくだけでいい
842837:2006/01/07(土) 21:54:39 ID:DCqzsIXU
>>840
いままではaviutlで[Ctrl]、[Shift]、[Ctrl+Shift]と左右キーにそれぞれ30フレーム
150フレーム、900フレームずつ移動するように割り当てていて、始めから30秒毎
にジャンプしながらCMをカットしてたので、それっぽい操作感ができるdougaαに
白羽の矢が立った訳です。

と書きつつ、さっきやってためちゃイケをdougaαでカット編集したやつをVirtualDub
に放り込んだら、カットしたとこが全部2フレームずつズレてる・・・
もうちょっと試行錯誤が必要かもです。
843名無しさん@編集中:2006/01/07(土) 22:27:09 ID:P45nruyx
AviUtl に読み込ませて Trim エクスポートがお手軽ですよ。
844837:2006/01/07(土) 23:21:04 ID:DCqzsIXU
>>843
おぉ!ググって早速使ってみましたがめっちゃいいですね。CMカットはこれで
ばっちしです。色々検索して探したつもりだったんですが、こんな便利なものを
見逃していたとは・・・
このスレに書いてよかったw サンクス
845名無しさん@編集中:2006/01/07(土) 23:44:15 ID:4l3lJIKi
>>842
IBBPのMPEG2だと、VDMやVD-MPEG2でカットし、AddRangeでしても2フレずれる。
なので、AddRangeのソースを弄って、それなりの関数AddRange2をつくって対応。
※勝手に変更して作ったので、配布はできないけど変更箇所なら・・・

・俺の怠慢CMカット、クロップ

1. VD-MPEG2で、mpegファイル("f:\temp\foo.m2p")を読み込んで、CMカット
  ※VDMだと、Undoが出来ない為
  ※読み込みに時間がかかるが、りシークが早いので、スクリプトを読み込んでTrimを
   追加するより、ストレスがない為
2.動画と同じ場所に、設定保存("f:\temp\foo.vcf")
3.あとは、こんな感じのスクリプト
  ※まるもだと、余計な中間ファイルもできないし、作業のステップ数が少ない。
######
SrcBasePath="f:\Temp\foo"
#
SrcMpgPath = SrcBasePath+".m2p"
SrcVcfPath = SrcBasePath+".vcf"
# 映像+音声 読み込み
LoadAviUtlInputPlugin("m2v.vfp","MPEG2VIDEO")
last=MPEG2VIDEO( SrcMpgPath )
# CMカット
Exist(SrcVcfPath) ? AddRange2( SrcVcfPath, offs=2 , audcorr=true ) : last
DelayAudio(-0.066)
# Crop
AutoCrop(mode=0,wMultOf=704,hMultOf=480,aspect=480/704)
# その他
.....
return last
846名無しさん@編集中:2006/01/08(日) 03:35:37 ID:WA/vvflN
d2v作ってる場合はdgindexでやれば・・・
847名無しさん@編集中:2006/01/11(水) 10:10:20 ID:cUABLsEg
DGMPGDec でええやんけ
848名無しさん@編集中:2006/01/11(水) 18:52:25 ID:srw4c57B
しらんがな
849名無しさん@編集中:2006/01/25(水) 16:30:30 ID:ju+qjYzH
m2vでもDVD2AVI+MPEG2Source経由でも、DirectShowSourceで音を読み込むと音がずれるんだけど、みんなどうやってる?
ソースはレコで録ったMPEG2+AC-3。DSFはCyberLinkのが一番上位にある。
メリット値弄ってWinDVDのデコーダ使うようにすると、6chに誤認識されてしまう。
850名無しさん@編集中:2006/01/26(木) 15:13:15 ID:aqrwEdfp
>>849
DGIndex経由でDELAY XXms補正してる
851名無しさん@編集中:2006/01/26(木) 18:53:28 ID:t/aDUn5E
TMEでカット編集すると、DELAY 0msになってずれが起きなくなった。
852名無しさん@編集中:2006/01/28(土) 10:12:52 ID:xeDQHNaJ
DGMPGDec でええやんけ
853名無しさん@編集中:2006/01/28(土) 10:52:14 ID:CXVhNKhg
しらんがな
854名無しさん@編集中:2006/02/09(木) 22:09:10 ID:D2rM+J/g
本スレ落ちてるがな
855名無しさん@編集中:2006/02/09(木) 22:40:08 ID:2Yimo2y0
Avisynthを絶讃ιょぅょ Part21
ttp://pc8.2ch.net/test/read.cgi/avi/1139492169/
856名無しさん@編集中:2006/02/09(木) 22:40:54 ID:59SuIh4C
立てといたんでよろしく
857名無しさん@編集中:2006/02/09(木) 22:46:05 ID:U0uqtZCD
858名無し募集中。。。:2006/03/08(水) 18:09:55 ID:DH3BEOzN
ほぜむ
859名無し募集中。。。:2006/03/08(水) 18:11:06 ID:DH3BEOzN
avisynthでaac読み込むプラグインってないですか?
ググっても見つからなかったんでないかもですが。
860名無しさん@編集中:2006/03/11(土) 19:29:19 ID:yKyBLFrj
>>859
DirectShowSource( filename )
で、いいんジャマイカ?
861名無しさん@編集中:2006/03/18(土) 12:35:25 ID:tDedIkZZ
エロDVDのエンコってどんなフィルターおすすめ?
862名無しさん@編集中:2006/03/18(土) 14:35:58 ID:T1VpxdAL
ソースが十分きれいだからなしでいいよ。
細部が潰れて逆効果になるだけ
863名無しさん@編集中:2006/03/18(土) 14:49:52 ID:tDedIkZZ
>>862
そうですか、でもDVD画質ってそんなに綺麗だとは思えないんですがね、VHSとかから比べたらそりゃ綺麗ですが。
メーカーによってはぼやけ気味だったり、輪郭がギザギザ(インタレではなく)してたり様々で。
864名無しさん@編集中:2006/03/18(土) 16:36:41 ID:YIFd2UQY
いろいろノイズが有ると、分かっていながら、
ただお勧めが有るかと問うだけなのは、頭悪いですね。

莫迦は帰ってくれ。
865名無しさん@編集中:2006/03/18(土) 18:13:26 ID:Xrl4WA8t
>>863
モザイクは目を細めて遠目で。
866名無しさん@編集中:2006/03/18(土) 18:51:08 ID:lDe5VE4Q
cx
867名無しさん@編集中:2006/03/18(土) 18:57:29 ID:T1VpxdAL
>>863
確かにそうだけど色々試してみて
それをフィルタ使って改善出来る感じはしなかったなぁ
輪郭補正とかしても、輪郭はきれいになっても他が変になるし
ノイズ除去もそこそこビットレートふってたら
大して出てないから弱くかけると効果が見られず強くかけると
肌の質感がなくなる感じがする

まあ自分で色々試してみるのが一番だね
868名無しさん@編集中:2006/03/18(土) 21:06:55 ID:4/mW/GAM
モザイクには妄想フィルターで花びらの1枚1枚まで鮮明に見えるさ

※想像力・経験値により個人差があります。
869名無しさん@編集中:2006/03/19(日) 15:47:18 ID:3g8On9wv
>>868
極めれば絵は要らないじゃん。 それw
870名無しさん@編集中:2006/03/19(日) 20:02:48 ID:1CnIuOC3
>>869
音のみ、お楽しみください。
871名無しさん@編集中:2006/03/20(月) 10:13:21 ID:V87IpoFr
真に極めれば音声さえ要らない
872名無しさん@編集中:2006/03/20(月) 21:49:35 ID:6Ggp4ctx
極めすぎるとナガラでも可能
873名無し募集中。。。:2006/03/22(水) 14:32:07 ID:KcRIPJ5A
>>860
むりだお。
874名無しさん@編集中:2006/03/26(日) 19:32:29 ID:N60AZRzY
このスレ的にはDGMPGDecなの?DVD2AVIなの?
875名無しさん@編集中:2006/03/26(日) 19:36:16 ID:BLwY7NN9
まるものプラグイン
876名無しさん@編集中:2006/03/26(日) 20:08:59 ID:Wwe+2U6c
>>874
DVD2AVIは完全なバグ持ちで、今後、修正されることはないお
DGMPGDecはverup中だから、verによってはバグあるかもしれないお

だから安定版のDGMPGDec使ってるお
でも、フリーソフトは自己責任忘れたらダメアルヨ
これ万国共通の約束事アルネ
877名無しさん@編集中:2006/03/26(日) 20:19:25 ID:N60AZRzY
1.4.6?
878名無しさん@編集中:2006/03/26(日) 20:23:34 ID:Wwe+2U6c
>>877
すぐ、人に聞くの良くないアルヨ
自分で試すの基本のことアルヨ

フリーソフトは自己責任忘れたらダメアルヨ
これ万国共通の約束事アルネ
879名無しさん@編集中:2006/03/26(日) 21:23:27 ID:ZHqQ0z0+
>>875
同じくm2v。音声はbbdmux便利ス

DSSなら音声いっしょに読めて楽と思ってたが、音ズレしたしw

DVD2AVIの類がコマンドラインかバッチ処理できればそっち使ってたかも
880名無しさん@編集中:2006/03/26(日) 21:47:39 ID:Poy978HK
DVD2AVIのころからコマンドラインでバッチ処理してたし、
DGMPGDecはデフォでコマンドラインがサポートされてるのは
漏れの気のせいだったか。
881名無しさん@編集中:2006/03/27(月) 15:04:34 ID:9oRwT74M
気のせいです
882名無しさん@編集中:2006/03/27(月) 21:39:06 ID:lblmM8tO
>>880
俺の目は節穴のようです orz
マニュアル読めよ阿呆と罵って下さい……
883名無しさん@編集中:2006/03/27(月) 22:02:17 ID:c+gr1Bn2
>>882
マニュアル読めよ阿呆( ´∀`)
884名無しさん@編集中:2006/03/28(火) 00:15:22 ID:eCOYuXCu
>>882
マニュアルを読みなさい!
そして、靴をお舐めなさい!
885名無しさん@編集中:2006/03/28(火) 13:25:18 ID:q9/fAD4R
>>882
マニュアル読めよ阿呆
886名無しさん@編集中:2006/03/28(火) 20:14:54 ID:2KMDnI9j
>>822
マニュアル読めよ阿呆
これだから最近の(ry
887名無しさん@編集中:2006/03/28(火) 20:22:09 ID:vPjhY/oS
>>882
女王様とお呼び!
888名無しさん@編集中:2006/03/29(水) 03:18:33 ID:ZmJ4FKKD
お代官様〜おたわむれを〜
889名無しさん@編集中:2006/03/29(水) 11:47:24 ID:IbPYST4j
せっかくの良スレ(?)が台無し
890名無しさん@編集中:2006/03/29(水) 15:06:43 ID:SLp62QYO
>>882の人気に嫉妬
891名無しさん@編集中:2006/04/02(日) 17:22:53 ID:TXNfG9NN
Lanczos4Resizeってavisynthじゃつかえないの?
892名無しさん@編集中:2006/04/02(日) 18:46:21 ID:/BwlB1gC
>822です。>>891さんはマニュアルを読むといいみたいです。差し出がましいですが…
ttp://www.avisynth.org/Resize
893名無しさん@編集中:2006/04/11(火) 21:08:00 ID:XnIwYHk3
このスレの波にのって盲目的にTomsMoComp使ってたけど
TDeintのほうがきれいじゃん
894名無しさん@編集中:2006/04/11(火) 22:59:39 ID:XnIwYHk3
・・・そうでもないな・・・。
895名無しさん@編集中:2006/04/11(火) 23:45:27 ID:H1ds1UG6
ちょwwwwwwおまwwwwwwww
896 ◆HhTh8Gv36s :2006/04/12(水) 23:05:38 ID:QYKZw9UE
897名無しさん@編集中:2006/04/13(木) 02:44:44 ID:ZYdg1Jd7
>>892
亀レスだがサンクス
898名無しさん@編集中:2006/04/14(金) 20:43:42 ID:91pTaGGh
>>893 はアニヲタ?
899名無しさん@編集中:2006/04/15(土) 00:05:43 ID:wVhV6BI7
>>898
(´・ω・`)しらんがな
900名無しさん@編集中:2006/04/15(土) 05:30:43 ID:A1ZXu9Sc
ええやんけ
901名無しさん@編集中:2006/04/17(月) 22:01:56 ID:6abdPm5u
avisynth初心者なんだけど、地上波テレビドラマ+その他キャプ目的でこんな感じで設定してみたんだけど
ソースが微妙に悪いからしょうがないんだけど、いまいち縮まないし
他にも不備がいろいろありそうなので、何か問題点を指摘してくれませんか?

LoadPlugin("H:\videotoolz\dgmpgdec146\DGDecode.dll")
LoadPlugin(PATH + "De.dll")
LoadPlugin(PATH + "TomsMoComp.dll" )
LoadPlugin(PATH + "warpsharp.dll")
LoadPlugin(PATH + "hqdn3d.dll")

AudioDub(mpeg2source(VIDEO_PATH + "test3.d2v"),WAVSource(VIDEO_PATH + "test3 MPA T01 DELAY 0ms.wav"))

#DeDot(20,20,15,5)
##インタレース解除
TomsMoComp(1,6,1)
##bob
bbb()
##ノイズ除去
hqdn3d(8)
##無駄な領域を削る
Crop(10,2,700,476)
##リサイズ
LanczosResize(640,480)

return last
902名無しさん@編集中:2006/04/17(月) 22:05:01 ID:hJ1+LCOF
>>901
実写にインタレ解除の時点でゴミ
903名無しさん@編集中:2006/04/17(月) 22:22:26 ID:5AJCBUBj
なんでインタレ解除後にさらにbob化するのか?
904名無しさん@編集中:2006/04/18(火) 00:11:59 ID:fDCvdQbp
すごいネタが投下されたようだな。
905901:2006/04/18(火) 00:19:56 ID:x7KTVznT
>>902
保持のほうがいいのかもしれないけど、プログレッシブでもつくって置こうかなぁと。
>>903
よく意味わかってなかったんでつかってみたんだけど 、bbの中でインターレース解除やってるんですね。
TomsMoCompつかってみたかったら>808-809みたいにやればいいのかな?
906名無しさん@編集中:2006/04/18(火) 10:17:08 ID:Sg+1WLBk
インタレかかった動画なんてゴミ
907名無しさん@編集中:2006/04/18(火) 10:59:59 ID:JR9BSLV/
アニオタなんてゴミ
908名無しさん@編集中:2006/04/18(火) 12:32:47 ID:RUY8bWId
モーオタを忘れているぞ
909名無しさん@編集中:2006/04/18(火) 14:35:33 ID:gJlHlcS7
>>902
そう言えば反町の戦国自衛隊は30Pだったよ?
910メモ帳:2006/04/18(火) 16:55:36 ID:zRSz/33h
実写DVD(せくしーうえうえ)

IT(fps=24,ref="TOP",diMode=0)
trim(0,3104).TDeint(mode=0,tryweave=true)+trim(3105,3106).TomsMoComp(1,5,0)+trim(3107,6200).TDeint(mode=0,tryweave=true)
p1 = trim( 85, 164).Lanczos4Resize(640,400,40,62,640,355)
p2 = trim( 214, 408).Lanczos4Resize(640,400,40,62,640,355)
p3 = trim( 409, 427).Lanczos4Resize(640,400,76,62,640,355)
p4 = trim( 428, 517).Lanczos4Resize(640,400,40,62,640,355)
p5 = trim( 518, 554).Lanczos4Resize(640,400,76,62,640,355)
p6 = trim( 555, 641).Lanczos4Resize(640,400,40,62,640,355)
p7 = trim( 642, 664).Lanczos4Resize(640,400,76,62,640,355)
p8 = trim( 665,1218).Lanczos4Resize(640,400,40,62,640,355)
p9 = trim(1219,1263).Lanczos4Resize(640,400,76,62,640,355)
p0 = trim(1264,1413).Lanczos4Resize(640,400,40,62,640,355)
pq = trim(1414,1459).Lanczos4Resize(640,400, 6,62,640,355)
pw = trim(1460,1720).Lanczos4Resize(640,400,40,62,640,355)
pe = trim(1721,1816).Lanczos4Resize(640,400,76,62,640,355)
pr = trim(1817,2088).Lanczos4Resize(640,400,40,62,640,355)
pt = trim(2089,2143).Lanczos4Resize(640,400,76,62,640,355)
py = trim(2144,2328).Lanczos4Resize(640,400,40,62,640,355)
pu = trim(2329,2375).Lanczos4Resize(640,400,76,62,640,355)
pi = trim(2376,2474).Lanczos4Resize(640,400,40,62,640,355)
po = trim(2475,2540).Lanczos4Resize(640,400,76,62,640,355)
pp = trim(2541,5211).Lanczos4Resize(640,400,40,62,640,355)
pa = trim(5212,5232).Lanczos4Resize(640,400,76,62,640,355)
ps = trim(5233,5627).Lanczos4Resize(640,400,40,62,640,355)
pd = trim(5628,5672).Lanczos4Resize(640,400, 6,62,640,355)
pf = trim(5673,5731).Lanczos4Resize(640,400,76,62,640,355)
pg = trim(5732,6127).Lanczos4Resize(640,400,40,62,640,355)
ph = trim(6128,6192).Lanczos4Resize(640,400,66,62,640,355)
p1+p2+p3+p4+p5+p6+p7+p8+p9+p0+pq+pw+pe+pr+pt+py+pu+pi+po+pp+pa+ps+pd+pf+pg+ph
return last
911メモ帳:2006/04/18(火) 16:56:20 ID:zRSz/33h
>>902
たまにこういう変な奴いるよな
912メモ帳:2006/04/18(火) 17:00:24 ID:zRSz/33h
うえうえ(メイキング)

name = "ueue"
dir = "D:\My Videos\src\"

LoadPlugin("C:\Program Files\AviSynth\plugins\DGDecode.dll")

video = mpeg2source(dir+name+".d2v")
audio = wavsource(dir+name+" T01 48K 16bit 2ch.wav")
AudioDub(video,audio)

TomsMoComp(1,5,0)

p1 = trim(22170,22888).Lanczos4Resize(640,400,14,16,702,390)
p2 = trim(24477,24588).Lanczos4Resize(640,400,10,42,702,390)
p3 = trim(24787,24815).Lanczos4Resize(640,400,10,42,702,390)
p4 = trim(32836,33432).Lanczos4Resize(640,400,68,42,648,360)
p42= trim(33433,33878).Lanczos4Resize(640,400, 6,42,666,370)
p5 = trim(42771,43133).Lanczos4Resize(640,400,10,46,702,390)
p6 = trim(48095,48153).Lanczos4Resize(640,400,10,46,702,390)

p1 + p2 + p3 + p4 + p42 + p6

return last
913メモ帳:2006/04/18(火) 17:01:03 ID:zRSz/33h
name="kan"
dir="D:\My Videos\src\"

LoadPlugin("C:\Program Files\AviSynth\plugins\DGDecode.dll")

video=mpeg2source(dir+name+".d2v")
audio=wavsource(dir+name+" T01 48K 16bit 2ch.wav")

AudioDub(video,audio)

p00 = trim(135,1510)
p01 = trim(1511,1536).TDeint(mode=0,tryweave=true)
p02 = trim(1537,1555)
p03 = trim(1556,1607).TDeint(mode=0,tryweave=true)
p04 = trim(1608,1632)
p05 = trim(1633,1702).TDeint(mode=0,tryweave=true)
p06 = trim(1703,1852)
p07 = trim(1853,1879).TDeint(mode=0,tryweave=true)
p08 = trim(1880,1974)
p09 = trim(1975,1986).TDeint(mode=0,tryweave=true)
p10 = trim(1987,2222)
p11 = trim(2223,2270).TDeint(mode=0,tryweave=true)
p12 = trim(2271,2288)
p13 = trim(2289,2317).TDeint(mode=0,tryweave=true)
p14 = trim(2318,2419)
p15 = trim(2420,2448).TDeint(mode=0,tryweave=true)
p16 = trim(2449,2544)
p17 = trim(2545,2600).TDeint(mode=0,tryweave=true)
p18 = trim(2601,2646)
p19 = trim(2647,2693).TDeint(mode=0,tryweave=true)
p20 = trim(2694,2818)
p21 = trim(2819,2900).TDeint(mode=0,tryweave=true)
914メモ帳:2006/04/18(火) 17:01:34 ID:zRSz/33h
p22 = trim(2901,3169)
p23 = trim(3170,3201).TDeint(mode=0,tryweave=true)
p24 = trim(3202,3240)
p25 = trim(3241,3357).TDeint(mode=0,tryweave=true)
p26 = trim(3358,3976)
p27 = trim(3977,4009).TDeint(mode=0,tryweave=true)
p28 = trim(4010,4068)
p29 = trim(4069,4116).TDeint(mode=0,tryweave=true)
p30 = trim(4117,4164)
p31 = trim(4165,4208).TDeint(mode=0,tryweave=true)
p32 = trim(4209,4250)
p33 = trim(4251,4313).TDeint(mode=0,tryweave=true)
p34 = trim(4314,5205)
p35 = trim(5206,5221).TDeint(mode=0,tryweave=true)
p36 = trim(5222,5328)
p37 = trim(5329,5370).TDeint(mode=0,tryweave=true)
p38 = trim(5371,5412)
p39 = trim(5413,5460).TDeint(mode=0,tryweave=true)
p40 = trim(5461,5486)
p41 = trim(5487,5531).TDeint(mode=0,tryweave=true)
p42 = trim(5532,5584)
p43 = trim(5585,5628).TDeint(mode=0,tryweave=true)
p44 = trim(5629,5724)
p45 = trim(5725,5772).TDeint(mode=0,tryweave=true)
p46 = trim(5773,5792)
p47 = trim(5793,5818).TDeint(mode=0,tryweave=true)
p48 = trim(5819,5861)
p49 = trim(5862,5913).TDeint(mode=0,tryweave=true)
p50 = trim(5914,5976)
p51 = trim(5977,6006).TDeint(mode=0,tryweave=true)
p52 = trim(6007,6239)
p53 = trim(6240,6345).TDeint(mode=0,tryweave=true)
915メモ帳:2006/04/18(火) 17:02:04 ID:zRSz/33h
p54 = trim(6346,6544)
p55 = trim(6545,6645).TDeint(mode=0,tryweave=true)
p56 = trim(6646,6739)

p00+p01+p02+p03+p04+p05+p06+p07+p08+p09+p10+p11+p12+p13+p14+p15+p16+p17+p18+p19+p20+p21+p22+p23+p24+p25+p26+p27+p28+p29+p30+p31+p32+p33+p34+p35+p36+p37+p38+p39+p40+p41+p42+p43+p44+p45+p46+p47+p48+p49+p50+p51+p52+p53+p54+p55+p56

Lanczos4Resize(640,400,40,61,640,354)

return last
916名無しさん@編集中:2006/04/18(火) 18:03:35 ID:fjLm7Q3m
うむ このスレらしい貼りっぷりだ
917名無しさん@編集中:2006/04/18(火) 18:21:12 ID:wpXnljo/
よくまあまともに動くもんだ。
クリップ数の上限に近いんでないかい。
918メモ帳:2006/04/18(火) 18:29:19 ID:zRSz/33h
>>910>>912>>913-915は糞スクリプトだけど、作るのに30分くらい時間を費やしたからバックアップがわりに貼らせてもらいました。

>>917
上限とかあるのか
919名無しさん@編集中:2006/04/18(火) 18:53:18 ID:fjLm7Q3m
リンクすんなよ ポップアップがうざいw
920名無しさん@編集中:2006/04/18(火) 19:05:43 ID:Fu2ETrqd
>>911
>>902はアニヲタで、どうしようもない馬鹿。
921メモ帳:2006/04/18(火) 19:06:48 ID:zRSz/33h
自己レスだが918のポップアップがウザいっていうレベルを遥かに超えてるなw
画面全体がポップアップになるしw
922名無しさん@編集中:2006/04/18(火) 19:15:16 ID:gJlHlcS7
しゃらくせぇぇぇぜw
>>1-1000
923901:2006/04/22(土) 19:19:21 ID:1djBz9T3
LoadPlugin("H:\videotoolz\dgmpgdec146\DGDecode.dll")
LoadPlugin(PATH + "De.dll")
LoadPlugin(PATH + "TDeint.dll")
LoadPlugin(PATH + "hqdn3d.dll")

video = mpeg2source(VIDEO_PATH + "xxx.d2v")
audio = wavsource(VIDEO_PATH + "xxx.wav")
AudioDub(video,audio)

DeDot(20,20,15,5)
TDeint(1,1)
hqdn3d(12)

Crop(10,0,-6,-0)
LanczosResize(640,480)

return last

結局こんな感じの設定でエンコするか TDeint外してインタレ保持エンコしようとしてるんですが
あんまりサイズが縮まない。
924名無しさん@編集中:2006/04/22(土) 19:33:51 ID:NgnC10CO
結局のところ、_2DCleanYUY2とKenkunNRTに戻っちゃった俺なんかがここにいる。
925名無しさん@編集中:2006/04/22(土) 19:36:39 ID:NgnC10CO
ああ、縮ますのならPixieDustがいいよ。
ちょっとボケるけど縮み具合と比較すると気になる程度でもない。
926名無しさん@編集中:2006/04/22(土) 21:49:42 ID:8dyAiE+R
もうへたにNRかけない方が綺麗だと気づいた俺がいる。
縮まなくていいよ・・・メディアも随分安くなったことだし。
927名無しさん@編集中:2006/04/23(日) 01:48:15 ID:dOYjtWhQ
一枚に2クール入らなきゃヤダヤダヤダ グス
928名無しさん@編集中:2006/04/24(月) 01:16:08 ID:zQLRm4Sh
またアニヲタか。
929名無しさん@編集中:2006/05/08(月) 00:45:19 ID:XGfh7drG
今さらながらインタレ保持でエンコしようと思いたったんだけど、こんな感じでいいのかな?

FileName = "Capture"

PluginDir = "D:\Programs\Avisynth\AviSynth 2.5\plugins\"
LoadPlugin(PluginDir + "warpsharp.dll")
LoadPlugin(PluginDir + "De.dll")
LoadPlugin(PluginDir + "DGDecode.dll")
LoadPlugin(PluginDir + "Convolution3DYV12.dll")

AudioDub(MPEG2Source("E:\_1\" + FileName + ".d2v"),WavSource("E:\_1\" + FileName + ".wav"))

AssumeFrameBased().ComplementParity()

### Trim

DeDot(20,20,15,5)

Crop(6,0,704,480)

SeparateFields()

FrameCache(6).Convolution3D("movieHQ")

FrameCache(9).LanczosResize(640,240)

Weave()

return last
930名無しさん@編集中:2006/05/08(月) 00:49:21 ID:FlxnY34s
640x240ってどんなソースなんだ?
931名無しさん@編集中:2006/05/08(月) 01:11:24 ID:mxvaCdqX
932名無しさん@編集中:2006/05/08(月) 01:12:26 ID:dCKrS2oo
C3Dは前後フレームを参照する3D-NRも含んでるので
それだと、前後フレームが別フィールドの画を参照してしまう。
2Dのみのフィルタじゃなかったら、フィールドも分けるように。
でも同じフィルタが複数回動作できない作りのものもあるので要注意
wikiとかに説明があったかと思う。
separatefields
a=selecteven.Convolution3D("movieHQ")
b=selectodd.Convolution3D("movieHQ")
interleave(a,b)
lanczosresize(640,last.height)
weave

もちろんlanczosをC3Dの後ろに、それぞれくっつけても可。
というかそっちの方が間違いが起きない。
933名無しさん@編集中:2006/05/08(月) 01:33:07 ID:XGfh7drG
>>932
レスサンクスです。
LanczosをC3Dの後ろに引っ付けるということは

separatefields
a=selecteven.Convolution3D("movieHQ")
b=selectodd.Convolution3D("movieHQ")
a=selecteven.lanczosresize(640,240)
b=selectodd.lanczosresize(640,240)
interleave(a,b)
weave

でいいんでしょうか?
934名無しさん@編集中:2006/05/08(月) 01:35:14 ID:dCKrS2oo
separatefields
a=selecteven.Convolution3D("movieHQ").lanczosresize(640,last.height)
b=selectodd.Convolution3D("movieHQ").lanczosresize(640,last.height)
interleave(a,b)
weave
935名無しさん@編集中:2006/05/08(月) 01:39:32 ID:dCKrS2oo
または記述行を分けても良いが、その場合はこう書く
separatefields
a=selecteven
b=selectodd
a=a.Convolution3D("movieHQ")
b=b.Convolution3D("movieHQ")
a=a.lanczosresize(640,last.height)
b=b.lanczosresize(640,last.height)
interleave(a,b)
weave
または
separatefields
a=selecteven
a=a.Convolution3D("movieHQ")
a=a.lanczosresize(640,last.height)
b=selectodd
b=b.Convolution3D("movieHQ")
b=b.lanczosresize(640,last.height)
interleave(a,b)
weave
936名無しさん@編集中:2006/05/08(月) 01:44:59 ID:XGfh7drG
なるほど、そういうことでしたか。
助かりました。ありがとう!
937名無しさん@編集中:2006/05/08(月) 01:45:44 ID:dCKrS2oo
えっと別に間違いじゃないんだが、記述を分ける場合だと
lanczosresize(640, a.height)
とかlastじゃなく、a,bを指定した方がよいかも。
ちなみにlastだと、separatefielsの直後のクリップを指すことになる。
938名無しさん@編集中:2006/05/14(日) 15:07:36 ID:kGJbbpDO
hqdn3dってデフォだとかなり残像出ない?(特に暗い画面?)
3DNRってことで多少は仕方無いんだろうけど
939名無しさん@編集中:2006/05/15(月) 06:39:26 ID:izQAtOkE
目民のまとめ

スクリプトを改良(藁) ttp://pc8.2ch.net/test/read.cgi/esite/1146747314/613
駄目だしされる ttp://pc8.2ch.net/test/read.cgi/esite/1146747314/617
許してもらえるための条件を提示される ttp://pc8.2ch.net/test/read.cgi/esite/1146747314/619-621
荒らしだす(1回目) ttp://pc8.2ch.net/test/read.cgi/esite/1146747314/728
名無しで自己擁護(1回目) ttp://pc8.2ch.net/test/read.cgi/esite/1146747314/729
荒らしだす(2回目) ttp://pc8.2ch.net/test/read.cgi/esite/1146747314/905
名無しで自己擁護(2回目) ttp://pc8.2ch.net/test/read.cgi/esite/1146747314/919
名前欄を消し忘れてスクリプトを貼る ttp://pc8.2ch.net/test/read.cgi/esite/1147577504/14

正体が完全にばれる ttp://pc8.2ch.net/test/read.cgi/esite/1147577504/16-17
940名無しさん@編集中:2006/05/17(水) 20:37:55 ID:Q+VbyTlE
目民のまとめ

スクリプトを改良(藁) ttp://pc8.2ch.net/test/read.cgi/esite/1146747314/613
駄目だしされる ttp://pc8.2ch.net/test/read.cgi/esite/1146747314/617
許してもらえるための条件を提示される ttp://pc8.2ch.net/test/read.cgi/esite/1146747314/619-621
荒らしだす(1回目) ttp://pc8.2ch.net/test/read.cgi/esite/1146747314/728
名無しで自己擁護(1回目) ttp://pc8.2ch.net/test/read.cgi/esite/1146747314/729
荒らしだす(2回目) ttp://pc8.2ch.net/test/read.cgi/esite/1146747314/905
名無しで自己擁護(2回目) ttp://pc8.2ch.net/test/read.cgi/esite/1146747314/919
名前欄を消し忘れてスクリプトを貼る ttp://pc8.2ch.net/test/read.cgi/esite/1147577504/14

正体が完全にばれる ttp://pc8.2ch.net/test/read.cgi/esite/1147577504/16-17
941名無しさん@編集中:2006/05/18(木) 01:18:24 ID:neDH5t/m
>>938
出るね。ちょうど漏れも気になってた。解決策あるのかな?ソース落としてみたけどワカラナス
942名無しさん@編集中:2006/06/26(月) 14:10:07 ID:pJP+XK0V
24/30/60
VFR

PluginDir = "C:\Program Files\AviSynth 2.5\plugins\"
LoadPlugin(PluginDir + "DGDecode.dll")
LoadPlugin(PluginDir + "IT.dll")
LoadPlugin(PluginDir + "TDeint.dll")

MPEG2Source(E:\"hage.d2v")
Crop(8,0,704,480)
c1 = trim(0,1620).assumefps(59,94,false) #30
c2 = trim(621,2524).IT(fps=24, diMode=1).assumefps(59,94,false) #24
c3 = trim(2525,2772).TDeint(mode=1).assumefps(59,94,false) #60
c4 = trim(2773,2849).assumefps(59,94,false) #30
c5 = trim(2850,3669).IT(fps=24, diMode=1).assumefps(59,94,false) #24
c6 = trim(3670,3735).TDeint(mode=1).assumefps(59,94,false) #60
c1 + c2 + c3 + c4 + c5 + c6
return last

・タイムコード
# timecode format v1
assume 23.976
0,1620,29.97
2525,2772,59.94
2773,2849,29.97
3670,3735,59.94

よくわかってないのでつっこみください。
943名無しさん@編集中:2006/06/26(月) 14:29:58 ID:pJP+XK0V
ってタイムコードめちゃくちゃだ。
944名無しさん@編集中:2006/06/26(月) 15:01:01 ID:pJP+XK0V
trimもだ。何度もスマソ。
945名無しさん@編集中:2006/06/26(月) 15:02:03 ID:pJP+XK0V
ソース読み込みr
その辺スルーしてくださいorz
946名無しさん@編集中:2006/06/26(月) 16:28:14 ID:dySvtXTg
もちつけw
947名無しさん@編集中:2006/06/26(月) 16:35:03 ID:Q38H6qRb
0.627659574fps
948名無しさん@編集中:2006/06/26(月) 18:28:04 ID:9mZJ14JG
素直にIts使っとけ
949名無しさん@編集中:2006/06/26(月) 18:42:35 ID:urNk3DUg
これダウソしようとするとセキュウテイがはじくけど大丈夫?
950名無しさん@編集中:2006/06/26(月) 21:18:36 ID:jwPkZmt8
>>942
なるほどそのアイデア面白い。漏れが初めて見ただけかもだけど。
FrameEvaluateあたりでタイムコードを別ファイルに出力できるようにすれば
単ファイルの.avsでVFRできるね。

日本では.auoでいきなり120にするのが一般的だけど
海外方式で似非30fps aviにタイムコードを利用してドロップフレームを挿入すれば
120fpsの疑似VFRもできると。
951名無しさん@編集中:2006/06/26(月) 22:56:02 ID:Q38H6qRb
>>942
下のは漏れ風に書いちゃったやつだけどこういう事かな

#最初に良く使用する関数をあらかじめ定義して読み込む
Global Pr1 = AvsDir + "ProgreTFM32.avs" #TFM(d2V=Filename+".d2v",mode=3,PP=2)#,display=true)
Global Pr2 = AvsDir + "ProgreAuto0.avs" #Auto24fps(drop = False, threshold = 24, border = 16, mode = "", debug = False)
Global IV0 = AvsDir + "fps24Tdcm1.avs" #tdecimate(mode=1,hybrid=0,noblend=true)
Global IV1 = AvsDir + "fps24IT1.avs" #IT(fps = 24, ref = "TOP", diMode = 1) そのほか諸々・・

c=ソース読み込み好きなように
c1=Imp(c,0,0,Pr1,Rate)
Last=Imp(c,0,0,Pr2,Rate)
c10=c.AutoBob.Assumefps(29970,Rate,False)

Rate=1000
ofs=0
Trim(0+ofs,1620+ofs).Assumefps(29970,Rate,False)
\ + Imp(c1,1621+ofs,2524+ofs,IV0,Rate)
\ + Trim(C10,5050+ofs*2,5545+ofs*2).Assumefps(29970,Rate,False)
\ + Trim(2773+ofs,2849+ofs).Assumefps(29970,Rate,False)
\ + Imp(c,2850+ofs,3669+ofs,IV1,Rate)
\ + Trim(C10,7340+ofs*2,7471+ofs*2).Assumefps(29970,Rate,False)

Return Last

# timecode format v1
Assume 23.976
0,1620,29.97
1621,2343,23.9693694690266
2344,2839,59.94
2840,2916,29.97
3573,3704,59.94
952名無しさん@編集中:2006/06/26(月) 22:57:12 ID:Q38H6qRb
定義関数とか

Function Imp(clip "Clip",int "Start",int "End",
\ String "Setting",int "Rate",bool "Connect")
{
FC = Eval("Clip.trim(Default(Start,0),Default(End,0))"
\ + "Import(Setting)")
C = Default(Connect,False) == True ?
\ Start == 0 ? FC : Clip.trim(0,-Start) + FC : FC
End = Default(End,0) < 0 ? Start : End
C = Default(Connect,False) == True ?
\ End == 0 ? C :
\ End == Clip.FrameCount()-1 ? C :
\ C+ Clip.trim(End + 1,0) : FC
C = Assumefps(C,29970,Default(Rate,1000),False)
return C
}

function AutoBob(clip Clip,int "Start",int "End")
{
color_space = clip.IsRGB24() ? "RGB24" : clip.IsRGB32() ? "RGB32" : "Others"
clip = ((color_space == "RGB24") || (color_space == "RGB32")) ?
\ clip.ConvertToYUY2(interlaced = true) : clip
c = Clip.trim(Default(Start,0),Default(End,0))
c1 = c.AutoDeint("")
c2 = c.SeparateFields().Trim(1, 0).Weave.AutoDeint("")
bbb_clip = Interleave(c1, c2).AssumeFrameBased()
return_clip = (color_space == "RGB24") ? bbb_clip.ConvertToRGB24(interlaced = true) :
\ (color_space == "RGB32") ? bbb_clip.ConvertToRGB32(interlaced = true) : bbb_clip
return return_clip
}
953名無しさん@編集中:2006/06/26(月) 23:04:36 ID:Q38H6qRb
フレーム操作系はエクセルとVBAなどで極力自動化して
VFR用のタイムコード、WMToolのVFRエンコ定義ファイル、
120fpsならInsNull用のテーブルファイルを自動生成させるようにしてる。
でも管理できると修正がやりやすいというだけで
きっちりやろうとしたら力技でし'`,、'`,、(ノ∀`)'`,、'`,、
954名無しさん@編集中:2006/06/27(火) 00:10:04 ID:B957EUu9
緑色の肉のカレー食えば直るよ!
955名無しさん@編集中:2006/06/27(火) 00:14:49 ID:XEyzO9Sn
(;´д`)うぇぅえ
956名無しさん@編集中:2006/06/27(火) 00:18:31 ID:ws1T393d
>>951のようなスクリプトで
c
oldcount=framecount(c)
trim(xxx,xxx) + trim(xxx,xxx) + trim(xxx,xxx)
oldfps=framerate(c)
averagefps=(float(framecount(c))/float(oldcount))*oldfps
c = c.assumefps(averagefps)
としてaveragefpsの値を自動で他のスクリプトに読み込んで
エンコードの設定に使いたいけど俺の頭では無理だった
957名無しさん@編集中:2006/06/27(火) 01:46:08 ID:ya2ozl/d
俺のような馬鹿にとって、trim連結スタイルのvfrは、trimのパートから
timecode fileへの変換の処理がやはり難物。今使ってる無理やり秀丸マクロだと
こ汚く柔軟性もなく、ちょっとした流儀の変更でも一苦労。やはり一度まじめに勉強しないと…
入力に関しては、VDMのScriptEditorをmayuで弄ったらだいぶ楽になり、自分なりに満足気味。日記おわり。
958950:2006/06/27(火) 03:34:58 ID:w1mJ0NX4
てなわけでタイムコードも一緒に作る関数を作ってみた。
ロードされた瞬間にタイムコードファイルを生成。
フレーム数は別に計算しなくても取ればいいよね?という方向で。
tc2cfrで120化して確認。

もし使うなら2つの関数をどっかに追い出してImportするといいと思う。
FPSの数値もclipからとることにしたので
きれいな数値にしたい人はAssumeFPSとかで設定してくださいまし。

グローバル変数使っちゃってるのが汚いけど
なんかうまい方法あったら変えて。

大きすぎると怒られたので関数定義部と利用部を分割で。
959950:2006/06/27(火) 03:35:56 ID:w1mJ0NX4
function WriteTimeCodeHeader(clip, timecode_path) {
clip.WriteFileStart(timecode_path, """ "# timecode format v1" """)
clip.WriteFileStart(timecode_path, """ "Assume " + string(clip.framerate) """, append=true)

return clip
}
function ProcessRangeVFR(clip, timecode_path, deintfunc, after_deint_func) {
tmp = clip
Strlen(Default(deintfunc, "")) > 0 ? Eval("tmp = tmp." + deintfunc) : nop()
Strlen(Default(after_deint_func, "")) > 0 ? Eval("tmp = tmp." + after_deint_func) : nop()

tmp.WriteFileStart(timecode_path, """ string(vfr_current_real_frame) + "," + \
string(vfr_current_real_frame + tmp.framecount - 1) + "," + string(tmp.framerate) """, append=true)
global vfr_current_real_frame = vfr_current_real_frame + tmp.framecount

return tmp.AssumeFPS(clip)
}
960950:2006/06/27(火) 03:37:05 ID:w1mJ0NX4
function filterfunc(clip) {
return clip.Deen("a3d",1,4,5,2.0).LanczosResize(640,480,8,0,-8,0)
}

src = MPEG2Source(...)

timecode_path = "d:\timecode.txt"
global vfr_current_real_frame = 0
src.WriteTimeCodeHeader(timecode_path)
ProcessRangeVFR(src.Trim(44000,45375), timecode_path, "TFM().TDecimate(mode=1)", "filterfunc()") + \
ProcessRangeVFR(src.Trim(45376,48071), timecode_path, "", "filterfunc()") + \
ProcessRangeVFR(src.Trim(48072,48400), timecode_path, "TFM().TDecimate(mode=1)", "filterfunc()")
961名無しさん@編集中:2006/06/27(火) 06:36:23 ID:n4PxCmVQ
よくわかんないけどすごい
962名無しさん@編集中:2006/06/27(火) 06:54:16 ID:fVuTveOS
俺もよくわからんが、逆テレシネしたときの端数はどうなってるの?
963名無しさん@編集中:2006/06/27(火) 08:09:36 ID:n4PxCmVQ
>>942みたいにtrimでfps区切ったあとそのavsをAviutlに食わせて目視でフレームレートかわるシーンに移動してそのフレームをタイムコードに書く…
ってやりかたでVFR作って(る気になって)るんだけどもっとかしこいやり方誰かおすえてください。>>953氏の自動化とか詳しく聞きたいです。
端数補正?なんて今まで考えたこともなかったし聞いてもおれの脳みそではよくわからんorz
964950:2006/06/27(火) 12:40:40 ID:w1mJ0NX4
>>962
まずFramecountプロパティでそのクリップのフレーム数を取れるのが前提。
clip = other.Trim(0,20)
Subtitle(string(clip.Framecount)) # フレーム数を表示

そんで、clipに逆テレシネフィルタをかけるとそのフィルタによって
逆テレシネされた分クリップのフレーム数が変化するわけ
clip.IT(ref="TOP", fps=24).Framecount # => 減ってる

実際のフィルタによって生成された数を取得してるのでズレることはないはず。
あとはその出力を足し算して保持しておけば、
その範囲のスタートフレームもわかるから
フレーム位置を特定できる、というわけ。

# current変数に維持しておけば
# 範囲はcurrentからcurrent + clip.Framecount - 1で取れる。そして
current = current + clip.Framecount
# で更新。

ついでにAssumeだとか第3カラムのFPSの項目はFramerateプロパティで
取ってしまえば手動で書かなくていいかららくちん。

だからProcessRangeVFR(クリップ, タイムコードファイル名, 逆テレシネ関数片, フィルタ関数片)
で出力をつなげたものだけを出力すればずれてないタイムコードがでてくる。

逆テレシネ部分とフィルタ部分でEvalを使ってるのは
ただこの関数を汎用化したかっただけなので埋め込んでもかまわないし、
そもそも逆テレシネ済みのクリップとassumefpsの引数だけ渡したほうがよかったかもしれない。

あと、罠なのはWriteFileFirst. 引数の文字列が出力されるのではなく
引数の文字列が評価されたものが出力されるので気をつけること。
965名無しさん@編集中:2006/06/27(火) 19:22:49 ID:w/zQyOy0
VirtualDubMod のショートカットキーが知りたいんですが
Home
End
Del
Ctrl+左右キー
Alt+左右キー
は分かりましたが,次のシーンを検索 みたいなボタンのショートカットが分かりません。
どなたか 教えてもらえませんかm(_ _)m
966名無しさん@編集中:2006/06/27(火) 19:36:46 ID:nVFjmm/8
Ctrl+Shift+Right

メニュのgoを見れば全部分かるとは思うけど。
967名無しさん@編集中:2006/06/27(火) 19:47:27 ID:nVFjmm/8
あ、modか。modでなくちゃダメ?本家じゃいかんの?
968名無しさん@編集中:2006/06/27(火) 21:36:39 ID:k3KdpaKI
Shift+左右キーでキーフレームに位置付けられる。
エンコ済みのファイルを切り貼りする時にとても便利。
969名無しさん@編集中:2006/06/27(火) 22:26:08 ID:UuJ+z5cR
つかVirtualDubスレで聞けよw
970名無しさん@編集中:2006/06/27(火) 22:51:35 ID:I1VYP3Br
              ジタバタ
    〃〃∩  _, ,_
     ⊂⌒( `Д´)  modじゃなきゃ嫌だい。本家なんていらないやい
       `ヽ_つ__つ
              ジタバタ
971名無しさん@編集中:2006/06/28(水) 00:27:08 ID:h/1+ID9i
そういやVDMは自分勝手にアサインしてるから元々の忘れたな
二画面ファイラのようにワンキーショートカットとかも

なんか面白そうなスクリプトでてきて、いい流れ。暇ができたら
有難く遊ばせてもらおうっと。今のところ自分の感心ランク一位は.u(かな
972950:2006/06/28(水) 00:37:30 ID:PpOkZ2le
長いのをまた貼り付けるのもアレだからにーやん先生のwikiを借りました。
http://www.avisynth.info/?EasyVFR
消されなければ残るはず。
973名無しさん@編集中:2006/06/28(水) 00:53:06 ID:h/1+ID9i
わお。今後も達人な人たちは気が向いたらshareよろしくです
974名無しさん@編集中:2006/07/06(木) 00:15:46 ID:0fHioZXf
>>964
やっぱり端数の処理は必要と思うよ。
反例を出すね。
今30フレームの画像があってこれを5分割する、つまり、1パッケージで6フレーム
この1パッケージを逆テレシネするとプラグインによっては5フレームを取得する。
でこれを結合すると30フレームを24fpsに変換したのに25フレーム取得することになる。
しかし、timecode v1の書式では各フレームを24fpsのタイミングで表示させてしまう。
従って、(25-24)*1/24秒分映像が長く表示される。
もちろん5の倍数でTrimすればこの問題はおきないけど、それは運だよね。
975名無しさん@編集中:2006/07/07(金) 18:24:49 ID:GBEFFB04
俺はなかなか運がいい
976名無しさん@編集中:2006/07/13(木) 14:11:42 ID:keEINFPA
動画のフレーム番号を指定すると、そのフレーム画像をクリップボードに出力して終了するようなものを
977名無しさん@編集中:2006/07/13(木) 15:35:35 ID:sRLjGiQw
>>976
Trim で任意のフレームを指定。
978名無しさん@編集中:2006/07/13(木) 15:41:28 ID:AGjm/Yxb
クリップボードに貼り付けるのはどの編集ソフトでも出来るよ
VDubとかAviUtlとかでやれ
979名無しさん@編集中:2006/07/13(木) 16:59:22 ID:sRLjGiQw
だいたい、フレーム番号探すのにDubとか使うしな。
980名無しさん@編集中
面倒なのでそういうソフト作ってください。

getframe.exe とかのソフトで

getframe.exe -i InputFileName(avi) -f FrameNo
とするとフレームゲットできるようなの