แปลง SRT เป็น JSON
หรือวางข้อความคำบรรยาย
การแปลงนี้เปลี่ยนอะไร
ไม่มีอะไรสูญหายในทิศทางนี้ — ทุกคุณสมบัติของรูปแบบต้นทางมีที่ไปในรูปแบบปลายทาง
รายการนี้มาจากเมทริกซ์ความสามารถของสองรูปแบบนี้ ไม่ได้มาจากไฟล์ที่คุณโหลด ไฟล์หนึ่งอาจสูญหายมากกว่าหากใช้คุณสมบัติที่รูปแบบอนุญาตแต่เมทริกซ์ไม่ได้จำลอง
หน้านี้แปลงไฟล์ SRT เป็น JSON ในเบราว์เซอร์ ไม่มีการอัปโหลดและไม่ต้องมีบัญชี คุณลากไฟล์เดียวหรือทั้งฤดูกาลเข้ามาได้ คิวทำงานตามลำดับ ยกเลิกกลางทางได้ และดาวน์โหลดผลลัพธ์ทั้งหมดเป็น ZIP เดียว
ในทิศทางนี้ไม่มีข้อมูลสูญหาย ทุกสิ่งที่ SRT เก็บได้มีสิ่งที่เทียบเท่าใน JSON ผลลัพธ์เป็นเอกสาร JSON ที่มีหมายเลขเวอร์ชันและอาร์เรย์ cues โดยเวลาเก็บเป็นจำนวนเต็มมิลลิวินาทีและแต่ละบรรทัดแยกกัน ข้อความ ลำดับคิว และไทม์ไลน์จึงยังอยู่ครบ
ตัวอย่าง
ไฟล์ SRT ทั่วไป แปลงเป็น JSON
ข้อมูลนำเข้า
1
00:00:01,000 --> 00:00:03,500
Hello there.
2
00:00:03,500 --> 00:00:06,000
<i>Whispering</i> now.
And a second line.
3
00:00:06,000 --> 00:00:09,250
<b>Bold</b> statement.
ผลลัพธ์
{
"version": 1,
"cues": [
{
"id": "1",
"start": 1000,
"end": 3500,
"lines": [
"Hello there."
]
},
{
"id": "2",
"start": 3500,
"end": 6000,
"lines": [
{
"text": "Whispering now.",
"tags": [
{
"kind": "italic",
"start": 0,
"end": 10
}
]
},
"And a second line."
]
},
{
"id": "3",
"start": 6000,
"end": 9250,
"lines": [
{
"text": "Bold statement.",
"tags": [
{
"kind": "bold",
"start": 0,
"end": 4
}
]
}
]
}
]
}
ไม่มีข้อมูลสูญหายในผลลัพธ์นี้: เทียบสองฝั่งทีละบรรทัด
การแปลง SRT เป็น JSON บนไฟล์ที่มีปัญหา
ข้อมูลนำเข้า
1
0:00:01,00 --> 0:00:03,500
<B>Bold</B> and <I>italic</I>.
2
00:00:03,500 --> 00:00:06,000
3
00:00:08,000 --> 00:00:09,000
Last one.
ผลลัพธ์
{
"version": 1,
"cues": [
{
"id": "1",
"start": 1000,
"end": 3500,
"lines": [
{
"text": "Bold and italic.",
"tags": [
{
"kind": "bold",
"start": 0,
"end": 4
},
{
"kind": "italic",
"start": 9,
"end": 15
}
]
}
]
},
{
"id": "2",
"start": 3500,
"end": 6000,
"lines": []
},
{
"id": "3",
"start": 8000,
"end": 9000,
"lines": [
"Last one."
]
}
]
}
ไฟล์จริงมักมีอาการแบบนี้ — การขึ้นบรรทัดใหม่แบบผสม ช่องว่างเกิน และฟิลด์ที่เว้นว่าง เทียบกับตัวอย่างแรกเพื่อดูว่าตัวแยกวิเคราะห์ยอมรับอะไรได้บ้าง
คำถามที่พบบ่อย
ผลลัพธ์ JSON จาก SRT ใช้สคีมาอะไร
สคีมาของเว็บนี้เอง ซึ่งอธิบายด้วยตัวอย่างในแผงด้านบน: หมายเลขเวอร์ชัน ตามด้วยอาร์เรย์ของคิว แต่ละคิวมี id, start และ end เป็นมิลลิวินาที และรายการบรรทัด ไม่มีเมทาดาทาที่ซ่อนอยู่และไม่ขึ้นกับรูปแบบของบุคคลที่สาม
ทำไม SRT ถึงเก็บเวลาเป็นมิลลิวินาทีเมื่อกลายเป็น JSON
เพื่อให้ไฟล์ใช้งานได้โดยไม่ต้องแยกวิเคราะห์ก่อน การบวกเวลา การเปรียบเทียบ หรือการเรียงตามเวลาล้วนเป็นการคำนวณจำนวนเต็มธรรมดา ขณะที่สตริงอย่าง 00:00:01,000 ต้องถอดรหัสก่อนและถอดผิดได้
รูปแบบตัวอักษรของ SRT ถูกแทนใน JSON อย่างไร
บรรทัดธรรมดายังเป็นสตริงธรรมดา บรรทัดที่มีรูปแบบจะเป็นออบเจกต์ที่มี text และอาร์เรย์ tags โดยแต่ละแท็กบอกชนิดและตำแหน่งเริ่มกับจบในข้อความนั้น แปลง JSON กลับแล้วรูปแบบจะถูกเขียนออกมาอีกครั้ง
แก้ไฟล์ JSON ที่แปลงจาก SRT ด้วยมือปลอดภัยไหม
ปลอดภัย และการแปลงกลับคือการตรวจสอบ ถ้าไฟล์แยกวิเคราะห์ได้ การแปลงจะสร้างคิวด้วยเวลาที่คุณใส่ไว้ การแปลงไปกลับผ่านตัวแปลงจึงเป็นวิธีหาแก้คำผิดได้เร็ว
นำ JSON จาก SRT ไปใช้ในสคริปต์ได้ไหม
ได้ นั่นคือจุดประสงค์ของมัน อ่านอาร์เรย์ cues เอา start กับ end เป็นตัวเลข แล้วต่อบรรทัด — บรรทัดเป็นได้ทั้งสตริงหรือออบเจกต์ที่ฟิลด์ text เก็บคำ