広東語動画で「繁体字と簡体字の字幕」が必要だからといって、別々に編集される二つの字幕ファイルを作るべきではない。安全なのは、確認済みのタイムラインを一つ作り、繁体字の文字起こし、そこから派生して確認した簡体字字幕、そして同じデータからレンダリングしたプレビューをそろえる方法である。
この形なら、後の修正も小さくできる。一つのキューを直し、両方の表記に反映し、プレビューを再生成して、実際に納品するファイルを確認すればよい。
Table of Contents
編集前に元データを保存する
提供された録画は変更せず、作業用コピーを作る。元のファイル名、長さ、音声言語、画面サイズ、SHA-256ハッシュを記録する。素材の所有者と、完成した字幕を公開できる場所も確認しておく。
sha256sum source.mp4
ffprobe -v error -show_entries format=duration
-show_entries stream=codec_type,codec_name,width,height,r_frame_rate
-of json source.mp4
この小さな台帳があれば、圧縮したプレビューがいつの間にか元データ扱いされるのを防げる。数週間後に修正を依頼されたときも、同じ出力を再現しやすい。
先に広東語字幕を校正する
音声認識は下書きとして使えるが、繁体字字幕は実際の音声を聞きながら直す。聞き取れない語は推測せず、要確認として残す。人名、引用、数字、専門用語は別の一覧にしておくとよい。
講義や説教なら、話者が使っている版や用語集を確認する。よく知られた表現でも、別の翻訳から取れば誤りになり得る。編集者が補った説明は、明示しない限り文字起こしへ混ぜない。
キューの境界は、間だけでなく意味にも合わせる。人名、数値、短い否定表現を二つのキューに切り分けると、タイムコードが正しくても読みにくい。
字体を変換してから、語を確認する
OpenCC は、簡体字、繁体字、香港、台湾の字形や一部の地域語を決定的に変換できる。香港繁体字から簡体字への最初の変換は、次のように小さく始められる。
opencc -c hk2s.json -i captions-yue-Hant.srt -o captions-zh-Hans.srt
これは字体と地域語の変換であり、広東語から普通話への翻訳ではない。OpenCC自身の説明でも、辞書は官話の語彙を基準とし、官話と広東語の間を翻訳するものではない。人名、聖書や技術の用語、広東語の助詞、引用、地域固有の表現は、音声と対象視聴者に合わせて確認する必要がある。
簡体字トラックのために新しいタイムコードを生成しない。両方のファイルでキュー番号と時間範囲を共通にすれば、タイミング修正は一度で済む。
二つのファイルで一つのタイムラインを使う
プレーンなSRTは目視確認しやすい。YouTubeの現行字幕形式ドキュメント は、初めて字幕ファイルを作る場合に基本的なSRTまたはSBVを勧め、基本SRTにはプレーンUTF-8を求めている。四つのキューからなる二つのファイルなら、異なるべきなのは文字であり、構造ではない。
4
00:00:18,020 --> 00:00:23,520
小小心仍輕輕顫抖
簡体字ファイルもキュー 4 と同じ時間範囲を保ち、確認済みテキストだけを 小小心仍轻轻颤抖 に変える。
最初と最後のキュー、話者の交代、長い無音、速い発話、認識器が不確かだったすべての箇所を確認する。契約にタイミング許容値がある場合は、画面上の開始・終了と実際の発話を比べる。ファイルの構文検査だけでは、話された語の前後0.2秒以内に字幕が出たことは証明できない。
プレビューへ焼き込み、実際に見る
FFmpegの`subtitles`フィルター はlibassで字幕を描画し、追加フォント用ディレクトリや明示的なスタイル上書きにも対応する。確認用のH.264/AAC動画は、たとえば次のように作れる。
ffmpeg -i source.mp4
-vf "subtitles=captions-zh-Hans.srt:fontsdir=/usr/share/fonts/opentype/noto:force_style='FontName=Noto Sans CJK SC,FontSize=24,Outline=2'"
-c:v libx264 -crf 18 -pix_fmt yuv420p
-c:a aac -b:a 192k -movflags +faststart preview.mp4
通常速度で最後まで見る。改行、句読点、安全余白、中国語フォントのフォールバック、カット位置、字幕が顔やスライド、既存の画面文字を隠していないかを確認する。その後、もう一度ffprobeを使い、完成ファイルのハッシュを取る。FFmpegが正常終了したことはレンダリング完了の証拠にはなるが、文言やタイミングの正しさまでは証明しない。
動画と一緒に編集可能なファイルを渡す
小さくても実用的な納品物には、次を含める。
- 校正済みの繁体字中国語SRT
- 同じタイムラインの簡体字中国語SRT
- 指定字幕を焼き込んだH.264 MP4
- 不明瞭な音声と用語判断をまとめた短い課題表
- 元データと出力のハッシュ、長さ、寸法、コーデック、使用ツールを含むマニフェスト
- 合意した修正期間
字幕を焼き込んだ動画だけを納品しない。個別の字幕ファイルがあれば、所有者は用語を直し、選択式字幕をアップロードし、別のスタイルで再レンダリングできる。録画全体をもう一度文字起こしする必要もない。LazyEdit は、この種の資料優先の字幕処理に私が使っているオープンソースのワークフローである。
完成した小さなパケットを見る
繁体字・簡体字SRT、字幕焼き込み済みH.264/AACプレビュー、確認フレーム、元データのハッシュ、再生成スクリプトを含む23.52秒の広東語字幕パケットを公開した。すべての入力を共有して確認できるよう、自分たちの短い広東語楽曲を使っている。これは工程の例であり、顧客動画でも、未知の音声に対する精度証明でもない。
権利を確認できる広東語の講義、インタビュー、講座がある場合は、長さ、音質、方言、既存の文字起こし、指定用語、対象字体、必要な動画形式を contact@lazying.art へ送ってほしい。全体を見積もる前に、最初の1分がこの工程に合うか確認できる。
