23.12.26更新:CapCutのMacへのダウンロード版を使っていたら、PROへの参加(即ち有料)をしないと、SRT字幕ファイルのダウンロードが出来なくなりました。ところが、オンライン版は、ダウンロードが可能でした。しかし、いつか不可能になるかも知れません。
CapCutの自動字幕起こしを使う。
下のビデオは、Mac版CapCutを使用した例です。
字幕情報を全行表示します(クリック)
(00:02.23) それでは
(00:05.56) 今回この
(00:08.40) CapCutという
(00:11.76) 動画編集
(00:12.63) アプリですね
(00:14.13) 無料の
(00:15.73) これを使ってですね
(00:18.06) この中に非常に便利で
(00:21.70) 字幕起こし機能というのが
(00:23.20) 入っているんですね
(00:25.90) これを使ってみたいと思います
(00:29.60) それでは最初にですね
(00:31.80) すでに
(00:33.00) 一つのテストの
(00:34.90) ファイルが入ってますので
(00:36.26) これを開いてみます
(00:40.76) これがテストのファイルですね
(00:44.33) 具体的に
(00:55.36) こういう
(00:56.90) 動画がすでに入っています
(00:58.70) で
(00:59.43) これの
(01:00.23) 文字起こしを
(01:01.00) していきたいと思います
(01:03.60) まず最初に
(01:04.46) この上にある
(01:05.23) テキストというところを選びます
(01:09.93) その中にですね
(01:13.00) 自動キャプション
(01:14.26) というところがあります
(01:16.36) これを選びます
(01:19.03) 次に
(01:20.33) この
(01:21.96) 言語ですね
(01:24.13) 言語を選びます
(01:26.13) 最初中国語ってなってますが
(01:29.80) これを日本語にします
(01:31.83) これですね
(01:33.13) 日本語にしました
(01:35.63) あとは
(01:37.66) この下の作成というのを
(01:39.26) クリックするだけです
(01:40.63) そうすると
(01:42.96) 自動文字起こしがスタートします
(01:47.56) やってみます
(01:53.40) もうスタートしています
(01:58.86) 70
(02:04.26) 早いですね
(02:05.53) もう出来上がりました
(02:07.73) ここにですね
(02:09.06) こういう風に
(02:14.46) 文字
(02:15.50) が入ってます
(02:19.90) 文字が入ってるんですが
(02:20.93) ちょっと見えにくいですね
(02:24.50) これ
(02:24.90) 白い文字なんで見えにくいんですね
(02:30.73) それではですね
(02:35.93) 背景を
(02:37.26) 入れてみます オンにします
(02:39.40) そうすると
(02:42.46) 黒い地に白い文字になるので
(02:51.13) かなり見えやすくなりますね
(02:54.33) ただしあの翻訳
(02:56.03) まだまだ雑なところが多いので
(02:58.60) もちろん後で
(03:00.00) 手直ししていきます
(03:03.10) で手直しをしたと
(03:04.93) すでにその前提なんですけれども
(03:07.60) 手直しをした後で
(03:09.43) これを書き出すという作業を
(03:11.43) やってみます
(03:14.60) この
(03:15.60) ファイルというところ
(03:17.36) の中にですね
(03:20.56) エクスポートがあります
(03:22.90) これをクリックします
(03:26.46) そうしますと
(03:30.70) こういう画面になるんですけども
(03:34.63) 動画
(03:35.30) のエクスポート
(03:36.16) というところのところに
(03:37.26) チェックが入っています
(03:40.26) このチェックをとるとですね
(03:42.96) ここにSRTというのが出てきて
(03:45.46) これ字幕ファイルですね
(03:47.73) このSRTという字幕ファイルだけを
(03:51.33) エクスポート
(03:53.20) 書き込むことができます
(03:55.16) まず初めにこれをやります
(03:57.36) やってみます
(04:03.73) キャプションが
(04:04.53) エクスポートされました
(04:06.86) フォルダを開いてみます
(04:09.46) そうするとここに
(04:11.46) 1206-test(2)
(04:13.46) というものが出来上がっています
(04:15.46) これを開きますと
(04:17.90) これが
(04:19.63) 字幕用の srt ファイルですね
(04:22.83) こんなように書き出されております
(04:28.16) はい
(04:32.10) でまぁ
(04:33.83) キャプション
(04:34.66) 字幕
(04:35.40) の書き出しが済んだとしますね
(04:38.60) そしたら次に
(04:40.46) この字幕を
(04:47.50) って今
(04:49.36) この動画の
(04:52.50) 中に
(04:56.03) こんなように字幕がですね
(04:57.83) 入っているわけですけれども
(04:59.80) このままですね
(05:00.86) 動画を書き込み書き出しますと
(05:03.60) この
(05:05.00) 字幕が
(05:07.60) 動画の中に
(05:09.46) 焼き込まれます
(05:12.66) イメージとして
(05:14.10) 一体化してしまいます
(05:17.20) それはもうすでに必要ないんですね
(05:19.66) なぜかというと先ほど
(05:21.60) SRTとして
(05:23.80) 字幕ファイルを
(05:24.93) 別に書き出しましたので
(05:27.10) この動画自体は
(05:29.70) こういう字幕を
(05:32.03) 表示しないようにしたいんです
(05:34.43) 従って
(05:36.30) この
(05:38.03) 字幕ファイルの
(05:41.50) この目の
(05:42.46) マークをクリックして
(05:47.16) 字幕ファイルが
(05:49.36) 書き出されないようにします
(05:52.10) こんな格好ですね
(05:55.66) 字幕ファイルがですね
(05:57.00) 書き出されないようにします
(06:01.06) この状態で
(06:03.96) ファイルのエクスポート
(06:06.53) そして先ほどの
(06:08.66) 動画のエクスポートのところ
(06:10.26) チェックが外れてますが
(06:12.13) これを入れオンにします
(06:15.83) これでエクスポートをします
(06:18.03) そうすると
(06:19.43) 字幕のない動画だけがですね
(06:21.93) 書き出されます
(06:33.30) はいこれで
(06:35.46) 書き出しが終わりました
(06:40.03) それで
(06:41.80) このフォルダを開く
(06:43.20) というところをやってみますと
(06:46.16) この一番上
(06:47.33) test(3).mp4
(06:49.10) というものが書き出されました
(06:52.13) これを開いてみます
(07:08.13) まあこういう風に
(07:10.20) 動画ができてるんですけど
(07:11.36) ん
(07:13.20) ご覧のように
(07:14.23) 字幕が入ってないです
(07:21.96) 以上このような形です
はじめに:
一つ前の投稿で紹介した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 VTT | VTT 自動文字起こしあり。auto_generated_captions.vttという名前でダウンロードされる。 |
YouTube(サーバー) | SRT VTT | YouTube Studioの中の字幕→「字幕をダウンロード」→SBV形式。 |
WordPress(サーバー) | VTT | 自動文字起こしなし |
Final Cut Pro | SRT | 自動文字起こしなし |
Davinci Resolve | SRT | SRT 自動文字起こしあり。 |
Filmora | SRT | SRT 自動文字起こしあり。無料の範囲が短い。料金体系が分かりにくい。 |
Vrew | SRT | SRT 文字起こしは月120分まで無料。 |
CapCut(オンライン版) | SRT | SRT 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:オリジナル音楽
以上です。