MCTemporalDenoiseのスクリプト内でMVtools2の関数が使用されている箇所を見てると いくつかにはthscd1/thscd2に指定された値を代入しているのに、残りはmvtoolsのデフォルト値のままに なってるんだけど、何か特別な意図があるのか単に指定し忘れなのかどっちだろう
AVISYNTHでアニメのアプコン補正する方法ない? ググると、UTLばっかりなのですが...
EasyVFRのtimecode.txtの作り方の方法は何でググレばよい? あと、綺麗にできるリサイズフィルタは?
新スレおめでとうございます
YV12ソースにaviutlプラグインを使用しただけで、画質は劣化する?
プログレッシブでやるConvertToYUY2/ConvertToYV12で大きな劣化はしないから、大丈夫。
ConvertAviUtlYCToYUY2(fix)も、"YUY2とYC48だけの変換であれば可逆である"らしいので、大丈夫だね。
TFM、TDecimateを2Passでやる時、 1Pass目ってTFM、TDecimate以降の使う予定のフィルタは全部無しでやっても、 出力されるtimecode.txtは一致する? それとも、TFM、TDecimate以降も出力されるtimecode.txtに影響する?
あ、timecode.txtじゃないな、 要するに2Passni使うtfm.txtとtdec.txt
一致する。
ありがとう と、いうことは今まで俺は無駄に時間かけてたって事かw TFM、TDecimateの前でもあまり影響無さそうなフィルタもあるけど、 一応それはやめとくかな
つまり1passでTIVTCのみのavsをavs2aviとかでtimecode出力して、 2passで他フィルタ入りのavsを--crfでエンコって使い方でもいいってこと?
俺はそれが出来るのかな、と思って聞いた
1pass目はtfm.txtとtdecimate.txt が取れればいい。 よって、TFM、TDecimate以前に変なフィルタが掛かってなければなんでもいい。 2pass目でTFM,TDecimateの前で掛けるフィルタだけど、それを掛けても正解のフィールドマッチが 変わるわけじゃないので、取ってしまってもおk。 ただ、batch=ture としておかないと、 「tfm.txtの情報取った動画と違うぞゴルァ!」と怒られる可能性は高い。
TrimIn.txt使えばtfm一致するよ
たぶん、tdecimateのmode=3でtimecode出力した場合のことだろ これはhuffyuvなどでファイルを作らないと無理な気がするけど
あー、batchオプションなんてのがあったのか・・・ 2pass目のTIVTC前にインタレ維持リサイズ使いたかったんだけど謎解けたわthx
リサイズをLanczos4ResizeからSpline36Resizeに変えてみたんだけど アス比指定したみたいになる MPC HCのプロパティだと 768 x 432 (AR 775:432) 768x432 (1600:891) Spline36Resize(768,432) 16の倍数だから問題ないと思うんだけど、Lanczos4ResizeではOKだったし 何か条件って他にあるの?
すまん言ってる意味がわからない。エンコした動画がどのアルゴリズムでリサイズしたか わかるわけないんだからリサイザが問題じゃないだろ
>>25 Lanczos4Resizeの文字をSpline36Resizeに変えただけなんだけどな〜
Lanczos4Resize(768,432)を
Spline36Resize(768,432)にしただけ
同じソースを1分で試してみたらOKだった・・・
もう少しテストしてみる・・・
Spline64Resizeで1440x1080→960x720にリサイズすると、画面が縦長になってしまう...orz Lanczos4Resizeだと、うまくいくんだけどなぁ。
文法が間違ってるだけだろ
Spline64Resize(1280,720) crop(160,0,-160,0 ) これで、960x720にリサイズ可能。 でも、黒帯が残ってしまう。 これ以上Cropするとサイズが変わってしまう。 SplineとLanczos4では、どちらかを使った時点でCropの方法が変わるみたい。
変わるわけねーだろ
31 :
名無しさん@編集中 :2009/07/06(月) 22:56:52 ID:F3qLxg5h
質問です。 新しく64bit環境に移行する予定で疑問に思ったのですが マルチスレッド対応のAviSynthは64bitに対応してるのでしょうか。 対応してなければマルチスレッドと64bit avsは排他ということになるんでしょうか。 工程としてはm2ts読み込み→AviSynth→MeGUIにてx264エンコなのですが。 (MeGUIがx64に対応していなければ専用にバッチツール作るつもりです)
64bitOSでも32bitのソフトは動くよ
AviSynth 32bit & meGUI 32bitでおk meGUIは32bitしかないはず AviSynthも公式では64bitビルドはないし
34 :
31 :2009/07/07(火) 05:52:12 ID:QyHIFblR
レスありがとうございます。 やはり32bitで統一ですか、、x64 x264が非常に速いみたいなので試して見たかったんですが。 当然データを渡す側が32bitなら同じですよね。この辺は実際に導入してみれば分かる事なんでしょうけど (まだ導入に際して調べてるところなので仕組みが良く分かってなくてすいません・・・)
わざわざリンク貼り付けありがとうございます。 見落としてる所もあったようなので、導入後に早速試して見ることにします。
みんな、縮小するときのリサイザ何つかってる? Lanczos Lanczos4 Blackman Spline36 Spline64 Spline144などなど
縮小はどれもそこまでかわらないのでは? おれはSpline36が好きだけど
アプコンも縮小も全部Spline36で済ませてる もっと画質のいいリサイザもあるんだろうが、Splineって早いんだよな
拡大するときは、必要なくてもnnedi2を使いたくなる 縮小するときも、どうせならって感じでLSF使いたくなる
>>39 乙!
やっぱ縮小はそれほど違いわからないよね
俺も色々試してみたけど特にSpline64 Spline100 Spline144の違いがわからなかった
面積平均法が使えると良いのだけど。
Crop(182,2,-182,2) Spline36Resize(960,720) 上下の黒帯もクロップしようとして上記の設定をしたら、エラーがorz...
Crop(182,2,-182,-2) そのくらいであわてんな、落ち着けよ。
47 :
45 :2009/07/08(水) 21:06:42 ID:0vBUeTfr
>>46 Cropのどこが間違ってるんだ?
あと、aWarpsharpにUnsharpって含まれてる?
49 :
45 :2009/07/08(水) 21:30:03 ID:0vBUeTfr
SetMTMode()は速いけど、OFFに出来ない(5や6にしてもバグる物がある)。 MT()は必要なフィルタだけONに出来るけど、遅い。 フィルタ単体でMT対応して欲しいぜ。
効率でいうと多重エンコが一番いいんだよな
>>51 2ヶ月くらい前に俺にとって初のマルチコアQ9550s買ったからSetMTMode()使うことしか頭になかった…
よくよく考えればそうだよな… 今度からそうしよ…
エンコする量が多い時はそっちの方がいいよ 1つしかエンコするものがなかったらMT使うって感じに使い分けすればいい
あまり重くない3Dフィルターで評判が良いのはなんでしょうか。 FFT3Dfilterは重いので未だにMipSmooth使ってますが、 いい加減変えたいなと思ってまして。
>56 オンボなんで逆に遅くなってしまい・・・。 dfttestが今年に入ってから結構バージョンアップしてるみたいですね。 sigmaの設定値(指定方法)も変わったみたいで。 前の0.5だと今はどのくらいでしょうか? scaling factorで割れば前といっしょになるとDocにはあるものの、scaling factorってのが何かわからず・・・。 >57 YV12だと時間軸効かないですよね。
59 :
58 :2009/07/10(金) 06:24:39 ID:jeBJEvuM
>scaling factorで割れば NEW sigma = OLD sigma * scaling factor って意味です。
>>58 triticalに聞かないと分からないけど、2.0(1.4のデフォルト) * 8で、16.0(1.5以降のデフォルト)と言う事だろうか。
0.5 * 8 = 4.0 を、先ずは試してみたら。
61 :
58 :2009/07/10(金) 07:02:03 ID:jeBJEvuM
>60 なるほど。 試してみよう・・・・・と思ったら重すぎる・・・。
多重エンコするとHDDのフラグメントとか心配にならない?
気になるんだったら、出力終了後に別のディスクにコピーするなりすればいい
逆に、エンコした動画ファイルがとてつもなく分断されてたとして、 どんな不都合が生じると思うのかお尋ねしたい。
出力はRamdisk上にしてあとでコピーしてる
出力じゃなくて、作業領域をRamdiskにしないと意味無くね?
ごめん、スレチだけど… Q9550sで多重エンコ試してみて途中で気がついたんだけど avisynth、x264共にシングルスレッドに設定して、1つ目のエンコを始めた時に CPU使用率見たら、全部のコアが少しずつ使われて合計で25%になってたんだ けど、これって普通なの?? なんかイメージでは、多重エンコって各コアごとに1つのエンコを処理するから 同時に4つできるものだと思ってたんだけど…
そんなに気になるなら、タスクマネージャの関係の設定で使うコア指定してやればばいいと思うよ
>>68 やってみたら、きっちり各コアごとに処理できたよ
ただ、これって毎回タスクマネージャで設定しないとダメなのかな?
リンギング除去の関数などありますがリンギングとハローは別物ですよね? ハローはどういうものか理解できているつもりですがリンギングがどういうものなのかいまいわからないっす。 比較というかリンギングが出ている部分のスクリーンショットなど紹介しているところないですかね?
>>71 こういうものでしたか。ありがとうございます。
>>69 詳しいことは忘れたけどシングルスレッドで動かしてもOSは
満遍なくCPUに命令を割り振るから動作としては普通だそうだよ。
どっちにせよ1コア100%だろうと4コアで25%だろうと4並列でエンコさせれば同じこと。
WarpsharpからaWarpsharpに変えたら、何か変わったことありませんか?
>74 aが付いた
76 :
74 :2009/07/12(日) 00:34:12 ID:Jt7kjFtK
最近avs使い始めたんだけど、DeDotがうまくできなくて困ってます DeDot(5,40,255,0)に設定してるんだけど、動くシーンでどうしてもブロックノイズがでます 一番最初の5の部分を13ぐらいにすればノイズはでませんが、ドット除去があまりできてません 綺麗に除去するのにみなさんはどうやってるんでしょうか? 一応、aviutlメインでavs使用時はフロントエンドにmegui使ってます どうかよろしくお願いします
マルチ
>>73 なるほど。サンクス
ってか、4つ同時にエンコさせるとやけに遅いと思ったらHDDにスワップしまくりだったorz
SetMemoryMax()とか--ref --bframesの値をいじった結果、3本同時が限界かな
1080の同時エンコはXP32bitじゃメモリ容量的にキツいね
(スレチで申し訳ないけど、たぶんみんなx264使ってると思うから…) 色々試した結果、エンコ時に一番メモリ食うのが--bframesの値かなと思うんだけど、みんなどれくらいの値にしてる? これを下げればXP32bitでもなんとか4本同時できるんだけど、なるべくBフレ使いたいんだよなぁ
>SetMemoryMax()とか--ref --bframesの値をいじった結果、3本同時が限界かな その前に、自分の環境を書けよ、PCのメモリーもどれぐらい積んでるんだ?
>>82 ごめん
OS:XP32bit
CPU:Core2Quad 9550s (OC無し)
Memory:4GB(OS管理=3.5GB、RAMDISK=500MB)
avisynthは全部書くとキリがないから、とりあえず必ず使うのは
Mpeg2Source()、EraseLOGO()、TFM()、Spline64Resize(1280,720)、GradFunkMirror()とかかな
ソースによっては
Convolution3D()、WarpSharp()、Msharpen()、UnSharpMask()も使うかな
x264は--crf 18.0 --level 4.1 --sar 1:1 --min-keyint 1 --keyint 300 --ref 5〜8
--mixed-refs --b-bias 20 --bframes 10〜16 --b-adapt 2 --b-pyramid --weightb
--direct "auto" --subme 7 --trellis 2 --aq-mode 1 --aq-strength 0.5 --aq-sensitivity 10
--aq-metric 0 --psy-rd 0.0:0.0 --partitions "p8x8,b8x8,i8x8,i4x4" --8x8dct --qpmin 10
--qpmax 42 --qpstep 8 --ipratio 1.5 --pbratio 1.15 --qcomp 0.7 --scenecut 60 --me "umh"
--merange 32 --threads 1 --thread-input --deblock 0:0 --cqm "flat" --no-dct-decimate
--no-fast-pskip --progress info
長文スマソ
なんでそこまでして同時エンコにこだわるんだ・・・?
>>84 >>51 の一言が俺を変えてしまったんだ
SetMTMode()はランタイムエラーとかになって強制終了はしょっちゅうだし
Bフレかなり使うからCPU使用率が60%くらいしかいかないし
でも、さすがに俺の書き込みウザくなってきたと思うからここで退散します
アドバイスくれた人ありがと
>>83 一度オプション色々いじくって比較してみれば?
例えばbframes 5と10でどの位サイズ・時間が変わるか比べてみたり、
bframes10、subme 7とbframes 5、subme 9でどの位サイズ・時間が変わるか比べてみたり…
そうすれば落としどころが見つかると思う
>>86 submeは7以上は激重だって見たことあったからまだ試してなかったな
サンクス!やってみるよ
--bframes 10〜16こんなに使うものなの? 自分は--bframes 2に固定だけど
level 4.1をわざわざ指定するってことは、DxVAなりPS3なりの再生を目的としてるんだと思うが、 それにしてはやたらBフレやrefが多すぎるし、b-pyramid使ってるし、VBV等の設定もない バンディングを低減したいみたいなのに、trellisは2で、psy-rdは0:0? わけわかんね
VirtualDubのフィルター「threshold」のように、白黒2色に変換してくれる プラグインがあったら教えて頂けませんでしょうか? AviUtlのプラグインでも結構です。
GreyScaleとLevelsを使って工夫したらいいんじゃないか?
>91 ありがとうございました。 greyscale() levels(0,1,x,0,255) xがVirtualDubのthresholdの値と同じような感じになるかと思います。
>93 まさにこれでした。ありがとうございます。
MTのbinarizeとはまた違うのかな
PMD 改造して SSE123 使うようにしてみたら当社比 33 倍早くなった。 需要あるんだったら公開しようかと思うんだけどどうなんだろう。。。
ぜひお願いします
PMD結構使うことあるからお願いします。 ってか33倍てすごいな
>>56 亀ですが、
>>因みに、FFT3DFilterより重くて評判が良いフィルターだと、dfttestがある。
dfftest凄い能力ですね・・・ めちゃくちゃ重いですが、それに見合う効果を得ることができました。
他に、お勧めのフィルターありますか?
何か、これはよく使うよっていうフィルターがあれば、教えてください。
100 :
96 :2009/07/12(日) 19:56:55 ID:WQRU/UMZ
一応、PMD の作者さんにメール出して許可もらうからもうちょっと待ってて。
>>98 うん。gaussian が効率悪そうな計算してたから、3倍くらいにはなるかなと
思って書き直し始めたんだ。SSE にしただけじゃなくて、計算方法も結構変え
てるから、オリジナルとは少しは違う結果出力するんだけど、AvsP で 400% に
してプレビューしても差はあんましわからん程度。処理抜けとかは無いと思う
んだけど、あんまり速すぎるんだよな。。。なんかどっかおかしいのかなぁ。。。
PMDを万能2DNR扱いしてるオラすっげぇワクワクしてくっぞ!
103 :
99 :2009/07/12(日) 21:25:27 ID:2T7qDdR2
dfttestでも、非常に綺麗な動画を作ることができるのに、それを上回る動画がどのようなものになるか 今からとても楽しみです。教えてくれて本当にありがとうございます。 ・・・ すみません、動画を読み込めないとエラーがでるのですが、スクリプトの順など下記の通りでよいのでしょうか? -------------------------------- AVISource("C:\!! TEST.avi", audio=false) LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\fftw3.dll") dfttest(sigma=16.0) LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\mvtools.dll") function MVDFTDenoise( clip clip, float "sigma", bool "Y", bool "U", bool "V" ) { sigma = default( sigma, 2.0 ) Y = default( Y, true ) U = default( U, true ) 略・・ -------------------------------- 何度もすみません。。
>>103 スクリプトの内容を"MVDFTDenoise.avsi"とでもして、 "C:\Program Files\AviSynth 2.5\plugins\"に保存して、
AVISource("C:\!! TEST.avi", audio=false)
MVDFTDenoise(sigma=16.0)
とすれば使える。
なんとなく単純にlibfftw3f-3.dllがパスの通ったところにおいてない気がする
つーか LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\fftw3.dll") って? fftw3.dllはsystem32フォルダに入れとくものではなかったか
64bitOSでは、32bitOSでsystem32に入れてた奴はみんなSysWOW64に入れる決まり。これ豆知識な。
108 :
99 :2009/07/12(日) 22:19:11 ID:2T7qDdR2
>>105-107 その通りでした。
スクリプト以前に、ロードするプラグインを間違えていました。。
ちなみに今エンコ中なのですが、自分のPen4の発熱具合ヤバイです・・・
dfttestは値を0.5にしたらちょうどいい加減でしたが、これのお勧めは16 +/- 0.5〜1.0
くらいということでよいでしょうか? もちろん、自分で実験してみることに越したことはないと
思いますので、自分でも試してみようと思っています。
しかしながら本当にいろいろと有難うございました。
そして凄くエンコの結果が楽しみです。
まさかのプレスコットか?
Pen4でdfttest(`・д・´)ユウシャダナ
俺のAthlon X2、MipSmoothだったら遅くても6時間が、dfttestで24時間こえちまったい・・・
>>109 verはよくわかりませんが、6年前の奴です。
当時は二十万以上したハイスペックでした。
>>110 0.2〜3fps/s でやってます(´・ω・`)
>>111 20秒の動画が40分かかりますた・・・
P.S
16では値が強すぎるみたいなので14辺りでやってみようと思います。
有難うございました!
アニメの場合、dfttestだと線がボケるから、TNLMeansの方が好き。 hに応じて見事に細部を消すけど、消すと決めた以外の部分は綺麗に残してくれる。 でもモスキートは全然消せないから、輪郭に(モスキートはここにしか出ない)より効果的なTBilateralを使う。 ・・・ということでこんな感じで使ってる。 TNLMeansのAzを1にするとより良いけど、その場合重さは3倍になるので覚悟。 異論は認める。 TNLMeans(h=0.8) MCTemporalDenoisePP(sharp=false,edgeclean=true,ECrad=5,ECthr=40,ECmode="TBilateral()")
LSFmodもセットになったMCTemporalDenoiseは合理的だな。
付け足そうと思ったんだけど、LSFmodのSmethod=4&sourceを使うと、 ContraShrpeningとほぼ同じ効果が得られるから、今はそれを使ってる。 ノイズはそのままで、失った細部と輪郭を若干取り戻せる感じで良い。
必要プラグインの多さ、その分使うのに敷居が高い、さらに重い 俺は使いたいけどあきらめた派
117 :
名無しさん@編集中 :2009/07/13(月) 01:13:44 ID:T81VKaCm
Avisynthを導入してエンコードすると、音ずれが1発で解消と 言うのを発見し、さっそく試しましたが未だにずれて仕上がってしまいます 詳しい方解決案ください。 WMV動画配信ファイルからAVI化です。 ソフトはTMPGでやっています Avisynthは普通に読め込みできます。元ファイルはカクツキ、音ずれなく 再生できます。TMPGに元ファイルを掘り込むと、映像の種類は プログレッシブですが、avsからこのファイルを掘り込むと、インターレースと 言うのに、ファイルの種類が変わりましたが 関係ありませんか? とりあえずスクリプトは、これ1行だけで、あとはTMPGから設定いじってます。 DirectShowSource("C:\Documents and Settings\xxxxx\デスクトップ\xxxxx.wmv") システムはPEN4でメモリーは3Gです。 現象として、だんだん音がずれていきます。音声が遅れて仕上がります。 aviutl99とかVirtualDubModはとくわかりません。TMPGばかりです TMPGは4.280でAviSynth 2.8です。コーデックはDIVX6.85です あと気がついたことはavsから掘り込み、カット編集から キーフレームを見ていると、後半の法で6コマほどフレームがなく TMPGが固まってしまいます。フレーム追加したり、この部分を カットしたりもしましたが、効果なし。まぁ動画開始から 段々、ずれて行くのが本来の原因なんですから。 どうか詳しい方よろしくアドバイスください。お願いします。 他のWMVファイルも何本か試しましたが、全部同じ現象です。 とにかくエンコードすると、音がずれてAVI化したファイルができてしまいます
118 :
99 :2009/07/13(月) 01:23:15 ID:Xk7pQ7Lk
一応、報告しますと、
>>102 さんの奴、超強力ですね^^;
動きが激しくない動画でやると逆にノイズが出てしまう場合があったので
そういう動画の場合はdfttestでいきたいと思います。有難うございました。
>>117 DirectShowSourceは不安定だから、可能な限り避けるべき。
FFVideoSource("video.wmv")とするか、AviSynthは使わず、ffmpegやmencoderで直接変換するのが早いだろう。
>>119 DirectShowSource("C:\Documents and Settings\xxxxx\デスクトップ\xxxxx.wmv",ConvertFPS=True)
可変ビットレートならConvertFPS=Trueでたいていどうにかなる。
121 :
117 :2009/07/13(月) 01:53:51 ID:T81VKaCm
さっそくレスくださいましてありがとうございます。 ググルとこんな記載がありましたからAviSynthを導入しました。 wmv、flvファイルの変換で音ズレ回避の方法を紹介。 wmv、flvファイルは可変フレームの動画もある。 可変フレームと云うものは1秒間に表示されるフレーム数が一定ではない。コレが音のズレる一番の原因なのだ。 wmvファイルやYouTube動画を変換して音ズレに悩んでいる人は是非試して欲しい。 大抵が一発解決する筈だ。 >FFVideoSource("video.wmv")とするか これはスクリプト名ですよね >ffmpegやmencoderで直接変換するのが早いだろう。 これはスーパーCって言うフリーソフトの中に選択画面ありましたが いまいちよくわかりませんでした。スーパーCも試しましたが やはり仕上がりは音がずれてできあがりです。 AviSynth&TMPGの組み合わせ気に入っているんですがね エンコード時間が35分という最速になりましたから。 しかしなんででしょうね〜。なんで音が遅れて仕上がるのでしょうか? 他のソース(TVボードで録画した)SmartVisionなんかは TMPGに掘り込みAVI化しても 音もずれずに綺麗に仕上がりますが・・・・ とりあえずスクリプト名交換してみます
123 :
117 :2009/07/13(月) 02:01:06 ID:T81VKaCm
>>120 さんありがとう
これも早速追加してみます。
この現象がおきまして、もう1ヶ月で、ほかの事にめもくれず
こればかりの解決案で毎日が過ぎていきました。
WMVのままHDDに保存すればいいんですがAVI化してHDDの負担減らそうかと
WMVからAVIにするなんて馬鹿げているとも思われる方もいるかと。
しかしなぜ?こんな現象が起きるのかと考え出したら夜も眠れない日々です
どうか、今しばらくお付き合い下さいまし。
124 :
99 :2009/07/13(月) 02:03:30 ID:mVoce0c2
>>122 あれ^^; 夏休みとバレてる・・?? 何故?? orz...
125 :
96 :2009/07/13(月) 02:17:55 ID:kCbyxTPv
AviSource("xxx.avi") として再生されてみたんだが AviSource: could not decompress frame 0 というエラーがでる たまに再生できるファイルもあるのだが どうすりゃ、このエラーを回避できるんだ
DirectShowSource使ったらいけた うえーい
>126 VFWのCodecが入ってないからでしょ。 だからx264とかだったらまず無理。そもそもmp4が主流だろうけど。
>>125 頂きました。thx
見た目的にはオリジナルとほぼ同じ感じですね
自分で作った関数から2つの値を返すにはどうしたらいいでしょうか? Cだったらグローバル変数やポインタで受け渡しができるのですが・・・。
具体的に何から何を返したいん? cだったら、配列や構造体のポインタだし、 c++やjavaなら、classでしょ。
--Main .avs--- int i int j MPEG2Source(xxxx) MyFunc() i==1 ? filter1 : filter2 j==1 ? filter1 : filter2 -------------- MyFunc() { i=1 j=0 } -------------- の様な感じです。
>>133 普通、そういう場合、処理を分けるけど。
avisynth関係無しに、普通のプログラミングの場合
iやjが01しか取らないのであれば…
return m*8 + n*4 + i*2 + j:
}
int ret = hoge();
int m = ret & 1000b;
int n = ret & 0100b;
int i = ret & 0010b;
int j = ret & 0001b
>134 やはり処理をわけるしかないですか。 今回は True/False だけでいけるので、ご指摘のビット演算で対処しようと思います。 ありがとうございました。
Spline36Resizeとcropを使って、奇数クロップは可能?
>>136 Spline36Resize( 704, 480, 3, 1, -1, -3 ) この様にすれば可能。
138 :
136 :2009/07/15(水) 22:05:44 ID:L06THu+G
ありがとう。 あと、aviutlプラグイン設定で、下記だと、AU_nlsharpenが原因でエラーが起こってしまう...orz Import(PluginDir + "prefilter.avs") Import(PluginDir + "nlsharpen.avs") Import(PluginDir + "warpsharpmt.avs") Import(PluginDir + "unsharpMT.avs") ConvertToYUY2() ConvertToAviUtlYCFix() AU_prefilter(100,false,false) AU_nlsharpen(27,0,25,20,0,0,true,true,false,true) AU_warpsharpmt(130,4,100,-7,0,0,0,0,false) AU_unsharpMT(20,10,50,true) ConvertAviUtlYCToYUY2Fix()
なんじゃこりゃ これなら素直にutl使ったほうがいいナじゃないか?
それらよりも、LSFmodでも使ったら良いと思う。
いい加減数字コテと...orz のパターンはやめて欲しいw ・・・前よりは随分使えるようになったみたいだけど。
LSFmodって、遅い? あと、seraphyのwarpsharpより綺麗な(もしくはバグを修正した)warpsharpってない?
>142 バグなんてあったの?
>>142 LSFmod(defaults="slow")としても、そんなに遅いとは思わないし、
速度重視のdefaults="fast"でも品質はかなり良い。
なに、このわかめ女ww
LSFmodの関数の設定がわからん... Import(PluginDir + "LSFmod.v1.8.avsi") LSFmod() としても、関数がありませんと注意された...orz
>>147 PluginDirの場所が間違っていそうな気がする。
Import("C:\Program Files\AviSynth 2.5\plugins\LSFmod.v1.8.avsi")
面倒でも、上のように全部書いておけばよい。
まあ、この場合はオートローディングが使えるのでImportは不要だが。
149 :
147 :2009/07/16(木) 21:41:55 ID:97pJoJ5t
PluginDirの場所は間違ってない。 正しいのにエラーが出る。
152 :
147 :2009/07/16(木) 22:21:11 ID:97pJoJ5t
(建前)AvsP便利そうだなぁ、俺も使ってみようかなぁ (本音)誰か改行コードをLFに強制変換する仕様を直してくれ
>>153 なんでLF嫌なんだ?確かに強制変換ってのはウザイかもしれんが。
うちだけの現象かもしれないけど vista64でdougaαを使うと範囲選択のボタンの字が 1min→みたいな絵に邪魔されて ボタン内に表示しきれていなかった。 リソースハッカーでその絵を削除すると 正常に表示されるようになった。 もし困ってる人がいたらどぞ。
AvsP結構エラー吐く
>>155 強制変換ってのはウザイ、それに尽きる
つかコンテクストメニューからAviSynth Scriptを新規作成すると
CR+LFなのに、LF強制変換ってスマートじゃなくね?
改行にそこまでこだわる奴はあまりいないと思う
LF にされるって今初めて知った 多少気持ち悪いが、実害ないし俺は構わんなー
そもそももとからLFで作ってるからなあ。エディタの標準をLFにしてるし。 しかしやはり強制はうざいな。
>>157 たまにエラーを出してたりするよねぇ、特にメモリーをいっぱい使うと。
それでも、スクリプト編集にはAvsPより便利なソフトが今のところないからねぇ
書くの慣れるまでは便利だね そのうち使わなくなるけど…
へ?
>>163 前はNotepadとVirtualdub使って、色々思ってたけど、もうそういうソフトには
戻れないよw 何を言われても便利すぎてるからw 右クリック→ソースの参加
とか、ファイル名の参加とか同じソフトにあるプレビュー窓とかタブ機能とか…
数々の他のソフトにはない機能だ。
まぁ、個人的な意見だからそっちは自分が慣れてるものを使っておけばオッケー
>>147 俺がいる・・・自分も一昨日から悩んでたwで
RemoveGrain v1.0 preの中のRepair.dllも呼んだらいけた。よく見たらエラーに書いてんだけどなorz
RemoveGrainはGradFun2DBmodで使ってたのみで見逃してた。avsiに必要dll書いといてくれよ・・・
エラー読んで調べればすぐにわかる
書いてなかったか?Wikiに・・・
readmeに書いとくだろ、普通
文句あるなら自分で作れ
>>166 http://latoninf.free.fr/d9/LM/LSFmod.v1.8.avsi > ### +--------------+
> ### | DEPENDENCIES |
> ### +--------------+
> ###
> ### -> Masktools (v2a35)
> ### -> Removegrain (v1.0pre)
> ### -> Warpsharp (2003.11.03) [for Smode=1]
> ### -> Variableblur (v0.30) [for Smode=2]
ちゃんと全部書いてあるやんけ
どうせwikiもDoom9のスレもavsも読んでないんだろ? このボンクラめ
Wikiにも書いてある
avsiにも書いてある
>>166 はたぶん障害者だからあんま悪く言うなよ
つ tp://www.avisynth.info/?LimitedSharpen#y4de95a7 コレも見つけられないのかい?
なんという完全論破w
流石に、ここ最近の流れは"Avisynthを絶賛"とは言えないと思うぞw
Avisynthを降参ιょぅょ Part27
179 :
175 :2009/07/17(金) 20:43:29 ID:ZZhY4w2W
>>176 の方法でやってみたらうまく行きました。
どうもありがとう。
あと、EasyVFRとITSではどう違うのでしょうか?
また、そのtimecodeは自動でできるのでしょうか?
いまいちよく分らなくて...
>>1 厨と呼ばれて当然の事を、調べもしないで訊くバカが住み着くスレではない
厨と呼ばれて当然の事を、調べもしないで訊くバカが住み着くスレではない
厨と呼ばれて当然の事を、調べもしないで訊くバカが住み着くスレではない
>>179 よく分からないのだったら、比較的設定の楽なEasyVFRを使っておけばいい。
とても大事なことなので三回言ったんですか?分かりません><
このスレの人たちは、 俺には到底わからない関数とか設定を操ると思えば、 俺にもわかるような基本的なことで困ってみたり、よくわかりませんね
大事なことに決まってんだろうが そんなこともわかんねえのか?
皆さんフレームレートの判別にはFPSCHKを使ってますか?
ノン
SetMTmodeとITの併用は可能?
設定によるかわからんが俺の設定ではSetMTmode(2)でメモリリークして落ちるからITだけSetMTmode(6)でやってる
ITで24fps化するとアニメの輪郭がギザギザになるから、むしろAuto24fps+vinverseのほうがいい。
190 :
189 :2009/07/18(土) 20:20:58 ID:qt6K6HWJ
TIVTC24P2はEasyVFRなどのVFR化とは併用できない? どこかのサイトで併用できないと書いてあったみたいだけど...
>TIVTC24P2 なんだそりゃ?
192 :
189 :2009/07/18(土) 21:51:00 ID:qt6K6HWJ
TIVTC24P2でもジャギった...orz あきらめてAuto24fps+vinverseを使うことにします。 あと、utlのインタレ解除2ライクなプラグインはないかな?
TFM(PP=2, clip2=TDeint(type=1, tryWeave=true)).TDecimate(mode=1) Weaveが可能なソースはこうしている。
>>ITで24fps化するとアニメの輪郭がギザギザになるから
SDアプコン物か720iのどちらかだよね?
Aviutlのインタレース維持リサイズでの処理が抜けてるんだよ
>>むしろAuto24fps+vinverseのほうがいい
ギザギザは気になるがvinverse使うと全体ぼけるのは気にならないと・・・
昨日も突っ込んでる人がいたがここに書き込む前に
>>1 をよく読め
逆テレシネしたいのかインタレを誤魔化したいのか
そもそも理解してやってるのか不明だよ
trimしないでfreezeframeみたいにフィルタ掛ける事って出来る? 特定のフレームのためだけにtrimで分割するのは面倒で
>>191 TIVTC24P2でググって見たら出てきた
function TIVTC24P2(clip clip){
Interp = clip.AssumeTFF().SeparateFields().SelectEven().EEDI2(field=1)
Deinted=clip.TDeint(order=1,field=1,edeint=Interp)
clip = clip.TFM(mode=6,order=1,PP=7,slow=2,mChroma=true,clip2=Deinted)
clip = clip.TDecimate(mode=1)
return clip
}
どうやらダウソのエンコスレあたりでだれかがこんな名前つけたみたい
>>196 基本のサイトろくに見ずに質問してゴメンナサイ。
まだ試してないけどこれはそのものッスね。
>>189 まずはDoubleWeave().SelectEvery()で手動間引きやってみろ
それでもギザギザになるのならインターレース解除以前の問題だ
インタレ解除2ライクって・・・
おまえ自身がvinverseって書いてるじゃないか
それからTIVTC24P2って何だよ
EasyVFRで使えない物はない
いい加減なことを書くな
つかインターレース解除と間引きについて勉強し直せ
>>197 それなら普通にEasyVFRで使えるね
もしかしたら終結端数補正のない古いバージョンのことを言ってるのかな
まぁ最近ギザジャギー系多いからこういう人が出てきても無理はないな 勘違いなんじゃないのかな
ところでのらねこさん fPMD更新したら、こっちで報告していただけるとありがたいんですが
203 :
名無しさん@編集中 :2009/07/19(日) 10:33:19 ID:EGpCKY1t
少しすれ違いですみません。
以前だれかがポストしていた、stockholm pan(著作権フリー)の
データ、ミラーされているサイトを探したところ、こちらを見つけました。
>
http://media.xiph.org/ldv/pub/test_sequences/ しかし、ここのyuvデータをaviなりmp4なりのコンテナにつめようと
頑張っているのですが、うまくできません。
ffmpeg -r 30000/1001 -s 1920x1080 -i 1080i2997_stockholm_ter.yuv -vcodec copy -an test.mov
どなたかツールなり手法なりご存知でしたら教えてください。
スレチだしどうせマルチポストしてんだろ
>205 ありがとうございます。そのファイルは実はもう持っていまして。 大きな生データが欲しかったので・・・ 試行錯誤してなんとか出来ました。 ffmpeg -y -r 30000/1001 -s 1920x1080 -i 1080i2997_stockholm_ter.yuv -vcodec huffyuv -an test.avi ありがとうございました。
>>206 元から4:2:2(uyvy422)だった
>>205 のファイルとは違って、Xiphのそれは4:2:0だから、
変換するにしても4:2:2になるhuffyuvはやめて、-vcodec rawvideoとした方が良いな。
ITSのdefファイル作ろうとして、メモ帳に設定を書き込んで、拡張子defで保存して、ITSを適用したのだが、defファイルがないとエラーが。
EasyVFRを使いましょう
>>209 なんでITSよりもEasyVFRなんだ?
EasyVFRってtimecode v2吐けなかったをじゃなかった?
# 任意のfpsの入力クリップで任意のfps区間の終結端数補正。 終結端数補正してあるtimecode v1のmp4で音ずれしたことはないな DVDの3話をつなげてエンコしたけど
fPMDの作者さんへバグ報告
FilterRangeを使って部分的にフィルタをかける場合に
最初にfPMDをコールした時のパラメータに全てなってしまう
FilterRange(start=0,end=10,filter="""fPMD(strength=1000, threshold=10)""")
FilterRange(start=20,end=30,filter="""fPMD(strength=10, threshold=10)""")
この例だと2行目もstrength=1000, threshold=10で実行されているようです
PMDだと問題なかったのでfPMDのバグかなと思いました
環境
Windows XP Pro SP3 (32bit)
AviSynth 2.5.8
FilterRange
http://www.avisynth.info/?FilterRange 色空間 YUY2,YV12
fPMDのソースってライセンス表記微妙なんだけど、 avisynth.hとリンクしてるし、GPLにしてもおk?
GPLにしないと逆に大問題
ですよね〜。 >のらねこさんへ gpl-2.0.txt同梱よろ。
おまいらライセンスはちゃんと読めよ。 avisynth.hを読めばわかるけど、GPLに特例事項が付加されていて、 avisynth.hにあるインターフェイスだけを使ってリンクする場合場合は 好きなライセンスでよい(GPLにしなくても良い)って書いてある。
別にGPLにしなくても大丈夫だよ。 ヘッダファイルをインクルードしたり、ライブラリにリンクしてたりしてるだけで、 GPLにしなくてはならないというのは、偏見だよ。
ヽ('A`)ノ ノ ノ イージャンイージャン ((( <ω< )))) <('A`)> ) ) スゲージャン (((( >ω > ))))
>217 そのエラー内容読んで理解できないの? つか何がやりたいんだ? SelectEveryの引数ぐらいwikiで調べろよ
221 :
217 :2009/07/20(月) 19:37:51 ID:SONLFy/7
wikiにアクセスできないことがよくあるんだけど、何故?
GPL厨みたいであんまり言いたくないんだけど、
>>218 の点は解釈が割れてるところ。
純粋にGPLによるなら、ヘッダファイルに含まれる構造体やクラスみたいなデータ構造は
十分創作的なので著作物として扱われるべきで、
そのデータ構造を利用したものは二次創作物としてGPLにしなければならないらしい。
ライブラリがGPLの場合、それとリンクするものはGPLにせよとGPLのFAQにもある。
(大抵のライブラリはLGPLなのでGPLにしなくてもリンク可能だけど。)
これが法的に認められるかは争ってみないとなんとも言えない。
つーかこんなめんどくさい論争時間の無駄じゃん。
avisynthの特例事項には、ライセンスなんか気にしてないで開発に専念しろって意味もこめられてるんで
なんでもいいから動くもの作ろうぜ
>>217 DoubleWeave
PullDown(a, b)
としておけばいい。
aとbには、DoubleWeaveとした時、プログレッシブになっているフレームを選ぶ。
これ以降にTIVTC等は不要。
あたしGPLとか難しいことよくわからないんだけど、なんでAvisynthの 開発者はLinuxにも移植できるようにしなかったのかしら?
ライセンスと動作するOSには全く関係がないよ… とりあえずAvisynth3.0はWindowsとLinuxの両方をサポートするように計画されてる。
いや、単に俺がGPLな環境にfPMDを移植したいだけなんだが。 プロセス空間分離してない限りGPLは浸食するっつーのがLinuxな 世界のお約束。静的、動的ライブラリは全部そう。 例外条項は、プロセス間通信で分離した場合にのみ共存出来る。 ま、本人がいやなら仕方ないな。
227 :
217 :2009/07/20(月) 21:01:20 ID:SONLFy/7
wiki見て分かんないならTSで保存しとけ
>>226 GPLじゃなくてもGPLと矛盾しないライセンスなら問題ないでしょ。
オリジナルのPMDでは二次創作物のライセンスは自由ってなってるから
(Utl版で明記、Synth版は後で考えるってなってるけど、多分同じで扱っても文句は言わないでしょ)
fPMDののらねこさんに直接メール出して訊いてみれば?
>>230 さんくす。残念ながら、明記出来ないとだめなケースなんだ。
自前の環境がLGPL+GPLのデュアルライセンスで例外条項無しで
作られてるんでね。あきらめます。orz。
お前ら>>ID:SONLFy/7みたいなの相手するだけ無駄だといい加減気付けよ 数字コテとorz使ってるのこいつだけだろ ここはサポセンじゃないし軽い荒らし行為と同じだぞ 分かったら今すぐID:SONLFy/7と俺のIDをNG登録するんだぞ
そなんだ。 GPLにしろ他のライセンスにしろ結局著作権なんだから、著作者の許可さえ得られればなんだってできるよ。 移殖物をGPLにしていいかメール出してみる価値はあると思うよ。
ID:u14Xj1hjはスルー推奨。 インタレ解除が面倒だったら、インタレ保持でエンコすればいい話。
後、ID:SONLFy/7もスルー。
ID:BS2LKCtd
映画DVDから抜いたmpgファイルをDirectShowSource経由で読み込ませたら、 なにもしてないのに24FPS化してたんですけど、いったいどういう訳なんでしょうか
もともと24pだったんだろ
>>237 DirectShowSourceで使われたmpeg2デコーダーに聞いてみろ
映画なら、DGIndexで"Forced Film"としてd2vを作った方が良いと思う。
>>238 いえ、Mediainfoで確認して29.97FPSでした
>>239 ありがとうございます
GRAPHEDITで見てみたらバッファローのTVチューナーが噛んでました
誤爆を嫌って切っておこうにも、設定項目がないので切ることもままなりません
ヘタにDSFいじってハマるがイヤなので、とりあえず別の方法をとってみます
>>240 ありがとうございます
最初MPEGDecoder.dllでD2Vを読ませようとしたんですが、なんか巧く行かずに
面倒だったのでDirectShowSourceにしてしまいました
"Forced Film"の件も含めて、またチャレンジしてみたいと思います
お手数お掛けしました
>>241 つ Directshow Filter Tools
つ DGDecode.dll
インフォで29.97でもだな・・・・
MPEGコンテナにはフレームごとにプログレッシブかどうかを示すフラグがあるのだよ。 そしてDVDにはNTSCかPALしか収録できないから必然的に24pはテレシネを行ってNTSC化する必要がある。 デコーダーはtop field firstとrepeat first fieldフラグを読み取るとそれに応じて逆テレシネと間引きを行い出力する。 そのフラグがどうなってるかはmmaでも使って確認することだ
DGIndex使えばプログレで収録されてる素の映像を逆テレシネせずそのまま取り出せるね。
逆じゃないか。
DGIndexいいですね(^ω^)
http://www.animemusicvideos.org/guides/avtech3/video-dgindex.html ↑を読んで大体の使い方を理解しました
ひとまず流れとして
TME3で周期確認&フィールドオーダー&トラック数&チャンネル数確認してMPEG出力→
DGINDEXでD2V+M2V+AC3作成→Decryptorでチャプターと字幕抜きだし->動画エンコ->
(マルチチャンネル音声はBehappy->BelightでAAC化)->YAMBでMUX
というのが自分的に最速のようです
DGINDEXで24P化明示した時点でフィールドオーダー関係なさそうですが、
よく分からないので一応確認しています
248 :
名無しさん@編集中 :2009/07/24(金) 08:06:04 ID:G7CrISUr
>247 DGIndexは先頭のB-frameの分も計算する(カットする?)けど 字幕のDelayはどうしてます?
動かなくなったのが増えたんだけど^^;
よくわからんのだけどAvisynth MTってプラグインがマルチスレッドに対応してなくても それをマルチスレッドで動かすということだよね? warpsharpパッケージのようなプラグイン自体がマルチスレッドに対応しているものは意味ないってことなのかな? SetMTMode(2) WarpSharp() とかするとまずくないの?
SetMTModeは、一枚を一つのスレッドで処理する MTは、一枚のフレームを分割して、それぞれのスレッドで処理する。 よって、前後フレームを参照するようなフィルターは、 SetMTModeだと不具合が発生する可能性がある。
Trim(a, b).DoubleWeave.SelectEvery(5, a, b) とかSetMTModeだとなんか気持ち悪くて以後SetMTModeは使わなくなったよ。
>251 WarpsharpってAviutlのプラグインがマルチスレッド対応だけど、内蔵のフィルタ UnsharpMaskとかはどうなんだろう? >252 逆にリサイズ系フィルタみたいに近接のピクセルを参照するフィルタだとMTは 境界線部分が微妙になるってことかな。
元画像(A)と、Blurをかけた画像(B)が有るとする。
A - B = エッジがぼかされた部分(C)
A + C = エッジが強調された画像
これがUnSharpMaskの原理。Warpsharpも同じような考え方。
内部処理は見てないけど、根本的に一枚で完結型のフィルターだから、SetMTModeでもMTでもOK。
MTは、一枚を分割するけど、分割した端をoverlapする事が可能。
日本語のドキュメントあるんだから読もうよ。
http://www.avisynth.info/?MT%20support%20page MT
・前後フレームを参照するフィルタには使用可
・入力時と違うサイズで出力するフィルター(リサイズ系)は使用不可
SetMTMode
・前後フレーム参照するフィルターには不可
・リサイズ系フィルターが使用可
両方含めて
・マルチスレッド動作するフィルタは、MTや、SetMTMode等で使用しない方が良い
(プログラミングの心得が有れば分かるけど、マルチスレッドプログラミングには
デッドロック等のソフトウェア設計時には想定しにくい、バグが潜在的に含まれる事もある)
256 :
254 :2009/07/26(日) 20:25:21 ID:UyCAyq2U
ごめん書き方が悪かった。 Aviutilのプラグインはマルチスレッド対応のものは当然として、 UnsharpMaskとか内蔵フィルタも「単体」でマルチスレッド動作するようにコードを 組んでるのかな?ということを聞きたかった。オリジナルは2003年だからおそらく シングルなんでSeraphy氏がそこも改良したのかな。 あと、もともとマルチスレッドでないものは結構問題あるってのが通説だからMTとかは 自分で使ったことは全くなくて。x264でさえ--threads 2以上は効率悪くなるらしいしね。
>>255 >MT
>・入力時と違うサイズで出力するフィルター(リサイズ系)は使用不可
縦方向、横方向それぞれどちらかならば可能。 splitvertical=true で縦分割なので、縦のリサイズが可能。
>SetMTMode
>・前後フレーム参照するフィルターには不可
"直線的なフレームサーブを要求するフィルタ" が使用不可。
FFT3DGPUなんかがSetMTMode(5)で動くと紹介されている。
自分の狭い知識の中では、マズイのはスマートデインターレース系フィルターだけな気がする。
それと、SetMTModeは不安定だけど、MTで落ちるということはほとんど無いはず。
複数同時エンコしているのと変わらないから、メモリの使用量や効率の悪さ以外に問題はないはず。(?)
>>212 多分直ってます。いつか忘れましたけど、static 変数駆逐したときに直ったと思います。気づくの遅くて申し訳ないです。
>>213-216 >>218 avisynth.h の除外条項、あんまりはっきり書いてないけど、avisynth プラグインに
特化してるものは independent modules に該当し無いような気が。解釈の問題だから
深入りはしたくないし、別に GPL にしてもかまわないのだけれど、エモリ氏のコードが
数行は残ってるからどうしようかな。
# ヘッダリンクしてて、除外条項に該当しないから、GPL とみなすとか、そういうの嫌なんだよね。。。
みんな2.5.8使ってるの? 2.5.8でMTがあまりにも落ちるんで2.5.7に戻してしまった
MT使ってないから2.5.8 MT()はシャープ系フィルタで使っても分割の切れ目が変になる場合があって今一使い所が難しいし SetMTModeもフィルタの組み合わせによっては怪しい気がするし 前の方でも出てたけど分割して多重エンコした方が効率的な気がする
フィルタ単体でどんどん対応してくれれば良いんだがねえ
単体でも糞重いNRフィルタ(MDegrainとか)だけMT()をoverlap32で使ってるな エンコ設定見直したくなったときのためにTWriteAVIやEnpipeで中間出力することも多いんで SetMTModeはずっと使ってない
>>6 コアでやっと4倍速になると思う。
?
2、4、8
Duo
Quad
i7
6って・・・
>>263 C2Qの2x2とi7のx4とではまた違った結果が出てくると思うよ
>>264 Istanbul
Dunnington
>>264 職場にこういう話の流れを読まずにおかしな突込みをする奴がいるんだが、 ほんとうざい。
ワラタ
i7 920に変えたら2時間かかってたアニメが20分になって彼女が出来ました。 AVS先頭にSetMTModeが使えるなら極力使ったほうがいいとおもうけどなぁ。 二重に動かすのもメモリ3G利用になってギリギリすぎる。悩ましい。
64bit良いよ。。 SetMTModeが使えないときは二重エンコでx264だけで合計4GB近く使ってるけど問題なし。 コミットチャージは合計5GBくらい。
64bitにしたいんだけどAVISYNTH64bit版でAVIUTLのプラグイン動作するかな? そこだけ気になって未だに手をつけられずに。 アニメばかりなのでがらくたハウスさんのところのAVIUTLプラグインが外せなくて・・・。
32bitプログラムから64bitプログラムは呼べません DLLも然り 32か64、どっちかに統一しないと駄目
>>266 話の流れは別に気にならないけど、お前馬鹿?
64bit環境だけど、エンコに関しては困ったことはないな 目立ってアレなのはエロゲができねーことくらいか?
AvsP v1.4.0使ってるんだけど、いくつかフィルタをスライダー用の書式で挿入して プレビューで全てのパラメータの値をスライダーで調節して決定した後その値で スクリプトをスライダ無しの普通の書式に戻すにはどうすればいいのかな? 一つ一つ書き直さなきゃいけないのか、それとも自動で書き直してくれるフィーチャーってある?
>>276 やっぱりそうですか…
なんか以前1.3.9以前か2.0以降のバージョンを使ってたときは
確かに自分でも自動でスライダ除去された経験がある記憶があるんだけど、
なぜか今使ってる1.4.0だとそのままparam=[<...>]の書式のまま保存されるんだよね。
自分でv.1.4.0の設定のスライダ関連をいじくったからのか覚えてないけど
今Program settingsから探してもそれらしき設定が見つからない。
とりあえず手動で書き換えたけど、また後で別のバージョンで同じスクリプト開いて試してみる。
ところでLatoさんのMCTemporalDenoise、
折角2pass用にthSADとは別にthSAD2というパラメータ用意してあるのに、
2pass目のMCTD_TTSM/MCTD_MVDでthSADがそのまま代入されてる(デフォルト値かどうかに関わらず)。
試してみたけど消えないね。2.0.2英語のまま@XP import re old = avsp.GetText() new = re.sub(r'\[<"\w+",\s([-0-9\.]+,\s)+([^>]+)>\]', r'\2', old) avsp.SetText(new.encode('cp932')) やっつけマクロでけた
>>275 Tweak(hue=0.0)
### AvsP marked script ###
# Tweak(hue=[<"TweakHue", -180, 180, 0.0>])
### AvsP marked script ###
こんな感じで保存されました(AvsP v2.0.2 + bugfix3)。
fPMDの中の人、Ver1.6更新乙 あまりここ見てないようだけど一応報告 HPのVer1.6リンクがVer1.5のままになってる fPMD.20090801.zipに変えると落ちてくる
EasyVFR version 0.2 改2の終結端数補正ってケツを2フレーム削ったら 5の倍数以外はちゃんと補正してくれないのね こういう場合は削りたい箇所の5フレームだけをdropモードにするのがいいのかな? ソース上は0〜10の全11フレーム ★削らないパターン (間引いて全9フレームの24fps) EasyVFR_Create(clp,clp.Trim(0,10).DoubleWeave().SelectEvery(10,0,2,5,7),"timecode.txt",0,10) 0,7,23.976023976024 8,8,29.970029970030 ★1フレーム削るパターン (間引いて全8フレームの24fps) EasyVFR_Create(clp,clp.Trim(0,10).DoubleWeave().SelectEvery(10,0,2,5,7).DeleteFrame(FrameCount),"timecode.txt",0,10) 0,6,23.976023976024 7,7,13.320013320013 ★2フレーム削るパターン (間引いて全7フレームの24fps) EasyVFR_Create(clp,clp.Trim(0,10).DoubleWeave().SelectEvery(10,0,2,5,7).DeleteFrame(FrameCount).DeleteFrame(FrameCount),"timecode.txt",0,10) 0,5,23.976023976024 6,6,13.320013320013 ← 1フレーム削った場合と同じ
ちなみに5の倍数である10フレームだと正常に終結端数補正している ★削らないパターン 0,6,23.976023976024 7,7,23.976025 ★1フレーム削るパターン 0,5,23.976023976024 6,6,11.988012 (*2=23.976024) ★2フレーム削るパターン 0,4,23.976023976024 5,5,7.992008 (*3 = 23.976024)
EasyVFR改3ってのがあった希ガス
>284 改3ってお願いしてる人を度々見かけるんだけど持ってる人が極端にすくないようで・・・。 uploaderのはもうとっくに流れちゃってるし・・・。 どなたか再upお願いし出来ないでしょうか?
>>286 ありがとう
でも確か改3ってチャプタを出力する機能が追加になっただけなんだよね
うまくいくか試してみようかな
連投になるがすまん、自分で計算してみた ★1フレーム辺りのmsec算出 24fps 1000msec / 23.976023976024fps = 41.708333333333291625000000000042msec 30fps 1000msec / 29.970029970030fps = 33.366666666666633300000000000033msec ★30fpsの場合の11フレーム辺りのmsec算出 11frame * 33.366666666666633300000000000033msec = 367.03333333333296630000000000033msec ★24fps化した後に削らないパターン (11frame→9frame) 8frame * 41.708333333333291625000000000042msec = 333.66666666666633300000000000032msec 残り1フレームで 367.03333333333296630000000000033msec - 333.66666666666633300000000000032msec = 33.3666666666666333msec 1000msec / 33.3666666666666333msec = 【29.97002997003000000000000000003fps】 ★24fps化した後に1フレーム削るパターン (11frame→8frame) 7frame * 41.708333333333291625000000000042msec = 291.95833333333304137500000000028msec 残り1フレームで 367.03333333333296630000000000033msec - 291.95833333333304137500000000028msec = 75.0749999999999249250000000001msec 1000msec / 75.0749999999999249250000000001msec = 【13.320013320013333333333333333329fps】 ★24fps化した後に2フレーム削るパターン (11frame→7frame) 6frame * 41.708333333333291625000000000042msec = 250.24999999999974975000000000024msec 残り1フレームで 367.03333333333296630000000000033msec - 250.24999999999974975000000000024msec = 116.7833333333332165500000000001msec 1000msec / 116.7833333333332165500000000001msec = 【8.5628657057228571428571428571441fps】 1フレーム削るパターンはきっちり合ってるんだよね 本来こういう使い方を想定してなくて平均化する方がいいのかな それとも改2のバグなのかよくわからん
エンコ用にPC組んだから、リモートデスクトップ上でx264エンコしようとしたら FFT3dGPUが使えなかった;; モニタレスで組んだのに;; どうにかする方法ないですか?
いさぎよくあきらめて、FFT3DFilterを代わりに使う。
vncで繋いでみるとか
>>286 数年ぶりにEasyVFR関数読んでみたら構造理解できるかなと思ったけど
開いてみたらやっぱり頭痛くなりそうな内容だったので速攻でファイル閉じた。
そういえばこの改シリーズの作者さん、昔精力的にVFRの解説してくれてたけど
今でもここ見てるんだろうか?
294 :
293 :2009/08/02(日) 22:30:26 ID:egvAY5Q1
もしかしてvistaか7なら問題なく使える?
単純にリモートデスクトップでバッチファイル実行するだけなんだからavsが間違ってるんじゃないの?
ATi+Vistaで前に試したけどリモートデスクトップでATiの赤いアイコンがでていないと失敗したような気がする。 DirectX使ってる絡みなのかな…
297 :
293 :2009/08/02(日) 23:11:46 ID:egvAY5Q1
XPではDirectX絡みの問題でFFT3dGPUが使えないみたいですね
>>296 vistaでリモートデスクトップ上でFFT3dGPUを使った場合、速度は落ちるとは思うけどどうでしょうか?
誤差程度なら7買う目的ができるのですが
結局Vistaでリモートデスクトップエンコは成功してないんだよ。
300 :
293 :2009/08/02(日) 23:23:03 ID:egvAY5Q1
>>298 UltraVNCについて情報集めてます
>>299 そうですか…
お盆にでも7をインストールして実験してみます
グラボなしでGPUを使おうとしてるとか
WSInvoke: 名前が不明です。 (EasyVFR3.avs, line 518) (EasyVFR3.avs, line 544) ってなるのは俺だけ?ソース見たけどさっぱりだった
>>302 の原因判明
Math::BigIntが入ってないだけだった
Can't use an undefined value as an ARRAY reference at C:/Perl/site/lib/Math/BigInt/Calc.pm line 235. 駄目だorz perlのバージョンがいけないのかインストールしたモジュールがいけないのか 動いてる人のバージョン教えて欲しい ActivePerl 5.8.6.811 (わけあってこのバージョン使ってる) math-bigint version 1.89 math-bigrat version 0.09
mvtools-v2.4.7かfPMD1.6のどちらかにバグがあるのかも この2つをバージョンアップしてからエンコ中にメモリリークで落ちるようになったよ 3時間ぐらいエンコして落ちる→マシンの調子が悪いのかと思い再起動→また数時間で落ちる →以前のバージョンに戻してからエンコ開始→6時間後完了 一度に2つもバージョンアップするんじゃなかった・・・ これ以上気力がなくてどちらが原因か追究できてなくてすまぬ
2.4.4 (08.07.2009 by Fizick) * Merge all mods by SEt * Replaced avisynth.h v2.5.5 by v2.5.8 2.4.2_mod2 (30.06.2009 by Pavel Skakov aka SEt) * Corrected threading problems, minor optimizations (avisynth.h from avisynth2.5.8MT beta, init vectors as 0) mvtoolsここらへんがダメな気がする
>286 ありがとう! また流れるからniiyanのところで持っててくれたらいいな。
308 :
307 :2009/08/03(月) 07:37:04 ID:EsNqZZ/y
と、思ったらすでにあった・・・。 この間までなかったから>286のかな?
277だけどレス遅くなってすみません
>>278 >>280 レスありがとう
AvsP v2.0.2 + bugfix3だと両方の書式で保存してくれるのか…
v2はアップデートされた時に使ってみたんだけど
使いづらかった点があって(どういう所だったか覚えてない)
v1.4.0に戻したので
>>278 を参考にマクロで対応する事にしました。
>>278 のままだと何も起きなかったのでちょっと改変して使わせてもらいました。
dfttestの動き補償付きとそうでないの試してみたんだけどいまいち効果の違いがわかりません。 動き補償つきはどういったソースで効果がでるんでしょうか?
>>310 super = last.MSuper
vf1 = super.MAnalyse( isb=false, overlap=4 )
vf2 = super.MAnalyse( isb=false, delta=2, overlap=4 )
vb1 = super.MAnalyse( isb=true, overlap=4 )
vb2 = super.MAnalyse( isb=true, delta=2, overlap=4 )
Interleave( MCompensate( last, super, vf2, thSCD1=800 )\
, MCompensate( last, super, vf1, thSCD1=800 )\
, last\
, MCompensate( last, super, vb1, thSCD1=800 )\
, MCompensate( last, super, vb2, thSCD1=800) )
Subtractで見ると、動きの無い背景は同じでも、動きの有る部分は結構違うのが分かる。
先ずは、これでMVToolsにどう言った効果が有るのかを、確かめてみたら良い。
>>311 ありがとうございます。
早速確かめてきます。
アニメだと若干気持ち悪い動きすることがあるな
にーやんのとこのEasyVFR改3だけど2007.10.6バージョンなんだな 確認したら2007.11.17バージョンがあるけど、これが最新なのかな
>314 中身違うんでしょうか? 欲しいです。
BCSInterlacedResizeで縦486pxを目標にする場合 先に下40pxベタ追加してから504pxを指定すればYV12のままでも リサイズできるけどAutoYUY2でYUY2化してから普通に やったほうがきれいだな。YV12のままだと赤い部分がにじんじゃった。
AutoYUY2ならMPEG2Source(upConv=1)の方がいいな。
あー逆テレシネしてからプログレッシブでYUY2化するっていう方法もあるか。 軽さを追求するつもりがだんだん重くなるな('A`)
GradFun2DBmodにMTを適用して使う場合、何も問題ないよね?^^;
>>320 AddGrainCのバージョンによっては、MTつかうとメモリリーク起こすよ
たしか1.1なら大丈夫とかなんとか
322 :
320 :2009/08/09(日) 21:15:36 ID:S+m+7X4n
1.2ぽいですね^^; ちなみにQ9400使用で、MTしてもしなくても速度がほとんど変わらなかった^^;
fPMDの新しいバージョンがきてるね > 1.7aと1.5bリリースしました。これでYV12で動くようになったと思います。 > 2009/08/09 v1.5b YV12で5ライン上にずれるバグの修正 > 2009/08/09 v1.5a 上1ラインが黒になるバグの修正 とあるけど今までv1.5でYV12で問題なく動いてたし上1ラインが黒くなるようなこともなかったんだけど 何か発生するような条件があるのかな?と思ったらわかった 横幅が704だとバグってたのか、横幅が720だと正常 これが1.5bだとバグらなくなった 作者乙です
Version 1.1 (06.08.2009)
* Added faster SSE2 (and some SSSE3) custom optimization by H.Yamagata from ffdshow-tryout. Compiled with GCC versions above 4.1.
* Added a little faster MMX conversion for YUY2 format.
* Added planar hacked YUY2 color format (compatible with SSETools by Kassandro).
Version 1.2 (07.08.2009)
* A little faster SSEMMX conversion for YUY2 format.
Version 1.3 (12.08.2009)
* Added "opt" parameter for manual selecting of CPU optimization.
* Fixed bug in SSE2/SSE3 code (from ffdshow), now results are same as C/iSSE.
http://avisynth.org.ru/yadif/yadif.html
ところでfPMDの1.5bと1.7aの違いってなんでしょうか? 履歴にもreadmeにも何も書いてないし、使ってみてもどこが違うのかよくわかりませんorz
>>325 HPの説明ぐらい読め
>雑記/雑感
違いがわからないのなら最新使っとけばいいだろ
>>326 ここに書いてありましたか
ありがとうございました
x64 ネイティブな冗長フレームを削除するフィルターを探しています 例えばDecomb.dllのDecimateやTIVTC.dllのTDecimateなどなんですが x64ネイティブのものが見つかりません どなたかご存じの方がいらっしゃいましたら教えていただけませんか?
AviSynthWikiのリンクにちゃんとのってるよ
>>329 俺もx64版Decombを探しているが、wikiのnewsにあるDecomb x64のリンクはすでに切れているし
squid_80氏の公開ページにあるDecomb.zipは64bitAvisynthに入れてつかうとフリーズする
簡単な質問で申し訳ないかもしれないけれど ソース→avisynth+フィルタ(ノイズ除去等) と ソース→可逆+上記と同じ設定のフィルタ→avisynth(これも上と同じ設定) ならばどちらがクオリティの高いものができますか? また殆ど変わらないのでしょうか?(CRCまで一致するとは考えにくいです。。) 今まで普通にavisynth+フィルタでやってきたのですが、dfttestを使おうと思ったら とても重かったので可逆にする時にフィルタがけすれば、比べ圧倒的に時間的に有利になるので質問しました。
>>331 avisynth+フィルタって意味がわからん
そのフィルタってavisynthのスクリプト内じゃないのか?
書き方が悪くてすみません。avisynthでノイズ除去のために今までは ff3dfilterを使っていたという意味です。
Subtractで見たら分かると思うけど、中間ファイルが可逆なら、品質は同じ。
品質が同じというのはつまり、最終的に出来上がるものがいずれの方法をとろうとも(といっても二通りですが^^;) 同じになるということでよいしょうか? あまり考えられないのですが、中間ファイルでフィルタを掛けたとしても それは可逆だからほとんど意味がないという意味にもとれるので、確認のために最後に質問させて頂きました。
HuffYUV等を使って、途中でYV12<->YUY2を挟むと僅かに劣化するけど、(インターレースなら劣化の程度は大きくなる) Ut Video等、YV12に対応した可逆を使うのなら問題は無いだろう。
>>335 可逆圧縮の意味を考えれば差異がないことくらいわかるだろうに
>>336 とても親切に有難うございます。
今エンコしようとしているソースが実はそのインタレースなのですが(汗)、
Huffyuv等の中間ファイルを通した場合はやはり、あなたのような動画に精通している方なら
若干ではあるものの違いはわかる程度の劣化が発生するのでしょうか?
最後と思っていたのに何回もすみません・・
>>338 回避する方法もあるけど
実際エンコしたもの同士を比較しても
「違う」のがわかっても「どっちがどうやったか」どころか「どっちが画質が悪いか」もわからないよ
ただ「違う」だけ
>>339-340 有難うございます。
とくにID:G7DF4x+Pさん、有難うございました。
EDCBで録画->avisynthでフィルタ処理(24fps化、ノイズ除去)->avs2avi(UtVideo)->.avi までバッチファイルで自動でやってる。 で、CMカットして最終的にx264でエンコ。 普通、録画終了後までPCにはっついてないだろうからこの方が時間を有効に利用できる。 フィルタもFindStr使ってソースごとに指定すれば良い。 ただ、一話一話最適な設定を組もうとする人にはダメだけど。 注意しないといけないのはYV12の場合インタレ解除するかしないかでCodecの設定を 変えないといけない。UtVideoはそもそもインターレースには対応してないし。
>>342 >注意しないといけないのはYV12の場合インタレ解除するかしないかでCodecの設定を
>変えないといけない。UtVideoはそもそもインターレースには対応してないし。
YUY2/RGBをULY0で圧縮するのは縞が崩れるのでやるべきでは無いが、
リサンプリングをせずに、YV12をそのまま圧縮するのなら大丈夫。
>340 前から思ってたんだけどDGIndex使ってる場合はupConv=1でYUY2にすれば RFF参照して正確に処理してくれるから(たまにソースレベルでフラグが間違って いるものがあるらしいけど)それだけで問題ないような気もするけど、これでも 劣化する場合があるという書き込みを見かける。 どうしてなんだろう・・・。
345 :
343 :2009/08/15(土) 13:16:41 ID:dnXK4yEe
>342 あれ、そうなんですか? UtVideoでYV12の場合は、1ライン目と2ライン目のChromaが決めうちで一緒になると おもってた。 インタレなら1ライン目と3ライン目、2ライン目と4ライン目のChromaが一緒じゃないと いけないはず。
346 :
345 :2009/08/15(土) 13:18:02 ID:dnXK4yEe
>342 -> >343
>>345 clip1 = MPEG2Source("source.d2v", upconv=0)
clip2 = AVISource("utvideo.avi")
Subtract(clip1,clip2).Levels(127, 1, 129, 0, 255)
まあ、何か適当なソースをULY0で圧縮してみて、こうして比べてみるのが早い。
349 :
345 :2009/08/15(土) 14:20:29 ID:dnXK4yEe
回答ありがとうございます。 つまりUtVideoはインタレ素材と、プログレッシブ素材を判定してUV成分を共通にするラインを 自動で分けているということでしょうか? それとも プログレ -> 0,1のUVが一緒 インタレ -> 0,2のUVが一緒 という考え方自体が間違っていたのでしょうか・・・
>>349 アップサンプリングをするなら、そうしてやらないと縞が崩れてしまうけど、
YV12をリサンプリングをせずにそのまま可逆圧縮するなら、何も考えなくても良い。
351 :
345 :2009/08/15(土) 14:52:30 ID:dnXK4yEe
なるほど。 YV12のソースがVFW Codec(ULY0)に渡るときに、共通にすべきUVが隣接フィールドなのか、 1つ飛びのフィールドなのかという情報もいっしょにCodecに渡るということなんですね。 でもそうすると >348 の場合も含めてYUY2変換の時もソースのインタレ情報から 正確にアップサンプリング出来そうな・・・。 それともDVDやTSのYV12の場合、同一フレーム内で隣接したフィールドのUVが共有の部分と、 そうでない(1つ飛びでUVが共有)という部分があるということでしょうか。 何度も質問してもうしわけありません。
>352 下の方はちょうど今読んでいたところでした。Donaldですら困っているようで (ソースレベルでのエラーってことでしょうがないのでしょうけど)。 YV12をYUY2にアップサンプリングを行うのがなぜ難しいかはDideeのおかげで わかりかけてきました。時間をかけて読み込んでみます。 1つだけ教えていただきたいのですが、もし「>352 こんな都合の良い情報は一切無い」 ということであれば ソースYV12->ULY0(YV12) への変換が「>350 何も考えなくても良い」になるのでしょうか。 ソースがプログレかインタレかによって共有すべきUVのフィールドが異なる。 しかしプログレかインタレかはUtVideoには伝わらない。 であれば、UtVideoがソース(YV12)をULY0(YV12)にエンコードする際に 隣接UVにすべきか1つ飛びのUVにすべきか判断している。 ということでしょうか。
>への変換が「>350 何も考えなくても良い」になるのでしょうか。 への変換がどうして「>350 何も考えなくても良い」になるのでしょうか?
YV12のサンプリングは、可逆圧縮なら元のままなので、インターレースか否かを区別する必要は無い。 YV12->YUY2やYUY2->YV12をするのとは全く違う。
確かに。 よく考えてみればUVの展開方法がわからなければデコードすら出来ないわけで。 YV12のデコーダがソースを読み込んだ時に、隣接UV展開(プログレ)か、1つ飛び(インタレ)か を当然正しく判断できる、というかその情報がソースに書かれて(指定されて)いるはず。 ということで、やはりその情報がエンコードするときにもそのまま渡されるということによって、 エンコードされたULY0もソースと同じ状態になるということですね。
>YV12のデコーダがソースを読み込んだ時に、隣接UV展開(プログレ)か、1つ飛び(インタレ)か >を当然正しく判断できる、というかその情報がソースに書かれて(指定されて)いるはず。 これは、人間の視覚以外では、どちらか分からないから、分からない状態そのままで圧縮しましょうと言うこと。
ULY0は、デコードしてどうなるかは考えずに、ただ圧縮すると言いたいんでないの?
全編インターレースのソースを仮定した場合、YUY2へのアップサンプリングにおいてまず 基本としては、どのフレームのどの部分も当然インターレースであるから、0,2 1,3 のフィールド のUVを共有させてデコードしてあげなければならない。これがConvertYUY2(interlaced=true) またはMPEG2Source(upConv=1) しかし、どんなソースであっても大本は、極端に言えば、YUV444なのだから、これに近づける ことを考えるべきである。そこで全編インターレースのソースであっても、動いていない部分に ついては単純に 0,2 1,3 を共有させる(0のUV成分を用いて2、1のを用いて3を作りだすよりも、 たとえば0と1の平均を使って1のUVとし、元の1のUVは2で使って・・・のようにデコード した方が本来の画像に近づくはずである。 というのがいわゆるMotionAdaptiveなYUY2アップサンプリングの原理ですかね。
ConvertYUY2 -> ConvetToYUY2 細かいところは見逃して下さい・・・。
YV12でのインターレースとプログレッシブの違いは展開時に色差を1ライン置きにとるか 連続した2ラインでとるかの違いなだけでしょ。もちろんYUY2などからYV12に変換する際に インターレースかプログレッシブか考慮しないと映像を破壊してしまうことになるけど データを格納する際にはどちらだろうと同じように扱う。あとはその映像を加工するばあいに フィルタがインターレースかプログレッシブどちらで扱うかはフィルタの仕様なり使用者の 指定によってどっちか決まる。 YUY2へのアップサンプリングについては Bob化(24pならIVTC)>AutoYUY2>upConv>ConvertToYUY2(Interlaced=true) の順番にいいと思う。Bobが一番重いけど。
>362 長い間ありがとうございました。やっと疑問が解けました。 お恥ずかしい話、ノイズフィルタでさえMipSmoothしか使ってないので アップサンプリング(BCSInterlacedResizeで必要)の精度など 自分には手にあまる処理でしたが、原理と意味に非常に興味があったので 大まかにでも理解できて大変有意義でした。
実写にノイズというものは存在しない ゆえにプリフィルタは必要ないと断言されてしまった
いつだったか忘れてしまいましたが、このスレでNicAudioのNicLPCMSourceの
バグについてパッチをあげてくれた人がいました。
その時本家(
http://nicaudio.codeplex.com/ )に報告(Issue Tracker)して
ソースもアップしたのですが音沙汰無く・・・。
今回BDソースをNicAudio2.0.3を使ってエンコしようとしたところ自分でもこのバグに引っかかって
しまったので今度はDiscussionsのところで報告したところ、直してくれました。
前に報告してくれた人ありがとう!
そういえばそんなのあったなあ。あんま気にせず有志の修正版使ってたけど 今までずっと放置だったのか・・・なんにしても乙
この手の報告は公式よりもDoom9のほうがいいのかもしれませんな
369 :
366 :2009/08/16(日) 07:21:32 ID:GiUJq4m8
>367 あげたパッチに気づかなかったそうです。 >368 確かに。 ただdoom9の方は過疎ってたような気がしたので。
突然ですが、大学の卒業研究でプラグインを作成しようと思っています。 もう出尽くしてるかもしれませんが、 今までに無いようで需要がありそうなフィルタなどはありませんでしょうか?
そんなことを訊くようでは、モチベーションもあがらないし、どうせ完成しないだろう 自分が心から望むものに挑戦しろ 他人からの注文で何かを作るのは卒業してからでいい
全自動の完璧インタレ解除プラグイン
もう皆勘弁してやれw
>>371 の言葉だけで十分だww
>>370 卒業研究の肩慣らしに
Aviutlのインタレース維持リサイズと同機能の物を作ってくれ
散々既出だがTNLMeansのGPU対応版とか?
>>371 卒研の内容を 2ch で聞く段階でモチベーション終わってるわけだがw
まぁ、ネタ投下だろうということで。
テロップ除去フィルタ。透過ロゴじゃなくて、テロね。
aviutiのフィルターが使えなくて四苦八苦してます LoadAviUtlFilterPlugin2:プラグイン読み込みエラーと出ます warpsharpはSeraphyさんとこの最新を使ってます
380 :
378 :2009/08/16(日) 21:33:35 ID:LQMzJyRb
aviutiのつづりが間違ってました…
381 :
378 :2009/08/16(日) 21:47:16 ID:LQMzJyRb
エラー出なくなった代わりに、落ちるようになりました…
>>378 379 名前:名無しさん@編集中[sage] 投稿日:2009/08/16(日) 21:30:30 ID:ClGQyoK9
>>378 スクリプトを張る。
64bit版って専用のインストーラーある訳じゃなくて 32bit版をインストールして2つのファイル差し替えてレジストリ登録するだけ?
384 :
378 :2009/08/16(日) 21:57:24 ID:LQMzJyRb
global AviUtl_plugin_directory = "C:\Aviutl\" global AviUtl_plugin_copy = false global AviUtl_plugin_debug = false global AviUtl_plugin_thread = 2 #################################### # クロスコンバート補正 #################################### # i0 : 位相 default(1) range(0,5) function AU_c_convhosei(clip clip, \ int "i0") { LoadAviUtlFilterPlugin2(AviUtl_plugin_directory+"c_convhosei.auf", "_AU_c_convhosei", copy=AviUtl_plugin_copy, debug=AviUtl_plugin_debug, thread=AviUtl_plugin_thread) return clip._AU_c_convhosei( \ default(i0,1)) } MPEG2Source("D:\test.d2v") ConvertToYUY2() ConvertYUY2ToAviUtlYC() AU_c_convhosei(1) ConvertAviUtlYCToYUY2() ConvertToYV12() return last
>>384 そりゃAviUtl専用なだけだろ
なんでもavsでいけるわけじゃない
Aviutlのフィルタ使いたいなら素直にAviutl使え
らじゃー
>375 同意。
>>151 みたいなフィルタの効果を比較する表示ってどうやるの?
>>389 LaToの作ったスクリプト(LSFmod, GradFun2DBmod, MCTemporalDenoise等)で、
show=trueとすると、あんな表示が出る。
>>390 AvsPのマクロか何かでやってるんだと思ったよ。フィルタの機能なのね。
ありがとう。
BCSInterlacedResizeの処理が理解出来ない どんなトリックつかってデフォルト値算出してるんだ?
君の疑問点が理解できない
言い方悪いか。スマン。関数を読むことは出来るんだ。 フィールドごとにリサイズする必要があることも分かるんだが 何故ちまちまと上下端を弄る必要があるかが分からん。(インタレ維持リサイズで位相0に相当するのがデフォルト値でしょ?) それが理解出来れば魔法じみたデフォルト値の計算方法も理解出来るしその逆もしかりと思ったんだ。
あれは計算じゃなくてVFR氏が自ら実際のアニメで調整した最適値だと思う。 当然アニメによってはあの関数のデフォルト値よりもっと良くなる組み合わせもある。 本当のデフォルトは全部0でしょ
utlの方のインタレ維持リサイズで位相0にするのとデフォルト値のBCSInterlacedResizeが 大体一致したから何か意味があると思ったんだけど。たまたまなのかな? ちなみに0,0にしたらどうもジャギが残ってしまうエレメントハンターが何故か綺麗になった。 エレメントハンターの放送時の処理がそもそもおかしいのかな
>395 インタレ維持リサイズと違ってBCSはfloatで指定できて、現にVFR氏はデフォルト値を0.01単位で 設定している。いったいどうやって探し出したんだろう・・・。 スクリーンショットを拡大してズレを測ってからなんらかの計算を行っているのだろうか。
俺はAviutlプラグイン化して肉眼&波形見ながら調整してる。 がらくたハウスの人の話では720->1080は簡単な整数比だから 手計算で係数が求まるみたいなことは言ってるね。俺にはよくわからんw
>398 波形ですか。AviUtlはほとんど使ってなかったからそういった方法があるとは 思いませんでした。 よろしかったらプラグイン名とやり方を解説して頂けませんでしょうか。
wikiみろ。
CANAANのエンディング、テロップの部分で BCSInterlacedResize(720) TFM(clip2=TDeint(type=1, tryweave=true)).TDecimate(mode=0) このように処理してみたのですが、フェードアウトする部分で若干テロップが崩れてしまいます。 縞々は解消できたのですがテロップはどうしようもないのでしょうか?
Avisynthを使って、ある動画の一部分を取り出してお気に入りのシーンをコレクションする用途に使えますか?
がんばればできないことなどないさ
複数の静止画、動画をAvisynthでまとめて1つの動画を作るようなことをしていると 通して再生すると途中でフレームの出力が止まって以降同じフレームばかりが 出力される現象が出るんだけど自分だけ?
お前だけ
>398 波形ってGNBの館の波形表示プラグインですよね? これをどうやって縞除去の調整に役立てるのでしょうか・・・。
AVIを繋げたavsをVirtualDubで読み込んで再生してると、 Avisynth read error Returned a VFB with a 0 data pointer! ってエラーが出てそれ以降は読み込み直すかVD閉じるしかなくなる。 VDを開き直したり、動画を読み込み直すとエラーが出なくなることもあるけど、 これって何がマズいの? 検索してもこのエラーに関する情報がぜんぜん無いし、 ほんとどういうことなの…状態。誰か助けて。
avsが間違ってんだろ
>>407 なぜスクリプトの内容を晒さないのか理解に苦しむ
荒らしに反応する奴も荒らしだって事を忘れるなよ
VFR氏のBCSInterlacedResizeって垂直486で使えなくない? 486/2=283 になってリサイズするとき2の倍数じゃないってエラーがでる
>>316 によればYV12よりYUY2にアップサンプルしたほうがきれいらしいから
720にする場合もYUY2にしたほうがよさそうだな
Aviutlのインタレ維持リサイズはIVTCしてプログレッシブ化してから使えるので、 プログレッシブYV12→インタレースYUY2で劣化しにくい。 BCSInterlacedResizeはインタレースのままじゃないと使えないから、 どうしてもインタレースYV12→YUY2の変換が入るので嫌だから使ってないな。
VFR ManiacさんがEEDI2とTDeintをvc9でコンパイルしてるね 自分もコンパイルしたことあるんだけどTDeintは素直にコンパイルできなくて断念 でもEEDI2はソース弄らずに素直にコンパイルできたけどなあ vs2008+icc体験版だけど 気になったんだけどwikiにあるEEDI2_imp.dll(マルチスレッド版)ってメモリリークしてない?
大昔の記憶を少し思い出した for ループ スコープオプションの強制準拠 を いいえ (/Zc:forScope-) とかコンパイルオプションを色々弄るとそのままコンパイルできたはず
XPからvista x64に乗り換えたんですが。 DGIndexで作ったDVDのd2vファイルがmedia playerでの再生も、tmpgへの読み込もしてくません。 media playerにコーデックがありませんと言われます。 OSを入れた瞬間からDVDは見れたのですが、avsファイルの再生をはできず、PowerDVDをインストしてみましたがだめでした。 AviSynthのverは2.58です。 プラグインフォルダの中には、デフォルトと DGDecode.dll warpsharp.dll を入れてます。 DGDecode_MPEG2Source("VTS_01_1.d2v") って書いてるだけなんですが、試しに、GOMに指定してやると再生されます。 どうすりゃいいんでしょう
DGVfapi.vfpは?DGVfapi.txt読んだ?
wmpはx64だからx86のavisynthは無理 Tmpgは設定でavsをOKにしないと駄目、良く知らないがx64版って無いよね? PowerDVDはavs受け付けない
>>421 Vista64bitのwmpは標準はx86だよ。
423 :
419 :2009/08/25(火) 22:00:40 ID:D6M1r8v0
>>421 Tmpg設定したら読み込んでくれました。
助かりましたー。
424 :
名無しさん@編集中 :2009/08/26(水) 06:32:49 ID:TTx6FNC8
24pをプルダウンして29.97fpsのインターレース化してある素材(GH1のFHDで撮ったもの)を編集ソフトでカットつなぎして編集しました。 できあがったものをネット掲載用にテレシネ化してインターレースを取り除きたいのです。 1本まるまる単純にPulldown(0,2)等でやると、各クリップでうまくいくところとうまくいかないところがあります。 そこで、各クリップごとに最適なPulldownの組み合わせを調べて、trimをかけて部分部分に違ったPulldownをかけて取り除くことを考えました。 ところが、できあがったものを最終的に++でつなぐと、fpsが11.988、フレーム数も2021あったものが812になってしまっています。 fpsが23.976にするにはどうすればよいのでしょうか? そもそも、pulldownをtrimで部分的に個別にかけてつなげるという発想からまちがっているのでしょうか? すみませんが、どなたかよろしくお願いいたします。 AVISource("E:\***.avi") AssumeTFF() #DoubleWeave() #a = Pulldown(0, 2).Subtitle("Pulldown(0, 2)", size=30) #b = Pulldown(1, 3).Subtitle("Pulldown(1, 3)", size=30) #c = Pulldown(2, 4).Subtitle("Pulldown(2, 4)", size=30) #d = Pulldown(0 ,3).Subtitle("Pulldown(0, 3)", size=30) #e = Pulldown(1, 4).Subtitle("Pulldown(1, 4)", size=30) #ShowFiveVersions(a, b, c, d, e) #LanczosResize(1280,720) #ConvertToYUY2() #LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\AntiComb.dll") #AntiComb(checkmode=true) v1=Pulldown(0,2).trim(0,517) v2=Pulldown(1,4).trim(518,775) v3=Pulldown(1,3).trim(776,841) v4=Pulldown(1,4).trim(842,1055) v5=Pulldown(2,4).trim(1056,1148) v6=Pulldown(1,3).trim(1149,1690) v7=Pulldown(0,2).trim(1691,0) v1++v2++v3++v4++v5++v6++v7
425 :
名無しさん@編集中 :2009/08/26(水) 06:34:30 ID:TTx6FNC8
>>424 です。
すみません!!
自己解決。
Douvleweave()の前に#をつけっぱなしでした。
ほんと板汚しすみませんでした。
24pの状態で編集してれば楽だったのにね。 まあ乙
DVDアプコンをAvisynthではじめてみようと思い勉強中なのですがなぜか出来上がったファイルは音声がずれてしまいます。 スクリプトを張っておきます。 LoadPlugin("C:\アニメ動画エンコード作業場\plugin\DGDecode.dll") LoadPlugin("C:\アニメ動画エンコード作業場\plugin\Convolution3DYV12.dll") LoadPlugin("C:\アニメ動画エンコード作業場\plugin\EEDI2.dll") LoadPlugin("C:\アニメ動画エンコード作業場\plugin\TDeint.dll") LoadPlugin("C:\アニメ動画エンコード作業場\plugin\TIVTC.dll") LoadPlugin("C:\アニメ動画エンコード作業場\plugin\gradfun2db.dll") Import("C:\アニメ動画エンコード作業場\plugin\vfapi2.avs") LoadPlugin("C:\アニメ動画エンコード作業場\plugin\warpsharp.dll") LoadPlugin("C:\アニメ動画エンコード作業場\plugin\LoadPluginEx.dll") video = VFAPISource("C:\DVDエンコ\xxxx.d2v") audio = WavSource("C:\DVDエンコ\xxx.wav") AudioDub(video, audio) AssumeTFF ConvertToYV12() TIVTC24P2() Convolution3D(preset="animeHQ") Spline36Resize(1280,720) WarpSharp(95,3,85,0) function TIVTC24P2(clip clip){ Interp = clip.AssumeTFF().SeparateFields().SelectEven().EEDI2(field=1) Deinted=clip.TDeint(order=1,field=1,edeint=Interp) clip = clip.TFM(mode=6,order=1,PP=7,slow=2,mChroma=true,clip2=Deinted) clip = clip.TDecimate(mode=1) return clip } return last
>>427 アプコンに挑戦する前に普通にエンコすることもできてないんだろ?
まずは普通にDVDをエンコできるようになれ
音声は普通は別エンコするからそのスクリプトとは関係ない
audio = とAudioDubの行は不要
出来上がったものを何でエンコするのか知らんが
左右はcropしなくていいの?
Convolution3Dは本当に必要なの?かなり背景が潰れてない?
WarpSharpはきつ過ぎじゃないか?
VFAPISourceの代わりに、MPEG2Sourceとすれば、無意味に4:2:0 -> RGB -> YV12をする必要もなくなる。
>>427 それとVFAPISourceの部分はこれに変更した方がいい
DGDecode_MPEG2Source("C:\DVDエンコ\xxxx.d2v",info=3,idct=3)
AssumeFrameBased()
AssumeTFF()
ColorMatrix(mode="Rec.601->Rec.709") SD->HDをするのなら、正しい色でデコードされる様に、IVTCの後にこれも書いておいた方が良いだろうな。 私自身はHD->SDをやってもその逆はやらないけど。
おまえらダウソ相手に優しいな
427はただ報告してるだけなのに お前ら何アドバイス押し付けてるのwww
いいやつらじゃん。
音がずれる原因には誰も触れてないけどな。(情報不足でわからないんだけどさ。)
vobからd2vとwavにする段階で既にずれてんじゃないの? ソフトによっては音ズレするってどっかで聞いた
TDeintのVC9ビルドって何か最適化できてたりするの
>>438 その問題が発生するのはEEDI2_imp.dllであってvc9のコンパイルは関係ない
公式サイトにあるEEDI2.dllもvc9版も速度的には差がないと思う
VFR氏のはコンパイルが通るようにソースを一部改変しているようなので動作は不明だが
コンパイルオプションを正しく設定すればソースを修正しなくてもコンパイルが通るし ソース的にも何も間違っていないのに彼は 「こっちのコード修正はもっと性質が悪い。ていうか、これってわざとやってるの?」 とか言い切ってるからね 作者に失礼過ぎる 無知が修正したソースをビルドしたものなんか怖くて使えない
どのプラグインだったか忘れたけど本家がVC6でコンパイルされたもので 有志がVC8でコンパイルしなおしたヤツを使ったら1.5倍くらい速くなったやつならあった。
VC6はどこもサポート終了してきてるからなぁ
X軸・Y軸で回転できるプラグインはありますでしょうか? 自分で探しても見つからず Perspectiveと定義関数で作ろうとしても、3次元のアフィン変換?とやらがよく分からずでして…
90度単位での回転ならTurnだし上下左右の反転ならFlipだけど X軸・Y軸で回転って3次元的な話なのかな
頂点座標の計算式を出して、ReformプラグインとAnimate 使う というのを思いついたが、めんどすぎるなww
XYZ軸回転は拡張編集でできる
>>447 TransAllのTransFlipTurnやTransSpriteがそれっぽいけど
これを利用するのはちょっと難しそうです
>>448 拡張編集というとAviUtilでしょうか
exedit.aufをShowAUFInfo.exeにつっこんでも上手く行きませんでした
そりゃうまくいかんだろう もしうまくいっても、引数の設定がどんなもんになるやら、さっぱり見当がつかん
mottoいまドキ!専用
http://live23.2ch.net/test/read.cgi/livecx/1252014746/82 82 名前:名無しでいいとも![] 投稿日:2009/09/04(金) 08:09:37.32 ID:fmfzVVr5
AAC 48.00kHz 2.0ch(2/0 L+R) LC 576.00kb/s
↑こんなん初めて見たwwwwwwww 既知外職人すげーwwww
死ぬほど恥ずかしいなあコレは
84 名前:名無しでいいとも![sage] 投稿日:2009/09/04(金) 08:13:54.01 ID:KY2tB+ER
>>82 波動研の使い方知らないのねw
89 名前:名無しでいいとも![] 投稿日:2009/09/04(金) 08:28:40.06 ID:fmfzVVr5
>>84 出鱈目な設定で適当にエンコすんなよ糞職人さんw
こんなゴミ拾うしかない乞食も自分で捕獲するようにした方がいいぞ
だいたいAAC 576.00kb/sって何が目的なんだよお前はw
映像もこれはワザと画質を落としまくってあげてるの?w
ド下手野郎が上げると他の職人は自重しちゃうから遠慮した方がいいんでね?ww
91 名前:名無しでいいとも![sage] 投稿日:2009/09/04(金) 08:31:35.97 ID:KY2tB+ER
画質云々批判するのはかまわないけど
波動研が表示する数字の意味調べなよ
自分が恥じかくよ
はい?
ColorMatrix(hints=true)が、DGDecode1.5.5で使えません。 DGDecode1.4.9では使えました。ColorMatrixはv2.5で最新です。 解決策が分からず困っています。おとなしくDGDecode1.4.9を使っていればいいのでしょうか?
mpeg2sourceのほうでinfo=3にしてないとか
BT.709の放送をSDにする場合とか、ColorMatrixが必要なケースは限られているし、 hintsに頼らなくても、これを使うのは難しくはない。
BT.709の放送をSDするったって、わざわざBT.601にする必要はないんじゃない。 そっちの方が色が好みならしてもいいだろうけどさ。
709の色が601で再生されるのがお好きなんですか?
EraseLOGOについて聞きたいんですが、ソースがm2vファイルのモノで、ロゴ除去をしても指定した全てのシーンでロゴが薄く残ってしまうのですが 何が原因が良く分からないので意見を下さい。EraseLOGO以外のフィルタを切っても薄く残ってしまいます('A`) Aviutlで読み込んでロゴ除去すればちゃんと消えてくれるのですが・・・orz 記述は下記のとおりです。 LoadAviUtlInputPlugin("H:\***\plugins\m2v.vfp", "MPEG2VIDEO") LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\warpsharp.dll") LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\delogo.dll") video = MPEG2VIDEO("hoge.m2v") audio = WAVSource("hoge.wav") AudioDub(video, audio) Trim(15,4929)++Trim(6729,21053)++Trim(23752,47067)++Trim(48866,49764) ConvertToYV12() EraseLOGO(logofile="H:\***\aviutl99a3[1]\plugins\logodata.ldp", \ logoname="hoge", \ start=*, end=*****) AssumeTFF() Auto24FPS(drop=true, threshold=24, border=16, mode="", debug=false)
読み込む色が違うんだと思う。MPEG-2 VIDEO VFAPI Plug-Inの設定を正しくすればいいんだろうけど 分からなかったらAviutlにAVSを読み込ませてそれをロゴ解析すればいい
MPEG-2の入力には、YUY2にアップサンプルされるm2v.vfpよりも、 始めからYV12として扱えるDGDecodeを使った方が良い。
>>461-462 返事遅くなってスマソ。忙しくてまだ試してないけど、レスありがd(´ー`)
456 名前:名無しさん@編集中[sage] 投稿日:2009/09/05(土) 06:48:47 ID:UNt/b8gi BT.709の放送をSDするったって、わざわざBT.601にする必要はないんじゃない。 そっちの方が色が好みならしてもいいだろうけどさ。 / \ /\ キリッ . / (ー) (ー)\ / ⌒(__人__)⌒ \ | |r┬-| | \ `ー'´ / ノ \ /´ ID:UNt/b8gi ヽ | l \ ヽ -一''''''"~~``'ー--、 -一'''''''ー-、. ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
466 :
名無しさん@編集中 :2009/09/06(日) 22:13:53 ID:xZ8IXsWG
撮影した素材の水平が若干狂ってる場合 どう、補正するのが一番綺麗に仕上がりますか? インターレース素材に回転を加えるなんてとんでもない破綻になりそうな気がするんですが 単純に720x480 59.94iのシーケンスに突っ込んで回転で回せばいいんだろうか? AvisynthでやろうがAEでやろうが一緒でしょうか? 60pに一度変換してやった方が綺麗な結果になる気がしますがどうでしょ?
普通に考えりゃbobは必須だと思う ただbobしたあとにRGBでいくかYV12で行くかは意見が分かれるかも
アルゴリズムとしてはリサイズも回転も同じだから 基本はインタレ維持してリサイズする方法のと一緒じゃないかな。 ただ補間が複雑になるなあ。
469 :
名無しさん@編集中 :2009/09/06(日) 23:51:39 ID:OVhTNcDK
>>467-
>>468 くだらない質問にレスどもです。
インタレ解除するしないで分かれたようですが。。
bob→回転なのか
インタレ維持リサイズを基本にして、パラメータを回転に変えるのか・・・
ソースはDV NTSCで画は自然画でかなりごちゃごちゃ、パンしたりズームしたりなのでグチャグチャになりそうなんですよねorz
TempGaussMC_beta1mod/MCBob/Yadif(mode=1) リサイズ等 SeparateFields SelectEvery(4,0,3) Weave インターレースの編集は、Bobをしておけば間違いない。
3.0についての質問もこちらで大丈夫?
Fedora 11でビルドしようとしてるんだけど、configure時にboostのヘッダファイルが見つからないって言われちゃいます。
エラーメッセージとかはこんな感じです。
$ ./configure --disable-assembly --with-stlport-libdir-path=$HOME/local/lib --with-boost-includedir-path=$HOME/local/include/boost-1_33 --with-freetype-config=$HOME/local/bin/freetype-config
(省略)
checking for /home/hogehoge/local/lib/libstlport.so... yes
checking for Boost header files in /home/hogehoge/local/include/boost-1_33... no
configure: WARNING: Boost header files not in /home/hogehoge/local/include/boost-1_33
checking for Boost header files in /home/hogehoge/local/include/boost-1_33... no
configure: WARNING: Boost header files not in /home/hogehoge/local/include/boost-1_33
checking for Boost header files in /home/hogehoge/local/include/boost-1_33... no
configure: WARNING: Boost header files not in /home/hogehoge/local/include/boost-1_33
checking for Boost header files in /home/hogehoge/local/include/boost-1_33... no
configure: WARNING: Boost header files not in /home/hogehoge/local/include/boost-1_33
configure: error: "Boost is needed !"
実際には~/local/include/boost-1_33にはBoostのヘッダファイルらしきものが確認できます:
$ls boost
algorithm next_prior.hpp
(省略)
multi_index_container_fwd.hpp weak_ptr.hpp
同じ問題はUbuntuでも起きてるようなのですが、解決しないまま放置されてるようです。
http://ubuntuforums.org/archive/index.php/t-619807.html Boostは使ったことないので、どういう感じに配置配されてたりすればいいのかわからないです。
何かご存知の方がいたら教えてくださるとうれしいです。
めんどくさがらずにconfigureのスクリプト読めば?
ソースに circular_buffer_v3.7.tar.bz2 とかが入ってたんだけど、それが必要なんじゃなかったか?
474 :
471 :2009/09/10(木) 21:06:28 ID:BAjwxKKZ
>>472 一応読んではみたんですが、boostまわりだけでも何やってるのか理解できませんでした(‘・ω・`)
>>473 私もそれはインストールドキュメントか何かで見たので、
circular_bufferはboost直下にコピーした覚えがあります。
>474 じゃあ、config.log とか出てなかった? どこで、どんなエラーになったか判るでしょ
mm_srv使ったら、スピードが3〜4倍にあがった
avisynth2.58MT FFT3DGPU TIVTC DEDOT EEDI2 DGIndex BassAudio のx64版をコンパイルしてあげて欲しい
>478 TCombも。
>>479 贅沢かもだけど
新しいバージョンのが欲しい
SetMTmode(2)って原理的にTFMみたいなインタレ解除プラグインで使うとやばいかな?
やばい以前にまともに動かん あほらしいこと書き込んでる暇があるなら、試してみりゃいいだろが
YadifはMTと相性が良い。
>483 原理上はそうだろうと思っていたのですが、 TFM.TDecimateで24fps化を試してみたところ 特に問題がなかったもので。 基本は1フレーム飛びで処理でも、メモリに格納 された片方のフレームをうまく呼び出しているとかかなと。
>484 YadifやConvolution3Dが使えるということはSetMTmode(2)だから といって前後フレームくらいの参照は問題なさそうですね。 2フレーム以上前か後のフレームだと危なそうですけど。
ちなみにオプションの詳細は TFM(PP=7,slow=2).TDecimate(mode=1)
MT("Yadif", threads=4, overlap=2, splitvertical=true) SetMTModeより、こうした方が良いと思う。TFMでこれと同じ事はできないが。
SetMtModeならTDeint、MT()ならYadifが向いてる。
YV12,YUY2,RGB24,PIXEL_YCで外部アプリに画像を渡すフィルタ
AviSynthネイティブ版クライアント v0.3(テスト版)
ttp://www.geocities.jp/mosd7500/aviu.html 64bit版
アーカイブ中のx64ディレクトリ以下には、64bit用のDLLを置いてあります。
全くテストしてないので、動くかどうか分かりません。
もし動いたら、AviUtl(32bit)->AviSynth(64bit)という感じにデータを渡せるはずです。
avsdeliverは動作した。AviUtl(32bit)->AviSynth(64bit)
これは使い方間違ってるのかうまくいかないので他の人の報告待ち。
mm_srvが少し使いやすくなったのか これはうれしいですね
492 :
482 :2009/09/12(土) 23:02:54 ID:WME3YFFT
結論として、DGIndex経由のYV12の地デジで TFM(PP=7,slow=2).TDecimate(mode=1) において、SetMTmode(2)の有無で100フレームくらい比較してみたところ 全フレームで差異はありませんでした。 余談ですがMipSmoothもOKです(Conv3DがOKだからあたりまえ)。 >483 まともに動かないケースがあったら知らせてください。
tfmはvfrでファイル出力使わなきゃ大丈夫
>>490 v0.4にあがっててwin7x64で動作確認。win7で64bit対応も増えるかな。
>>492 間引きにSetMTmode(2)を使うのは何か気持ち悪いな・・・
SetMTmode(2)の処理方法を考えれば動かない気がするし
仮に正常に動くとしても使う気になれない
>MipSmoothもOKです(Conv3DがOKだからあたりまえ)。
全く違うプログラムなのに当たり前ではないだろw
>>492 検証がたった100フレームっていうのは心配。
MT support pageでも、「やっかいなバグを見つけるために 50000 フレームのビデオを使用」とかなってるぐらいだし。
とりあえず(493氏の言うとおり)、timecode_vfrの1pass目は駄目。 2pass目は大丈夫。
>>496 Athlon64 x2が出て('05夏くらい)からずっと使ってるけど
SetMTMode(2)でauto24fpsとtfm.tdecimate
が変な挙動をすることはなかったよ。
ここ2年くらいはItsの中で動かしてるけど
それも問題は起こっていない。
不思議とは思うんだけど。
ただ、MT()のほうは
画面を切った左半分が逆テレシネされて
右半分は逆テレシネされてない(縞が残る)ってことがあって
本当に半分に切って判定してるんだぁ
と感心したことがあるよ。
498 :
492 :2009/09/13(日) 16:20:23 ID:WWRIDZGx
>495 あれ?MipはConv3D(or YV12)の改良版だと思ったが? >496 じゃあ暇があるときもうちょっとやってみるよ。 以下、追試。 MPEG2Sourceでcpuオプション使う場合はSetMTmode(3)にしないとノイズが。 しかも、おそらくこれが原因でavs2aviでのエンコが途中でハングしていた。(by UtVideo) SetMTmode(3)なら100フレームくらい試した結果はOK。
機械的に調べられないん? MTの有無で結果が同じになるはずならハッシュとかで調べられそうだけど…
500 :
492 :2009/09/13(日) 21:20:39 ID:WWRIDZGx
調べられる。avs2avi+UtVideoでバイナリレベルで一致する。
なんか下手にSetMTMode使うより、途中で何度か中間出力しながらやったほうが かえって速くなるような気がするんだが
>501 その中間出力を早くするのにSetMTModeを使う。
なんという本末転倒
ブロックノイズ用のフィルタで何かおすすめありませんでしょうか?
ソースにあるブロックノイズなのかエンコ後にでるのかどっちだよ。
ソースにあるブロックノイズです。 DGDecode.dllのだと問題があるので、出来ればそれ以外でお願いします。
あほな奴だな。後からどうにかなるわけないだろ。 気になるのなら、ブロックでてるシーンをカットしちまえよ。
DeblockQED
MPEG2Sourceのcpuをmoderate_hとmoderate_vで調整しながら使うのがベスト。
他には、dfttestでもブロックは消える。
消えるわけねえだろ。バカめ。
画面全体を一色で塗りつぶしてしまえばブロックノイズも消えるんじゃないかな。
AviSynth Wiki の外部プラグインのノイズ付加・ブロックノイズ除去項目にある ブロックノイズ低減系フィルタのどれかをつかえばいいんじゃねぇ? おすすめとか特に無いが、いっぱい有るしどれか気に入るんじゃねぇかな。 508が薦めてるDeblock辺りから試してみるといいかもね。
DeblockQEDはDidee氏作のスクリプト ただのDeblockじゃないぞ
バンディング対策にノイズ付加って効果あったりします?
>>515 有る。ただ、グラデーション以外の部分にノイズを付加するのは無駄なので、
不要な部分には何もしないGradFun2DBmodが良い。
>514 どこにあります?
ありました・・・。
アンダーラインも知らないクズにボケとか言われたら終わりだな
今までアンダーバーだと思ってたが、コレ日本語での表現だったんだね。 アンダースコアやアンダーラインの方が一般的だったんだ。ソースは、Wikipedia.(莫迦 マジ知らんかった。 そんなワケで。知らんやつにボケと云われたので、 どう見てもマジ終わりです。 ありがとうございました。
日本語でおk
ロゴを消そうとがんばってるんですがロゴ除去フィルタ使うとこんな風になってしまいます
http://up3.viploader.net/anime/src/vlanime001218.jpg aviutlで同じロゴデータを使ってやると消えるのですが
Avisynthで
EraseLOGO(logofile="ロゴのパス",
pos_x=0, pos_y=0, depth=128, yc_y=0, yc_u=0, yc_v=0,
start=0, fadein=0, fadeout=0, end=-1)
のように記述してエンコすると画像のようになってしまいます。
何が原因かわかりますか?
使ってるプラグインはdelogoです
スクリプト全文も晒さないのはエスパー希望だからか?
ロゴ解析フィルタを一番上にもっていってもう一度解析し直せ
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\oplugins\LoadPluginEx.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\oplugins\warpsharp.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\oplugins\delogo.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\oplugins\De.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\oplugins\Convolution3DYV12.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\oplugins\AntiComb.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\oplugins\MSharpen.dll")
LoadAviUtlInputPlugin("C:\Program Files\aviutl99h4\EARTH SOFT DV.aui", "EARTHSOFTDV")
EARTHSOFTDV("C:\Documents and Settings\nia\My Documents\test.dv")
EraseLOGO(logofile="C:\Documents and Settings\nia\デスクトップ\エンコtool\logo\TBS.lgd",logoname="TBS",start=0, end=499)
AssumeTFF()
DeDot(7,40,25,5)
Auto24fps()
anticomb()
LanczosResize(1280,720)
ConvertToYV12()
Convolution3D(preset="animeHQ")
UnsharpMask(18,6,38)
WarpSharp(95,3,85,0)
return last
全文こんな感じです
>>525 解析フィルタ?
>>525 が正解の模様
リサイズ後のデータでロゴ解析されているのが原因
分かってやるのなら構わないが基本はロゴ消しはリサイズ前にした方が何度もデータを採らずにすむ
解析するのも消すのも
525はAviUtlのロゴ解析フィルタ順番を変えろってことな
ありがとうございます もう一回ロゴデータつくってみます
1088で解析してるか? aviutlの解析データだと使えなかったような それはさておきJAPはConvolution3Dと油絵なwarpsharp好きが多いな Auto24fpsとanticombの組み合わせも驚きだが テンプレサイトでもあるのかね?
NRはリサイズ前が良いと思う。 リサイズ後なのは速度の問題? シャープは・・・どっちがいいんだろう。 最終の解像度でやるっていう考え方と、解像度の高いうちにやるという考え方と。 頼まれてもない突っ込みすまん。 面倒ならスルーでいいんだぜ
>>529 何と比較してConvolution3Dとかwarpsharp多いっていってんの?
あと日本の略称は普通JPNじゃね
おいおい、JAPは略称じゃなくて蔑称だ
>>526 PVはHDでもBT.601でキャプチャすると言う話だから、SDにリサイズをしないのなら、
ColorMatrix(mode="Rec.601->Rec.709") をスクリプトの最後にでも足しておいた方が良いな。
ニコニコくらいじゃね?油絵って
535 :
名無しさん@編集中 :2009/09/15(火) 22:17:49 ID:Y5XAuNYe
すみません。初歩的な質問で、しかも若干スレ違いかもしれませんが、お詳しそうな方が ここにはたくさんいらっしゃると思うので、ここで聞かせてください。 DVDをDSで見るために、DS動画形式、dpgに変換すべく、以下のような手順で動画変換をしています。 (1) DVD Decrypter で、DVDを HDD に落とす。 (2) DGIndex.exe で d2v ファイルと、.demuxed.m2v ファイルと、wav ファイルを作成する。 (3) VobSub で字幕を取り出す。 (4) Avisynth で、音声、字幕をくっつける。 (5) TMPGEnc.exe で、音声を mp2 にして、mpeg ファイルを作成する。 (6) mpeg ファイルを、dpgenc.exe に突っ込んで、dpg ファイルを作成する。(動画作成は正常終了します) できた dpg ファイルは、全体の 69% ほどしかエンコされず、途中で終わってしまいます。 以前は、mpeg を作る時に、QuEnc.exe を使っていたのですが、これだと、3分の1ほどまでしかエンコ されなかったので、TMPGEnc.exe に変えたのですが、最後までエンコできる動画もありましたが、d2v だと 約 69% (Trim()で1000フレームに絞ってmpegを作成し、それを dpg に変換して、 dpgが再生できたフレーム数 ÷ 1000 で導き出した%です)しかエンコできないようです。 dpgenc.exe の中身は分からなすぎ(作者もお手上げ状態)なので、単純に、総フレーム数のお尻を 伸ばして、全体を 146% に水増しして、mpeg を作ろうと思うのですが、フレーム数を単純に 水増しする Avisynth のスクリプトを教えてください。あるいは、他にいい方法があったら、教えてください。
536 :
535続き :2009/09/15(火) 22:21:04 ID:Y5XAuNYe
【現状 Avisynth スクリプト】 mpeg2source("Sample_Video.d2v") AddBorders(0, 78, 0, 78) LanczosResize(512, 384) AssumeTFF() Telecide() Undot() VobSub("Sample_Video") audio = Wavsource("Sample_Video.wav") AudioDub(audio) 長々とすみません。何卒、よろしくお願いいたします。
537 :
523 :2009/09/15(火) 22:24:30 ID:PflYmmoj
本当にロゴが消えましたレスくれた方ありがとうございます
>>533 まだ他のフィルタのことはよくわからないのでもうちょっとしたら色々してみます。
539 :
535 :2009/09/16(水) 01:03:56 ID:89LH9L5y
>>538 大変どうもありがとうございます!
早速やってみたら、画像も音声も飛んだ動画が出来てしまいました。
もうちょっと研究して明日いろいろやってみます。
ありがとうございました。
デジタル放送のPV3キャプみたいな非MPEGソースに対して、 ブロッキングの醜さに応じて強さを変えてくれるような 適応デブロッキングのフィルタって無いかな。 または各フレームのブロッキングの醜さを何らかのメトリックで測って statsファイルに数列を吐き出してくれるようなもの。 単にブロッキング低減だけの為じゃなくて、 ブロッキングが醜いフレームだとMakkiさんのロゴ除去フィルタが 効果的でないので除去後にロゴの位置に局所的にfft3dを掛けるのに statsファイル参照してフィルタの強度を適応的に変化させられたら ありがたいんだけど。
>>541 ttp://d.hatena.ne.jp/avisynth/20090915 一応こんなのが目に留まったから乗せておくよ。
面白そうとは思いながら、一回も試したことが無い罠。
動きが無いときは3DNR,動くときは2DNRとか、
画面内でも局所的に切り替えれるんなら、面白そうだと思うんですが。
でもこういうのって、多分動きとパンの区別がつかないんだよね。
真面目にブロックの検出をやるなら、x264で1passして取得したstatsを利用してゴニョゴニョ…とか?
MPEGソースならMB毎に量子化係数取得して利用できるけど、 非MPEGソースだと難しそうだな 家電とかもMPEGで入力できると映像エンジンが連動してMPEGNRかけるけど、 HDMIとか非MPEGソースの場合はMPEGNRはスキップされる場合が多い
以下のavsスクリプトを実行すると0フレーム目のロゴ消しが失敗してしまいます。
http://www.picamatic.com/show/2009/09/18/05/03/5118118_1285x721.JPG ----AVS-----
LoadPlugin("DGDecode.dll")
LoadPlugin("vinverse.dll")
LoadPlugin("warpsharp.dll")
LoadPlugin("gradfun2db.dll")
LoadPlugin("FFT3dGPU.dll")
LoadPlugin("De.dll")
Import("aufilters.avs")
Import("GradFunkMirror.avs")
SetMTMode(2,0)
DGDecode_MPEG2Source("2009091602300301-CTC.d2v")
AssumeTFF()
Trim(382,1000)
EraseLOGO(logofile="CTC-TS-1440x1080-01.lgd", pos_x=0, pos_y=0, depth=128, yc_y=0, yc_u=0, yc_v=0, start=0, fadein=0, fadeout=1, end=0, interlaced=true)
EraseLOGO(logofile="CTC-TS-1440x1080-01.lgd", pos_x=0, pos_y=0, depth=128, yc_y=0, yc_u=0, yc_v=0, start=1, fadein=0, fadeout=0, end=618, interlaced=true)
SetMTMode(5)
TIVTC24P2()
SetMTMode(2)
Spline36Resize(1280,720,2,0,-1,0)
function TIVTC24P2(clip clip){
Interp = clip.AssumeTFF().SeparateFields().SelectEven().EEDI2(field=1)
Deinted=clip.TDeint(order=1,field=1,edeint=Interp)
clip = clip.TFM(mode=6,order=1,PP=7,slow=2,mChroma=true,clip2=Deinted)
clip = clip.TDecimate(mode=1)
return clip
}
info()
return last
----ココまで----
545 :
543 :2009/09/18(金) 22:37:01 ID:91E1hL9s
あまり詳しくないけど2行目のstart=1で0フレーム目を除外してるように見える
EraseLOGO(logofile="CTC-TS-1440x1080-01.lgd", pos_x=0, pos_y=0, depth=128, yc_y=0, yc_u=0, yc_v=0, start=0, fadein=0, fadeout=1, end=0, interlaced=true) EraseLOGO(logofile="CTC-TS-1440x1080-01.lgd", pos_x=0, pos_y=0, depth=128, yc_y=0, yc_u=0, yc_v=0, start=1, fadein=0, fadeout=0, end=618, interlaced=true) これらの代わりに、こうしたらどうなるの? EraseLOGO(logofile="CTC-TS-1440x1080-01.lgd", pos_x=0, pos_y=0, depth=128, yc_y=0, yc_u=0, yc_v=0, start=0, fadein=1, fadeout=0, end=618, interlaced=true) そのソースの最初の数フレームと、lgdをアップロードしてくれたら、他の人も調べられるけど。
ソースによっては開始数フレームとかはロゴがないとこもあるよ
埼玉に引っ越せばイイお!
550 :
543 :2009/09/18(金) 23:04:03 ID:91E1hL9s
552 :
543 :2009/09/18(金) 23:10:12 ID:91E1hL9s
1フレのトップフィールドにはロゴ無いな
fadeout=1ならdepthで調整
556 :
543 :2009/09/18(金) 23:30:54 ID:91E1hL9s
>>553 ありがとうございます。
ちなみにAVSPやVirtualDubMod、aviutlで表示するとロゴでてるんですけど
どうやってご確認されてるんでしょうか?
EraseLOGO(logofile="CTC-TS-1440x1080-01.lgd", pos_x=0, pos_y=0, depth=128, yc_y=0, yc_u=0, yc_v=0, start=0, fadein=0, fadeout=1, end=0, interlaced=true) EraseLOGO(logofile="CTC-TS-1440x1080-01.lgd", pos_x=0, pos_y=0, depth=XXX, yc_y=0, yc_u=0, yc_v=0, start=0, fadein=0, fadeout=0, end=0, interlaced=true)
558 :
543 :2009/09/18(金) 23:33:28 ID:91E1hL9s
>>554 ありがとうございます。
こういう省略の仕方もあるんですね。
フレーム指定がないと全部に適用とかになるんでしょうか。
>>558 EraseLOGO(logofile="logo.lgd", interlaced=true, start=16, fadein=10, end=17168, fadeout=10)
こう言う風に、startとendを指定できる。
561 :
543 :2009/09/19(土) 00:27:20 ID:TqOhGfSm
そういうとこはfreezframeで次のと置き換えてるわ。
Avisynth使ってエンコすると色が変わってしまいます。
ソース
ttp://nagamochi.info/src/up35875.png Avisynth
ttp://nagamochi.info/src/up35876.png AviUtl (avs使っていません)
ttp://nagamochi.info/src/up35877.png 以下、avsです。
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\DGDecode.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\FFT3dGPU.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\EEDI2.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\TDeint.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\TIVTC.dll")
video = DGDecode_MPEG2Source("test.d2v")
audio = WavSource("test.wav")
AudioDub(video, audio)
AssumeTFF()
trim(49451,50434)
TIVTC24P2()
function TIVTC24P2(clip clip){
Interp = clip.AssumeTFF().SeparateFields().SelectEven().EEDI2(field=1)
Deinted=clip.TDeint(order=1,field=1,edeint=Interp)
clip = clip.TFM(mode=6,order=1,PP=7,slow=2,mChroma=true,clip2=Deinted)
clip = clip.TDecimate(mode=1)
return clip
}
FFT3DGPU(sigma=2, beta=1, plane=1, bw=16, bh=16, ow=8, oh=8, bt=4, mode=0, interlaced=false, wintype=0)
return last
至らない点多いと思いますが、どなたかアドバイスお願いします。
>>564 aviutlのはYUV->RGB変換(伸張)したもの
つまりDGIndexの設定でVideo→YUV->RGBがPC Scaleになってる
avisynthは伸張していないだけ(DGIndexの設定は無視される)
伸張は再生時に行うので再生環境が正しければソースと同じ色になる
いやTV Scaleになってるのか? まあAvisynthでは無視されるのでどっちでもいい aviutlではどう処理されるのかは知らない
あ、もしかしてエンコ後の再生画面のキャプチャ? それならキャプチャ方法とエンコーダ、デコーダ、ビデオにもよる 本当の色(ハードウェア環境に左右されない色)を比較したいのなら MPCでHaaliビデオレンダラを使って再生画面をPrint Screenでキャプチャするといい それともう少し情報を詳しく 再生環境 キャプチャ方法 エンコーダは何? デコーダは何? ビデオは何?
続きは色空間スレでやれ
>>568 すみません、更新せずに書き込んでしまいました。
スレ違いのようですので移動します。
局ロゴ削除EraseLOGOの話でお聞きしたいのですが、 TBSのようなロゴがフェードイン、アウトするのってうまく消す方法ないでしょうか? フェードイン・アウトの数値とか固定なんでしょうか? うまく消せてる方いらっしゃったら、ご教示ください、よろしくお願いします。
Itsのdefファイルへのパスを指定する時って、どうやっても相対パスで記述できない? 出力される.tmcタイムコードファイルは相対パスで記述しても動作するんだけど。
HD5870を活かしたフィルタを開発しようかな… x264エンコ前のすべての処理をビデオカードで処理できる方法とかあったっけ?
すべての処理って言ってもねぇ… とりあえずドナルドに対抗して、ラデでデコード&デインタレできるフィルタをお願いします 極端な話、それさえあればあとは特に要らないと思う
ドナルドって書かれるとスゲー違和感 FFT3DFilterとかNL-MeansをStreamとかに移植したらもっとパフォーマンス上がるのかな?
両方とも、directX9のShader Model 3.0使ってるのかな? nl-meansの方は、CUDAに移植してはみたが、遅すぎたらしい。 dfttest, nnedi2, TNLMeans, MVtools(のMVDeGrain) とかは、良いのだが目茶目茶重いので、みんな欲しいと思う。 後は、そんなに重くは無いけど使用頻度の高い、インタレ解除,再YC分離,masktoolsV2 とか。
>575 ドナルドじゃなきゃneuron2?
dfttest効果あるけど重いね〜吃驚したconvolution3dの5、6倍かかると思わなかった
BDにまれにSDサイズのがあるのだけど、 DGAVCでデコードすると縦が472になってしまう・・・。これって対応してないだけなのかな? 取り敢えず暫定的にDirectShowSourceでやろうしてるのだが、 何故かスプリッタが二つ働いてて予測エンコ時間の倍以上はかかってる。。でもプロセスFPSはやたら高速。
>>579 DirectShowSourceならfps指定は必須
AviSynth 2.6.0 alpha 2 - 090927
緑色に変化しないKenkunNR2の関数を試してみたのですがエラーが出て使うことができません。 必要なプラグがあるのかな? AviSynth 2.58を使用です LoadPlugin(PluginDir+"DGAVCDecode.dll") LoadPlugin(PluginDir+"warpsharp.dll") LoadPlugin(PluginDir+"gradfun2db.dll") LoadPlugin(PluginDir+"FFT3dGPU.dll") LoadPlugin(PluginDir+"TIVTC.dll") LoadPlugin(PluginDir+"TDeint.dll") AVCSource("F:\test.dga") KenkunNR2(128,2,6) function KenkunNR2(clip clip,int "strength",int "radius",int "threshold") { A = clip.ColorYUV(off_y=1,off_u=1,off_v=1) B = Layer(clip,A,"fast") return B.KenkunNR(strength,radius,threshold) }
もう少し試してみるべきでした 色空間変更されていたみたいでYV12にもどしてやれば無事使えました。
MPEG2Source(src) DeCross() のようにソース読み込み直後にクロスカラー除去をかけても効果がないのですがクロスカラーってどの程度除去できますか? ccもDeDotも同様に効果がありません。ソースは生徒会の一存@MXのED 60iスクロールです。
586 :
名無しさん@編集中 :2009/10/09(金) 16:21:09 ID:Hc/lfFtY
動いてる部分のクロスカラー/ドット妨害は除去できないと思います
TCombも試すんだ!
BifrostとかDeRainbowとかだとどうなのよ? 和製フィルターしか試さない人はAviUtl使ってるほうがいいんじゃない?
DeCross, cc, Bifrost, LUTDeRainbow, TCombをそれぞれ横着ですが初期値で比較してみたところ アニメの部分は効果がありましたがスクロールするテロップ部分はどれも効果ないようでした。 クロスカラー除去っていうのは急な色変化を検出するからスクロールみたいな同じ色が続かないところには無意味ってことですか?
クロスカラー除去はやってることは時間軸ノイズ除去とほとんど同じ
>590 というわけでもないよ。 色成分の位相を計算して打ち消すようにブレンドしてたりするし。
関数を使ったことないんですけど、サッカー動画用にいろいろ探してましたら AviSynth Blog rev.2でsmoothnnedi2bob v0.03 って関数を見つまして 使ってみたいんですけど、さっぱりです。 どうやって、使えばいんでしょ。
>>595 smoothnnedi2bobは実写向きでTempGaussMCはアニメ向き
実写ならMCBob
使い分けろ
>>595 やっぱまだTempGaussMCを超えるものは現れないな
smoothnnedi2bobだとボケが目立つね
TempGaussMCを作ったDidéeは、実写のstockholm等を使って調整しているけど。
>>595 乙
滑らかさとクッキリ感はTempGaussMC_beta1modの圧勝
smoothnnedi2bobで見えてる芝生の微妙な柄がTempGaussMCは消えてるな
アニメだからTempGaussMCでいいや
TempGaussMC_beta1modは実写で使うとツルツルになっちゃう アニメだと最強
TempGaussMC_beta1modは重さも最強過ぎる
HDでTGMC使うと時間がいくらあっても足りんw
緑にならないKenkunNRの前処理 A = clip.ColorYUV(off_y=1,off_u=1,off_v=1) B = Layer(clip,A,"fast") ↑これって小数点以下切捨て処理を四捨五入処理にするため+0.5しておくってことだけど Layerの時点で丸め込まれないってことはYUVの小数点以下の数値を保持してるってこと?
>604 ちゃんとソース追いかけてないから想像だけど、 layerのfastは単純に足し算した後ビットシフトと思われるので その処理の結果元画像の成分のうち偶数はそのまま、奇数は+1されるから 全体としては+0.5された風味になるんじゃない?
そこまでしてKenkunNR使わなくても
>>605 な、、、なるほど
>>606 いやKenkunNRまったく使ってないんだけど
MipSmooth検索してたら緑がかるってレス見たんで
それじゃKenkunNRんときの処理が使えるなと思って
いざスクリプト見たら不思議なことになってたので訊いてみた
つまりMipSmoothもまだ使ったことがない
VFR maniac氏のBCSInterlacedResizeを使うときに 以下のような手順で使っていたのですが、色々調べているうちに 正しいのかどうかわからなくなったのでどなたか教えて下さい。 ソース(MPEG2-TS、d2v)読み込み → ConvertToYUY2(interlaced=true) → BCSInterlacedResize() → 適当にインタレ解除+逆テレシネ → 出力解像度へリサイズ → ConvertToYV12() → x264で出力 BCSInterlacedResizeはインタレース状態でないと使えないらいしいので ConvertToYUY2(interlaced=true)を使っていますが、ここが特に自信ありません。
>>608 それでも縞を崩さずにYUY2にリサンプルできるけど、品質を最優先するのなら、こうすれば良い。
MPEG2Source("video.d2v")
yv12toyuy2_laced(matchfields=true)
BCSInterlacedResize()
function yv12toyuy2_laced(clip i, int "th", bool "matchfields")
{ th=default(th,8)
matchfields=default(matchfields,false)
i.converttoyuy2().mergechroma(
\ i.tdeint(mode=1,type=1,mthreshc=th,tryweave=matchfields,full=(matchfields==false)).converttoyuy2().separatefields().selectevery(4,0,3).weave()
\)
}
>>609 autoyuy2とそっちの関数どっちが適切なん?
>>609 のやつはTDeintでデインタレース->YUY2->インタレ化だから
セオリーとしては609の関数のほうが適切ではある
まあ、時間との兼ね合いでしょ
BCSInterlacedResizeはインタレ専用だから面倒だね インタレ維持リサイズだとプログレでも使えるので、 逆テレシネしてから使えばいいので速くて色情報の劣化も無い
>>613 プログレで使ったらインタレ維持リサイズの意味ないんじゃないの?
>>614 確かに名前を考えるとおかしな感じはするねw
背景(24fps)の動きが少なく、60iのテロがある動画を TDeint(mode=1).ChangeFPS(29.97) で処理しているのですが、これは 60i → 60p → 30pを行っているのでしょうか? インターレース関連のことをよく理解していないので まったく違うこと言ってるかもしれません。。
>>617 >60i → 60p → 30pを行っているのでしょうか?
そのとおり
それはインターレス云々ではなくて各フィルタの挙動の問題だと思うのだが・・・ 一応認識としてはそれであってるけどそのやり方ならTDeint(mode=0)だけでいいんだが。
>>618 >>619 初心者丸出しの質問に答えてくれてありがとう。
TDeint(mode=0)でよかったんですね。
4G越えの6chWAVをWAVSourceで読み込むと20分ちょっとの所で音が切れて しまう為RaWavSource(Nicaudio.dll)で読み込んだらチャンネルオーダーが F-LRがR-LRにFCがFLにって感じでむちゃくちゃになるんですがどう入れ替わってる か正確にわかるかたいたら教えてもらえないでしょうか? NicAudio.dllのtxt読むと RAW: RaWavSource("FileName.raw", int "SampleRate", int "SampleBits", int "Channels") とあるのでRawPCMとして読み込まれてチャンネルオーダーが変わってるんですかね? RawPCMとWavコンテナにいれた時のチャンネルオーダーって違うんですか? 質問ばかりで済みませんがよろしくお願いします。
一応自己解決 20分くらいまでは音がでるので10分くらいでTrimして全部のチャンネル抜き出して比較しました # 1 フロント左チャンネル → 05R_L # 2 フロント右チャンネル → 06R_R # 3 フロントセンターチャンネル → 01F_L # 4 LFE*1(サブウーファー) → 02F_R # 5 リア左チャンネル → 03FC # 6 リア右チャンネル → 04LFE こんな感じでずれてたので video=AVCSource("C:\hoge\hoge.dga") # audio=RaWavSource("C:\hoge\hoge.wav",SampleRate=48000,SampleBits=16,Channels=6) FL_ch = GetChannel(audio, 5) FR_ch = GetChannel(audio, 6) FC_ch = GetChannel(audio, 1) LFE_ch = GetChannel(audio, 2) RL_ch = GetChannel(audio, 3) RR_ch = GetChannel(audio, 4) audio = MergeChannels(FL_ch, FR_ch,FC_ch,LFE_ch,RL_ch,RR_ch) #AudioDub(video, mono) # AudioDub(video, audio) これでいけました。ただGetChannelで抜き出したwavのハッシュ値が一致しない 為そもそもRaWavSourceで6chWAV読み込むのが良くないんですかね? RaWav.dllでもNicAudio.dllでも同じ結果でした。 でもたぶん4G越えの6chWAVをWAVSourceがまともに読めてないから一致しない 可能性のほうが高いのかな。 という事でBlu-ray等の6chをeac3toでwav化して4G超えたとき用です。
リサイズかけるとインタレ解除に失敗してしまうのはなぜでしょうか? 以下のようなavsを書いてみたのですが、リサイズの行を消すか ソースそのままの1440x1080にしないとうまく間引けません リサイズフィルタも変えてもだめでした ソースはtsをbonTSdemuxに通したものです LoadAviUtlInputPlugin("D:\AviSynth\m2v.vfp", "MPEG2VIDEO") video = MPEG2VIDEO("映像.m2v") audio = WavSource("音声.wav") AudioDub(video, audio) Lanczos4Resize(1280,720) trim(1899,4569) FrameCache(9).Auto24FPS().vinverse() ConvertToYV12() return last
>>623 video = MPEG2Source("video.d2v")
audio = WavSource("audio.wav")
AudioDub(video, audio)
trim(1899,4569)
Lanczos4Resize(1280, last.height)
FrameCache(9).Auto24FPS().vinverse()
Lanczos4Resize(last.width, 720)
return last
こんな感じに、縦のリサイズはデインターレース・IVTCの後にしないといけない。
ついでに言うと、m2v.vfpより最初からYV12になっているDGDecodeを使った方が良い。
>>625 ありがとうございます!
リサイズを後に持ってきたところ正常になりました
DGDecodeを使ったほうがいいってことは、
TSDemuxよりDGIndexでtsを分離させたほうがAvisynthで扱う上で有利ってことですかね?
調べて試してみます
1. .tsからDGIndexでd2vを作成 2. ts2aacでaacを取り出す (必要があればaactoolで修正) 3. aaceditで分離 私は普段こうやる。 DVD-Videoを作る時など、AAC->WAVをする場合は、FAADでデコード。
音ずれ対策が面倒な俺は 1. .tsからBonTsDemux mod 10k6でm2v+wav出力。 2. m2vからDGIndexでd2vを作成 3. 好きなように処理 という流れ。 2.はtsからd2v作っても同じなんだろうか・・・?
TempGaussMC_beta1 使う場合 直接x264.exeで2passするより avs2yuv.exeで中間ファイル作った方が早い? 試した方がいれば助言求む。 あと、TempGaussMC_beta1mod (MT版)の安定性ってどうなのよ?
>>630 サンクス。そのスレは後で目を通しておくわ
avs2yuvのデメリットはほとんどない訳ね。
とりあえず、avisynthをMT化するのはおいといて
avs2yuvを複数起動することでCPUを使い切れるように考えてる。
…ファイルの断片化がひどいことになりそうだけど、中間ファイルだからよしとする。
あとは中間ファイル用の領域確保か…
最近DGDecodeのYV12読み込み派増えたなー。別に増えたわけじゃなくて同じ人か?
最近っていうか2.5以降はYV12読みのが多数じゃないか?
デコードもDGDecodeの方が速いから、AviSynthで敢えてm2v.vfpを使う必要は無い。
Top Field First って Even(偶数) Field First と同義で、
Bottom Field First も、Odd(奇数) Field First と同義ですよね。
Avisynth wiki の次のページ
ttp://www.avisynth.info/?AssumeFrameField または、2.5.8のヘルプファイル
真ん中あたりに、"ボトム(偶数)フィール"とか、
”偶数番号のフィールドがボトムフィールドで、奇数番号のフィールドがトップフィールドの”
なんてあるんだけど、これって間違いだと思うんです。
Help(原文)ファイルのほうも、bottom (even) field とか、
even-numbered fields being bottom fields and the odd-numbered fields being top fields
と、訳とまったく同じなんですよ。
冒頭の定義でいいんですよね。
何か混乱してしまった。
TempGaussMCのあとにeDeenをかけて avs2yuvで書き出すと高確率で落ちるな TempGMCと併用しなくても、たまーに落ちるときがあった気がするが… ポインタ関連のちょっとしたバグなんだろうけど… eDeenはすごく重いけど、強力だからお気に入りなんだが残念だ。 これに変わるおすすめな平滑化プラグインってありますか?
>>637 SetMemoryMax使ってるか?
x264の最近のバージョンでrc-lookaheadによってはメモリを大量に使うので
SetMemoryMax(256)とかしておいた方がいい
使わなければ全体の1/3がavisynthに割り当てられてx264側でメモリ不足で落ちることがある
>>637 TGMCだけですでにあらかたノイズ取れてると思うんだけど…
いったいどんなソースなのよ?
>>639 TGMCを全部デフォ値で使ってるからでしょうかね?
元ソースをデインターレース下ものと比べて格段にきれいになってるんですが
eDeenをかけると、さらにお肌がつるつるになるんですよ。
ただ、路面や壁の汚れやシミまで取れるので、ソースに忠実ではなくなりますが…
>>638 ビンゴです。SetMemoryMax(256)を追加したら、一瞬で落ちるようになり
SetMemoryMax(1)にしたら、そのまま動くようになりました。(が、しゃれにならないほど効率が落ちてるw)
PT1で録画したTSファイルをエンコなしで、ロゴ消したいと思って avisynthを使ってMPCで再生したのですが、ここまでが限界でした・・・。 DirectShowSource("K:\TV\アニメ.ts",audio=true) #ロゴ除去 EraseLOGO(logofile="C:\Program Files\aviutl99i2\テレ玉 TS.lgd", pos_x=0, pos_y=0, depth=128, yc_y=0, yc_u=0, yc_v=0, start=0, fadein=0, fadeout=0, end=-1) 作ってて気付いたのですが、これじゃ開くファイルが固定になってしまう・・・。 D&Dでイケるようにするにはどうしたらいいでしょうか? あと、音が出ないので他の方法で読み込ませるにはどうしたらいいでしょうか?
644 :
622 :2009/10/17(土) 03:53:57 ID:qs+ZvC0F
645 :
643 :2009/10/17(土) 03:56:56 ID:qs+ZvC0F
>644 名前間違えました。 書いたのは私643です。 wavのハッシュが一致しないということで fc /b で比較してみたらいかがでしょうか。 ヘッダ部とかの不一致なら問題ないですが、ファイルの中間でも差異があると問題ですし。
646 :
635 :2009/10/17(土) 16:29:39 ID:KANQjYFc
>>636 ありがとう、そういうことなんですね。
理解はできました。
SelectEven は SelectEvery(4,0,3) と同じということか。
それにしても、数え始めの 0 が、1 (奇数)と考えるのは、
混乱の元ですよね。
実際、TFF = OFF BFF = EFF としてる文書がほとんど。
やはり、TFF/BFF で書き方統一してほしいな。
これなら混乱ないものね。
647 :
646 :2009/10/17(土) 16:34:38 ID:KANQjYFc
間違えました。 Top Field First = Even(偶数) Field First Bottom Field First = Odd(奇数) Field First です。 こう書いてある文書がほとんどで、 AviSynth の文書の書き方は少数派ですね。
>SelectEven は SelectEvery(4,0,3) と同じということか 違うだろ SelectEven==SelectEvery(2,0) SelectOdd==SelectEvery(2,1) あえて4フレーム単位で書くならSelectEven==SelectEvery(4,0,2)
>bottom field: One of two fields that comprise a frame. Each row of a bottom field is spatially located >immediately below a corresponding row of a top field. >top field: One of two fields that comprise a frame. Each row of a top field is spatially located immediately >above the corresponding row of the bottom field. ITU-T Rec. H.262やH.264でも、bottom fieldやtop fieldと使われる。
>>643 ども。試したのはDARKER THAN BLACK Blu-ray BOXのDisc1と2です、1枚に6話で2h25m程。
DGAVCIndexでdgaと音声分離
これのTrueHD/AC3, 5.1 channelsを
"eac3to.exe" "%~1" "D:\hoge\%~n1.wav"
でWav化したものでDecodはlibav/ffmpegです。
これを
>>644 のNicAudio.dllとAviSynth WikiにあったRaWav.dllで試した
結果
>>622 になりました。NicAudio.dllとRaWav.dllでの結果は一緒でした。
wavのハッシュですが
audio=WavSource("hoge.wav")
mono = GetChannel(audio, 3)
AudioDub(video, mono)
Trim(0,14000)
audio=RaWavSource("C:\hoge.wav",SampleRate=48000,SampleBits=16,Channels=6)
mono = GetChannel(audio, 1)
AudioDub(video, mono)
Trim(0,14000)
こんな感じで同じチャンネル抜き出したものやチャンネルオーダー並べ替えてだした
6chwavもfc /bもしてみましたがやっぱり一致しません。
SoundOut()、avs2wav.exeで試してみました。
651 :
622 :2009/10/17(土) 18:11:18 ID:1+tXsv97
audio=RaWavSource("C:\hoge\hoge.wav",SampleRate=48000,SampleBits=16,Channels=6) FL_ch = GetChannel(audio, 5) FR_ch = GetChannel(audio, 6) FC_ch = GetChannel(audio, 1) LFE_ch = GetChannel(audio, 2) RL_ch = GetChannel(audio, 3) RR_ch = GetChannel(audio, 4) audio2 = MergeChannels(FL_ch, FR_ch,FC_ch,LFE_ch,RL_ch,RR_ch) AudioDub(video, audio2) これで1話ずつで区切って吐き出したwavをaacにして聞いてみましたが 特に問題があるようには感じませんがやっぱ一致しないのはまずいんですかね^^; 自分英語力に自信が無いのでそちらで報告して下さるという事で助かります。 よろしくお願いします。
>622 audio=RaWavSource("C:\hoge.wav",SampleRate=48000,SampleBits=-16,Channels=6) (lpcm also accept 20 and -8/-16/-24/-32. Negative values are for BluRay lpcm (big-endian)) は試しましたか? あと、AC3->WAVの段階でチャンネルが入れ替わっているということはないでしょうか? つまり、元のwavを直接再生すると正常だけど、NicAudioで読み込むと チャンネルが入れ替わってしまうということでよろしいですか? fc /b で試されたのならファイルサイズも一致しているはずですし、ヘッダ部のズレの分 だけ全体的にズレて差異になっているということもなさそうですね。 (まあ、この場合だと再生時間自体が異なると思いますが) >622 のチャンネルの入れ替わりの状況ですが、実際に耳で聞いて調べたと言うことでしょうか?
653 :
652 :2009/10/17(土) 19:39:43 ID:qs+ZvC0F
出来ればオリジナルのAC3の一部を提供して頂けると説明しやすいのですが・・・ 法的に無理っぽいですかね。 ご存じかとは思いますが、DGAVCIndexで範囲指定してから切り出すと 簡単に一部だけ取り出せるはずです。
>>652 >あと、AC3->WAVの段階でチャンネルが入れ替わっているということはないでしょうか?
>つまり、元のwavを直接再生すると正常だけど、NicAudioで読み込むと
>チャンネルが入れ替わってしまうということでよろしいですか?
そうです。AC3→WAVの段階ではチャンネルオーダーはあってます。RaWavSourceで
読み込むとおかしくなります。
1つずつ全部のチャンネルを抜き出して耳で聞き比べたのとFoobar2000でVU meterや
Spectrmuで見比べました。
(lpcm also accept 20 and -8/-16/-24/-32. Negative values are for BluRay lpcm (big-endian))
こちらに付いてはlpcm用ですよね?TrueHD/AC3でも関係あるんですか?
ちなみにeac3toのログで
Creating file "D:\hoge\DTB PID 1100 3_2ch 48KHz 640Kbps DELAY 0ms.wav"...
The original audio track has a constant bit depth of 16 bits.
とあったのでSampleBits=16で指定したのですが。
>654 >こちらに付いてはlpcm用ですよね?TrueHD/AC3でも関係あるんですか? AC3のままNicAudioで読み込ませているなら別ですがRaWavを使っている以上 ヘッダを無視するので影響があるかもしれないかと。 >The original audio track has a constant bit depth of 16 bits. eac3toはbig endianかどうかまではみてくれなかったような。 ソースがあればこちらでも試せるのですがこれ以上はなんとも・・・。
あとはRaWavSourceでIgnoreLengthを使ってみるのもいいかもしれません。 >IgnoreLength 1 force ignore the data size read in the header also in 64 bits formats. > 2 ignore the data size 32 bits read in the header if > 2GB. (default) >第 1 引数の値が 8 より大きい場合、その値は Samplerate として受け取られ、ファイルは RAW データとして扱われる。 ので、samplerate等を指定しないければwavヘッダを読んで正しくチャンネルマッピングを 行ってくれるかもしれません。
わかりにくい説明になってしまいましたが、要するにドキュメントにあるように RaWavSource("File.w64", 4) って感じですね。
AC3もWAVもAACもチャンネルオーダーの仕様は違うんだけどそこんとこどうなの
>>657 が〜ん、どうやらそれでした orz
ボケてましてIgnoreLength=4とか書いたらエラーでたので,SampleRate=48000,SampleBits=16,Channels=6
と記述したんですが
("File.wav", 4)
だけにしたところチャンネルマッピング正しくなりました。長々とおつきあいいただきながら
こんなショボイ結果でほんとすいません。という事でいままで書いた
>>622 などの
戯言は忘れて下さい。ありがとうございました
蛇足ですが一応eac3toで-big、-16とか付けても吐き出されるファイルは同じものでした。
660 :
652 :2009/10/17(土) 21:24:16 ID:qs+ZvC0F
>658 そこをソフトやプラグインがきちんとみてくれるかというのが争点でした。 >659 いえ、私も良い勉強になりました。 IgnoreLength=4のパラメータを受け付けた方が良いと一応作者に報告しておきます。
>>663 みません、デバッグでコメントアウトした部分がそのままでした。
あげなおしました。m(_ _)m
>>666 今度は大丈夫でした。さっそくの修正に感謝します。
このフィルターは、TTempSmooth(maxr=7)あたりと組み合わせて使うと良さそう。
AvisynthのSetMTModeだとときどき止まってしまうので使用をあきらめ、 AVSを真ん中で数分割して同時にエンコードを行うスクリプトを組もうと思っています。 そこでavsを読み込んで総フレーム数を取得するプログラムをvbscriptあたりで書ければ と思っているのですが、どなたか簡単な方法をご存じの方はいらっしゃいませんでしょうか。
>>668 avs側でFrameCountをWriteFileでテキストファイルに出力
あとはそのavsを何とかしてvbs側でpreviewすればできる気がするけど
preview(実際には画面には表示せず読み込むだけ)するdosコマンドみたいなのがあれば俺も知りたい
>>668 入力ファイルの総フレームでよければ、MediaInfo のコマンドライン版で
フレームレートと再生時間が分るから、掛け算すれば大体のフレーム数は
分ると思うけど、それでどうだろう?
>>670 MediaInfoGUIの詳細表示ならフレーム数が直で出るよ。
コマンドラインではないのかな?
>>671 詳細表示知らんかった!コマンドラインも -f オプションで Frame count が表示されますね。
vbscriptで出来れば外部のプログラムを用意する必要がないので好ましいですが、 とりあえずはMediaInfoを使う方向で考えてみようと思います。 VDubやavs2aviのソースを参考にしようかとも思いましたがどうにも・・・。 手順としては、元のavsを分割したavsを作り、これを同時にavs2aviで処理して無劣化aviを 作成し、これをくっつけたavsをx264などに渡すという感じです。(これらを自動化) SetMTModeのようなオーバーヘッドがないので、可逆圧縮のcodecに軽いものを選べば 本家より早くなる可能性があると考えています。フィルターの相性なども皆無のはずですし。 もしかしてもう同じスクリプト作ってる人とかいますかね?
674 :
668 :2009/10/19(月) 00:13:29 ID:ISRVuU3F
残念ながらMediaInfoではavsのフレーム数は出ませんでした。 元のソースならフレーム数がわかりますが、フィルター後(Trim等)の フレーム数がわからないといけないので・・・。
Trim っちゅうか Crop だよね?だとしたら、Crop ってフレーム数指定だと思うのだけど、 それ合算しちゃえばいいんじゃない?vfr するとどの道フィルタ最後まで欠けないとわから ないけど、そうじゃなければ、fps 変換なら単純計算でわかりそうなものだと思うのだけどどう?
あ、Trim か。ごめん。
>>662 うちのFirefox3で落とそうとすると
このページは準備中です
申し訳ありませんが、このページは現在利用できなくなっています。しばらくたってからもう一度お試しください。
と出て落とせないみたい
多分うちの環境のせいだろうけどもし同じように落とせない人がいたらIE使ってみて
IEだとあっさり落とせたので今から使ってみるよ〜
Fox3.5で余裕で落ちてきたけど
>675 fpsもdurationも取得できないんですよ。 avsをavi化して情報取得ぐらいしか今のところアイデアはないです。 avs内で分割後フレーム数を計算させてしまうという方法もありますけど。 分割はavsの最後の行のtrimで行うので、vfrであろうとなかろうと 最終的に出力されるフレームは同一になるはずなので特に問題ないはずです。 timecodeの出力は別にする必要があるかもしれませんが。
>>のらねこ氏 PNLMのsse2onlyはデフォはfalseですが、「貧乏人用」というのであればtrueにしたほうがいいような…
Import("dr.avs") #
http://zoome.jp/VFR_maniac/diary/73/ これ
asdf = BlankClip(color=$000000)
ghjk = BlankClip(asdf, color=$0000ff)
dr(base=asdf, replace=ghjk, left=0, top=0, right=100, bottom=100)
これだけのスクリプトが AviSynth 2.58で
Script error: Invalid arguments to function "dr"
になるんだけど、なんか使い方間違ってる?
Importをコメントアウトするとno functionだから関数が未定義ではない、
right,bottomをcropみたいな-100とかにしてもエラーは変わらず。
>>681 dr(asdf, ghjk, 0, 0, 100, 100)
コレでOK。
省略不可の引数に名前付き引数で指定するからNG。
Win7 64bitインスコ完了。 さぁ・・・動くかなぁ・・・
かなり前からWin7 RTM 64bit使っているが 普通にOK
32bit版のを使う分には動くんじゃないの 64bit対応のavisynthと各フィルタを使い出すとトラブるだろうけど
>>641 DirectShowSourceならMPCの音声コーデックを
>>642 にする
CMカットするならtrim++で映像と音声同期させる
CUDA対応のMTみたいなプラグイン高速化プラグインって製造が難しいのでしょうね? そんなプラグインがあったらGT300搭載ビデオカード買うけど。
難しいも何もGPUプラグインにしかならない
CUDA対応のx264.exeが欲しいけど、ソフ板のAviutlスレで無理だって言われた。 CUDAでは簡単な分岐予測しかできないから複雑な処理には向いてないそうな。 どうような理由でMTみたいな各プラグインを高速化するのに応用するのも現段階では不可能なのでしょう。 CPUを速くするのが一番だけどLGA 1366に移行するにはマザーメモリも変えなきゃならないし高いし 将来性もわからない(OctaCoreやUSB3で規格が大きく変わりそう)のでLGA 775でがんばるつもり。 ビデオカードは買い換えるのでCUDAを有効利用できるのがあったら、いいなあと思います。
>>689 2回以上の読み込みが容易ければ
ドナルドがとっくの昔にDGNVシリーズで対応してるよ
CUDAを使いたければデコードに使って
MTで全コアをフルに使うのが現状の最高パフォだと思うよ
LGA775ならこれからあんまりCPUの進化が無さそうやしな。 かといってLGA1366に変える気は無い。 現状エンコ本数少ないのでQ9650でもなんら不自由はありません。 GT300シリーズのグラボ購入しそうなのでゲームだけでは勿体無く、 エンコに生かせればなあと思った次第であります。
Q9450で満足してるけどUSB3.0内蔵のマザーが出始めたら 全取っ替えに走ると思う
最初は仕方ないよね
Win7 Ultimate x64 avisynthのインストール、AvsPによるプレビュー、x264へ渡してエンコまでOK。 aviutlでavsをseraphyさんのフィルタで開くと、コーデックが対応していないとエラー。 MPC HCでAVSを開くとコーデックが対応していないとエラー。
EasyVFR利用して間引きの引き方を分けようと思ったけど Trim(900,1024)部分がインタレース解除が機能していないです。 何故何が原因なんでしょうか? a=v.Trim(1,900).DoubleWeave().SelectEvery(5,0,2) b=v.Trim(901,1024).TDeint(mode=2, type=3).TFM(order=1,chroma=false).TDecimate(mode=1) c=v.Trim(1025,1120).DoubleWeave().SelectEvery(5,2,4) d=v.Trim(1121,1212).TDeint(mode=1)
901?
b=v.Trim(901,1024).TFM(clip2=v.Trim(901,1024).TDeint(mode=2, type=3)).TDecimate(mode=1) TIVTCとTDeintを組み合わせるのなら、こんな風にすれば。
701 :
698 :2009/10/24(土) 20:32:01 ID:/M1cre+D
>>700 レスthxです。
それで試してみたのですが結果は変わらず・・
TDeintだけなら問題ないのになんでだろうなあ
Itsじゃないとうまくいかないのかな
702 :
698 :2009/10/24(土) 20:44:52 ID:/M1cre+D
Trim範囲が間違えてただけでした。(寝不足ぎみなのでうっかり・・) 解決しました、ありです。
703 :
668 :2009/10/24(土) 22:54:05 ID:nX8co+xy
やっとこさ完成。 avsをバッチファイルにD&Dすると、 CPUの論理コア数分だけ同時エンコしたのちaviを読み込んで結合するavsを吐く という感じ。 avs2avi, UtiVideoなどの可逆Codec必須。 ドキュメントまだだけどいるかな。
>>703 要件とサンプルくれれば、VBScriptぐらい書くよ
705 :
703 :2009/10/25(日) 01:04:41 ID:yWHgJgI4
いや、一応完成。 上でも聞いたけどavsの総フレーム数をvbsから取得出来る方法がわかると なお良いんだけど。 avisynth.dllをコールするのかな?
707 :
703 :2009/10/25(日) 07:53:45 ID:tb97zs4j
>706 それだとエンコプログラム回さないといけないのかな。
>>705 avsのフレーム数ってどこで使うの?
何に渡す?
MT使う前提で、2.57か2.58にするか困っています。 どちらがいいのでしょうか?
2.58にバグがあると聞いたのですが本当でしょうか? 本当ならば、2.57を使いたいと思います。 avisynthとMTのバージョンは同じほうがいい?
Bugの無いソフトなんて無いよ。 MTはどちらも専用のものしか使えない。
2.6 SEt buildを常用している亡者はいないの?w
2.5.8のSEt buildなら使っているが SEt氏本人は2.6のほうがましになってるって言ってるけど、 さすがにまだ2.6を試す気にはなれない
bugを気にするようなやつがMT使いこなせるとは思えない
utlのNL-Means filterというノイズ除去プラグインと同等のavisynthプラグインってない?
>>662 はUTLのオリジナルと比較してどうだった?
比較画像がほしい。
んなもん自分でやれ
PNLMはstrength=30ぐらいでもシーンによっては黒いブツブツが出るね
輝度以外も処理したかったら、TNLMeansを使うのが良いな。
Avisynth使うならOSは32bitが無難ですか? 64bitは時期尚早なんでしょうか?
7RCからかれこれ5ヶ月使ってますが何の問題もありません
>>724 2年前から64bitOSを使ってるが、Avisynthで問題出た事ないよ。
PNLMがYUY2に対応してほしい
chroma = last ConvertToYV12.PNLM ConvertToYUY2.MergeChroma(chroma) PNLMはYしか処理しないのだから、こうしておけば良い。
だから対応してるっつーの
>>734 添付txtの「はじめに」を書き直すのを忘れてますぜ、旦那
>>735 直しておきました。おしえてくれてありがとう。
PNLM使ってみたら、NL-Meansより、ノイズが綺麗に除去できないのは、仕様? あと、Utlのインタレ維持リサイズをsynthで使うと、横長になった画面が、上下2つに分裂したようになってしまう...orz
軽さ優先で範囲を絞ってるんじゃなかったっけ?
txtに輝度ノイズだけって書いてあるだろ 同じものじゃないんだから効果も違って当たり前
そうだね 比較すること自体がそもそもナンセンス
Utlのフィルタを使ってリサイズした場合、絵はリサイズされるけど画面サイズはそのままになる。 縮小するならクロップすればいいだけ。
>>742 のリンクにあるやつ使ってみたけど、SDサイズにリサイズしても、インタレ維持よりは劣ってるかな?
747 :
名無しさん@編集中 :2009/11/06(金) 01:28:11 ID:9QTE/hmK
>>737 >>738 >PNLM使ってみたら、NL-Meansより、ノイズが綺麗に除去できないのは、仕様?
近傍重みがないのでそもそも Non-Local ともいえないです。
今のところ Non-Local Means 風味なので、仕様です。
時間がかかってもきれいにしたいのなら、TNLMeans あたりで。
utlのインタレ維持リサイズをsynth用に関数化したものは、併用可能。
インタレリサイズ使っといてTIVTC24P2使うってのが意味わからん
いやそれはかなり意味がある。 アプコンによる縞をとるのがインタレ維持リサイズの主な意味だから、 このあと24fps化っていうのは理にかなってる。
あぁそんなことに使ってるのか Bob化→リサイズ→Selecteveryじゃ周期狂うなら仕方ないかもね UVが発散してくと思うが仕方ないのか つーかソースのUVが既にめちゃくちゃなんだな
>>748 うちだと↓でエラーおきない
ソース読み込み
yv12toyuy2_laced()
BCSInterlacedResize()
TIVTC24P2()
converttoyv12()
return last
比較するならsmoothingないほうがいいでしょう。
あんぱんまん?
ダウソ厨は死ねよ
TFM.TDecimate(mode=1).Spline36Resize(last.width, 486) とでもした方が良いのではないだろうか。
760 :
757 :2009/11/07(土) 13:49:57 ID:bxENytA0
外出中のため、携帯からのカキコです。
>>758 ダウソ厨ではないです。比較は、私が録画したもので検証しています。
TIVTC24P2ってなんだよ?
たぶんこれ function TIVTC24P2(clip clip){ Interp = clip.AssumeTFF().SeparateFields().SelectEven().EEDI2(field=1) Deinted=clip.TDeint(order=1,field=1,edeint=Interp) clip = clip.TFM(mode=6,order=1,PP=7,slow=2,mChroma=true,clip2=Deinted) clip = clip.TDecimate(mode=1) return clip }
>>757 のキチガイはテロップの60iを自動24fps化してジャギジャギになるとか言ってたバカだからスルーしとけよ
60iのテロップといえば、みんなどうやって処理してるの? itsでやったところ、毎回defファイルを別に用意しなくちゃならなくてめんどくさい 対象フレームをavsに書ければ楽なんだけど
>>764 自分はdefもavsもテンプレは自動生成。
defに書くの、そんなに手間?
>>764 EasyVFRを使って、そこだけYadif(mode=1)としておく。
bobの話を聞いてるんじゃないだろ。
>>765 やってらんねーって程じゃないんだけど、エンコ初心者でまだわからないことが多いから
手馴れてる人はもっと楽な方法でやってるのかなぁと
defファイルのテンプレ開く→フレーム書く→ファイル名付けて保存→avsでdefファイルのファイル名書く
って方法でやってたんだけど、バッチでもっと自動化できるのかな
バッチの扱いも慣れてないんで、色々調べて見る
>60iのテロップといえば、みんなどうやって処理してるの? これに対する答えとしては、そんなにおかしくはないだろう。
>>768 WindowsならBATとかVBScriptとかP言語系を覚えると色々楽できるよ。
itsよりEasyVFRのほうが楽だと思う
>759 アプコン縞解消目的のインタレ維持リサイズは、普通のリサイズとはちょっと違う動作が必要。 BCSやDestipeのソースみればわかるけど、トップとボトムに分解した後に、0.x単位でフィールドを ずらしてからWeaveしないといけない。 だからインタレ維持リサイズ->IVTCは意味があるし、正しい方法。 >757 MPEG2DecのupConvは試してみたかい?
俺は、BCSやDestipeで486に縮めてから、TIVTC24P2でインタレ解除した方が、インタレ維持リサイズよりも、ジャギーが綺麗に取れたぞ。
utlのインタレ維持リサイズを使うと、cropが必要になるのかい?
separatefieldsしてリサイズしてweaveすりゃインタレ維持リサイズになるんじゃねの?
>>776 元からYUY2のソースはそれでいいが、YV12のソースは、
Bob -> 縦のリサイズ等 -> SeparateFields.SelectEvery(4,0,3)とするべき。
>>777 それはちょっと表現おかしい
tsやスカパーはYV12インターレースだよ
interlaced=trueでconverttoyuy2してからやればおk?
>>780 それはソースがYV12プログレッシブの場合だよ
なんでもひとくくりにYV12というのはおかしいよ
>>781 ちがう
YV12がどっちで収納されてるかわからないなら>>777がいい
ファイルがインターレースだからといってYV12インターレースと確定するわけじゃないんだ
ああ、そういうことか。理解した。 本来インタレの絵をプログレYV12で保持していたり、その逆もありってことか。
>>781 それでインターレースは崩れないけれど、できればAutoYUY2やyv12toyuy2_lacedを使った方が良い。
>>782 YV12のサンプリングは、インターレースとプログレッシブのどちらも同じ。
だから、リサンプリングがとても難しい。
YV12は保存形態としてはインタレとプログレッシブで違いはないけど 格納時と展開時に上下で隣接したピクセルをとるか1つ飛ばしてサンプリングするかの違いでしょ
インタレ維持リサイズ
BCS
Destipe
これらの3つ、みんな同じ様なプラグインだと思ったら、違う処理をしていたとは...
>>772 >トップとボトムに分解した後に、0.x単位でフィールドをずらしてからWeaveしないといけない。
どういう意味だ?
>>773 と同じ処理をしたほうが、残像もジャギーなくなったんだけど...
ところで、MPEG2DecのupConvってどういう効果があるんだ?
>>787 >MPEG2DecのupConvってどういう効果があるんだ?
upconv=1でYUY2、upconv=2でRGB24に変換だろ
convertToYUY2(interlaced=true)よりははるかにましではある
upconvはMPEG2のインターレースフラグを見てフレーム単位でインターレース/プログレッシブ 切り替えてアップサンプリングしてる。ちなみにAutoYUY2はプラグイン内部ののコーミング検出 により縞の部分だけフィールド別にアップサンプリングを行う。
DGAVCDecがHall of Shameに晒されとるやんけ ドナルド自身はなんかオープンソースにするっつーてるみたいだけど、どうなるんだろ、これ
実際のMPEG-2のソースでは、プログレッシブとして処理をするべきフレームなのに、 progressive_frameが0になっていると言うことがほとんどだからupConvはあまり使えない。
>>787 >>トップとボトムに分解した後に、0.x単位でフィールドをずらしてからWeaveしないといけない。
>どういう意味だ?
実際にはソースを見てくれって感じだが、
1. まずトップフィールドとボトムフィールドに分解する。(2フレームにする)
2. ボトムフィールド全体を少しずらす。
3. Weave
「2.」がポイントで、例えば一番上のラインを削って、下に同じ幅だけ黒帯をつける
(だから見た目的に絵が上にずれる)、という感じ。
ただし、このずれは1ライン未満じゃないとダメ。つまり例えば以下のような感じ。
Crop(0, 0.5, 0, 0).AddBorders(0, 0, 0, 0.5)
だが実際にはエラーになってしまう。
そこで、あに瓶さんのは、まず元絵を拡大してから1ライン単位でずらして縮小している。
VFRManiacsさんのはResizeプラグインのクロップ指定をちょっと変則的に使っている。
理論上はVFR Maniacsさんの方法の方が早くて応用しやすく、Resizeが1回ですむので
画質も良いだろう。
もう一度言うが、AviUtlの「インターレース維持リサイズ」は単なるインターレースを維持したままの
リサイズプラグインというより、アプコン縞を取る課程としてリサイズも行っている、ということ。
インターレース維持リサイズとBCSどっちがいいかってのはインターレース維持リサイズの ソースが公開されていない以上、経験則しかないと思うが、少なくとも単なる線形リサイズ よりLanczos(or Blackman)を使っているBCSの方が良さそうではある。 Floatが使えるから設定も細かくできるし(そこが逆に使いづらいけど・・・)
TF-BFギャップ調整が整数単位でしかできない場合、微妙に合わないね。 1080→486も含め、ほとんどの場合端数になる。 合ってないと静止画の地点で斜め線や円弧がギザギザになるよ。
インタレ関係が苦手でアホな質問ですが・・・ インターレース維持リサイズやBCSの使用目的は、 SDサイズで制作されHDアプコンで放送されたものを SDに(出来る限り元に)戻すって認識でいいんでしょうか・・? それとも他に利点あるのかな・・・ 初歩的なアホな質問ですいません。
これまでのインタレ関係を整理すると、結局どれが一番いいんだ? ごちゃごちゃではっきりと分からない...orz
アホな質問をした者です。
>>797 氏、レスありがとう。そのサイトさん知らなかったので参考にします。
799 :
792 :2009/11/10(火) 11:14:44 ID:5yZVni4L
>796 おれが上で答えてんだろ! BCS使っとけ!
yv12toyuy2_laced(matchfields=true) BCSInterlacedResize(486,2) TIVTC24P2() BlackmanResize(960,720) converttoyv12() return last こんな感じ? weaveしなくてもおk?
OK. TIVTC24P2の前でYV12に戻してもOK.
でも1つわからないのは地デジなら1つのアニメでプログレとインタレが 混ざってることなんてまずない(まず全フレームインタレ)だから yv12toyuy2_laced(matchfields=true) 使わなくても ConverToYV12(interlaced=true) でいいんじゃないか?
>>802 yv12toyuy2_laced(matchfields=true)を使った方が、縞になっていない部分の品質が良い。
それは色の境界線部分で、上のいろと下のいろで縞々になってしまうのを 防ぐってことですか?
もしそういうことなら。YV12からの補完つきBCIResizeを。
function BCSIResize_Yadif(clip clip, int "dest_height", float "shift", float "crop", float "blur", int "mode") { dest_height = default( dest_height, 486 ) mode = default( mode, 2 ) mode == 0 ? clip : Eval(""" mode = (mode < 1) ? 1 : (mode > 2) ? 2 : mode shift = ( dest_height == 486 ) ? default( shift, 0.32 ) : ( dest_height == 720 ) ? default( shift, 0.12 ) : default( shift, 0 ) crop = ( dest_height == 486 ) ? default( crop, 0.75 ) : ( dest_height == 720 ) ? default( crop, -0.07 ) : default( crop, 0 ) blur = ( mode == 1 ) \ ? ( dest_height == 486 ) ? default( blur, -0.75 ) : ( dest_height == 720 ) ? default( blur, -0.50 ) : default( blur, 0 ) \ : ( dest_height == 486 ) ? default( blur, -0.50 ) : ( dest_height == 720 ) ? default( blur, -0.25 ) : default( blur, 0 ) half_dest_height = dest_height / 2 clip = clip.Yadif(mode=1).ConvertToYUY2().SeparateFields() # correctly Assume[TB]FF() before calling this function!! Tf = clip.SelectEvery(4,0) Tf = (blur != 0) ? Tf.Blur( 0, blur, false ) : Tf Tf = (mode == 1) ? Tf.LanczosResize( clip.Width(), half_dest_height, 0, -shift+crop, clip.Width(), clip.Height(), 1 ) \ : Tf.BlackmanResize( clip.Width(), half_dest_height, 0, -shift+crop, clip.Width(), clip.Height(), 1 ) Bf = clip.SelectEvery(4,3) Bf = (blur != 0) ? Bf.Blur( 0, blur, false ) : Bf Bf = (mode == 1) ? Bf.LanczosResize( clip.Width(), half_dest_height, 0, +shift+crop, clip.Width(), clip.Height(), 1 ) \ : Bf.BlackmanResize( clip.Width(), half_dest_height, 0, +shift+crop, clip.Width(), clip.Height(), 1 ) return Interleave(Tf, Bf).Weave() """) }
ConvertToYUY2(interlaced=true)でも同様。
>807 やはり境界線部分が1ライン影響しちゃうってことですね。 あげなおし。
function BCSIResize_Yadif(clip clip, int "dest_height", float "shift", float "crop", float "blur", int "mode") { # might need to change here. Load_Stdcall_Plugin("C:\Program Files\AviSynth 2.5\plugins\yadif.dll") dest_height = default( dest_height, 486 ) mode = default( mode, 2 ) mode = (mode < 1) ? 1 : (mode > 2) ? 2 : mode shift = ( dest_height == 486 ) ? default( shift, 0.32 ) : ( dest_height == 720 ) ? default( shift, 0.12 ) : default( shift, 0 ) crop = ( dest_height == 486 ) ? default( crop, 0.75 ) : ( dest_height == 720 ) ? default( crop, -0.07 ) : default( crop, 0 ) blur = ( mode == 1 ) \ ? ( dest_height == 486 ) ? default( blur, -0.75 ) : ( dest_height == 720 ) ? default( blur, -0.50 ) : default( blur, 0 ) \ : ( dest_height == 486 ) ? default( blur, -0.50 ) : ( dest_height == 720 ) ? default( blur, -0.25 ) : default( blur, 0 ) half_dest_height = dest_height / 2 clip = clip.IsYV12() ? clip.Yadif(mode=1).ConvertToYUY2().SeparateFields().SelectEvery(4,0,3) : clip.SeparateFields() Tf = clip.SelectEven() Tf = (blur != 0) ? Tf.Blur( 0, blur, false ) : Tf Tf = (mode == 1) ? Tf.LanczosResize( clip.Width(), half_dest_height, 0, -shift+crop, clip.Width(), clip.Height(), 1 ) \ : Tf.BlackmanResize( clip.Width(), half_dest_height, 0, -shift+crop, clip.Width(), clip.Height(), 1 ) Bf = clip.SelectOdd() Bf = (blur != 0) ? Bf.Blur( 0, blur, false ) : Bf Bf = (mode == 1) ? Bf.LanczosResize( clip.Width(), half_dest_height, 0, +shift+crop, clip.Width(), clip.Height(), 1 ) \ : Bf.BlackmanResize( clip.Width(), half_dest_height, 0, +shift+crop, clip.Width(), clip.Height(), 1 ) return Interleave(Tf, Bf).Weave() }
ちょっと思ったのですが、BCSInterlacedResizeとかDestripeは IVTCの後にYUY2にしてからやるのが一番良いということかな?
>>810 yadifは必要ですかね?
windows7 64bit環境では、なぜか認識しないので困っています...orz
プラグインの場所は間違っていないはずなのだが...
LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\yadif.dll")
なんでマニュアルもwikiも読まずに質問するかね あんまりこの手のやつに教えるとAviUtlスレみたいになるぞ
使い方を読まなくてすまなかった。 yadifの配布場所のサイトに(小さいけど)、書いてあった。
教えたい奴は教えてやればいい 教えたくないやつは黙ってればいい
すんません。 自動フィールドシフト使う時、インタレ解除はTdeintが良さげだと聞いたんですが、 解除0設定のafsの後段に30p用のTdeintスクリプト入れるって事でいいんですかね? 要するにこういう感じで AutoYUY2() ConvertYUY2ToAviUtlYCFix() AU_afsvf_(64,64,64,64,0,256,128,64,128,256,0,4,true,true,true,false,false,false,false,false,false,false,false,false) ConvertAviUtlYCToYUY2Fix() TDeint(order=1,field=1,type=1,edeint=nnedi2(field=1),emask=TMM(order=1,field=1)) ConvertToYV12() これで足らない部分、いらない部分あったら教えて下さい。
ニコニコでavisynthでタグ検索したら、 ソースコード付きのMADがあるんだが(Believeってやつ こういうのをavisynthだけでつくるって正直変態だなー でもシーンごとにサブルーチンに分けてラッパぽいのから呼び出すとか 組み立て方が結構参考になった
>>819 コメントで切り張りとか言われてて泣いた
avs見ると映像が綺麗だとか切り張りだとかそういう問題じゃねぇよって思っちゃうな
BCSInterlacedResize改造: shift値などを自動設定 shift = default( shift, ( clip.Height() - dest_height ) / ( dest_height * 4.0 ) ) crop = default( crop, 0 ) blur = default( blur, ( clip.Height() * -18.0 + mode == 1 ? dest_height : dest_height * 14.0 ) / ( dest_height * 52.0 ) ) おまいら試してみてくれ(´・ω・`) blurは根拠ある数字じゃなくて、1080→720,486時はVFR maniac値、 それ以外はそれなり(リサイズ比に依存)にしてる。 けど、縮小前にBlur・・・実際はSharpenかける意味がわからない(;^ω^) LPF代わりにボカすならわかるんだけど。
すげーーー!!! BCSの設定値探すのすっごい大変だったんだよねー。 ちょっと原理を解説して頂けるとありがたい。
では、私もBCS関連ということで。 BCSの前にTIVTCとかYadifとかでインタレ解除(もしくはBob)する場合、単なる フィールド入れ替えなら問題ないけど、同一フレームでの補完が入ってしまうとBCS後の 画像はエッジ部分がギザギザになってしまう。 かと言って同一フレームでの補完が入らない、つまりポストプロセッシングを切る(PP=0) にすると、今度はインタレ縞がばっちり残ってしまい、YUY2にする際に問題になる。 ってことで明らかなインタレ縞がある場合を除いてはフレーム内補正を行わない設定ということで TFM(PP=7,slow=2,cthresh=7,blockx=32,MI=460).TDecimate(mode=1) ソースはそらのおとしもの、アスラクライン、フェアリーテイルあたりで設定値を探してみた。
ていうかインターレースのまま拡大することで崩れてしまったものを戻すフィルタなのに 先にプログレ化するのは明らかにおかしいだろ。IVTCならまだいいけどBobはないわ
>>823 shiftはリサイズ前後の1ライン分の高さの違いを合わせる変数で、↓のように計算
shift = (1080/486-1)*(1/2)*(1/2) = 11/36 ≒ 0.305555... VFR maniac値と微妙に違うけど(;^ω^)
↑ ↑ ↑ ↑
| | | TF,BF各々逆方向にズラすので片フィールド当りは*1/2
| | 解像度1/2になったフィールド映像に対する補正なので*1/2
| リサイズ前1本分
リサイズ後1本分(リサイズ前解像度換算)
この式を変形したものです。この値がベストかどうかわからない。
パっと見、VFR maniac値より悪い風には見えないけど・・・検証してみてくれ。
cropは映像全体を上下にズラす変数だけど、必要性が不明なのと
値を入れると縦のセンターがズレるので0にしてる。
必要なら任意の値を設定して下さい。
blurは
486 720
mode=1 -0.75 -0.5
mode=2 -0.5 -0.25
としてるVFR maniac値を式にしただけです。
>825 では実際にやって見比べてみたら良いかもしれませんね。 >826 解説ありがとうございます。 やはりcropはわからないですか。 アプコン時のアナログ的な部分の補正(画面全体が微妙に縮むとか) くらいに思っているのですが・・・。 ただ、これをいじることによって輪郭線がずれる(二重になる)のを補正 できるようです。
828 :
824 :2009/11/14(土) 22:57:41 ID:Vt8OpZc/
>824 TFMのポストプロセッシングを切ってしまうことによって輪郭部分のインタレ縞が ドット妨害のように出てしまうことがあるようなので(けんぷふぁーED)以下の ようにTIsophote()を使うとなお良い。 TFM(PP=7,slow=2,cthresh=7,blockx=32,MI=460) TDecimate(mode=1) TIsophote() clip.IsYUY2() ? last : last.ConvertToYUY2() BCSInterlacedResize()
>>827 アプコン時のアナログ部分とはどこの事?
画面全体が縮むというのは?
830 :
824 :2009/11/15(日) 07:40:41 ID:BaRc0h7E
>829 いえ、まったく知らないので適当なこと言ってるだけです。 アナログアプコンだとアプコン前に比べて画像全体が ゆがむことがあるんじゃないかと。
>>821 それでいいんじゃないのかな。
後は知らん。
>>830 アプコン番組は上下端に黒帯が入り(アナログキャプチャと比べて)縮んでると言われてるのかな?
833 :
824 :2009/11/15(日) 23:58:09 ID:BaRc0h7E
>832 そう考える以外にcropの説明がつかないかな、と。
それか、実際の解像度が486ではなくて例えば487くらいであり、 これだとAvisynthでSeparateFieldできないので便宜上486と した上でCropで微調整とか。
>>832 BCSのcrop変数は映像全体を上下にスライドさせるもので、縮んだ映像を伸ばす効果はないよ。
アプコン番組で上下に黒帯が入って縮んでる風に見えるのは、縮んでるんじゃなく
アナログキャプチャでは見えない(サンプルされない)上下端が見えてるのでしょう。
836 :
>835 :2009/11/16(月) 12:30:33 ID:j3QbO2w+
>835 確かにおっしゃる通りで・・・。 とするとshiftにfloat値を使える以上cropの意味がまったくないように見えますね。 しかし実際にcrop値を調節すると単に全体画像が上下するだけでなく 絵の輪郭部分(あごとか眉毛とか)がきれいになるのが不思議です。 余談ですが、Aviutlのインターレース維持リサイズのオプションにもあることだし、 もし私が上で行っていることを実現するなら、 Tf = (mode == 1) ? Tf.LanczosResize( clip.Width(), half_dest_height, 0, -shift, clip.Width(), clip.Height()-crop, 1 ) \ : Tf.BlackmanResize( clip.Width(), half_dest_height, 0, -shift+crop, clip.Width(), clip.Height(), 1 ) Bf = (mode == 1) ? Bf.LanczosResize( clip.Width(), half_dest_height, 0, +shift, clip.Width(), clip.Height()-crop, 1 ) \ : Bf.BlackmanResize( clip.Width(), half_dest_height, 0, +shift+crop, clip.Width(), clip.Height(), 1 ) とすべきですね。これだと487とか中途半端な解像度からのアプコンでも対応できるはず。
837 :
832 :2009/11/16(月) 12:32:02 ID:j3QbO2w+
>836 失礼片手落ちでした。 Tf = (mode == 1) ? Tf.LanczosResize( clip.Width(), half_dest_height, 0, -shift, clip.Width(), clip.Height()-crop, 1 ) \ : Tf.BlackmanResize( clip.Width(), half_dest_height, 0, -shift+crop, clip.Width(), clip.Height()-crop, 1 ) Bf = (mode == 1) ? Bf.LanczosResize( clip.Width(), half_dest_height, 0, +shift, clip.Width(), clip.Height()-crop, 1 ) \ : Bf.BlackmanResize( clip.Width(), half_dest_height, 0, +shift+crop, clip.Width(), clip.Height()-crop, 1 )
838 :
832 :2009/11/16(月) 13:22:02 ID:j3QbO2w+
1080->487のような中途半端にリサイズしたい場合の設定を自動計算にしてみた。 BCSInterlacedResize(dest_height=486, adjust=1) 以上のように使うことによって画像的には1080->487を行ったのと同じ状況だけど 実際の解像度は486で出力される(本来の画像より上下0.5ずつカットされた状態)。 要するに出力画像の伸縮を行っているので、上のようなアプコン歪み(そんなものが あるかどうかは別として)の矯正も可能。 --- adjust = default( adjust, 0 ) adjust = adjust * clip.Height() / ( dest_height + adjust ) Tf.BlackmanResize( clip.Width(), half_dest_height, 0, -shift+crop+adjust/2.0, clip.Width(), clip.Height()-adjust, 1 ) Bf.BlackmanResize( clip.Width(), half_dest_height, 0, +shift+crop+adjust/2.0, clip.Width(), clip.Height()-adjust, 1 )
839 :
832 :2009/11/16(月) 13:25:31 ID:j3QbO2w+
ちょっとわかりにくいかもしれないので補足説明すると、 BCSInterlacedResize(dest_height=487).Crop(0,0.5,0,486) と同じ結果になるはず。理論上は。
840 :
832 :2009/11/16(月) 13:32:36 ID:j3QbO2w+
ごめん、ミスった。 adjust = default( adjust, 0 ) adjust = adjust * clip.Height() / ( dest_height + adjust ) / 2.0 Tf.BlackmanResize( clip.Width(), half_dest_height, 0, -shift+crop+adjust/2.0, clip.Width(), clip.Height()-adjust, 1 ) Bf.BlackmanResize( clip.Width(), half_dest_height, 0, +shift+crop+adjust/2.0, clip.Width(), clip.Height()-adjust, 1 )
841 :
834 :2009/11/16(月) 13:41:58 ID:j3QbO2w+
名前間違えてた・・・。 >836- のレスは832さんじゃなくて私(824=830=833=834)です。
こういうのはショボスレでやれや
ところで皆さん、インターレース解除フィルタは何を使っています? 自分はいくつか使ってみて、とりあえずTDeintを使っているけど、 気持ち重いのと、高速にパンしたシーンなどで解除残りが出るのが不満。 性能的にはAviUtlの自動程度で良いのだけど、何か定番は無いですかね・・・ ちなみにwarpsharpのAutoDeintはAviUtilの自動にかなり劣るので止めました。
>>843 Yadifが良い。
TDeint(emask=TMM)としてもアーティファクトは出なくなるけど、Yadifと比べたら少々重い。
逆テレシネのおすすめは?
手動
DoubleWeave.Pulldown これが面倒なソースには、TIVTC。プルダウン付きのMPEG-2は、DGIndexのForced Filmを使う。
>>844 早速サンクス。
YadifはYUY2が使えないと思って試していなかったけど、最新版だとYUY2に対応しているのね。
早速試してみたけど、とりあえず性能は十分だし、何と言っても軽いのが良いですなぁ。
と言う訳で、しばらくYadifを使ってみる事にします。
インタレ解除前にYUY2ってPV4?
win7でエンコードも64bit移行しようかと思ったがまだ早かったな dgdecodeで躓いて終わったわ。 インタレース保持でフィルタ滅多に使わないから、行けると思ったのに
>>851 squid_80版は動かないってこと?
>>852 pipe使う方法か。
せっかくと思って64bitでコンパイルしようと思ったら、
アセンブラはVC++6.0のだし、x64はインラインアセンブラ駄目みたいだしで、そこまでプログラム読めないから、諦めた
>>853 とりあえず最新版行きたかったので。チェンジログ見てないから、問題なければパイプと比較して考えるかな
ありがとう
ここで聞いていいかどうかわからないけど質問させてください Avisynthを使った自動エンコってことでネトランに載ってたTsedithelperを入れてみたのですが Tsdemux実行後フォルダが出来てファイルは入ってるのですが ファイル名.avsというファイルが作成されないためload.jsを実行すると virtualdubが起動した後にファイルが無いとエラーメッセージがでます。 何が原因でavsファイルが作成されてないのかわかりません わかる方アドバイスお願いします 環境はXpsp3 Avisynth 2.58 他はネトランのHPから辿ってファイルをダウンロード・コピーして入れました。 ぐぐって見ても解説HPもなくて困ってます orz
失せろ
>>855 よくわからんが、Avisynthでやりたいことがあるから
Avisynthを使うんじゃないのか?avsが自動生成されたら意味なくね?
ならもう諦めれ
ネトランに載ってたことはネトランに訊くのがマナーだ
ネトランほど諸々スレの住人に嫌われる雑誌もそうないよな
1. TSをDGIndexに放り込んで、d2vを作る 2. MPEG2Source("video.d2v")として、avsを作る 3. そのavsをx264か何かでエンコード AviSynthを使うのが初めてなら、試しにこれだけをやってみたらいい。 デインターレース等のフィルターはMPEG2Sourceの後に足していく。
そしてavsテンプレートがだんだん誇大化してゆくw
1 とりあえずエンコードできるようになる 2 avsテンプレートが肥大化していく 3 フィルターの取捨選択をするようになる 4 フィルターの細かな設定の違いに疑心暗鬼になる 5 もうどうでもよくなって何もかも適当になる
疑心暗鬼ワロタ 徐々に納得いかなくなってきてシンプルな設定に戻るんだよね
mpegソースならcropリサイズデインタレ逆テレシネぐらいしかやることがない
キャプチャカードの映像を直接avisynthに通す方法ある? avisource("WDMドライバ")みたいに
”WDMドライバ” というところに、センスを感じない。
フィルタ書いてる行よりプラグインとかスクリプト読み込んでる行のほうが長いavsがあったりするな…
普段自分が使ってるavsのテンプレを眺めてみた 500行超えてた コメントアウトしたLoadPluginとImportだけで100行以上 引数の意味とか書いてあるコメントで100行以上 そろそろ新しく書き直すか
その前にうpするといいと思うよ
テンプレって作業を効率化するために作るもんだと思うが それだけ長いとかえって非効率になりそうだなw
テンプレが500苦行とかWDMドライバとか斬新な発想の持ち主がいらっしゃいますね
まあでも、拾った関数をコピペしまくってたら500行ぐらいいきそうだな
上にも書いたけどアプコンによる縞々解消の処理を行う際にはIVTC->YUY2->BCS/Destripeが 良い。(YV12インターレースフレームをYUY2に戻すのが困難であるため。AutoYUY2を使う手もある) しかし、この時にフィールド入れ替えだけできれいにプログレッシブフレームを構築できないとデフォルトで はフレーム内補正を行う(Postprocessing)だが、これを行ってしまうと縦解像度の縮小を2回 (1080->540->486)行うのに似た処理が入る。最終解像度はSDなら486と低いので、これを やってしまうとEdge-directed Interpolationであっても輪郭線がガタガタになってしまう。 ちなみにBCS/Destripe->IVTCの順番でも同じ結果。 そこで画面全体におよぶようなインターレースの解除目的以外はフレーム内補正はオフにすべきなの だが、アプコンされた動画はただでさえ汚いのでフィールド入れ替えだけでプログレッシブフレームを構築 しようとすると、ゆっくり動くような画像のエッジの部分でインターレース縞が残ってしまう。 そこでインターレース解除フィルターではなく、エッジ補正フィルターを用いてインターレース縞を除去する のが理想だと思われる。ただし、エッジ補正フィルターは場合によって副作用もあるのであくまで縞の あるフレームについてのみフィルターを効かせるべき。 そこで。
function BCSIRIT(clip clip, int "dest_height", float "shift", float "crop", float "blur", int "mode") { # need to be changed Import("BCSInterlacedResize.avsi") Import("TIsophote.dll") mode = default(mode,2) mode = (mode < 0) ? 0 : (mode > 2) ? 2 : mode dest_height = default( dest_height, 486 ) shift = ( dest_height == 486 ) ? default( shift, 0.32 ) : ( dest_height == 720 ) ? default( shift, 0.12 ) : default( shift, 0 ) crop = ( dest_height == 486 ) ? default( crop, 0.75 ) : ( dest_height == 720 ) ? default( crop, -0.07 ) : default( crop, 0 ) blur = ( mode == 1 ) \ ? ( dest_height == 486 ) ? default( blur, -0.75 ) : ( dest_height == 720 ) ? default( blur, -0.50 ) : default( blur, 0 ) \ : ( dest_height == 486 ) ? default( blur, -0.50 ) : ( dest_height == 720 ) ? default( blur, -0.25 ) : default( blur, 0 ) clip = clip.TFM(PP=7,cthresh=7,MI=500,blockx=32).TDecimate(mode=1) # for 24fps source clip = ConditionalFilter(clip,clip.TIsophote(iterations=3,type=1),clip,"IsCombedTIVTC(cthresh=6,MI=60,blockx=8,blocky=32)","=","true") clip = clip.IsYUY2() ? clip : clip.ConvertToYUY2() clip = clip.BCSInterlacedResize(dest_height,shift,crop,blur,mode) clip = clip.ConvertToYV12() return clip }
俺がよく分かってなかったらすまんけど、 TIsophoteとか使わないためのインタレ維持リサイズじゃないの? 本末転倒だと思うんだが
アプコン縞を取るためのインタレ維持リサイズ。 実際には微妙にインタレを破壊しながらリサイズしている。
TIsophote単体だとiterationをかなり大きくしないとアプコン縞に対して 目立った効果がない。しかも、それをすると副作用が大きすぎてほとんど 使い物にならない。そして遅い。
画質の向上に寄与しない自慰設定は本人しか気持ち良くなれない
>882 アプコン縞そのままにしてエンコードすると汚くない?
MCBob v0.3u4一段と重すぎワロタ
TempGaussMCとMCBobどっちが実写むけ?
24fpsと30fpsの混合ソースをVFR化せずに30fps固定にするには、どうすればいいですか?
なにもしなければいい
どちらが実写向けかとかじゃなくてTempGaussMCはVHSソースやアナログ放送なんかのノイズをついでに取る効果があるって認識だけど
MCBob ... MDegrain3 とするよりは、これ一つで済むTempGaussMCを使った方が合理的かな。
>>884 AviSynth Blogで劇重注意報が出てるなw。俺はしばらく様子見かな。
インターレースなんてこの世から消えてなくなれ!
インターレースは偉大な発明のひとつだと思うんだがなー
偉大な発明と同時にDTVにとって最大の敵となった
DTVって何なの?
ドーテーヴァンザイの略
DVD作るにあたって、にーやんとこのBobリサイズを使って1080i→480iダウコン試してみたけど 奇数偶数各フィールドの相関性が崩れるせいか止まってるときはまだいいけど インタレ解除しても特に垂直方向に横断するような動きをしたときにすだれ状になって気持ち悪い。 Avisynthで使えてこれより綺麗にできるクロスコンバート関数ってある? あとBobする際にTDeint(mode=1)するよりも標準のBob()の方が綺麗だった。
1080i→480iしたいのかインタレ解除したいのかさっぱりわからんな
>>898 1080i->480i->480pしたいのではないかとESPしてみる。
やあアキラ(のBD)くん…
エンコやフィルタリングをDTVというのは違う気がする
Yadif(mode=1) Spline36Resize(last.width, 480) ColorMatrix(mode="Rec.709->Rec.601") SeparateFields SelectEvery(4,0,3) Weave
>>901 ありがとう、試してみたけど動きには少し強くなった気がするが正直にーやんのと大差ないと思う。
指揮棒振ってるシーンとかどうしようもないし、クロスコンバートするのにこのアプローチじゃ限界あるんだろうな。
そこは、Yadif(mode=1)の代わりに、yadifmod(mode=1, edeint=nnedi2(field=-2))を使うとか、 自分で補間をいろいろと工夫すればいい。 時間がどれだけ掛かっても、どうにも妥協ができないのなら、TempGaussMCを使うと言う手もある。
TGMCは実写に使うとツルツルになっちゃうな
TDeintでも良いけど、アーティファクトを避けるために、TDeint(mode=1, emask=TMM(mode=1)) とするべき。
TMMって具体的にどんな効果があるのでしょうか? TDeintも Motion adaptive なのに TMM を併用するのは TMM の方が動き検出が TDeint より正確だからということでしょうか?
そんなところ。 実際にON/OFFで比べてみるとよく分かるよ。
AVS2RAW試した人いる? 今doom9に繋がらないからよくわからないんだけどマルチパス以外ではraw出力にかかる時間を加味すると逆に遅くなる?
avs2yuv+x264でCPU使用率が常時100%になるから、あまり興味が無い。
>>910 違うものを落としてきたかもしれないが、
Demo version only supports scripts with upto 20,000 frames
っていわれたからかなり萎えた
doom9繋がんね…
何でフロントエンドがYUY2な人が多いの? 例えばVirtualDubModよりVirtualDub使用した方が早いんだけど 日本語の解説が無いのと同じ理屈でしょ?
>>915 何が言いたいのかよくわかんね。
フロントエンドについてるプレイヤーがYV12である必要はなくね?
そりゃ、高速な方がいいに決まってるけど、YV12変換のコストってそれほど重要ではないだろ?
使いやすさを優先してもよくね?
たとえばAviUtilはシークする幅を4パターンぐらい設定できるんだが、こういう機能を犠牲にしてまで微々たる変換コストに気を遣う必要ってある?
最終的なバッチ処理でYV12の恩恵を受ければ十分。
特にYUY2のが多いとは思わんが 中間はいてるやつはVirtualDub使いのが多いんじゃね おれの場合チェック自体はAviutlだけどエンコ自体はVirtualDubだよ
x264も1153から自動変換でYV12入力をスクリプトするね ソースに対しても自動で入力スクリプト書いてくれるらしいが かなりの時間フリーズ状態になって実用的じゃなかった MT噛ませんし
自分でフィルターかけられんのにMTも糞もあるか
それを手動と言うんだよ ポイントはAvisynthと連帯出来る様になった事 エラーログもx264止まりだった事がトータルで判別出来るから 逆算しやすくなった訳で、フィルター云々の話じゃない Avisynthと連帯ていってもYUY2な人は 「書ける書けない」の盲目から抜け出せないだろな
日本語が下手すぎて意味が判らんw
入力をスクリプトの時点でものすごい
頭痛が痛くなってくる感じだな
925 :
名無しさん@編集中 :2009/12/02(水) 13:16:02 ID:GrXDcfh2
モーションブラーですね、わかります
MTも色々種類あるけど 例えば、Setmodeオンリーの時はあんまり、どのバージョンでも変わらないけど SetmodeとMTmodeを併用する場合 avisynth.dllをSEt氏の2.6MTで、mt.dllを例えば2.5.8MTのを使用すると 普通に2.5.8MTを使用するより1.5倍くらい速い あるいは、MTmodeでの速度低下がSetmodeと比べて低い、MTmode単独でも同じ ちなみに2.6MT単独(mt.dll無し)ではMTmodeをカバーできなかった為(Setmodeは可) 偶然見つけたけど,どないでっしゃろ?
オーディオのみフェードをかける方法を教えていただけませんか? 映像も一緒にフェードする関数はあるようですが… オーディオのみを処理にかける方法がわかりませんでした
>>928 AudioDub(フェードかけてないやつ,フェードかけたやつ)
SetMTModeは不安定すぎて使ってない。 まぁ、使うフィルタにもよるが。 CPUがデュアルコア以上ならやっぱ多重エンコでしょ
2.6でテストしていて自前のavsでConvertToYV12()をやってるのにx264(1354)を通すとx264のログに avs [warning]: converting input clip to YV12と出力される これってx264側がYV12に変換してるんだと思うんだけどConvertToYV12()が正常に動作してないからこうなるのかな 2.5.8だと問題ないんだけど 当然2.5.8でConvertToYV12()をコメント化すると上記メッセージが出る
>>932 その時の実際の色空間はどうなってるんだ
5.1chの音声を2chに変換する関数ってある? PSP用に動画を変換するバッチを書いてるんだが、 音声が5.1chのAC3だから困ってるんだわ…… 字幕なんかはVobSubで解決したんだけど 音声だけがうまくいかなくてorz
>>936 ありがとう、今から試してみる。
自分で探してるときは見つけられなかったのにorz
938 :
名無しさん@編集中 :2009/12/07(月) 13:55:23 ID:214xepbH
TempGaussMC_beta1modってEdiModeで"NNEDI2"指定することで nnedi2使えるのね EEDI2しか使えないと思っていたわ
939 :
名無しさん@編集中 :2009/12/07(月) 14:00:26 ID:214xepbH
あら、tempgaussmc_beta1mod2でないと使えないのかな? 混乱してきた、あまり独り言が激しいんで去りまする
941 :
名無しさん@編集中 :2009/12/07(月) 15:14:04 ID:ulYtNooZ
TGMCは重すぎてみんな捨てる
AviUtlの「自動」みたいに、動きの大きいフレームでも二重にブレないインタレ解除プラグインはありませんか? 片フィールド切り捨てに近いけど、静止部分の縦の解像度は落ちないというもの
AviUtlの自動がブレてないとか馬鹿なのか?
文章はちゃんと読もうな
BCSInterlacedResize_modってないかな? BCS関連の話題をまとめたらできるんじゃないかな?
948 :
942 :2009/12/08(火) 18:58:34 ID:huWjbuul
>>947 サンプル画像まで用意していただきありがとうございます。
各方法試してみましたが、どれもかなり重くて、これなら素直にAviUtlを使った方が速そうです。
「自動」よりも、AviSynthの通常の解除法の方が動きは滑らかなんですが、
流れるテロップがブレたり、動きの激しい歌物などで顔が見づらいのが不満でした。
まあ60fpsにすれば済む話だけど…。
ソースのタイプに応じて使い分けることにします。
ここではAviUtlにとって不利にならない様に、元から4:2:2のソースを使ったけれど、 一般的なMPEG-2(4:2:0)を扱うのなら、デインターレースはAviSynthでやった方が有利。 あと、最終的に1080->720をするのなら、高速なYadifを使ってもそれなりの品質にはなる。
ニコニコ動画から各種ツールでDLした動画とコメントファイル、 これをコメント埋め込みで扱えるようにするAviSynthフィルタって有りますか?
953 :
951 :2009/12/09(水) 20:09:42 ID:HY/3eFyK
目的はエンコードではなく、DLした動画の、 コメント非対応の動画プレイヤーでのコメント付き再生で、 AviSynthを使って出来ないものかと・・・
エンコードだろうとフィルタしながら再生だろうと結果が残るかどうかの違いでしかない。
だから
>>952 のスレでいい。
ただ、ニコネタってことはあるとすれば開発者は日本人だろうから、
それをにーやんが見落とすとは思えないんでavisynth.infoになければないと思っていいかと
/ / \ | | ● / ヽ ● | この日本はにーやんに監視されています | | / |. | ヽ ヽ_/ヽ__/ |
956 :
951 :2009/12/09(水) 22:41:27 ID:HY/3eFyK
あっちのスレ、ちょっと注意書きに引っかかりそうで 聞きづらいんですけど、工夫して聞いてみます。 ありがとうございました。
あそこの住人だけど、多分スレチ扱いされると思うよ ニコニコ本スレみたいなところで聞いた方がいいんでない? どこか知らんけど
958 :
名無しさん@編集中 :2009/12/13(日) 19:52:47 ID:7mYC6Uv2
動画の長さに合わせて音声を水増ししてくれるのは分かったのだが、 その反対に「音声にあわせて動画をカットする」ことはできますか?
>>958 Histogram(mode="AudioLevels") としてやったら。
960 :
958 :2009/12/13(日) 20:17:15 ID:7mYC6Uv2
961 :
名無しさん@編集中 :2009/12/13(日) 20:34:54 ID:Rv3zormE
BlankClip().Subtitle(String(1/4)) ⇒ 0.25 じゃなくて 0 BlankClip().Subtitle(String(3/2)) ⇒ 1.5 じゃなくて 1 BlankClip().Subtitle(String(5/4)) ⇒ 1.25 じゃなくて 1 別にString()やBlankClip()の引数に限った話じゃないけど、 割り算の結果が何故か勝手に小数点以下切捨てになるのはどうにかならんのですか?
BlankClip().Subtitle(String(1.0/4)) とか
963 :
名無しさん@編集中 :2009/12/13(日) 20:42:58 ID:Rv3zormE
>>962 なるほど!
割られる数が整数だと結果も整数で出されるって訳だったんすね。
助かりましたわ、サンクス。
別に分母がfloatでもいいんだけどね
965 :
958 :2009/12/13(日) 21:12:20 ID:7mYC6Uv2
video1 = FFVideoSource("../1.flv").ConvertToRGB32().ConvertFPS(24.000) .Trim(0, int(24.000 * audio1.AudioLength() / audio1.Audiorate())) 自己解決しました。 超基本だった… スレ汚しすんません(´・ω・`)
Doom10でドナルドが暴れてるな…面白すぎる
967 :
834 :2009/12/14(月) 16:00:04 ID:m48ejgkx
さらっと内容書いてみてよ。
EDIUpsizerをICCでフィルタコンパイルしたら、効果出まくり。 勢い余って色々なフィルタを最適化コンパイル中。 2004,5年のフィルタ多いけど、あの頃はPen4で、VC7.1くらいか。
ICCはいくつ? どれぐらい違うの?
以前有志がEEDI2をVC8でコンパイルしたモノ使ったことあるけど本家のVC6版より 3割くらい速かったな。
まぁ、どれも当時のころのものよりは速くなりそう。 VC8,VC9って、Professionals 以上であれば ソースの改編なしにSIMDとか効かせる コンパイルとかできるんだっけ?
それもあるし単純に機械語への翻訳がより最適化されたってのもあるんじゃないかな
>968 コンパイルしたのあげてくれい!
VCじゃ自動でSIMD化されないだろ、されるのはSSEスカラ命令による浮動小数点演算とか。
icc 11.1.051でコンパイルしました。
Core2をターゲットに、最適化オプション付けてあります。
icc-build.zip :
http://uproda.2ch-library.com/lib197443.zip.shtml もしiccのランタイムが必要なバイナリだったら、教えてください。
確実に動く保証はないので、元のdll等があったら消さずにバックアップ採ってくださいね。
アルゴリズムと計算量にもよるけど、Spline補間テストでVCの最適化と
ICCで最適化バイナリで比べると1/2くらいになりました。
MSVCは最適化オプション付けても、SSE・MMX命令すらマトモに使わない事で有名ですね。
976 :
975 :2009/12/17(木) 09:32:55 ID:d0BVJfqm
DL pass忘れてた。 icc です。
俺の常用してるフィルタが一つも入ってNeeeeeee!!! でもdクス
AMD厨だからたぶんあんまり関係ねー SSSE3やらSSE4とか使われたら、実行すらできなくなる体質… VS2008で最適化コンパイルするよ! (AAry バリバリに高速化するよ! □←逆に遅くなるボタン □←そもそもコンパイルが通らないボタン
>>977 ,978 何が欲しかったん?ww
>>979 AMDは、最適化しなくても速いです。きっと。
AMDでもバイナリのマシンチェックコードをゴニョゴニョすれば、ICCの恩恵受けられるらしいですよ。
ここ2日フィルタのソース見てたけど、アセンブラのソースもあって…。
アセンブラで書くより、アルゴリズム最適化の方が効くんですけどねぇ。
for文のカウンタ変数宣言してないコードもあったり。
const a = 0; とか…。VCは、よくこんなコード通してたよなぁ。
む、980超えたか 次スレ立ててくる
MCBob_v03u4_MVT2試して見たら重すぎわろた。さすがにこんなの使えない。
>>975 うちの環境だと動かなかった
Avisynth2.6だけど
>>986 乙
動作確認をしたので報告
やはり動かない(LoadPluginした時点でエラーが出る)プラグインが何個かあります
WinXP SP3+c2d(Conroe)+Avisynth2.5.8とWinXP SP3+c2q(Yorkfield)+Avisynth2.6MTで確認
動かなかったプラグイン
EDIUpsizer\EDIUpsizer-multi.dll
EDIUpsizer\EDIUpsizer-nomulti.dll
MedianBlur.dll
MSharpen.dll
RemoveGrain.dll
いずれもオリジナル版は問題なく動作しています
OSに余計な物を入れていないのでDLLが足りていないのかもしれません
何かが動的リンクになっているとか
ウチのWinXP SP3+Avisynth_258でもLoadPluginで MedianBlur、MSharpen、EDIUpsizer、RemoveGrainが読み込めないね。 とりあえずオイラはa60224あたりが欲しいです。
スレが埋まっていない状態で新スレにカキコしてゴメンナサイ。 dfttest のコンパイルは激しく面倒そうなので恐縮ですが, TNLMeansと同じくらい重宝しているので,ひとつよろしくお願いします。
>>986 超乙です
TNLMeansのテストしてみました
200フレーム1回限りのテストなので多少誤差があると思います
自ビルド版はVS2008+icc10だったと思うけどiccの試用期限が切れてからは使ってないです
自分もdfttestのicc版が欲しいなあとねだってみたりw
dfttest v1.1ならiccを使ってコンパイルできたのでv1.6でも恐らく簡単にできると思います
自分は今は環境がないのでコンパイルできませんが
TNLMeans.dll(オリジナル) 0.87 fps
TNLMeans_msvc.dll 1.20 fps
TNLMeans_multi.dll 1.39 fps
TNLMeans_nomulti.dll 1.42 fps
TNLMeans.dll(自ビルド) 1.43 fps
テスト環境
Core2Quad Q8400
WindowsXP SP3
AviSynth 2.6 SEt build Version 2009.09.19
x264 r1376(-march=pentium3,パッチはKomisarのx264_log_file_k07.r1376.diffのみ)
RamDisk上で実行
ソースはアニメ
x264 --preset "ultrafast" --log-file "TNLMeans_〜.txt" -o "TNLMeans_〜.mp4" "TNLMeans_〜.avs"
--avs
SetMemoryMax(512)
LoadPlugin(".\DGDecode.dll")
LoadPlugin(".\TNLMeans-〜.dll")
DGDecode_MPEG2Source("Source.d2v")
AssumeFrameBased().AssumeTFF()
DoubleWeave().SelectEvery(10,0,3,5,8).Trim(0,199)
TNLMeans(h=0.8)
ランタイム小さいしあらかじめ静的リンクしたいただけるとトラブルレスで ありがたい。
静的リンクは非推奨。素直にランタイムいれろ。
非推奨ってそれは貴方の都合だろ DLLの場合は静的リンクするのがセオリーなんだが
MPEG2などのYV12ソースのテレシネものを、手動でDoubleweave().Pulldown(x,y)で 逆テレシネしてYV12なコーデックでエンコする場合はDoubleweaveより先にYUY2化した方が いいのでしょうか? インタレYV12のままDoubleweave().Pulldown(x,y)をしてしまうと 見た目は一見プログレでも色差のサンプリングが1ラインおきずつのままで それを例えばx264のようなYV12なエンコーダにプログレの入力として渡すと 色差は4ラインずつまとめてサンプリングされちゃうという認識で合ってますか? 分かる方どうかご教示お願いします。
>>995 入力がYV12で、出力もYV12なら、YUY2への変換は不要。
IVTCの後に縞が残っていないのなら、普通にプログレッシブとして扱えば良い。
うめ
う め
じゃあ、はらたいらさんに1000点!
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。