Muunna JSON muotoon LRC
Tai liitä tekstityksen teksti
Mitä tämä muunnos muuttaa
5 asiaa pudotetaan tai vaativat päätöksen
- Ajoitus
alaotsikoiden loppuajat (tuotosmuoto tallentaa vain alaotsikon alkamisen)
- Tyyli
kaikki tyylit (lihavointi, kursiivi, väri, ääriviiva, varjo)
- Sijoittelu
sijoittelu ruudulla (jokainen alaotsikko palaa oletussijaintiin)
- Karaoke
karaokeajoitus (tavukohtainen korostus)
- Tarkkuus
ajoituksen tarkkuus — tuotoksen kello on karkeampi, joten jokainen aikaleima pyöristetään lähimpään 10 ms:ään
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.
Tällä sivulla JSON muuttuu LRC:ksi: JSON merkitsee alaotsikon muotoon cues-taulukon alkio, jossa on start-, end- ja lines-kentät, ja LRC odottaa muotoa yksi aikaleimattu tekstirivi. Aikakoodi vaihtaa muotoa: JSON kirjoittaa sen muodossa {"start": 1000, "end": 3500}, LRC puolestaan muodossa [00:12.00]. Alaotsikoiden teksti kulkee JSONista LRC:hen sellaisenaan, koska muunnos ei koske sanoja.
Kun JSON muunnetaan LRC:ksi, menetettävää on alaotsikoiden loppuajat, dokumenttitason tyylit: fontit, koot, värit, ääriviivat ja varjot, sijoittelu ruudulla, karaoken ajoitus ja aikojen tarkkuus. Kun JSON muunnetaan LRC:ksi, loppuaika johdetaan seuraavan rivin alusta ja viimeinen rivi saa oletuskeston. Raportti näkyy JSON → LRC -ruudun yläpuolella ennen muunnosta, ja jokainen kohta lasketaan tiedostokohtaisesti.
Eräajossa JSON-tiedostot jonottuvat ja valmistuvat yksi kerrallaan; keskeytys toimii kesken LRC-muunnoksen ja tulokset pakataan yhdeksi ZIP-tiedostoksi. Mitään ei lähetetä palvelimelle: koko JSON-muunnos LRC:ksi tapahtuu omalla koneellasi.
Esimerkit
Tavallinen JSON-tiedosto LRC-muunnoksessa
Syöte
{
"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"
}
]
}
Tuotos
[ti:Fixture: typical]
[00:00.00]Hello world.
[00:00.00]Second line.
[00:02.50]Plain line.
[00:02.50]Styled line.
[00:04.50]Roger: I am here.
Tulosteessa JSONista LRC:hen menetetään loppuajat, dokumenttitason tyylit, sijoittelu, karaoke ja aikojen tarkkuus; vertaa kahta puolta rivi riviltä ja katso, mikä säilyi.
Hankala JSON-tiedosto ja LRC-muunnos
Syöte
[
{ "start": 0, "end": 1000, "lines": ["First."] },
{ "start": 1000, "end": 2000, "text": "Second." },
"not an object",
{ "start": 2000, "end": 3000, "lines": ["Third."], "class": "top" }
]
Tuotos
[00:00.00]First.
[00:01.00]Second.
[00:02.00]Third.
Näin rikkinäinen JSON-tiedosto saapuu LRC-muunnokseen: BOM-merkintä, Windows-rivinvaihdot ja lukukelvottomat aikakoodit eivät kaada jäsennintä. Vertaa sitä yllä olevaan siistiin esimerkkiin ja katso, mitä LRC saa mukaansa.
Usein kysytyt kysymykset
Miten JSON ja LRC kirjoittavat aikakoodin?
JSON kirjoittaa ajan muodossa {"start": 1000, "end": 3500}: kokonaislukuina millisekunteina. LRC käyttää muotoa [00:12.00], eli minuutit, sekunnit ja sadasosat hakasulkeissa, vain alkukohta. LRC tallentaa vain alkukohdan sadasosan tarkkuudella, joten loppuaika johdetaan seuraavasta rivistä ja viimeinen rivi saa oletuskeston.
Mitä JSONista menetetään, kun siitä tehdään LRC?
Kun JSON muunnetaan LRC:ksi, menetettävää on alaotsikoiden loppuajat, dokumenttitason tyylit: fontit, koot, värit, ääriviivat ja varjot, sijoittelu ruudulla, karaoken ajoitus ja aikojen tarkkuus. Kun JSON muunnetaan LRC:ksi, loppuaika johdetaan seuraavan rivin alusta ja viimeinen rivi saa oletuskeston. Kun JSON muunnetaan LRC:ksi, dokumenttitason tyylit – fontit, koot, värit, ääriviivat, varjot ja marginaalit – eivät mahdu LRC:hen. Alaotsikoiden teksti ja keskinäinen järjestys säilyvät.
Entä lihavointi, kursivointi ja väri – säilyvätkö ne JSONista LRC:hen?
JSON merkitsee rivinsisäisen muotoilun muodossa merkkirajoina tallennetut tagit, mutta LRC ei tunne rivinsisäisiä tageja, joten muotoilu katoaa ja jäljelle jää pelkkä teksti.
Pysyvätkö JSON-tiedoston rivit erillään LRC:ssä?
Monirivisen alaotsikon rivit erotetaan JSONissa lines-taulukon erillisinä alkioina, ja LRC merkitsee ne antamalla jokaiselle riville oman aikaleiman. LRC:ssä jokainen rivi saa oman aikaleimansa, joten yhdestä alaotsikosta tulee useita peräkkäisiä rivejä.
Mitä JSON-tiedoston karaoken ajoitukselle tapahtuu LRC:ssä?
JSON tallentaa karaoken tagirakenteeseen: jokainen tavu on oma merkkiraja, jolla on kind: karaoke ja kestonsa. LRC ei tunne karaokea, joten tavut säilyvät tekstinä, mutta sekä merkinnät että kestot katoavat.
Toimiiko paluumuunnos LRC:stä JSONiin samalla tavalla?
Kyllä, mutta paluusuunnassa menetettävää on: alaotsikoiden loppuajat, jotka joudutaan laskemaan. Kun LRC muunnetaan JSONiksi, alkukohdat ovat oikeita, mutta loppuajat lasketaan seuraavasta rivistä ja viimeinen saa oletuskeston. Edestakainen matka JSONista LRC:hen ja takaisin ei palauta sitä, mitä ensimmäinen muunnos pudotti.
Toimiiko JSON → LRC -eräajo, kun tiedostoja on sata?
Kyllä. Jono käsittelee JSON-tiedostot yksi kerrallaan, ajon voi keskeyttää milloin tahansa ja tulokset tulevat yhtenä ZIP-tiedostona. Jokainen LRC-tiedosto kirjoitetaan selaimessa, joten mitään ei lähetetä palvelimelle; yksittäinen tekstitystiedosto saa olla enintään 64 Mt.