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内のファイル名はテンポラリファイルにして
処理の前後でリネームを行って回そうかと考えています
954 :
940:2010/11/07(日) 01:50:32 ID:/bM4MpgP
>>951 ブログって楽天ブログのことですよね?
そこで its 落とそうとしても、リンク先が infoseek なので、既に消滅してる感じなんですけど……
956 :
940:2010/11/07(日) 02:09:35 ID:/bM4MpgP
>>955 いえいえ
( ;∀;) イイヒトダナー
フレームレートの周期ズレや変更を自動で検出するような関数ってあれば教えてください。
>>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とか訳わかんないことするな。
ネコにマウス触られて数日無駄になるお呪いをかけておいた(´・ω・`)
Virtualdubで映像はダイレクトコピーしオーディオをノーマライズしたいなら
avisynthいらなくね?
>>959だとダイレクトコピーしないんじゃない
961 :
940:2010/11/07(日) 10:01:49 ID:/bM4MpgP
>>958 おぉ、ありがとうございます。
嬉しかったので、わーいってやったら、手をぶつけてすりむきました。
単純な疑問なんだが今時はソースがすでにデジタル収録されたものがほとんどなのに
わざわざ音声にゲートやコンプレッサー(ノーマライズ)をかけて劣化させる必要性があるの?
リサイズと同じで音量上げを
再生時にやるかエンコ時にやるかの違い
普通にアンプ通せば音量大きくするとかノーマライズ云々とか劣化させるだけ
って気付くのにな。
動画投稿でもしてるのかもな
ハンディカムで撮ったムービーはシーンごとに音量がマチマチだからね
再生時にちまちまリモコンで調整するのはどうかとは思う
それはAvisynthやDubのノーマライズじゃ無理でしょ
波形ソフトとかでRMSコンプレッサ使わないと
すんまそん、アナログ放送を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と両方の場合のクロップ・リサイズを
してるからじゃないかと思うのですが、もっとかっこ良い書き方はどうすりゃいいですか?
分割してエンコ後に合体ってのは×で。
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:2010/11/08(月) 01:53:47 ID:vHs6VjaQ
音声も途切れることも音ズレも無く無事にエンコが終了しました。
教えてくださった皆さん本当にありがとう。
>>968 誰も声の大きい奴が有能なんて話してんじゃねえんだよ
どんな仕事でも、声の小さい奴は例外なく無能だって言ってんだ
どんな仕事って言っても正社員で経験したのは4社だけど
バイト時代も含めて声が出てない人は必ず仕事も出来ない人だった
一人の例外も無くだ
まだ12年の短い社会人経験から得た経験則だが、
まともに働いてる人間ならほぼ共通する認識、つまり常識のはずだぞ
>>969 ありがたやありがたや〜 こういうこともできるんですね。
>>971 はい。胆に銘じます。
偉いじゃん
aviutlがavsファイルを読み込めなくて困っています。何かヒントを頂けないでしょうか。
今までaviutlでavsを編集してエンコードは出来ていましたが、OSを再インストールしたら、
avs読み込み後「ファイルの読み込みに失敗しました。」とaviutlのエラーが出てしまいます。
勿論avsinp.auiは入ってますし、というか前使えていたaviutlのフォルダそのままなので、
不足があることはないと思います。
入力プラグインの優先度も一番上にしてみましたが代わりありません。
なお再インストール前も現在もwin7を使用しています。
Visual C++だか2008だかを入れてみるとかかな
…これはMP4だったか?
d2vをVFAPI経由で読み込んでるなら、DGIndex起動させてDGVfapi.vfpをレジストリに登録させればおk。
でもVFAPI経由させないようにConvertToYUY2(interlaced=true)とかをavsに追加した方が無難。
>>974 ffdshowとk-liteを入れて再起動してみましたが代わりありません。
>>976 Visual C++は2005、2008ともにx86・x64入っています。
>>977 おお!できましたー!
DGindex起動でできましたし、ConvertToYUY2(interlaced=true)追加でもできました。
今まではVFAPI経由でやってたんだと思うんですけど、経由しない方がいいのですか?
VFAPIはYV12->RGBへの変換になるから、YUY2へのアップサンプリングと比べても劣化が大きい。
>>979 なるほど。つまるVFAPI経由すると、YUY2より劣化するんですか。
ConvertToYUY2(interlaced=true)のまま編集は少し重いので、
trimだしてから有効がいいですかね。
一番良いのはAviSynthでTrimしてインタレ解除まで済ませたのを
ConvertToYUY2()
これなら劣化しない。AviUtlのUIじゃないとカット編集やりにくいとか
じゃなければAviUtlでしか使えないフィルタ掛けるだけにするのが良い。
aviutlとavisynthでのtrimってなんか違うんですか?
avisynthでのカット方法は知らないですけど、avsにtrim値にペーストするから、
aviutlのカットでも変わらない気がするんですけど。
ちなみに自分はAvsPからaviutlを起動しています。
俺はAvsPで
読み込み直後に__END__入れて、プレビューでHOMEキー、ENDキーで切り分け
まぁCMカット位しかしないんだけど
AvsPで一秒、任意秒、一分にキー設定すればAviUtlと変わらない
感覚でCMカットできるよね
違いというなら、avisynthのTrimはどの時点でTrimするかを完全に自分でコントロールできる
AviUtlのTrimはインタレ解除や間引きの処理をAviUtlが行った後にTrimする
だから、AviUtlの仕様をよく理解していないものがAviUtlを使ってTrimすると、
>>850みたいにフレームがずれたとかアホなこと言いながら騒ぐことになる
こういう質問をするってことは、
>>982はAviUtlの使い方を何も理解していないってことだろ
そういう人間はTrimExportは使わないほうがいい
AvsP で何かしらの変更をするとコメントアウトしてても逐一再読み込みしないといけないのなんとかならんかしら?
理想は、F5の更新を押すまでプレビューの再読み込みをさせないこと
設定に見落としがあったらすまんです
テキストの編集しててそうなるなら
オプションの「行移動ごとにプレビューを更新(Enable line-by-line update)」にチェックが入ってるんじゃないの?
サイドバーでの編集ならエンターかF5押すまで更新されないはず
>>983 なるほど。そういうカット方法もあるのですか。自分もCMカットくらいです。
しかしなんか誤解があるみたいですね。知りたかったのはavsファイルはテキストを記述するから、
どんなソフトでカットしてtrim値をだしても同じなんじゃないかと。
AvsPからaviutlを呼び出してtrimをエクスポートしてAvsPに貼り付ける。
これが「aviutlでのカット」だったんですけど。
CMカットくらいしかしないのになぜわざわざAvsPとAviUtlの両方使う
これからも何百本と大量にCMカットするなら、
素直にTME3買った方が、ストレスは溜まらない。
チャプターいれるのも楽だし。
そんなとこで再エンコしたくないわ
H.264やAACのスマレン対応してからまたおいで
今後を考えるならカットしないでプレイヤーで1分か30秒飛ばせる設定にしとけ
そろそろ埋まりそう。
そういえば、にーやんはこのスレの存在を知っているかな?
TME3のUIで、編集結果を.avsに書き出すものがあればグーなんだが
>>994 まぁ、TME3のkeyframeファイルは効率化の為に色々使える。
Avisynth+MVtools2でヌルヌル再生に挑戦。
ググったら
・フレーム継続時間:継続時間が16.666…msなら、60(59.94)fpsになっている
との記述を見つけたのですが・・・ウチでは0.0041とかなっているのですが。
これはしくじってますか?(;゚Д゚)
>>996 1s ÷ 59.94005994fps = 16.68333…ms
1s ÷ 0.0041s = 243.9fps
埋め
生め
梅完了
次スレよろしく!
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。