10/11/07 01:40:57 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内のファイル名はテンポラリファイルにして
処理の前後でリネームを行って回そうかと考えています
954:940
10/11/07 01:50:32 /bM4MpgP
>>951
ブログって楽天ブログのことですよね?
そこで its 落とそうとしても、リンク先が infoseek なので、既に消滅してる感じなんですけど……
955:名無しさん@編集中
10/11/07 02:02:31 37BXGhFX
>>954
申し訳ない確認してなかった。
956:940
10/11/07 02:09:35 /bM4MpgP
>>955
いえいえ
( ;∀;) イイヒトダナー
957:名無しさん@編集中
10/11/07 02:25:10 FgTdPAut
フレームレートの周期ズレや変更を自動で検出するような関数ってあれば教えてください。
958:名無しさん@編集中
10/11/07 05:31:27 fW3kBX5x
>>940
URLリンク(www1.axfc.net) its
959:名無しさん@編集中
10/11/07 07:20:28 1UIVKUu7
>>953
>同じファイルを2度開いているようで無駄に思えます
無駄だろ。videoとaudioが同じソースなら
DirectShowSource("hoge.avi").Normalize(0.98)でおk
Aviutil/VirtualDubでAvisynthのプラグインを使いたいだけならここよめ
URLリンク(www.avisynth.info)
プラグインだけじゃなく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:名無しさん@編集中
10/11/07 07:30:06 xEYmT003
Virtualdubで映像はダイレクトコピーしオーディオをノーマライズしたいなら
avisynthいらなくね?
>>959だとダイレクトコピーしないんじゃない
961:940
10/11/07 10:01:49 /bM4MpgP
>>958
おぉ、ありがとうございます。
嬉しかったので、わーいってやったら、手をぶつけてすりむきました。
962:名無しさん@編集中
10/11/07 13:15:59 B04Djf+9
単純な疑問なんだが今時はソースがすでにデジタル収録されたものがほとんどなのに
わざわざ音声にゲートやコンプレッサー(ノーマライズ)をかけて劣化させる必要性があるの?
963:名無しさん@編集中
10/11/07 13:21:18 xEYmT003
リサイズと同じで音量上げを
再生時にやるかエンコ時にやるかの違い
964:名無しさん@編集中
10/11/07 13:28:46 ILmQJhkS
普通にアンプ通せば音量大きくするとかノーマライズ云々とか劣化させるだけ
って気付くのにな。
965:名無しさん@編集中
10/11/07 13:34:20 xEYmT003
動画投稿でもしてるのかもな
966:名無しさん@編集中
10/11/07 13:52:20 qsE8Hk9l
ハンディカムで撮ったムービーはシーンごとに音量がマチマチだからね
再生時にちまちまリモコンで調整するのはどうかとは思う
967:名無しさん@編集中
10/11/07 13:56:24 xEYmT003
それはAvisynthやDubのノーマライズじゃ無理でしょ
波形ソフトとかでRMSコンプレッサ使わないと
968:名無しさん@編集中
10/11/07 15:11:14 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:名無しさん@編集中
10/11/07 15:17:11 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の使い方は調べるといい
970:929
10/11/08 01:53:47 vHs6VjaQ
音声も途切れることも音ズレも無く無事にエンコが終了しました。
教えてくださった皆さん本当にありがとう。
971:名無しさん@編集中
10/11/08 02:16:54 Kd5+c2hD
>>968
誰も声の大きい奴が有能なんて話してんじゃねえんだよ
どんな仕事でも、声の小さい奴は例外なく無能だって言ってんだ
どんな仕事って言っても正社員で経験したのは4社だけど
バイト時代も含めて声が出てない人は必ず仕事も出来ない人だった
一人の例外も無くだ
まだ12年の短い社会人経験から得た経験則だが、
まともに働いてる人間ならほぼ共通する認識、つまり常識のはずだぞ
972:名無しさん@編集中
10/11/08 02:27:07 ywEohgvV
>>969
ありがたやありがたや~ こういうこともできるんですね。
>>971
はい。胆に銘じます。
973:名無しさん@編集中
10/11/08 03:35:57 nnoqksH3
偉いじゃん