รูปแบบคำบรรยาย JSON
รูปแบบนี้แสดงอะไรได้
- รูปแบบตัวอักษร
- ฟอนต์ สี เส้นขอบ เงา
- ตำแหน่งบนหน้าจอ
- ใช่
- จังหวะ Karaoke
- ใช่
- การขึ้นบรรทัดใหม่ในคิว
- ใช่
- ไทม์ไลน์
- เวลาเริ่มและสิ้นสุดของทุกคิว
- ความละเอียดของเวลา
- 1 ms
- เก็บเวลาเป็นหมายเลขเฟรม
- ไม่
- ข้อความขวาไปซ้าย
- ใช่
ตัวอย่าง
ไฟล์ JSON ทั่วไป และสิ่งที่อ่านออกมาได้
ไฟล์
{
"version": 1,
"title": "Fixture: typical",
"fps": 25,
"styles": {
"Default": {
"name": "Default",
"fontFamily": "Arial",
"fontSize": 20,
"primaryColor": "#FFFFFF",
"bold": false,
"italic": false
}
},
"generator": "subtitlematrix fixtures",
"cues": [
{
"id": "1",
"start": 0,
"end": 2000,
"lines": [
"Hello world.",
"Second line."
],
"style": "Default",
"position": {
"x": 100,
"y": 200,
"align": "center"
}
},
{
"id": "2",
"start": 2500,
"end": 4000,
"lines": [
"Plain line.",
{
"text": "Styled line.",
"tags": [
{
"kind": "italic",
"start": 0,
"end": 6
}
]
}
]
},
{
"id": "3",
"start": 4500,
"end": 6000,
"lines": [
"Roger: I am here."
],
"speaker": "Roger"
}
]
}
ไฟล์นี้เก็บอะไร
3 cues, 5 lines of text
0 ms → 2000 ms
Hello world.
Second line.
[Default; position 100,200 (center)]
2500 ms → 4000 ms
Plain line.
Styled line. [italic ×1]
4500 ms → 6000 ms
Roger: I am here.
[speaker Roger]
Outside the cues:
styles Default
other keys version, title, fps, generator — carried through untouchedฝั่งขวาไม่ใช่ไฟล์ที่แปลงแล้ว แต่คือสิ่งที่เว็บนี้อ่านออกมาจากฝั่งซ้าย และเป็นจุดเริ่มต้นของการแปลงไฟล์นั้นทุกครั้ง
ไฟล์ JSON ที่มีปัญหา และสิ่งที่ยังอ่านออกมาได้
ไฟล์
{
"cues": [
{ "start": "0:00:01,5", "end": "0:00:03,0", "text": "Unpadded timecode." },
{ "start": 4000.5, "end": 5000, "lines": ["Fractional start.", { "text": "Second.", "tags": [] }] },
{ "start": 9000, "end": 8000, "lines": ["End before start."] },
{ "start": "nope", "end": 12000, "lines": ["No readable start."] },
{ "start": 13000, "lines": ["No end at all."] }
],
"generator": "subtitlematrix boundary",
"styles": {},
"title": "Fixture: boundary"
}
ไฟล์นี้เก็บอะไร
3 cues, 4 lines of text
1500 ms → 3000 ms
Unpadded timecode.
4001 ms → 5000 ms
Fractional start.
Second.
9000 ms → 9001 ms
End before start.
Outside the cues:
other keys generator, title — carried through untouched
Reported while reading — repaired or skipped, never silently:
2 × entries with no readable start and end time (they are not cues, so they were skipped)
1 × cue times that were not whole milliseconds (they were rounded to the nearest millisecond)
1 × cues whose end time was not after their start time (they were given a 1ms duration)ไฟล์จริงมาพร้อม byte-order mark การขึ้นบรรทัดแบบ Windows บรรทัดแปลกปลอมก่อนไทม์โค้ด หรือไทม์โค้ดที่อ่านไม่ได้เลย ทั้งหมดไม่ทำให้เกิดข้อผิดพลาด สิ่งที่เข้าใจไม่ได้จะถูกรายงาน ไม่ใช่ทิ้งไปเงียบ ๆ
แปลง SubtitleMatrix JSON เป็นรูปแบบอื่น
แต่ละรายการทำงานในเบราว์เซอร์ของคุณทั้งหมด ป้ายบอกว่าทิศทางนั้นมีค่าใช้จ่ายอะไรบ้างก่อนคุณเปิด
- รูปแบบ
- ตำแหน่ง
- Karaoke
- เวลา
- รูปแบบ
- ตำแหน่ง
- Karaoke
- ความละเอียด
- รูปแบบ
- ตำแหน่ง
- Karaoke
- เฟรมเรต
- รูปแบบ
- ตำแหน่ง
- Karaoke
- รูปแบบ
- ตำแหน่ง
- Karaoke
- เวลา
- รูปแบบ
- ตำแหน่ง
- Karaoke
- การขึ้นบรรทัดใหม่
การแปลงเข้ามาในรูปแบบนี้
- SubRip (SRT) → SubtitleMatrix JSON
- WebVTT (VTT) → SubtitleMatrix JSON
- Advanced SubStation Alpha (ASS) → SubtitleMatrix JSON
- SubStation Alpha (SSA) → SubtitleMatrix JSON
- YouTube SBV → SubtitleMatrix JSON
- SAMI (SMI) → SubtitleMatrix JSON
- LRC Lyrics → SubtitleMatrix JSON
- MicroDVD → SubtitleMatrix JSON
- TTML (Timed Text) → SubtitleMatrix JSON
- Plain Text (TXT) → SubtitleMatrix JSON
- CSV Spreadsheet → SubtitleMatrix JSON
SubtitleMatrix JSON เป็นหนึ่งในรูปแบบคำบรรยายที่เว็บนี้รองรับ: อาร์เรย์ของคิวที่แต่ละตัวมี `id`, `start` และ `end` เป็นมิลลิวินาที พร้อมตารางสไตล์เสริม หน้านี้คือเอกสารอ้างอิงของมัน: เก็บอะไรได้ เก็บอะไรไม่ได้ และมีหน้าสำหรับทุกรูปแบบที่คุณแปลงมันไปได้
ตารางด้านบนคือทั้งหมด — ไม่มีรายการคุณสมบัติที่ซ่อนอยู่ เมื่อแถวใดบอกว่าไม่ นั่นคือสิ่งที่หายไปเมื่อแปลงเข้า JSON อย่างตรงตัว และแต่ละหน้าแปลงที่ลิงก์อยู่ด้านล่างบอกไว้ก่อนคุณเปิดไฟล์ ทุกการแปลงเหล่านั้นทำงานในเบราว์เซอร์ ไม่อัปโหลดสิ่งใดและไม่ต้องมีบัญชี ซึ่งสำคัญกับเนื้อหาภายใต้ NDA บันทึกผู้ป่วย หรือคำสั่งห้ามเผยแพร่ของสถานีโทรทัศน์
คำถามที่พบบ่อย
ไฟล์ JSON คืออะไร?
`.json` ที่นี่คือรูปแบบคำบรรยายของเว็บนี้เอง: ช่อง version ตารางสไตล์เสริม และอาร์เรย์ของคิวที่เวลาเป็นมิลลิวินาที มันไม่สูญเสียเมื่อเทียบกับทุกอย่างที่รูปแบบอื่นแสดงออกได้โดยเจตนา และมีไว้สำหรับสคริปต์กับไปป์ไลน์มากกว่าสำหรับโปรแกรมเล่น
JSON เก็บสไตล์ไหม?
เก็บ และมากกว่าคนอื่น: ตารางสไตล์ของฟอนต์ ขนาด สี เส้นขอบ และระยะขอบ พร้อมรหัสระดับคิวในข้อความ บรรทัดเดียวจึงหนา มีสี และวางตำแหน่งได้โดยไม่ต้องมีสไตล์ที่มีชื่อ เก็บคาราโอเกะด้วย ในที่นี้ตารางคือออบเจ็กต์ `styles` ที่มีชื่อสไตล์เป็นคีย์ และสไตล์ระดับคิวเดินทางในอาร์เรย์ `tags` ของแต่ละบรรทัดแทนรหัสในข้อความ — จึงไม่มีอะไรต้อง escape ตอนเข้าหรือออก
ทุกคิว JSON เก็บทั้งเวลาเริ่มและเวลาสิ้นสุดไหม?
ใช่ และช่วงเวลาหนึ่งในไฟล์ JSON เขียนเป็น `4126` ซึ่งละเอียดที่สุดที่ JSON ไปได้ — ถึงมิลลิวินาที — และตัวเลขแม่นยำ คิวจึงสั้น ยาว หรือซ้อนกับคิวถัดไปได้โดยไม่มีอะไรแอบแฝง
ควรแปลง JSON ไปเป็นรูปแบบใด?
ไม่มีรูปแบบใดบนเว็บนี้รับทุกอย่างที่ไฟล์ JSON เก็บได้ ทิศทางจึงไม่มีอันไหนฟรี — แต่ละหน้าแปลงระบุรายการสิ่งที่หายไปของตัวเอง เลือกปลายทางจากรายการที่คุณอยู่ด้วยได้ ไม่ใช่จากรูปแบบที่คุณเห็นบ่อยที่สุด
เปิดไฟล์ JSON ในโปรแกรมแก้ไขข้อความได้ไหม?
ได้ ถ้าคุณรักษาเครื่องหมายจุลภาคและเครื่องหมายคำพูดให้ถูก เวลาเป็นมิลลิวินาทีในรูปตัวเลขธรรมดา คิวที่ 1.25 วินาทีจึงเป็น `"start": 1250`