メインコンテンツへスキップ
SubtitleMatrix

CSV 字幕フォーマット

この形式が表現できること

テキストのスタイル
プレーンテキストのみ
画面内の位置指定
非対応
カラオケのタイミング
非対応
字幕ブロック内の改行
対応
タイムライン
各字幕の開始と終了の時刻
タイミングの精度
1 ms
フレーム番号で保存されるタイミング
非対応
右から左に書く言語
対応

例

典型的な CSV ファイルと、そこから読み取れる内容

ファイル

start,end,text
00:00:01.000,00:00:03.500,The quick brown fox.
00:00:04.000,00:00:06.250,"Jumps over, the lazy dog."
00:00:07.000,00:00:09.000,"Two lines here.
And a second one."

ファイルの中身

3 cues, 4 lines of text

  00:00:01.000 → 00:00:03.500
    The quick brown fox.
  00:00:04.000 → 00:00:06.250
    Jumps over, the lazy dog.
  00:00:07.000 → 00:00:09.000
    Two lines here.
    And a second one.

Outside the cues:
  header     start,end,text
  delimiter  ","

右側は変換後のファイルではありません。左側のファイルから本サイトが読み取った内容で、どの変換もここから始まります。

扱いにくい CSV ファイルでも読み取れる内容

ファイル

id,start,end,note,text
1,00:00:01,000,00:00:04,000,cue one,"Hello there, friend."
2,00:00:05.000,00:00:07.000,cue two,Second line.
bad,notatime,00:00:09.000,cue three,Unreadable start.
4,00:00:10.000,00:00:09.000,cue four,End before start.
5,00:00:12.000,00:00:14.000,cue five,Unquoted comma in text, right here.

ファイルの中身

4 cues, 4 lines of text

  00:00:01.000 → 00:00:04.000
    Hello there, friend.
  00:00:05.000 → 00:00:07.000
    Second line.
  00:00:10.000 → 00:00:10.001
    End before start.
  00:00:12.000 → 00:00:14.000
    Unquoted comma in text, right here.

Outside the cues:
  header     id,start,end,note,text
  delimiter  ","

Reported while reading — repaired or skipped, never silently:
  1 × rows whose start time could not be read (they were skipped)
  1 × cues whose end time was not after their start time (they were given a 1ms duration)

実際のファイルには BOM、Windows の改行コード、タイムコード前の余分な行、まったく読めないタイムコードがあります。どれも例外にはならず、理解できない部分は黙って捨てずに報告されます。

CSV Spreadsheet を他の形式に変換

いずれもブラウザ内で完結します。ラベルには、その方向で何が失われるかが開く前に示されています。

CSV の各行を JSON の cue に移します。この方向では失われる情報はなく、そのまま読み戻せます。

この方向では何も失われません。元の形式のすべての機能に、変換先での行き先があります。

CSV の列を SBV の開始・終了行に振り分けます。失われる情報はなく、時刻はミリ秒まで保たれます。

この方向では何も失われません。元の形式のすべての機能に、変換先での行き先があります。

CSV を SMI の同期ブロックに変換します。表の列はそのまま字幕本文になり、欠ける情報はありません。

この方向では何も失われません。元の形式のすべての機能に、変換先での行き先があります。

CSV を SRT の番号付きブロックに変換します。この方向で失われる情報はなく、プレーヤーでそのまま開けます。

この方向では何も失われません。元の形式のすべての機能に、変換先での行き先があります。

CSV を TTML の XML に変換します。列の内容は span に入り、この方向で失われる情報はありません。

この方向では何も失われません。元の形式のすべての機能に、変換先での行き先があります。

CSV を VTT のキューに変換します。失われる情報はなく、時刻はミリ秒をピリオドで書いた形になります。

この方向では何も失われません。元の形式のすべての機能に、変換先での行き先があります。

この形式への変換

CSV は本サイトが扱う字幕形式の 1 つです。このページはそのリファレンスで、何を保存でき、何を保存できず、どの形式へ変換できるかをまとめています。1 cue が 1 行で、開始時刻・終了時刻・本文の列を持ちます。

上の表がすべてで、隠れた機能一覧はありません。読み込み時は start や begin などの列名を緩く照合し、引用符で囲まれたカンマや改行も CSV の規則どおり 1 つのセルとして扱います。「いいえ」の行は、CSV へ変換するときに失われるものそのものです。

変換はすべてブラウザ内で実行されます。ファイルはアップロードされず、登録も不要です。NDA の下にある素材、患者記録、放送前の素材では、この点が重要になります。

よくある質問

CSV 字幕ファイルとは何ですか?

.csv は表計算ソフトで扱う字幕です。ヘッダー行のあとに、開始時刻・終了時刻・本文を持つ行が cue ごとに 1 行ずつ続きます。Excel や Google スプレッドシートで人が読み、編集し、タイミングを渡すときの形式です。

CSV はスタイルを保存できますか?

いいえ。保存するのは cue で、cue は本文と 2 つの時刻です。セルは文字列を保持するため、タグを残しても書式ではなく文字として見えます。

CSV の各 cue は開始と終了の両方を持ちますか?

はい。時刻は 00:00:04.126 のように書け、ミリ秒まで正確です。短い cue、長い cue、次の cue と重なる cue もそのまま表現できます。

CSV はどの形式に変換すれば損失がありませんか?

SRT、VTT、SBV、SMI、TTML、JSON です。CSV が表現できる情報はこれらのどれも表現できます。上の表で両側が「はい」の行が残る機能です。それ以外の方向は何かを失い、各ページが独自の一覧を示します。

CSV のヘッダー名は決まっていますか?

いいえ。start、begin、from、timecode in などが出発時刻、end、stop、finish、to などが終了時刻、text、subtitle、caption、line などが本文として緩く照合されます。空白・アンダースコア・ハイフンは無視され、大文字小文字も区別しません。ヘッダー行がない場合は start、end、text の順として読みます。また、セル内の改行やカンマを含む本文は引用符で囲む CSV の規則に従います。