【Mac】『字幕かんたん作成』アプリを作ってみた。

これまで動画の字幕作成については、何度か記事を投稿してきましたが、その中で感じた課題のいくつかを克服するアプリを、自前で作りましたので紹介します。

字幕一覧(クリック)

1) 〜字幕かんたん作成〜
2) 今回は、Macで簡単に、動画の字幕ファイルを作成できる『字幕かんたん作成』これを紹介します。
3) 動画に字幕を付けるのに、編集ソフトで、コツコツと、タイムスタンプを入れるのは、とても大変ですよね。
4) このアプリを使えば、QuickTimePlayerで動画を再生しながら、簡単に、字幕を打ち込んでいけます。
5) お金は掛かりません。
6) Macに備わった標準アプリだけで動きます。
7) 通常の字幕作成では、動画の再生時間を確認して、開始時刻と終了時刻を、VTTファイルへ入力します。
8) サンプルをお見せします。
9) 例えば、このような文字列があります。
10) これはVTTファイルです。
11) 最初に、順番が入ります。  
12) 次に、時 分 秒 ミリ秒、この基準に従った開始時刻
13) それと、同じくその基準の終了時刻を入れます。
14) 真ん中のところに、スペース1つ、--不等号 またひとつスペースを入れます。
15) その下にこうしたテキスト行を入れます。
16) これがVTT記述の基本形です。
17) このように自分でTextEditに打てば、正確にできるのですが、  
18) 手間が多く、時間もかかってしまいます。
19) そこで開発したのが、この『字幕かんたん作成』です。
20) AutomatorとAppleScript_Objective-Cを組み合わせて、
21) QuickTimePlayerとTextEditを連携させる、
22) そのことで、シンプルに、効率よく、字幕ファイルを作ることができます。
23) その仕組みをフロー図によって説明します。
24) まず、FinderでVTTファイルを右クリックします。
25) するとクイックアクションの中にある、今回のアプリ 「字幕かんたん作成」が起動します。
26) スクリプトが動作し、黄色の字幕表示画面(HUDと呼びますが)それと、 
27) 入力Boxが表示されます。
28) 字幕の入力先は、macOS標準のTextEditを使います。
29) 入力したテキストは、QuickTimePlayerの再生位置の時刻、タイムスタンプ、それらと一緒にVTTファイルに記入されます。
30) QuickTimePlayerは再生位置を提供し、NSTimerが、それに対応する時刻を、定期的にゲットします。 
31) 終了する場合は、終了ボタンを押すと、タイマーが止まり、HUDが閉じ、メモリーが解放されて、処理が終了します。
32) それでは、実際の動きをご覧ください。
33) 動画の例として、「ガラポンTVの故障」を取り上げます。
34) 一度、動画だけをみてください。(約1分)
35) 動画を見ただけでは、何を伝えたいのか、さっぱりわかりませんね。
36) そこで、字幕を、作成していきます。
37) それでは、作業をやってみます。
38) まず、動画を右上の方に置いておきます。
39) すでにvttファイル名は付けてありますが、中身をクリアして作業をしてみます。
40) このvttファイルの上で、右クリックして、クイックアクションで、「字幕かんたん作成」を立ち上げます。
41) こんなように立ち上がります。
42) このHUDをQuickTimePlayerの下に置いて、 
43) 実際に、テキストを入れていきます。
44) ガラポンTVが異常です。全ランプが点滅を繰り返しています。
45) このように打ってOKを押します。
46) 継続秒数を入れます。
47) 1番目が出来上がります。
48) 背面の電源をOFFにしました。
49) OK
50) 4秒
51) 2番目が入ります。
52) HUDにも表示されます。
53) 外付けHDDを外しました。
54) 前の部分で、説明を入れるのを忘れたとしても、戻ることができます。
55) この場所で、ランプは消えました、と入れます。
56) 3番目として、ランプが消えた、が飛び込みます。
57) このような形で、入力が終了し、再生した時に、字幕がタイミングよく表示されることを確認する必要があります。その後で実際は終了します。
58) それでは、動画と、完成した字幕を、同時に表示してみましょう。
59) 字幕があることによって、その、ガラポンTVが故障している、そのように判断した理由が、より明確に、伝わるようになります。
60) この後、ガラポンTV社に報告して、迅速に、交換が完了しました。
61) このように『字幕かんたん作成』は、AutomatorとAppleScript_Objective-Cを使って、
62) QuickTimePlayerとTextEditを組み合わせることによって、  
63) 面倒な字幕作成を、シンプルに、効率的に、してくれます。
64) このスクリプトは、ブログ内で公開します。
65) 字幕を、できるだけ手軽に付けたい、そう思う方は、ぜひ活用してみてください。

ポイント解説

VTTで編集ができます
簡易な字幕作成ツールとしては、「字幕工房」が優秀であるという見方は変わりませんが、SRTファイルでの書き出しです。私はWordPressブログに掲載する動画が殆どですので、毎回VTTファイルへ変換することになり面倒です。「字幕工房」に限らず、動画作成アプリで出力される字幕は、殆どがSRTファイルなのですね。

ローカルファイルの更新をそのまま反映します
動画作成アプリに共通することですが、字幕もそのほかのメディアアセットもローカルからアップロードした時点で切り離されてしまうので、ローカルファイルを更新しても反映されません。ここは以前に作ったマイ・メディアライブラリの機能ですが、ここでもその威力が発揮されます。ローカルでVTTファイルをTextEditで開いて手直しすれば、そのまま、ブログの表示が変更されます(数分のタイムラグはあり)。

停止位置の時刻を自動で取得します
QuickTimePlayerで動画を停止した場所の時刻(時点)を自動で取得して、テキストとともに、VTTファイルへ書き込みます。さらに、書き込んだ情報を読み込んで、HUD(ディスプレイ)に即座に表示します。

主な特徴点は以上ですが、かんたんな点では、「字幕工房」を上回っています。

以上です。