【Vegas】選択した区間の全フレームをJPG画像で出力するスクリプト

Pocket
LinkedIn にシェア
LINEで送る
reddit にシェア
このエントリーをはてなブックマークに追加

数年ぶりにGIF作ろうかなと思って動画からフレームごとの画像を書き出そう(Motion JPEGとか)と思っていたら、Vegasでは画像で書き出しができないらしい。なんだと。
スクリプトだったら行けるようなので作りました。

ソースコード

全文載せておきます。
GPTがめちゃくちゃ嘘つきすぎて逆に時間がかかってしまった。

using System;
using System.IO;
using System.Windows.Forms;
using ScriptPortal.Vegas;

namespace ExportJpeg
{
    public class EntryPoint
    {
        public void FromVegas(Vegas vegas)
        {
            // 範囲を必ず選択してください
            if (vegas.SelectionLength.FrameCount == 0)
            {
                MessageBox.Show("範囲を選択してください。処理を終了します");
                return;
            }

            // 画像出力用のフォルダを作成する
            string SubDirectoryNamge = "Image";
            var directoryPath = Path.Combine(vegas.Project.DefaultRenderPath, SubDirectoryNamge);
            try
            {
                Directory.CreateDirectory(directoryPath);
            }
            catch(Exception e)
            {
                Console.WriteLine(e.Message);
            }

            var endFrameCount = vegas.Transport.SelectionStart.FrameCount + Math.Abs(vegas.Transport.SelectionLength.FrameCount);
            while (vegas.Transport.CursorPosition.FrameCount < endFrameCount)
            {
                // JPGでエクスポートする
                var filepath = Path.Combine(directoryPath, vegas.Transport.CursorPosition.FrameCount.ToString() + ".jpg");
                vegas.SaveSnapshot(filepath, ImageFileFormat.JPEG, vegas.Cursor);

                // 次のフレームへ
                vegas.Transport.CursorPosition++;
            }
            
            MessageBox.Show($"完了しました。\n{directoryPath}");
            // フォルダを開く
            System.Diagnostics.Process.Start(directoryPath);
        }
    }
}

言語:.NET Framework 4.8。
Visual Studio: 新規プロジェクトで「クラス ライブラリ(.NET Framework)」を選択。
[参照]で[ScriptPortal.Vegas.dll]と[System.Windows.Forms]を追加。

使い方

1.まず、タイムライン上で範囲をせんたくしてください。選択がないとエクスポートできません。
2.メインメニューの[ツール]→[スクリプトの作成]に「ExportJpeg」という項目が増えていますので、選択。
3.完了するとメッセージボックスが出ます。その次に画像を出力したフォルダが表示されます。

出力先フォルダのルール:
・[名前を付けてレンダリング]の際の保存先フォルダに、「Image」というサブフォルダを作成して、そのなかにJPG画像を出力します。

参考サイト

管理人が読んだおすすめの建築本

    

コメントを残す