Linux で動画編集をしよう (Kdenlive)
2018年12月19日 水曜日
CONTENTS
【IIJ 2018TECHアドベントカレンダー 12/19(水) の記事です】
皆さんはスマートフォンやビデオカメラで撮影した動画って、どうしていますか?
昔は動画を編集しようと思うと、ビデオデッキを 2台用意してリニアに編集するしかありませんでした。しかし、近年はお手元にあるスマートフォンでアプリを使って簡単な編集ができます。そしてもちろん、個人のパソコンでも十分高度な編集ができる世界になっています(※1)。でも、敷居が高い? しかも Linux で!?
No! No!
確かに Linux は音声・映像系に弱い、と言われていましたが、そんな昔話は忘れてください。今はとっても簡単に、お手軽、しかも無料できるようになっていますので、ご紹介しましょう。
Kdenlive とは
Kdenlive とは Linux 上で動作するノンリニア動画編集ソフトです。(※2)
このソフト一本で、動画を切ったり繋いだり、エフェクトを掛けたり、字幕を入れたり、大抵のことはできるようになっています。操作がとても直感的なのもポイント。
インストールも各ディストリビューション向けのパッケージを使えば簡単。
例えば、openSUSE なら 1 クリックインストール をクリックするか、zypper コマンド一発でインストール完了です。
# zypper install kdenlive
基本的な使い方
Kdenlive を起動すると、以下のような初期画面が現れます。簡単な説明も書き入れてみましたので、まずは操作感をイメージしてください。
左上にある Project Bin に画像や動画、音声ファイルの素材(クリップ)を取り込み、下半分のタイムラインと呼ばれるスペースにそれらを並べていき、動画に仕上げていきます。
ご覧いただいて分かるようにマルチトラック構成になっていて、ここに画像や動画、作成したテロップを重ねていきます。シーンの異なる動画・画像を繋げるときは、遷移効果を加えると印象的な映像を作成できますが、最近の YouTuber の動画のように、あえて動画をジャンプカット(ぶつ切り)し、尺の短いテンポある動画に仕上げることも可能です。
また、GIMP や Photoshop を使っていた方ならお馴染みの「レイヤー」の概念が Kdenlive にもあり、最終的な動画は上から順に重ねて表示されます。ワイプ(PinP)表示したり、特定の色をアルファチャンネル(透明)として扱ってクロマキーを実現することもできます。
これらの編集の様子は、右上のプロジェクトモニタで常に確認できます。
そして、Kdenlive の特長の一つとしてセーブデータが MLT Multimedia Framework のというオープンな規格のフォーマットで保存され、中身が完全な XML 形式であることが挙げられます。勘の鋭い方はお気づきでしょう。XML (テキスト)形式であるということは、セーブデータの世代管理ができるということです! つまり、GIT や Subversion のようなレポジトリと連携すれば、編集のやり直しが無限に可能。しかも、GIT であれば Tag を打ってセーブデータに一定の区切りを付けたり、branch を切れば、どの編集ポイントから分岐したかも視覚的に分かります。
よくドキュメントを作成しているときに、「やっぱり、この変更しないほうが良かったな…」と後で思ったり、「前、どんな感じだったっけ…??」などと思ったこと、ありますよね。さすがに構造が壊れてしまうので複数人での同時編集はできませんが、私はこのような世代管理を目的として Kdenlive のセーブデータを GIT で管理しています。
チュートリアル
サンプルとして、私が今夏、東北方面へ家族旅行に行ったときのドライブレコーダーで撮影した動画を編集したいと思います(※3)。具体的な編集手順はさておき、先に完成した動画をご覧ください。(約 1分、音が出ます)
この動画で用いている素材と効果は以下の通りです。
- 素材 (Project Bin)
- ドライブレコーダーの映像
- テロップ (タイトル・クリップを Kdenlive で作成)
- 「!!」の画像 (LibreOffice などで作成)
- BGM 用の MP3 ファイル (フリー音源としてこちらの作品を利用させていただきました)
- 遷移効果(Transition)と効果(Effects)
- ワイプ (Wipe)
- 溶解 (Dissolve)
- スライド (Slide)
- Position and Zoom
- Transform
- フェードアウト (Fade to Black)
次から具体的な作業手順に入ってみます。
動画の追加とシーンの切り替え効果
- Project Bin から動画(クリップ)をタイムライン上に配置します。Video1, Video2, … の順にトラックが配置されていますので、再背面に配置したいものから Video1 に配置します。
- タイムライン上の動画を、刈り取りツール()で切り、不要なシーンは右クリック →「選択した項目を削除」または Delete キーで削除します。
- 異なるシーンを繋げるときに効果を加える場合は、最初の動画の後ろ 1秒くらいと、次のシーンの 1秒くらいを重ねて次のシーンの動画を Video 2 に配置します。
- 「遷移効果」から効果を選んで、タイムライン中のシーンの切り替わる場面にドラッグ&ドロップします。
- 拡大するとこんな感じです。
- 遷移効果のパラメータを調整しながら「プロジェクトモニタ」でプレビューしてみて、意図した通りになっているか確認し、この作業を繰り返します。
- トラックを追加するときは、トラックのリストがあるところ(タイムラインの左側)で右クリックし「トラックの挿入」を選択すると、Video トラック・Audio トラックの種別と場所を選択して追加できます。
テロップ(字幕)の作成
- Kdenlive では Project Bin の中を右クリックするか、をクリックし、「タイトル・クリップの追加」からテロップを作成できます。
- 使い慣れたソフトがあるとか、ワードアート的なものを追加したい場合は、それを画像にして追加しても構いません。
- 動画と同様、タイムライン上で出現させたいポイントにテロップを配置していき、必要に応じて遷移効果を加えます。こんな感じに仕上がりました。
より動きのある効果の演出
- 途中、赤い矢印「↓」が映像の中を動いたり、同時にテロップをフェードアウトして消している場面があります。前者は「Position and Zoom」、後者は「Transform」という効果を使っています。
- 赤い矢印に「Potision and Zoom」の効果を加え、動画の中で動かしたい始点と終点、さらに中間地点に「キーフレーム」というものを追加し、キーフレームに各パラメータ(位置、サイズ)を設定します。
- このように設定すると、自動的に始点から終点に向けて(あれば中間地点を経由して)速度を調整しつつクリップを動かしてくれるのです。
- プロジェクトモニタのプレビュー上に表示されているクリップを直接操作してパラメータを設定することもできます。文字で説明すると難しいのですが、やってみると簡単です。上の動画はこんな感じになっています。
- 後者はテロップを作成したあと、タイムライン上で出現させたいポイントに配置、同時にフェードアウトさせるためクリップの終端を揃えます。
- さらに、それぞれのテロップのトラックに「Transform」の効果を加えて、フェードアウトさせたいポイントでクリップを止め、同じポジションでキーフレームを追加。
- テロップの最後にもう一回キーフレームを追加し、今度は「不透明さ」を 100% → 0% に設定します。
- 以上で出現するタイミングをずらしつつ、キーフレーム間の透明度が同時に 100% → 0% へ遷移し、複数のクリップを同じタイミングでフェードアウトさせることができます。こんな感じです。
エンドロールの追加
- 映画の最後にスタッフの名前が流れるようなアレです。残念ながら Kdenlive 自体にエンドロールを追加する機能はありませんが、縦に長い巨大な画像を作成し、それを少しずつ上に動かすことで実現しています。
- まずは、GIMP などで真っ黒な縦長の画像を新規作成し、スタッフの名前などを入力したテキストを追加。タイムライン上に載せます。
- 次にトラック上に画像を配置し、クリップを左右に伸ばして表示される尺の長さを調節。上記「動きのある効果の演出」で操作したのと同様に「Transform」の効果を追加します。
- あとは、画像の Y 座標を大きい方に調節して画像を画面外の下側へ移動しておき、画像の最後にキーフレームを追加して、今度は Y 座標を負の数にして画面の上の方へ持っていきます。(文字で説明すると難しいですね。でも、とっても簡単です。)
- プレビューしながらクリップの長さを調整して流れる速度をお好みに合わせ、エンドロールっぽくなっていれば完成です!
BGM の追加
- 映像によっては BGM を追加すると効果的です。BGM に合わせた映像を作成する場合は、先に BGM を追加しておくと良いでしょう。
- 今回はドライブレコーダーの音声はカットしました。これは動画のクリップを右クリック →「オーディオの分割」、もう一度右クリック →「クリップのグループ化解除」して、Audio トラックを削除すると簡単です。
- そして別途挿入した BGM は、映像の尺に合わせてカットし、最後にフェードアウトの効果を追加しました。
- 音声を単独で編集できるアプリケーションとしては Audacity などがあります。より高度な編集をする際は、動画の編集に入る前に前処理しておいても良いかもしれません。
動画として出力 (レンダリング)
完成したプロジェクトはこちらです。
動画として出力するには、ボタンを押します。
予め出力フォーマットのプリセットが用意されていますので、そこから希望のフォーマットを選択し、「ファイルにレンダリング」ボタンを押せば、あとは完成を待つだけです。細かいパラメータを調整したプロファイルを新規に作成することもできますが、通常は Generic MP4 を選択すればよいでしょう。
レンダリングに掛かる時間は、PC のスペック、プロジェクトの長さ、追加した効果の数によって大きく変わります。使い慣れてくると、ついつい効果を多用したくなるのですが(※4)、複数の効果を同時に適用すると、それだけレンダリングの時間も掛かりますのでご留意ください。
Kdenlive 活用例
2つ紹介しましょう。
1つ目は、映像に合わせて曲の歌詞やテロップを入れる例です。
サンプルとして、SUSE LInux の公式 YouTube チャンネルで公開されている Uptime Funk というパロディ動画を取り上げてみます。(※5)
この動画だけでも、分かる人が見ると「クスッ」とする要素が満載で面白いのですが(※6)、Mark Ronson の公式 YouTube チャンネルに元ネタとなっている MV がアップされており、これを同時に再生させて比較した動画を作ってみます。
「Position and Zoom」で映像を左右に配置し、再生のタイミングを揃えています。ついでにタイトル・クリップを追加して歌詞の字幕も入れてみました。映像の再現性が半端なく「完全に一致」していますね!! 予め Audacity で音声のみを合成して、それぞれの楽曲のパンを左右に振っています(モノラル化して Uptime Funk を左のみ出力、Uptown Funk を右のみ出力)。比較映像を楽しみながら、ヘッドホンで聞いて左右で歌詞を聞き分けするのもまた一興です。
2つ目は、音楽と合わせて色々な写真をスライドショーのように表示しつつ、テロップを加えてドキュメンタリームービーを作成する例です。私の所属する部署で一年前にとあるプロジェクトがあったのですが、プロジェクト立ち上げからサービスリリースまでの経緯(イメージ映像)を描いた動画を作成し、打ち上げで放映しました。社内事情が色濃く描かれているので、残念ながらここで発表することができないのですが、Kdenlive の編集の様子だけでもよろしければご覧ください。
ね、簡単でしょ?
最後に
Kdenlive は非常に高機能なゆえ、要点のみを抜粋した記事となってしまいましたが、いかがでしたでしょうか。
一昔前は動画編集といえば、Adobe の Premiere とか After Effects が有名でした。最近はサブスクリプション型になって、だいぶ敷居は低くなりましたが、昔はソフト一本で数十万もして、当時はとても趣味ですぐに手を出せるようなシロモノではなかったことを覚えています。
そして、Kdenlive も初めからこのような高機能で安定したアプリケーションだったわけではなく、つい最近まで編集中にクラッシュしてしまったり、うまく効果が適用できないなどのバグも多いアプリケーションでした。個人的な体感では、ちょうど昨年頃のリリースである 17.12 あたりから、かなり安定してきており、編集中にクラッシュすることがなくなったように感じます。過去 Kdenlive に挑戦したが、とても使えるものでなかった、という印象がある方は、ぜひもう一度試してみてください。
今年 2018年 2月に、日本 FP 協会が発表した資料によると、小学生の「将来なりたい職業」ランキングの第 6位に「ユーチューバー」がランクインするなど、動画編集に対する需要は高まっています。冬休みの自由研究として、ぜひ Kdenlive をお試しください。YouTube で Kdenlive をキーワードにして検索すると、いくつかチュートリアルの動画を見つけることもできます。
めざせミリオン再生ユーチューバー!
よく使う遷移効果・効果のリスト
便利でよく使う遷移効果・効果のリストを掲載しておきます。動画を作成する際に、ご参考ください。
遷移効果 (Transitions)
Dissolve (溶解) | フェードインしながら前のシーンをフェードアウトする。キレイに仕立てられる。 |
Slide | 紙芝居のような切り替え。上下左右を指定可能。Transparency を設定することで演出を効果的にできる。 |
Wipe | 画面をめくって次のシーンに移るような効果。字幕の出現などにも使える。 |
効果 (Effects)
Fade from Black | 黒背景から出現。Transform の透明度でも置き換えられる。 |
Fade to Black | シーンから黒背景へ。Transform の透明度でも置き換えられる。 |
Auto Mask | モザイクを掛ける。その部分を追従する。 |
Blur、Square Blur | 全体的にぼかしを入れる。 |
Distort | 映像を木の葉が落ちるような感じで混ぜる。(Amplitude: 495, Frequency: 35) |
Box Blur | 縦方向ぼかし、横方向ぼかしを指定できる。 |
Obscure | 固定のモザイクを掛ける。 |
Oldfilm | 昔の映画(フィルム)のような効果を加える。 |
Softglow | 光を入れる。 |
EqualizOr | 朝日のような光を入れる。 |
Grayscale | グレースケールにする。 |
Luminance、Sepia | セピア調にする。 |
Primaries | 色黒 2色にする、グレースケールと合わせると効果的。 |
Bezier Curves | まぶしい光を入れる。 |
Curves | 上記(Bezier Curves)の反対。 |
LetterBOxed | レターボックス(上下の黒帯)を入れる。(16:9 では超額縁になる) |
Position and Zoom | ワイプのような PinP を入れたり、拡大表示できる。透明度の設定ができないので、Transform で置き換えられる。 |
Rotate | 回転 |
Distort, Wave | 画面を波がかった感じにする。 |
Pixelize | 画面全体にモザイクを掛ける。 |
Dynamic Text | 動的なテキストを挿入する。タイムコードなどを挿入できる。 |
脚注
- 動画編集を始めると高速な CPU と大容量のメモリが欲しくなってきます。先月、子どもの運動会の動画を編集したのですが、Core i5、24GB のメモリを積んだマシンで、約 20分のフル HD の動画をレンダリングしたら、約 4時間掛かりました。ご家庭によっては、動画編集の前に、家族予算稟議を通す必要があるかもしれません。[↑]
- Linux に限らず、Windows や MacOS のビルドもあるようです。(が、Linux 環境に最適化されていますので、他の環境では Linux 版にはない不具合を踏むことがあります)[↑]
- 編集作業に入る前に、まず完成した動画をイメージすることが大切です。ここは絵を描くのと同じようにセンスの問われる部分だと思います。ちなみに私は絵を描くのは大の苦手でした。[↑]
- 各効果は 1つのクリップに複数適用することができますが、干渉するものがあるので注意が必要です。例えば、記事の中で取り上げた「Position and Zoom」と「Transform」は、ほとんどのケースで実は置き換え可能な効果です。例えば「Position and Zoom」でサイズを変形しつつクリップを移動させ、「Transform」で透明度を変えつつ表示位置を固定させるような設定をすると、レンダリング時に両方適用されます。プレビューをして意図した通りになっている確認し、なるべく適用する効果は少なくまとめたほうが、あとで見通しが良くなります。[↑]
- どういうわけか SUSE の YouTube 公式チャンネルには、製品やサービスの紹介動画に紛れて、時々こういう動画が混じっていて面白いので、ぜひ観てください。あと openSUSE 使いやすいのでオススメです(宣伝)。先月、KUBERNETES (Heart の Barracuda) の動画がアップされていました。k8s!![↑]
- Kernel Live Patching と呼ばれ、再起動をせずに Linux カーネルを更新(パッチ適用)することができる仕組みで Linux Kernel 4.0 から対応しています。RedHat では kpatch と呼ばれています。例えば、今年発表された CVE-2018-5390 は Kernel の脆弱性だったため、対応には再起動が必要です。個人のパソコンであれば再起動すればよいのですが、クラウドサービス提供をしている側からすると、OS の再起動というのはサービスの停止を伴うため、かなりコストの高い作業になります。SUSE Linux Enterprise (SLE) では、Live Patch 8 として提供されていました。Don’t reboot it just patch!![↑]