動画編集は目的によって最適な方法が異なり、正解というものはありません。本記事では目的別に定番を紹介します。
動画編集ソフトウェアの定番
Windowsで利用できる動画編集ソフトウェアは多数あります。かつては多くの選択肢がありましたが、近年では定番と呼べるものががだいぶ絞れてきたように思います。
ここではそんな定番たちを用途別に紹介しつつ、後半は個人的に特におすすめしたい、CUIによる動画編集とエンコードツールを紹介していきます。
本格的な映像制作
やはり筆頭はAdobe After EffectsとAdobe Premiere Proでしょう。VegasやEDIUSなど他社製品と比較されることもありますが、やはりAdobe製品のマーケットシェアは圧倒的です。
映像制作会社でAdobe系のソフトウェアがないと、外部とのファイル受け渡しに困ってしまいます。
Adobe Creative Cloud

Adobe CC(Creative Cloud)のライセンスを購入すると、期間内は好きなだけAdobe製品の最新版をダウンロードして使用できます。

太っ腹なことに2台分のライセンスになっています!

Premiere Proは主にカット編集、トランジションなどのエフェクト適用を目的としたソフトウェアで、編集からエンコードまでのほぼ全行程をこれ一本で行えます。特にカット編集はさすがに秀逸です。
After Effectsはその前工程となる映像制作、つまりPremiere Proに渡すソース動画を制作する用途というイメージです。
動画版Photoshopと呼ばれることもあります。
Adobe製品は大量に存在する高度なプラグインやエフェクトが魅力です。

映像制作において、Adobe CCでできないことというのはちょっと思い浮かびません。
Adobe製品のパフォーマンスを向上するには
CPUの内蔵GPUでは、十分なパフォーマンスを発揮できません。
おすすめはNVIDIAのCUDAによるハードウェアアクセラレーションが可能なGPUです。

エンコード時に流行りのコーデックが使えない!
具体的にはx264やNVEncが使えません。AviUtlなどからの乗り換え組にとっては衝撃の事実ですが、H.264に関してはメーカー製品が組み込まれていますので、ライセンス問題とか色々あるのでしょう。
この問題、実は対応可能です。別記事にまとめましたので参照してください。

GUI操作が簡単な動画編集
Adobe製品の低価格版のような製品が多く存在します。
具体的にはPowerDirectorとかVideoStudioとか、そういった製品です。
用途はエンコードやリサイズ、動画形式の変換が多いでしょう。併せてカット編集、リサイズ、インターレース解除、字幕入れなどの一般的な動画編集もよく行われます。
私の周囲では、企業で「会社の方針でフリーソフトは使えないが、Adobe CCは高額すぎる」という制限のあるところが、よく上記のような製品を導入していました。

でも正直、そういうところは最近見なくなりましたね。
TMPGEnc Video Mastering Works


バージョン6よりNVEnc(HEVC)のハードウェアエンコードに対応し、インターレース解除に新機能も登場し、順調にパワーアップを続けています。
カット編集機能は賛否両論ですが、サムネイル部分をマウスのボタンでザーッと流すあたりの操作性は気に入っています。個人的にCMカット最強と考えているTMPGEnc MPEG Smart Renderと同じように使えます。


後にAviSynth+の記事で登場しますが、TMPGEnc MPEG Smart Renderは少し特殊な役割を持っています。
TMPGEncシリーズは、難しいこと抜きで今すぐGUIで使いこなしたい!という方や、AviUtlを学ぶ気になれない!面倒!という方に適しているでしょう。
AviUtl

無料で使用できるフリーソフトウェアでは、やはりAviUtlの人気が頭一つ抜けています。
単なるエンコードや動画形式変換なら他にもお手軽ツールがありますが、AviUtlは勉強と努力次第で高度な動画編集を可能にしたり、市販ソフトウェアで読み込めない動画ファイルを読み込んだりできる柔軟性があります。
国内の利用者が非常に多く、ネットの情報も豊富です。x264でエンコードする出力プラグインの登場が、普及に拍車をかけたように思います。
拡張編集プラグインによりタイムライン編集もサポートし、Adobe Premiere Proっぽいことまでできてしまいます。

無料でありながらこれ一本で大抵のことはできてしまう、優秀なフリーソフトウェアです。
ただしうまく活用するには、それなりの知識や経験が必要です。プラグインは古いものを含めると把握しきれないほど多く、入門者は似た機能を持つプラグインの取捨選択に戸惑うことでしょう。
急成長は止まった感がありますので、今から勉強する人はある意味入りやすいかもしれません。

数年ぶりに新バージョンが登場しましたが、残念ながら期待された64bit化は(将来的にも)されないとのことです。プラグインの互換性が失われるため厳しいのでしょう。
AviUtlについてはこのサイト内にもまとめ記事がありますので参照してください。

AviUtlは「手に馴染むツール」として上級者にも人気があります。他のツールと併用している人も多いですね。
高速化・自動化できる映像編集
動画編集やエンコードは、突き詰めればフィルタやプラグインの機能理解、知識と経験、そして独特のセンスが重要になってきます。
自動化や効率化を追求するようになると、だんだんGUIが邪魔になってきます。

どうしても似たような作業の繰り返しが多くなりますので、いちいちGUIで操作するよりスクリプト化して使いまわす方が理に適っています。
以下は独自のGUIを持たず、コマンドラインやスクリプトファイルによって動画編集を行うツールです。
FFmpeg
FFmpegは、メディアファイルの入力~編集~出力までを1行のコマンド(ワンライナー)で実行可能なツールです。
用途次第ではこれだけでほとんど何でもできてしまいます。
以下は、FFmpegによる簡単なパターンでのエンコード例です。
ffmpeg input.mp4 -s 1280x720 -sws_flags spline -vcodec nvenc_hevc -b:v 2M -vf bwdif=0:-1:1 output.mp4
input.mp4
を読み込み、Splineで1280x720pxにリサイズし、コーデックをNVEnc(HEVC)とし、平均ビットレートを2Mbpsとし、インターレースを解除して、output.mp4
にエンコード出力する、という内容です。
ご覧の通り「無敵か!」と思えるほどの簡便性ですが、後述するAviSynth(AviSynth+)に比べると周辺ツールやフィルタ選択の自由度、設定の多彩さで劣ります。

しかしエンコードまでワンライナーで行える点では勝っています。用途次第ですね。
万能かつコマンド1つという手軽さから、内部的にFFmpegを利用するソフトウェアも多く、例えば携帯動画変換君などはFFmpegのラッパーとなっています。
有名なフリーのDVDオーサリングツールであるDVDStylerも、内部でFFmpegを使用しています。
今はどうか知りませんが、Youtubeも内部のエンコードをFFmpegで行っていたと記憶しています。
動画サービスを扱うサーバで利用されていることは非常に多く、OSの垣根を超えて活躍しています。
AviSynth
「定形処理 → 即エンコード」を前提とした動画編集で、高画質化と高効率化を両立・追求するならAviSynth(またはAviSynth+)でしょう。

PT3のTV録画ファイルを扱う際等、たくさんのファイルに同じ編集処理を行いたい場合はコレで決まり!
AviSynthはVirtualDubなどと共に古くから人気があり、実はAviUtl用プラグインはAviSynth用フィルタの移植、ということも少なくありません(たまに逆もあります)。過去の記事で書いたNNEDI3もそうです。
AviSynthをおすすめする理由は、こういった優れたフィルタの存在だけでなく、その組み合わせやパラメータ指定、順序の組み立てにより、納得いくまで高画質化と高速化、高効率化を追求できるためです。
以下は本家サイトの説明をGoogle先生に翻訳してもらったものです。
AviSynthは、ビデオポストプロダクション用の強力なツールです。動画の編集や処理方法を提供します。
AviSynthはフレームサーバーとして機能し、一時ファイルを必要とせずに即座に編集できます。
AviSynth自体はグラフィカルユーザーインターフェイス(GUI)を提供しませんが、高度な非線形編集を可能にするスクリプトシステムに依存しています。これは、最初は面倒で直感的ではないように見えるかもしれませんが、それは非常に強力で、正確で一貫した再現性のある方法でプロジェクトを管理する非常に良い方法です。テキストベースのスクリプトは人間が読めるので、プロジェクトは本質的に自己文書化しています。
スクリプト言語はシンプルですがパワフルであり、基本操作から複雑なフィルタを作成して、有益なユニークなエフェクトの洗練されたパレットを作成することができます。
無意味に難解ですが、強力で、高速で、GUIがない代わりに効率的な処理ができるよ!ということですね。
AviSynthはCUIツールのため独自のGUIは持ちませんが、有志によるAvsPmodという有名なGUI(というかプレビュー付きのエディタ)が存在します。これは後の記事で紹介します。
具体的には、こういう使い方になります。
ファイル名.avs
というテキストファイルに適用したい処理を順に記述- 上記avsファイルをコマンドライン版のx264やx265、QSVEncCやNVEncC、あるいはAviUtlなどに渡してエンコード
他のコマンドやツールに渡す理由は、AviSynthは基本的に動画にフィルタをかけるだけのツールであり、単体でエンコードする機能を持たないためです。

AviUtlも標準のAVI出力以外は外部ツールに頼っています。GUIでパラメータを指定して処理を投げているわけですが、これと同じことをコマンドラインやバッチファイルで行うわけです。
渡されたコマンド側からは、avsファイルは「フィルタ適用済みの動画ファイル」のように見えます。
以下は非常に単純なAviSynthスクリプトの例です。
avsource = "D:¥My Videos¥Video_001.mpg"
LWLibavVideoSource(avsource)
AudioDub(last, LWLibavAudioSource(avsource, av_sync=true))
AssumeTFF()
TDeint(edeint=nnedi3)
Spline36Resize(1280, 720)
return last
上記スクリプトでやっていることは以下の通りです。
1:読み込む動画ファイルを指定
3:映像を読み込む
4:映像と同期しつつ音声を読み込む
6:フィールドオーダーをトップフィールドファーストに指定
7:インターレースを解除
8:1280x720pxにリサイズ
AviSynthの魅力的なところは、フィルタリングにかかる時間を惜しまなければ極限まで高画質化できるという点です。上の例ではインターレース解除やリサイズの処理が様々に工夫できます。
他にも放送局のロゴ除去、CMカット、逆テレシネ化(映画やアニメ録画番組の30→24fps化)、フレーム補完によるぬるぬる60fps化、色調補正、カット編集、黒ベタ、回転、再生速度変更、ぼかし、シャープ、字幕入れなど、AviUtlで可能なことは大体何でもできます。
スクリプトは単なるテキストファイルであり、上の例ではソースさえ書き換えれば同じ設定で何度でも再利用できます。ソース部分を動的に取得または生成するバッチファイルを書けば、処理を自動化できます。
先人による優れたスクリプトを単純なコピペで拝借することができる点も素敵です。
Avisynthの詳細については、別の記事で説明していますので参照してください。複数動画のエンコードを自動化するためのバッチファイルも公開しています。

次回以降はAviSynthから派生し高速化を図ったAviSynth+を紹介していきます。