Avisynth 初心者質問スレ

このエントリーをはてなブックマークに追加
952名無しさん@編集中:2010/11/07(日) 01:39:21 ID:37BXGhFX
>>951
ブログにあるだろ
953名無しさん@編集中:2010/11/07(日) 01:40:57 ID:qsE8Hk9l
映像はダイレクトコピーしオーディオをノーマライズしたいと考えています
video = DirectShowSource("hoge.avi", audio=False)
audio = DirectShowSource("hoge.avi", video=False)
audio = Normalize(audio, 0.98)
AudioDub(video, audio)
みたいな流れで良いのでしょうか?
同じファイルを2度開いているようで無駄に思えます

また、VirtualDubを使用しているのですが、複数のファイルに変更を適用したい場合
ファイル名だけ入れ替えてファイルの数だけ.avsを作るのは面倒だと考えています
DirectShowSource(%InputFile%)みたいな感じで、汎用性を持たせれませんか?
ファイルの保存方法も.avsの中に記述したりは出来ないのでしょうか?

avisynth hoge.avs -i C:\Input\*.avi -o D:\Output\
のように出来れば理想なのですが・・・

無理そうならUWSCでVirtualDubを操作したり、.avs内のファイル名はテンポラリファイルにして
処理の前後でリネームを行って回そうかと考えています
954940:2010/11/07(日) 01:50:32 ID:/bM4MpgP
>>951
ブログって楽天ブログのことですよね?
そこで its 落とそうとしても、リンク先が infoseek なので、既に消滅してる感じなんですけど……
955名無しさん@編集中:2010/11/07(日) 02:02:31 ID:37BXGhFX
>>954
申し訳ない確認してなかった。
956940:2010/11/07(日) 02:09:35 ID:/bM4MpgP
>>955
いえいえ
( ;∀;) イイヒトダナー
957名無しさん@編集中:2010/11/07(日) 02:25:10 ID:FgTdPAut
フレームレートの周期ズレや変更を自動で検出するような関数ってあれば教えてください。
958名無しさん@編集中:2010/11/07(日) 05:31:27 ID:fW3kBX5x
959名無しさん@編集中:2010/11/07(日) 07:20:28 ID:1UIVKUu7
>>953
>同じファイルを2度開いているようで無駄に思えます
無駄だろ。videoとaudioが同じソースなら
DirectShowSource("hoge.avi").Normalize(0.98)でおk

Aviutil/VirtualDubでAvisynthのプラグインを使いたいだけならここよめ
http://www.avisynth.info/?VirtualDub%A4%C7AviSynth%A5%D5%A5%A3%A5%EB%A5%BF%A4%CE%C0%DF%C4%EA%A4%F2%B9%D4%A4%A6
プラグインだけじゃなくavsそのものをフィルター化できるかはしらん

>avisynth hoge.avs -i C:\Input\*.avi -o D:\Output\
ひょっとして: avs2avi avs2yuv avs2wav

バッチ処理したいなら、俺だったらPowerShellで (cmdのバッチファイルでも良いけど)
$tempavs = type hoge.avs
dir *.avi | % {
$src = $_
#hoge.avs中の__src__を置き換えてたのを foo.avi.avsみたく書き出してる
$tempavs | % { $_.replace("__src__",$src) } > ($src+".avs")
}
みたいなことしてavsを用意して、 dir *.avs | % { encoder -i $_ -o ($_+".avi") } でバッチエンコかけるな
バッチファイルでも良いんだが、ファイルの中身の書き換えとかメンドクセーからな。
Win7なら最初っから入ってるし、ISEとか言う開発環境もどきも入ってるからおすすめ。

とりあえずUWSCでVirtualDubとか訳わかんないことするな。
ネコにマウス触られて数日無駄になるお呪いをかけておいた(´・ω・`)
960名無しさん@編集中:2010/11/07(日) 07:30:06 ID:xEYmT003
Virtualdubで映像はダイレクトコピーしオーディオをノーマライズしたいなら
avisynthいらなくね?
>>959だとダイレクトコピーしないんじゃない
961940:2010/11/07(日) 10:01:49 ID:/bM4MpgP
>>958
おぉ、ありがとうございます。
嬉しかったので、わーいってやったら、手をぶつけてすりむきました。
962名無しさん@編集中:2010/11/07(日) 13:15:59 ID:B04Djf+9
単純な疑問なんだが今時はソースがすでにデジタル収録されたものがほとんどなのに
わざわざ音声にゲートやコンプレッサー(ノーマライズ)をかけて劣化させる必要性があるの?
963名無しさん@編集中:2010/11/07(日) 13:21:18 ID:xEYmT003
リサイズと同じで音量上げを
再生時にやるかエンコ時にやるかの違い
964名無しさん@編集中:2010/11/07(日) 13:28:46 ID:ILmQJhkS
普通にアンプ通せば音量大きくするとかノーマライズ云々とか劣化させるだけ
って気付くのにな。
965名無しさん@編集中:2010/11/07(日) 13:34:20 ID:xEYmT003
動画投稿でもしてるのかもな
966名無しさん@編集中:2010/11/07(日) 13:52:20 ID:qsE8Hk9l
ハンディカムで撮ったムービーはシーンごとに音量がマチマチだからね

再生時にちまちまリモコンで調整するのはどうかとは思う
967名無しさん@編集中:2010/11/07(日) 13:56:24 ID:xEYmT003
それはAvisynthやDubのノーマライズじゃ無理でしょ
波形ソフトとかでRMSコンプレッサ使わないと
968名無しさん@編集中:2010/11/07(日) 15:11:14 ID:AhbPnf0W
すんまそん、アナログ放送を720x480(4:3)でキャプチャした30分弱の素材で、
フレーム#0〜23341は4:3、#23342〜51098はレターボックスの16:9、
#51099-52865は4:3、というものがあります。

4:3の部分はリサイズしてから左右に黒帯付けて480x270に、
16:9の部分は上下を削ってからリサイズして480x270に、
ってしてPSPで見る映像にしたいんです。
とにかく自分でやってみたのが↓これ。

clip=last
norm = clip.Crop(6, 6, 706, 474).BicubicResize(364, 270).AddBorders(58, 0, 58, 0)
wide = clip.Crop(6, 62, 706, 358).BicubicResize(480, 268).AddBorders( 0, 0, 0, 2)
ConditionalFilter(clip, norm, ConditionalFilter(clip, wide, norm, "current_frame", "<", "51099"), "current_frame", "<", "23342")

一応目的は果たせてるんだけど、なんかすごく遅い気がする。
考えたら、全フレームについて4:3と16:9と両方の場合のクロップ・リサイズを
してるからじゃないかと思うのですが、もっとかっこ良い書き方はどうすりゃいいですか?

分割してエンコ後に合体ってのは×で。
969名無しさん@編集中:2010/11/07(日) 15:17:11 ID:0NCtCMta
norm = Trim(0, 23341).Crop(6, 6, 706, 474).BicubicResize(364, 270).AddBorders(58, 0, 58, 0)
wide = Trim(23342, 51098)Crop(6, 62, 706, 358).BicubicResize(480, 268).AddBorders( 0, 0, 0, 2)
norm++wide
ってことじゃないのか? とりあえずTrimの使い方は調べるといい
970929:2010/11/08(月) 01:53:47 ID:vHs6VjaQ
音声も途切れることも音ズレも無く無事にエンコが終了しました。
教えてくださった皆さん本当にありがとう。
971名無しさん@編集中:2010/11/08(月) 02:16:54 ID:Kd5+c2hD
>>968
誰も声の大きい奴が有能なんて話してんじゃねえんだよ
どんな仕事でも、声の小さい奴は例外なく無能だって言ってんだ
どんな仕事って言っても正社員で経験したのは4社だけど
バイト時代も含めて声が出てない人は必ず仕事も出来ない人だった
一人の例外も無くだ
まだ12年の短い社会人経験から得た経験則だが、
まともに働いてる人間ならほぼ共通する認識、つまり常識のはずだぞ
972名無しさん@編集中:2010/11/08(月) 02:27:07 ID:ywEohgvV
>>969
ありがたやありがたや〜 こういうこともできるんですね。

>>971
はい。胆に銘じます。
973名無しさん@編集中:2010/11/08(月) 03:35:57 ID:nnoqksH3
偉いじゃん
974名無しさん@編集中:2010/11/08(月) 18:16:59 ID:dAeKfOmY
aviutlがavsファイルを読み込めなくて困っています。何かヒントを頂けないでしょうか。

今までaviutlでavsを編集してエンコードは出来ていましたが、OSを再インストールしたら、
avs読み込み後「ファイルの読み込みに失敗しました。」とaviutlのエラーが出てしまいます。

勿論avsinp.auiは入ってますし、というか前使えていたaviutlのフォルダそのままなので、
不足があることはないと思います。
入力プラグインの優先度も一番上にしてみましたが代わりありません。

なお再インストール前も現在もwin7を使用しています。
975名無しさん@編集中:2010/11/08(月) 18:22:30 ID:MH6H3ctN
976名無しさん@編集中:2010/11/08(月) 19:25:28 ID:2y9mqSzB
Visual C++だか2008だかを入れてみるとかかな
…これはMP4だったか?
977名無しさん@編集中:2010/11/08(月) 19:34:56 ID:GtH3UgtY
d2vをVFAPI経由で読み込んでるなら、DGIndex起動させてDGVfapi.vfpをレジストリに登録させればおk。
でもVFAPI経由させないようにConvertToYUY2(interlaced=true)とかをavsに追加した方が無難。
978名無しさん@編集中:2010/11/08(月) 20:28:54 ID:dAeKfOmY
>>974
ffdshowとk-liteを入れて再起動してみましたが代わりありません。
>>976
Visual C++は2005、2008ともにx86・x64入っています。
>>977
おお!できましたー!
DGindex起動でできましたし、ConvertToYUY2(interlaced=true)追加でもできました。

今まではVFAPI経由でやってたんだと思うんですけど、経由しない方がいいのですか?
979名無しさん@編集中:2010/11/08(月) 22:00:50 ID:VW1U2pxS
VFAPIはYV12->RGBへの変換になるから、YUY2へのアップサンプリングと比べても劣化が大きい。
980名無しさん@編集中:2010/11/09(火) 01:25:32 ID:tD62Wden
>>979
なるほど。つまるVFAPI経由すると、YUY2より劣化するんですか。
ConvertToYUY2(interlaced=true)のまま編集は少し重いので、
trimだしてから有効がいいですかね。
981名無しさん@編集中:2010/11/09(火) 01:33:16 ID:KxhLfinK
一番良いのはAviSynthでTrimしてインタレ解除まで済ませたのを
ConvertToYUY2()
これなら劣化しない。AviUtlのUIじゃないとカット編集やりにくいとか
じゃなければAviUtlでしか使えないフィルタ掛けるだけにするのが良い。
982名無しさん@編集中:2010/11/09(火) 08:50:44 ID:tD62Wden
aviutlとavisynthでのtrimってなんか違うんですか?
avisynthでのカット方法は知らないですけど、avsにtrim値にペーストするから、
aviutlのカットでも変わらない気がするんですけど。
ちなみに自分はAvsPからaviutlを起動しています。
983名無しさん@編集中:2010/11/09(火) 09:18:28 ID:x66tzIO3
俺はAvsPで
読み込み直後に__END__入れて、プレビューでHOMEキー、ENDキーで切り分け
まぁCMカット位しかしないんだけど
984名無しさん@編集中:2010/11/09(火) 09:20:36 ID:uE60dis2
AvsPで一秒、任意秒、一分にキー設定すればAviUtlと変わらない
感覚でCMカットできるよね
985名無しさん@編集中:2010/11/09(火) 09:27:03 ID:2Dxa0fMf
違いというなら、avisynthのTrimはどの時点でTrimするかを完全に自分でコントロールできる
AviUtlのTrimはインタレ解除や間引きの処理をAviUtlが行った後にTrimする
だから、AviUtlの仕様をよく理解していないものがAviUtlを使ってTrimすると、
>>850みたいにフレームがずれたとかアホなこと言いながら騒ぐことになる

こういう質問をするってことは、>>982はAviUtlの使い方を何も理解していないってことだろ
そういう人間はTrimExportは使わないほうがいい
986名無しさん@編集中:2010/11/09(火) 09:51:53 ID:L/rZ6TVr
AvsP で何かしらの変更をするとコメントアウトしてても逐一再読み込みしないといけないのなんとかならんかしら?
理想は、F5の更新を押すまでプレビューの再読み込みをさせないこと

設定に見落としがあったらすまんです
987名無しさん@編集中:2010/11/09(火) 11:01:31 ID:29Dn9j2D
テキストの編集しててそうなるなら
オプションの「行移動ごとにプレビューを更新(Enable line-by-line update)」にチェックが入ってるんじゃないの?
サイドバーでの編集ならエンターかF5押すまで更新されないはず
988名無しさん@編集中:2010/11/09(火) 19:18:17 ID:tD62Wden
>>983 なるほど。そういうカット方法もあるのですか。自分もCMカットくらいです。
しかしなんか誤解があるみたいですね。知りたかったのはavsファイルはテキストを記述するから、
どんなソフトでカットしてtrim値をだしても同じなんじゃないかと。

AvsPからaviutlを呼び出してtrimをエクスポートしてAvsPに貼り付ける。
これが「aviutlでのカット」だったんですけど。
989名無しさん@編集中:2010/11/09(火) 20:19:16 ID:Es3Dwdxo
CMカットくらいしかしないのになぜわざわざAvsPとAviUtlの両方使う
990名無しさん@編集中:2010/11/09(火) 21:52:11 ID:Og1yF9IH
これからも何百本と大量にCMカットするなら、
素直にTME3買った方が、ストレスは溜まらない。
チャプターいれるのも楽だし。
991名無しさん@編集中:2010/11/09(火) 21:55:16 ID:JfmLZ9Ob
そんなとこで再エンコしたくないわ
H.264やAACのスマレン対応してからまたおいで
992名無しさん@編集中:2010/11/09(火) 21:59:57 ID:ASHDvdHH
今後を考えるならカットしないでプレイヤーで1分か30秒飛ばせる設定にしとけ
993名無しさん@編集中:2010/11/09(火) 22:15:10 ID:ohp9oyGq
そろそろ埋まりそう。
そういえば、にーやんはこのスレの存在を知っているかな?
994名無しさん@編集中:2010/11/10(水) 00:58:43 ID:V4Edx077
TME3のUIで、編集結果を.avsに書き出すものがあればグーなんだが
995名無しさん@編集中:2010/11/10(水) 01:49:43 ID:dgMdvsFz
>>994
まぁ、TME3のkeyframeファイルは効率化の為に色々使える。
996名無しさん@編集中:2010/11/11(木) 01:47:35 ID:07tG5WPS
Avisynth+MVtools2でヌルヌル再生に挑戦。
ググったら

・フレーム継続時間:継続時間が16.666…msなら、60(59.94)fpsになっている

との記述を見つけたのですが・・・ウチでは0.0041とかなっているのですが。
これはしくじってますか?(;゚Д゚)
997名無しさん@編集中:2010/11/11(木) 10:35:38 ID:Yw22scRk
>>996
1s ÷ 59.94005994fps = 16.68333…ms
1s ÷ 0.0041s = 243.9fps
998名無しさん@編集中:2010/11/11(木) 12:33:51 ID:g2CvWcKC
埋め
999名無しさん@編集中:2010/11/11(木) 12:35:13 ID:g2CvWcKC
生め
1000名無しさん@編集中:2010/11/11(木) 12:36:36 ID:g2CvWcKC
梅完了
次スレよろしく!
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。