なんか敷居が高そうで敬遠していたAviSynthを使ってみた。
AviUtlにできないことはないが(ほぼ)同じことをするにもAviSynthの方がずっと速い。
今まで使わなかったことを後悔。
AviUtlにできないことはないが(ほぼ)同じことをするにもAviSynthの方がずっと速い。
今まで使わなかったことを後悔。
と、それは置いておくとして、
AviSynth wiki
をいろいろ読んでいたらサンプルスクリプトの項に分割動画作成方法が載っていた。(
Link
)
アニメーション編集プラグインを使う分割動画作成方 よりこちらの方が手軽で簡単に感じたので紹介する。
アニメーション編集プラグインを使う分割動画作成方 よりこちらの方が手軽で簡単に感じたので紹介する。
尚、ここではAviSynthの詳しい使い方については説明しない、あくまで分割動画を作るのに必要なことだけ説明する。面倒だから。
AviSynthについては AviSynth wiki で易しく解説されている。
インストール方法がわからなければ一通り読んでおくといい。
AviSynthについては AviSynth wiki で易しく解説されている。
インストール方法がわからなければ一通り読んでおくといい。
参考リンク
必要なもの
- AviSynth :2.5系の最新版を適当に。
- AviSynth用プラグイン:あると便利な入力系プラグインへのリンク。元々AVIなら必要ない
- MPEGDecoder.dll :MPEGDecoder_YV12.zip v2.03a (AviSynth 2.5 version)
- DGDecode.dll :DGMPGDecに同梱されている
- FFmpegSource.dll :ご存じffmpegがサポートしているフォーマットを利用可能
- AviUtl :ニコ動にうpするのに都合がよいので今回もaviutlをフロントエンドに使う。
- AviUtl用プラグイン
- avsinp.aui :AVSファイルをAVIUTLで読むのに必要。WarpSharpパッケージの中に入っている。Seraphy氏版を落とせばいいと思う。
準備
- AviUtlとAviSynthのインストール
- 必要に応じてAviSynthのpluginsフォルダに使いたいプラグインを移動。ここに置いたプラグインは自動で読み込まれる。
- WarpSharpパッケージに同梱のavsinp.auiをAviUtlプラグインフォルダに移動(avsinp.aui以外は今回は必要ない)
動画作成
- AVS作成。とりあえず↓をbunkatsu.avsとか適当に名前をつけて保存(1280*720、AVI用)
# 読み込む動画を指定 top = AviSource("***.avi") # 上側の動画 bottom = AviSource("***.avi") # 下側の動画 # 動画サイズの調整 4:3にリサイズすると横に伸びてしまうので黒帯を付けておく top = top.AddBorders(320, 0, 320, 0) bottom = bottom.AddBorders(320, 0, 320, 0) # top と bottom を上下に重ねる StackVertical(top, bottom) # お好みでリサイズ LanczosResize(512,384)
- "***"の部分には読み込む動画へのパス、ファイル名を入れる(例:AviSource("D:\Movie\lospla.avi")AVSファイルを読み込む動画と同じフォルダに置くならファイル名だけでもいい。
- AVSファイルをAviUtlで読み込む(ドラッグで可)
- いつものようにエンコード開始
- 待ってればできあがり
- エラーが出る時
- 何らかの原因でエラーが出て読み込めない時、黒バックに赤い文字でエラーメッセージが出る。何行目が原因でエラーになったかがわかるので、適当に改善する。
このスクリプトでエラーが出るとしたらたぶん入力が原因。下にサンプルスクリプトが置いてあるので、使いたいソースに合わせて使用する。特に記載してないがPV3/4使いの人はDV用のプラグインが用意されているのでそれを使って読み込めばいい。
参考動画
サンプルAVSファイル
## 読み込む動画を指定(***を使用するファイル名に変更)########### ## AVI用(内蔵) top = avisource("***.avi") # 上側の動画 bottom = avisource("***.avi") # 下側の動画 ## mpg, Vobとか用(要MPEGDecoder.dll) #top = mpegsource("***.vob") #bottom = mpegsource("***.vob") ## d2v用(要DGDecode.dll or MPEG2DEC*.dll) #top = avisource("***.d2v") #bottom = avisource("***.d2v") ## いろいろ用(要FFmpegSource.dll) #top = FFmpegSource("***.***") #bottom = FFmpegSource("***.***") ## いろいろ用2(インストール時に導入済み) #top = DirectShowSource("***.***") #bottom = DirectShowSource("***.***") ## 動画サイズの調整 ########### ## 720*480用 top = top.LanczosResize(640,360, 8, 0, 704, 480).AddBorders(160, 0, 160, 0) #640*360にリサイズ、左右に黒帯追加 bottom = bottom.LanczosResize(640,360, 8, 0, 704, 480).AddBorders(160, 0, 160, 0) ## 上下黒帯付き640*480用(未テスト) #top = top.Crop(0, 60, 640, 360).AddBorders(160, 0, 160, 0) #上下60ピクセル削除、左右に黒帯追加 #bottom = bottom.Crop(0, 60, 640, 360).AddBorders(160, 0, 160, 0) ## 1280*720用 #top = top.AddBorders(320, 0, 320, 0) #左右に黒帯追加 #bottom = bottom.AddBorders(320, 0, 320, 0) ## top と bottom を上下に重ねる ########### StackVertical(top, bottom) ## お好みでリサイズ ########### LanczosResize(800,600) #ニコ動なら512*384~800*600、zoomeなら640*480~960*720くらい return last
"#"以降はコメント行。
ソースの形式、解像度に合わせて使いたい部分の"#"を外して使う。
ゲームをキャプする上でありえそうなソースにはだいたい対応できているはず。
動画を指定する部分で、要***.dll とあるものは、該当するプラグインが必要になる。
ソースの形式、解像度に合わせて使いたい部分の"#"を外して使う。
ゲームをキャプする上でありえそうなソースにはだいたい対応できているはず。
動画を指定する部分で、要***.dll とあるものは、該当するプラグインが必要になる。
動画サイズの調整はやらなくてもただ横長の動画になるだけなので、わかんねーよバカ!と思ったら消してしまってもいい。