แปลง CSV เป็น SMI
หรือวางข้อความคำบรรยาย
การแปลงนี้เปลี่ยนอะไร
ไม่มีอะไรสูญหายในทิศทางนี้ — ทุกคุณสมบัติของรูปแบบต้นทางมีที่ไปในรูปแบบปลายทาง
รายการนี้มาจากเมทริกซ์ความสามารถของสองรูปแบบนี้ ไม่ได้มาจากไฟล์ที่คุณโหลด ไฟล์หนึ่งอาจสูญหายมากกว่าหากใช้คุณสมบัติที่รูปแบบอนุญาตแต่เมทริกซ์ไม่ได้จำลอง
หน้านี้แปลง CSV เป็น SMI คุณลากไฟล์มาวางหรือวางข้อความลงไป แล้วรับไฟล์ SMI กลับคืน การแปลงทั้งหมดทำงานในเบราว์เซอร์ ไม่มีการอัปโหลดและไม่ต้องมีบัญชี
ทิศทางนี้ไม่สูญเสียอะไร: ทุกอย่างที่ CSV แสดงออกได้มีสิ่งที่เทียบเท่าใน SMI ผลลัพธ์จึงเป็นคำบรรยายชุดเดียวกันในกล่องที่ต่างออกไป — ไทม์ไลน์ การขึ้นบรรทัดใหม่ และข้อความยังอยู่ครบ ใช้ได้กับไฟล์ CSV ทุกไฟล์ รวมถึงไฟล์ที่ใช้ทุกคุณสมบัติที่รูปแบบอนุญาต ไฟล์เดียวหรือทั้งซีซันก็ได้: คิวจะประมวลผลตามลำดับและดาวน์โหลดผลลัพธ์รวมเป็น ZIP เดียว
ตัวอย่าง
ไฟล์ CSV ทั่วไป แปลงเป็น SMI
ข้อมูลนำเข้า
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."
ผลลัพธ์
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P>The quick brown fox.
<SYNC Start=3500>
<P>
<SYNC Start=4000>
<P>Jumps over, the lazy dog.
<SYNC Start=6250>
<P>
<SYNC Start=7000>
<P>Two lines here.<br>And a second one.
<SYNC Start=9000>
<P>
</BODY>
</SAMI>
ไม่มีการสูญหายที่นี่ เทียบสองฝั่งทีละบรรทัด
การแปลงเดียวกันกับข้อมูลที่ยุ่งเหยิง
ข้อมูลนำเข้า
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.
ผลลัพธ์
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P>Hello there, friend.
<SYNC Start=4000>
<P>
<SYNC Start=5000>
<P>Second line.
<SYNC Start=7000>
<P>
<SYNC Start=10000>
<P>End before start.
<SYNC Start=10001>
<P>
<SYNC Start=12000>
<P>Unquoted comma in text, right here.
<SYNC Start=14000>
<P>
</BODY>
</SAMI>
นี่คือความเสียหายแบบที่ไฟล์จริงมี — การขึ้นบรรทัดใหม่ปนกัน ช่องว่างเกิน และช่องที่เว้นว่าง เทียบกับตัวอย่างเรียบร้อยด้านบนเพื่อดูว่าตัวแยกวิเคราะห์ให้อภัยอะไรได้บ้าง
คำถามที่พบบ่อย
ผลลัพธ์มีหน้าตาอย่างไรเมื่อ CSV กลายเป็น SMI?
เหมือน SMI: ไม่มีเลขคิวและไม่มีบรรทัดไทม์โค้ด — ทุกคิวคือแท็ก `<SYNC Start=…>` ที่มีข้อความอยู่ใน `<P>` ใต้ลงไป และเพราะ SYNC แทนที่สิ่งที่อยู่บนจอ จึงมีบล็อก `<P> ` ตามมาทันทีเพื่อคืนจอให้ว่าง ทุกคิว CSV กลายเป็นหนึ่งคิว SMI ตามลำดับเดิม ด้วยข้อความเดิม
ไทม์โค้ด CSV แม่นยำในไฟล์ SMI ไหม?
แม่นถึงมิลลิวินาที — ซึ่งละเอียดที่สุดที่ทั้งสองรูปแบบทำได้ CSV เขียนเวลาเป็น `00:00:04.126` และ SMI เขียนช่วงเวลาเดียวกันเป็น `Start=4126` ไม่มีการปัดหรือเลื่อนระหว่างกัน และคิวที่เคยอยู่บนจอ 2.9 วินาทีก็ยังคงเป็น 2.9 วินาที
คิว CSV ที่มีสองบรรทัดออกมาเป็นอย่างไรใน SMI?
เป็นสองบรรทัดที่มี `<br>` คั่นกลาง ซึ่งเป็นวิธีที่ SAMI เขียนการขึ้นบรรทัดแบบบังคับ คู่บรรทัดยังคงอยู่ — สองบรรทัดของ CSV ยังเป็นคำบรรยายเดียวกันในผลลัพธ์ และโปรแกรมเล่นแสดงพร้อมกัน
คิว CSV ยังคงลำดับเดิมในผลลัพธ์ SMI หรือไม่?
ใช่ และถูกเรียงตามเวลาเริ่มระหว่างทาง — เริ่มก่อนอยู่ก่อน ซึ่งเป็นลำดับที่ทุกรูปแบบบนเว็บนี้คาดหวังและโปรแกรมเล่นอ่าน ถ้าไฟล์ CSV ของคุณเรียงคิวผิดลำดับ ผลลัพธ์ SMI จะจัดกลับให้ นั่นคือการเปลี่ยนโครงสร้างไฟล์ ไม่ใช่เนื้อหา และเป็นเจตนา
แปลง SMI กลับเป็น CSV ได้ไหม?
ได้ การแปลง SMI เป็น CSV ทำได้ แต่นั่นคือทิศทางที่สูญเสีย: สไตล์ ตำแหน่งและข้อมูลเฉพาะรูปแบบไม่มีที่ไปใน CSV ส่วนทางนี้ไม่เสียอะไร ต้นทุนจึงเกิดเฉพาะเมื่อคุณแปลงกลับ
ผลลัพธ์ SMI เก็บ encoding เดิมของไฟล์ CSV ไว้ไหม?
ไม่ — ผลลัพธ์เป็น UTF-8 ใช้การขึ้นบรรทัดแบบ Unix และไม่มี byte-order mark ไม่ว่าไฟล์ CSV จะใช้แบบไหน ไฟล์ที่มาเป็น UTF-16 หรือ encoding แบบไบต์เดียวของ Windows จะถูกถอดรหัสตอนอ่าน (แผงผลลัพธ์จะบอกเมื่อเกิดกรณีนั้น) สิ่งที่ออกมาคือ SMI แบบ UTF-8 เหมือนกันทุกครั้ง