Linux/shotcutで動画編集

Googleアプリ動画の撮影と編集(2018-06-11)


Googleでアプリを公開する時に、動画もアップできるのですが、*1

アプリの動画を撮ってアップロードする作業って、
最初はものすごく難しいことだと思っていたのですが、
わりと簡単にできました。*2
もちろん動画の編集となると、ゴールが見えない作業、ではありますが...
(どの程度まで作りこめばなら合格ラインなんでしょうね?)

普段、動画編集ソフトとか使わないであろう私は、
半年後(数日後)くらいに「あれ、まず何からやるんだっけ?」になるに違いないので(なったので)、
少し実作業をメモしておきます。

Googleアプリ画面の録画

Android 4.4 以降の端末であれば、
Android SDK の adbコマンドで拾うことができます。
私は Android Studioでアプリ作れる状態なので
adbのインストール(Android SDKのインストール)やら
端末をLinuxに認識させるやらは、忘れてしまったので、済んだ状態からメモします。

使うのは、adb コマンドです。
うちの環境だと ~/Android/Sdk/platform-tools/adb で、
使い方のオプションは adb --help でずらっと出てきます、が、
developer.aondroid.com でadb の説明呼んだほうがわか分かり易いかも。
とりあえず、

$ ~/Android/Sdk/platform-tools/adb shell screenrecord /sdcard/test.mp4

で、PCに繋いだ端末の/sdcard/test.mp4 に録画が始まります。
デフォルトの最大録画時間3分か、Ctrl + C で録画が止まります。
「adb pull /sdcard/test.mp4」でファイルを手元にコピーできますが、
その場合は、端末に残ったファイルを削除することも忘れずに。

余談として、作成までは流れ作業なので、 以下のような adb_do.sh みたいなの作りましたが、
その場合は Ctrl+C で止めることも考慮して作る必要があります。
(adb コマンドの次の行で mv とかしても、Ctrl+Cした行で shell は止まるので。
ちゃんと作りこむなら sh の trap 機能や kill コマンドを使って
Ctrl+C(SIGINT)をハンドリングしましょう)

#!/bin/sh
FILE=`date +%m%d_%H%M%S`
ADB=~/Android/Sdk/platform-tools/adb
$ADB shell screenrecord /sdcard/$FILE.mp4

注意点として、adb では音は保存できません。
(将来的には何か対応するのか、あるいはセキュリティ上やらないのか?)
必要に応じて、別途陽気なBGMとか用意しましょう。

shotcut のインストール

まず、Web検索するときは「"shotcut"」のようにダブルクォートで括らないと
検索結果に「ショートカット」がちょいちょい出てきて苛つくことのなるので、ご注意を。

うちの環境は Ubuntu 16.04 です
shotcut.org からファイルをダウンロードしてもOKですが、
snap コマンドで入れると楽そうなので、そうしました。
そして、うちの環境にはその、snapd がまだ入っていません。

$ sudo apt install snapd

私の場合は、一部必要なファイルが古くてinstallに失敗したりしたので、
apt-get updata してからやり直したりしました。
そして、snap を使って shotcut を入れます。

$ sudo snap install shotcut --classic

上のインストールコマンドも shotcut.org に書いてありました。
入れた後で再起動すれば、GUIのメニューに "Shotcut" が登録されました。

shotcut で動画を取り込む

shotcutのマニュアルって無いのかな?もっと探せばあるのかな?
動画なら shotcut.org にあるのですが...
大まかな流れが欲しかったので、以下にメモを残します。

とりあえず、ある動画から、2箇所のシーンを抜き取って、繋げます。

ファイルを開く

とりあえず起動して、動画ファイル(mp4など)をドロップします。
その時に出てくる、ファイルを変換しますか?とかは、よしなに。

範囲を指定する

shotcut はショートカットキーが便利ですが、
Web検索で shotcut の ショートカット とか検索しても
まともな検索結果が出ないのが、今回のメモを残した発端です [oh]
さておき、範囲指定しましょう。

Shotcut画像、範囲指定や再生は「キーボード」からできます

赤枠の範囲が、抜き出したいシーンの範囲になります。

Shotcut画像、せめて「i」と「o」は覚えておきたい

マウスで赤い選択枠を広げたり縮めたりもできますが、
キーボード「j, k, l」が「逆再生、停止、再生」で、
同じく「k+j, k+l」が「前、後ろコマ送り」です。

(あと、Alt、Ctrlキーと合わせて、
←(左)→(右)キーを押すのを覚えることになると思います。)

どこか適当な場所で「i 」で切り取り開始位置を指定して
しばらく進んで「o」 で切り取り終了位置を指定して、
切り取りたい場所を決めます。

タイムラインを追加する

「タイムライン」が表示されていない場合は、表示します。
「タイムライン」ボタンを押す or「View - タイムライン」を選択

Shotcut画像、タイムラインの表示


いま、範囲を指定した上の動画を、
下の「タイムライン に ドラッグ and ドロップ」します。
最初のタイムライン V1 ができました。

次に、2つの動画を重ねようと思うので、タイムラインV2 を追加します。
タイムラインで「右クリックして、ビデオトラック追加」or 「Ctrl + Y」です。

Shotcut画像、1つめのタイムラインの追加

それから2つ目の動画シーンを抜き出します。
上の画面に戻って、ソース、プロジェクトタブの「ソース」の方を選びます。

Shotcut画像、2つめのタイムラインを追加

そして、再び「再生停止(j, k, l)」や「フレーム送り(k+j, k+l)」しつつ、
「範囲指定(i, o)」する、あるいはマウスで範囲を広げたり縮めたりします。
再生が範囲境界線で止まっても、もう一度再生ボタンを押せばふつーに動きます。

そして、この範囲を今度は 「V2 にドロップ」します。
試しに、適当に重ねた位置に、ドロップします。

Shotcut画像、2つの連続したシーンを作成

この状態(タブはソースではなく、「プロジェクト」タブ選択)で動画を再生すると、
いま繋げた2つのタイムラインが連続で再生されます。

フィルタを付ける(とりあえずフェードイン)

タイムラインV2をフェードインさせます。
「フィルター」ボタンを押す or 「View - フィルター」で呼び出します。

Shotcut画像、フィルターを選択

下のタイムラインV2のフィルター対象を選んだ状態から
「+」ボタンを押した後、
「スクリーン画面っぽいマーク」を押してから、
スクロールしつつ探して「ビデオ Fade In」を選択します。

Shotcut画像、フェードインの追加

これでフェードインする状態にはなっているので、
あとは「デュレーション」で「ー」「+」を増減させるか、
下の「GUIで直接デュレーション位置をドラッグ」します。

Shotcut画像、フェードインにかける時間を調節

再び、上の画面に戻って
「プロジェクト」タブを選んで再生すると、
V1からV2へじわっと遷移する動画を見ることができます。

同じやり方で、今度はV1を選んで、「ビデオ Fade Out」を追加すると、
V1からV2へじわっと遷移する動画の完成です。

音楽を追加する場合

音楽を挿入する場合も流れは同じです、
起動したshotcutへファイルをドロップします。

タイムラインを追加するときは
「右クリックして、オーディオトラック追加」or 「Ctrl + U」です。
(こんどは A1 というのが追加されたと思います、動画では V1 でしたが)
フィルターを追加するときは
「+」ボタンを押した後、 「円盤っぽいマーク」を押してから、
「オーディオ Fade In」などのフィルタを選択します。

あと、タイムラインごと消音するときは
「スピーカーっぽいボタン」を押します。


そして、今の説明の流れでは
一切「プレイリスト」の話が出てこなかったですが、
「プレイリストボタン」を押すか「View - プレイリスト」で呼び出した後、
プレイリストに、手持ちの動画やらファイルやらを放り込んでおくと、
そこからソースを取り出したり、エクスポートしたりもできます。

先ほどまでの流れで
「ソース」を選んで、
「i やら o やら」で範囲を指定して、
「下のタイムライン」に放り込んでいたのですが、
そのソースを選ぶのが「プレイリスト」から選択すればスムーズですし、
複数ファイルを編集するならプレイリストを使った方が良い気がします。

あとは、
フィルターで「切り取る」と「サイズと位置」を使いました。
複数の動画を一度に表示する場合や、
画像の一部をアップ表示したりすることができます。

最初はうまく表示できないかもしれませんが、

  • フィルタの順番、トラックを重ねる順番を確認する
  • マスターのひし形(1つ or 3つ重なったマーク)「合成」の設定が正しいか
  • フィルターがトラックの「マスター」部分(画像各々ではなくマスター全体に対して)にかかっていないか

など、まぁ、
色々みなおしたり、いっそ保存&shotcutを再起動すれば
うまく表示されたりされなかったりします。

うちの環境だと、とくにマウスで何かをドラッグしたタイミングで
強制終了がかかることが多いですが、Shotcutの自動保存機能で復旧できる場合があるので、
わりと親切です。
(まめに上書き保存(Ctrl + s)すればいいだけですし)


こんな感じで、わりと素人の私でも、
単に画像を流すだけなら わりと作れちゃう(Youtubeへのリンク) ことが分かりました。
フリーウェアで。

こうして、ますます私の Windows 離れが進んでいきます。


*1 といっても、youtubeへのリンクを貼ることができるだけです。
*2 単にAndroid6.0端末を手に入れて、4.2端末ではできなかったことができるようになった、とも言う*3
*3 いや、アプリ公開すると海外から「お前の売れないアプリを俺達が宣伝してやるゼ!」メールが来るんです。広告数に応じたインストール数や費用云々の話はさておき、宣伝動画の作成ってどの程度の難易度なんだろう?という興味はあったので、自作を試みたわけなのです。

  最終更新のRSS