【MacWin共通】CapCutの自動字幕起こしは、いつまで無料で使えるか?


23.12.26更新:CapCutのMacへのダウンロード版を使っていたら、PROへの参加(即ち有料)をしないと、SRT字幕ファイルのダウンロードが出来なくなりました。ところが、オンライン版は、ダウンロードが可能でした。しかし、いつか不可能になるかも知れません。

CapCutの自動字幕起こしを使う。

下のビデオは、Mac版CapCutを使用した例です。

字幕一覧(クリック)

(00:00:02) それでは今回、CapCutという無料の動画編集アプリですね。
(00:00:05) これを使ってですね、この中に非常に便利な字幕起こし機能が入っているんですね。
(00:00:15) これを使ってみたいと思います。
(00:00:30) はい、それでは最初に、すでにテストのファイルが入っていますのでこれを開いてみます。
(00:00:38) これがテストのファイルですね。
(00:00:44) 具体的にこういう動画がすでに入っています。
(00:00:59) これの文字起こしをしていきたいと思います。
(00:01:03) まず最初にこの上にある「テキスト」というところを選びます。
(00:01:09) その中に「自動キャプション」というところがありますので、これを選びます。
(00:01:18) 次に言語を選びます。
(00:01:25) 今、最初中国語になっていますが、これを日本語にします。日本語にしました。
(00:01:35) あとは下の「作成」をクリックするだけです。そうすると自動文字起こしがスタートします。
(00:01:46) やってみます。もうスタートしています。
(00:02:03) 早いですね。もう出来上がりました。
(00:02:07) ここにこういう風に文字が入っています。
(00:02:16) 文字が入っているんですが、白い文字なのでちょっと見えにくいですね。
(00:02:28) それでは背景をこう入れて、ONにしてみます。
(00:02:40) そうすると黒い背景に白い文字になるので、こんな風にかなり見えやすくなりますね。
(00:02:54) ただし文字起こしは雑なところが多いので、もちろん後で手直ししていきます。
(00:03:04) 手直しをしたという前提で、手直しをした後でこれを書き出す作業をやってみます。
(00:03:13) ファイルというところの中にエクスポートがあります。
(00:03:20) これをクリックします。
(00:03:25) そうしますと、こういう画面になるんですけれども。
(00:03:34) 「動画のエクスポート」というところにチェックが入っています。
(00:03:40) このチェックを取ると、ここにSRTというのが出てきて、これが字幕ファイルですね。
(00:03:46) このSRTという字幕ファイルだけを書き出すことができます。
(00:03:55) まず始めにこれをやります。やってみます。
(00:04:01) はい、キャプションがエクスポートされました。
(00:04:06) フォルダーを開いてみると、ここに「1206 test2」というものが出来上がっています。
(00:04:15) これを開くと字幕用のSRTファイルですね。こんなように書き出されております。
(00:04:32) 字幕の書き出しが済んだとしますね。
(00:04:39) そしたら次に、今この動画の中にこんなように字幕が入っているわけですけれども。
(00:04:57) このまま動画を書き出しますと、字幕が動画の中に焼き込まれてしまいます。
(00:05:08) イメージとして一体化してしまいます。
(00:05:17) まあそれはもう必要ないんですね。先ほどSRTとして字幕ファイルを別に書き出しましたので。
(00:05:26) この動画自体は字幕を表示しないようにしたいんです。
(00:05:32) したがって、この字幕ファイルの目のマークをクリックして。
(00:05:43) 字幕ファイルが書き出されないようにします。
(00:05:55) はい、この状態でファイルのエクスポート。
(00:06:02) そして先ほどの動画のエクスポートのところ、チェックが外れていますがこれをONにします。
(00:06:14) これでエクスポートをします。そうすると字幕のない動画だけが書き出されます。
(00:06:33) はい、これで書き出しが終わりました。
(00:06:38) フォルダーを開いてみますと、一番上の「test3 mp4」というものが書き出されました。
(00:06:52) ではこれを開いてみます。
(00:07:07) まあこういう風に動画ができているんですけれども。
(00:07:14) ご覧のように字幕は入っていないです。
(00:07:22) はい、以上、このような形です。

はじめに:

一つ前の投稿で紹介したVimeoの字幕生成機能を使う方法ですが、それはあくまで暫定手段なのだろう、やはり動画編成アプリ自体に字幕起こし機能が備わっているのがベストだ、と思えています。最近、CapCutという動画編成アプリを見つけまして、これが無料で、自動字幕起こし機能がついています。しかも動画編集機能もシンプルで扱いやすいので、動画として完成させて、あちこちへアップロードして幅広く使おうと思っていました。

CapCutはTikTokワールドの一部。無料のアプリを使うのに、あれこれ要望はできない。規約に従うのみ。:

しかしこのCapCutというアプリはTikTokの会社の製品であり、TikTokへの動画加工から配信までの流れを簡単にできるようにすることに主眼があります。著作権については、CapCutで制作した動画の所有権はTikTok会社に移り、TikTok会社の所有になった動画は、作者の許可なく再加工ができる、ということです。あの「さすらいネキ」は、どれがオリジナルか分からないくらい再加工の投稿が溢れかえっています。渡ったら最後戻ってこないと思った方がいいです。何が怖いかって、それは、悪用されることです。

やはり、無料なのに、広告も入らない、会社ロゴの刷り込みもされない、なんて、不自然です。タダより高いものはない。

TikTokビジネス圏、TikTokワールドで、みんなで共有して楽しむ展示物として供出した、そういう位置付けとなります。例えると、夏休みの親子絵画体験会。主催者側が道具や指導の先生を準備、描いた作品を会館に展示、作品はテレビで紹介もします。そんなビジネスモデルですね。無料で道具を使わせてもらうわけですので、文句を言う立場にはない、CapCutを利用して制作した動画の扱いについては規約に従う必要があります。

お試し的に、使ってみよう:

CapCutの利用ついては、三択です。(1)全く使わない、(2)一部機能である字幕起こしを使ってSRTファイルを作るプロセスのみを利用する、(3)動画加工も含めて全部利用する、この三つです。

(3)は、私はオリジナルの音楽の所有権を放棄するつもりもありませんので、選びません。(2)の字幕起こし機能については15分以内等の使用制限の範囲で無料で提供される文字起こしサービスで、Google,Vrewなど他社も同様なサービスを一定の使用制限内を無料で提供しているので、それと同様に、一つの単機能として、一定の制限内で、使用できるものと今のところは捉えます。しかしながら、CapCutとしてはそれは許可しないのであれば、文字起こしは当面、単機能アプリであるVrewなどを使うことにします。つまり(1)を選んでCapCutは全く使わないことになろうと思います。

ポイント解説

1 字幕のフォーマット形式はSRTがいい。ほぼ全体をカバー。

2023年12月時点で、アプリごとの字幕ファイルのフォーマットを調べてみました。調べ方は、既にメジャーになっているSRTまたはVTTを使っているかどうかです。

サーバー・アプリ字幕フォーマット形式(SRTかVTTか)自動文字起こし後の出力(SRTかVTTか)その他の注意点
Vimeo(サーバー)SRT
※24.11月ごろからVTTがうまく使えなくなりました。
VTT 自動文字起こしあり。auto_generated_captions.vttという名前でダウンロードされる。
YouTube(サーバー)SRT VTTYouTube Studioの中の字幕→「字幕をダウンロード」→SBV形式。
WordPress(サーバー)VTT自動文字起こしなし
Final Cut ProSRT自動文字起こしなし
Davinci ResolveSRTSRT 自動文字起こしあり。
FilmoraSRTSRT 自動文字起こしあり。無料の範囲が短い。料金体系が分かりにくい。
VrewSRTSRT 文字起こしは月120分まで無料。
CapCut(オンライン版)SRTSRT 15分以内 SRTで出力した後、Final Cut Proへ読み込むなど。WordPressで使うならVTTへ変換する。※QuickTime PlayerやFinal Cut Proで、ある程度、動画の成形が済んだら、動画をCapCutで読み込んでSRTを作成する。

以上から、SRTを基調として使い、SRT<->VTT相互に変換できるようなツールを用意しておけば良さそうです。ところで、YouTubeのSBV形式ですが、SRT形式と殆ど同じです。

一点だけ異なります。
SBVのタイムコードの秒とミリ秒の間は”.”です。
SRTのタイムコードの秒とミリ秒の間は”,”です。

以下のAppleスクリプトをMacのAutomatorのクイックアクションで動かすと一発で変換できます。

SBVからSRTを生成するAppleスクリプト

(1)「 AppleScriptを実行」を挿入

on run {input, parameters}
	set sbvFilePath to POSIX path of input
	
	-- 新しいファイルに拡張子をSRTに変更してコピー
	set srtFilePath to replaceExtension(sbvFilePath, "srt")
	do shell script "cp " & quoted form of sbvFilePath & " " & quoted form of srtFilePath
	
	return srtFilePath
end run

-- 拡張子を置き換える補助関数
on replaceExtension(filePath, newExtension)
	set AppleScript's text item delimiters to "."
	set pathItems to text items of filePath
	set lastItem to last item of pathItems
	set last item of pathItems to newExtension
	set AppleScript's text item delimiters to "."
	set newPath to pathItems as text
	return newPath
end replaceExtension

(2)「 AppleScriptを実行」を挿入

on run {input, parameters}
	set srtFilePath to POSIX path of input
	
	-- 秒とミリ秒の間の"."を","に変更してファイルに書き込む
	do shell script "sed -i '' 's/./,/g' " & quoted form of srtFilePath
	
	return input
end run

SRTからSBVを生成するAppleスクリプト
※実際に使うことは無いかも知れません。

(1)「 AppleScriptを実行」を挿入

on run {input, parameters}
	set srtFilePath to POSIX path of input
	
	-- 新しいファイルに拡張子をSRTに変更してコピー
	set sbvFilePath to replaceExtension(srtFilePath, "sbv")
	do shell script "cp " & quoted form of srtFilePath & " " & quoted form of sbvFilePath
	
	return sbvFilePath
end run

-- 拡張子を置き換える補助関数
on replaceExtension(filePath, newExtension)
	set AppleScript's text item delimiters to "."
	set pathItems to text items of filePath
	set lastItem to last item of pathItems
	set last item of pathItems to newExtension
	set AppleScript's text item delimiters to "."
	set newPath to pathItems as text
	return newPath
end replaceExtension

(2)「 AppleScriptを実行」を挿入

on run {input, parameters}
	set sbvFilePath to POSIX path of input
	
	-- 秒とミリ秒の間の","を"."に変更してファイルに書き込む
	do shell script "sed -i '' 's/,/./g' " & quoted form of sbvFilePath
	
	return input
end run

2 字幕情報の各国語翻訳への対応

各動画に、字幕情報をクローズドキャプションとして表示することは、上記の対応で可能となりますが、その字幕情報を各国語へ翻訳したい時、動画の外側に字幕情報がテキストデータで掲載されていれば、このブログの最上段にあるGoogle翻訳の言語選択を行うことにより、その字幕情報もブログの一部として、翻訳が実行されます。具体的には、このページの上方の動画の下にある字幕情報のボックスがそれになります(すみません。雑な字幕起こしの段階で掲載しているのであまり効果的には感じられないかも知れません)。

この字幕情報ボックスへ格納するための字幕情報を作成する、Appleスクリプト及びWordPressのカスタムhtmlブロックを紹介します。

VTTファイルからWordPress表示用TXTファイルを生成 Appleスクリプト

こちらに記載

WordPressブログのカスタムhtmlブロック

上で生成したTXTファイルのデータを、下の<!– 以下から書き出し –> と <!– 以上まで書き出し –>の間の行に、コピー&ペーストしてください。

<details> 
[prisna-google-website-translator] 
<summary>字幕情報を全行表示します(クリック)</summary>
<p>
<!-- 以下から書き出し -->

<!-- 以上まで書き出し -->
</p>
</details>

<style>
details {
  font: 16px "Open Sans", Calibri, sans-serif;
  width: 100%;
}

details > summary {
  padding: 2px 6px;
 width: 100%; 
  background-color: #ddd;
  border: none;
  box-shadow: 3px 3px 4px black;
  cursor: pointer;
  list-style: none;
}

details > p {
  font: 14px "Open Sans", Calibri, sans-serif;
  height:150px;
  overflow: scroll;
  background-color: #EDF7FF;
  padding: 2px 6px;
  margin: 0;
  box-shadow: 3px 3px 4px black;
}
</style>

上のコピー&ペーストは面倒なこともあると思います。txtファイルの上で右クリックをしてクイックアクションでクリップボードに書き込むスクリプトは以下です。

WordPressブログのカスタムhtmlブロックをクイックアクションで生成するAppleScript

こちらに記載

但し、私が記述している日本語の段階では、改行コード<br>は有効に働きますが、私の環境の問題か、Google翻訳の問題かわかりませんが、各国語に翻訳した時、改行がされない、空白行が生ずる、表示順番があべこべになる言語があるなど、不具合が生ずることがあります。より正確に翻訳を行いたい場合は、各ブラウザから直接呼び出せるプラグインなど、別のアプリをお試しください。改善は引き続き進めます。

3 まとめ

実際のところ、Final Cut ProやQuickTime Player などで動画の寸法がある程度決まったら、動画を一時的に読み込んで、文字起こしをCapCutまたはVrew、またはVimeoなどで行い、そのSRTファイルを、Final Cut Proで読み込みます。SRTファイルの読み込みは、この1回だけです。その後、何かメディアを追加削除したり、トランジションを入れると、字幕が増えたり、書き換えが起きますが、字幕修正は、Final Cut Proの中で手で部分修正します。

器材記録:

CapCut
Adobe puppet Dr.AppleSmith
Mac mini M2 Ventura
BGM:オリジナル音楽

以上です。