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

このエントリーをはてなブックマークに追加
707名無しさん@編集中
擬似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
とするとフレームゲットできるようなの