Siirry pääsisältöön
SubtitleMatrix

Muunna CSV muotoon SMI

Tai liitä tekstityksen teksti

Mitä tämä muunnos muuttaa

Tässä suunnassa ei menetetä mitään — jokaisella lähdemuodon ominaisuudella on paikka kohdemuodossa.

Tämä luettelo tulee näiden kahden muodon kyvykkyysmatriisista, ei lataamastasi tiedostosta. Tietty tiedosto voi menettää enemmän, jos se käyttää ominaisuuksia, jotka muoto sallii mutta matriisi ei mallinna.

Kun CSV muunnetaan SMI:ksi, jokainen CSV-tiedoston alaotsikko kirjoitetaan uudelleen muotoon, jossa yksi alaotsikko on SYNC-lohko, joka vaihtaa ruudun sisällön. Aikakoodi vaihtaa muotoa: CSV kirjoittaa sen muodossa 00:00:01.000,00:00:03.500, SMI puolestaan muodossa <SYNC Start=1000>. Sanoja ei muuteta, vaan CSV-tiedoston teksti siirretään SMI:in sellaisenaan.

Tässä suunnassa CSV ja SMI ovat menetyksettömiä: jokainen CSV-tiedoston tallentama asia mahtuu SMI:in sellaisenaan, eli teksti, alku- ja loppuaika ja rivinvaihdot. Raportti CSV → SMI -muunnoksen yläpuolella vahvistaa tämän jokaiselle tiedostolle erikseen.

Eräajossa CSV-tiedostot jonottuvat ja valmistuvat yksi kerrallaan; keskeytys toimii kesken SMI-muunnoksen ja tulokset pakataan yhdeksi ZIP-tiedostoksi. Mitään ei lähetetä palvelimelle: koko CSV-muunnos SMI:ksi tapahtuu omalla koneellasi.

Esimerkit

Tyypillinen CSV-tiedosto muunnettuna SMI:ksi

Syöte

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."

Tuotos

<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>&nbsp;
<SYNC Start=4000>
<P>Jumps over, the lazy dog.
<SYNC Start=6250>
<P>&nbsp;
<SYNC Start=7000>
<P>Two lines here.<br>And a second one.
<SYNC Start=9000>
<P>&nbsp;
</BODY>
</SAMI>

SMI-tuloste vastaa CSV-lähdettä rivi riviltä – mitään ei pudoteta.

Hankala CSV-tiedosto ja SMI-muunnos

Syöte

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.

Tuotos

<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>&nbsp;
<SYNC Start=5000>
<P>Second line.
<SYNC Start=7000>
<P>&nbsp;
<SYNC Start=10000>
<P>End before start.
<SYNC Start=10001>
<P>&nbsp;
<SYNC Start=12000>
<P>Unquoted comma in text, right here.
<SYNC Start=14000>
<P>&nbsp;
</BODY>
</SAMI>

Näin rikkinäinen CSV-tiedosto saapuu SMI-muunnokseen: BOM-merkintä, Windows-rivinvaihdot ja lukukelvottomat aikakoodit eivät kaada jäsennintä. Vertaa sitä yllä olevaan siistiin esimerkkiin ja katso, mitä SMI saa mukaansa.

Usein kysytyt kysymykset

Miten CSV ja SMI kirjoittavat aikakoodin?

CSV kirjoittaa ajan muodossa 00:00:01.000,00:00:03.500: start- ja end-sarakkeina pisteellisellä millisekuntimuodolla. SMI käyttää muotoa <SYNC Start=1000>, eli millisekunteina SYNC-merkinnän Start-arvossa. Tarkkuus on molemmilla puolilla sama, joten aika itse ei muutu – vain sen kirjoitusasu vaihtuu. SAMI merkitsee ajan SYNC Start -arvona ja päättää alaotsikon vasta seuraavassa SYNC-lohkossa.

Miksi CSV ja SMI ovat tässä suunnassa menetyksettömiä?

Tässä suunnassa ei menetetä mitään: jokainen CSV-tiedoston tallentama asia mahtuu SMI:in sellaisenaan, eli teksti, alku- ja loppuaika ja rivinvaihdot. Myöskään SMI-tiedoston luku ei kadota mitään, ellet tuo rikkinäistä tiedostoa, jonka jäsennin joutuu korjaamaan.

Miten rivinsisäiset tagit käyttäytyvät, kun CSV muunnetaan SMI:ksi?

CSV merkitsee rivinsisäisen muotoilun muodossa <i>, <b> ja <font color> -tagit, ja SMI kirjoittaa sen muodossa <i>, <b>, <font color> ja <br>.

Pysyvätkö CSV-tiedoston rivit erillään SMI:ssä?

Monirivisen alaotsikon rivit erotetaan CSV:ssä lainatun kentän sisäisellä rivinvaihdolla, ja SMI merkitsee ne <br>-merkinnällä.

Miksi CSV:stä tehdyssä SMI-tiedostossa on tyhjiä SYNC-lohkoja?

SMI ei kirjoita alaotsikon loppuaikaa, vaan päättää sen seuraavalla SYNC-lohkolla. Siksi CSV-tiedoston jokaisen alaotsikon jälkeen syntyy tyhjennyslohko (<P>&nbsp;), ja SMI-tiedostossa on enemmän lohkoja kuin CSV-lähteessä oli alaotsikoita.

Toimiiko paluumuunnos SMI:stä CSV:hen samalla tavalla?

Kyllä, mutta paluusuunnassa menetettävää on: dokumenttitason tyylit, sijoittelu ruudulla ja alaotsikoiden ulkopuolinen sisältö. Kun SMI muunnetaan CSV:ksi, dokumenttitason tyylit – esimerkiksi STYLE-lohkon asettelusäännöt – eivät mahdu CSV:hen. Edestakainen matka CSV:stä SMI:in ja takaisin ei palauta sitä, mitä ensimmäinen muunnos pudotti.

Lähetetäänkö CSV-tiedostoni palvelimelle, kun teen SMI-muunnosta?

Ei. Jono käsittelee CSV-tiedostot yksi kerrallaan, ajon voi keskeyttää milloin tahansa ja tulokset tulevat yhtenä ZIP-tiedostona. Jokainen SMI-tiedosto kirjoitetaan selaimessa, joten mitään ei lähetetä palvelimelle; yksittäinen tekstitystiedosto saa olla enintään 64 Mt.

Aiheeseen liittyvät työkalut