Konversi JSON ke MicroDVD
Atau tempel teks subtitle
Opsi
Frame rate yang dipakai untuk menghitung waktu. Di halaman format, inilah yang dibutuhkan MicroDVD, karena format itu menyimpan waktu sebagai nomor frame. Di halaman frame rate, ini adalah laju yang dipakai saat file diberi waktu — versi tempat subtitle dibuat — dan kotak kedua di halaman tersebut menerima laju video yang akan Anda gunakan bersama subtitle ini. 23,976, 24, 25, 29,97, 30, 50, 59,94, dan 60 adalah nilai yang umum. Nilai yang salah akan menggeser seluruh timeline, dan di halaman frame rate pergeserannya berupa rasio, bukan jumlah tetap.
Apa yang berubah dalam konversi ini
4 hal dihapus atau memerlukan keputusan
- Pemformatan
seluruh pemformatan (tebal, miring, warna, garis tepi, bayangan)
- Posisi
posisi di layar (setiap cue kembali ke posisi bawaan)
- Karaoke
timing karaoke (penyorotan per suku kata)
- Frame rate
format ini menyimpan waktu sebagai nomor frame — waktunya bergantung pada frame rate yang Anda berikan
Daftar ini berasal dari matriks kemampuan untuk kedua format ini, bukan dari file tertentu yang Anda muat. File tertentu bisa kehilangan lebih banyak jika memakai fitur yang diizinkan format tetapi tidak dimodelkan matriks.
Alat ini mengonversi JSON ke MicroDVD langsung di peramban Anda. Seret file atau tempel teks, dan versi MicroDVD siap diunduh; tidak ada unggahan dan tidak perlu akun.
Kedua format ini tidak menyimpan hal yang sama, dan perbedaannya bukan sekadar kosmetik: gaya, posisi, dan karaoke tidak punya tempat di MicroDVD; timing MicroDVD bergantung pada frame rate, jadi frame rate harus diatur agar cocok dengan video. Dokumen JSON di sini adalah model field: setiap cue punya `id`, `start`, dan `end` dalam milidetik, `lines` membawa `tags`, dan objek `styles` menyimpan tabel gaya. Daftar di atas berasal dari apa yang dapat diekspresikan masing-masing format, bukan dari file Anda, jadi jawabannya sama sebelum Anda memuat apa pun.
Satu file maupun ratusan file bisa masuk ke antrean yang sama; hasilnya diunduh bersama sebagai satu ZIP setelah semuanya selesai.
Contoh
File JSON umum, dikonversi ke MicroDVD
Masukan
{
"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"
}
]
}
Keluaran
{1}{1}25
{0}{50}Hello world.|Second line.
{63}{100}Plain line.|Styled line.
{113}{150}Roger: I am here.
Yang hilang pada keluaran ini: gaya, posisi, karaoke, dan frame rate. Sisanya cocok baris demi baris.
Konversi yang sama pada input berantakan
Masukan
[
{ "start": 0, "end": 1000, "lines": ["First."] },
{ "start": 1000, "end": 2000, "text": "Second." },
"not an object",
{ "start": 2000, "end": 3000, "lines": ["Third."], "class": "top" }
]
Keluaran
{1}{1}25
{0}{25}First.
{25}{50}Second.
{50}{75}Third.
Inilah jenis kerusakan yang ada pada file nyata — byte-order mark, koma yang hilang, nilai null, atau waktu yang tidak terbaca. Bandingkan dengan contoh rapi di atas untuk melihat apa yang dimaafkan parser.
Pertanyaan yang sering diajukan
Apa yang terjadi pada tebal, miring, dan warna dari JSON ke MicroDVD?
MicroDVD tidak menyimpan gaya apa pun, jadi ketika JSON menjadi MicroDVD semuanya hilang: `tags` yang dibawa baris sebuah cue, atau entri dari objek `styles` dokumen itu sendiri — tidak ada yang punya tempat, dan setiap baris ditulis sebagai teks biasa. Kata-katanya sendiri tidak disentuh.
Apa yang terjadi pada posisi di layar dari JSON ke MicroDVD?
MicroDVD tidak dapat menyatakan di mana subtitle digambar, jadi rujukan posisi yang dibawa setiap cue dibuang saat keluar dari JSON, dan setiap cue kembali ke posisi bawaan yang dipilih pemutar — umumnya bagian bawah bingkai dan di tengah.
Apa yang terjadi pada timing karaoke dari JSON ke MicroDVD?
Timingnya hilang; kata-katanya tetap. Karaoke hidup di span karaoke yang dibawa cue JSON, yang menandai kapan setiap suku kata menyala, dan MicroDVD tidak punya cara mencatat momen di dalam satu baris — jadi tandanya dilepas dan suku katanya tiba sebagai teks MicroDVD biasa.
Frame rate mana yang harus saya atur untuk konversi JSON ke MicroDVD?
MicroDVD menyimpan subtitle sebagai sepasang nomor frame, bukan waktu jam — `{103}{175}` — jadi frame rate adalah yang mengubah timing JSON menjadi yang dibutuhkan file: pada 25 frame per detik, empat detik berarti frame 100. Atur ke frame rate video tujuan subtitle ini; nilai yang salah hampir tidak terlihat di awal dan makin melenceng semakin lama video berjalan.
Seperti apa keluarannya ketika JSON menjadi MicroDVD?
Keluaran MicroDVD disusun seperti MicroDVD — tanpa nomor cue: sepasang nomor frame dalam kurung kurawal membuka setiap baris. Cue yang di JSON ditulis `4126` menjadi cue yang di MicroDVD ditulis `103`, dalam urutan yang sama, dan tidak ada teks yang berubah.
Bagaimana cue JSON dua baris keluar di MicroDVD?
Dua baris JSON menjadi satu baris dengan tanda pipa vertikal di antara kedua bagian, cara MicroDVD menulis pemisah baris. Pasangannya bertahan — keduanya tetap menjadi satu subtitle di keluaran MicroDVD, dan pemutar menampilkannya bersama.
Apakah cue JSON mempertahankan urutannya di keluaran MicroDVD?
Ya. Selama konversi, cue disusun menurut waktu mulai dari yang paling awal, karena itulah urutan yang diharapkan semua format di sini dan yang dibaca pemutar. Bila file JSON mendaftar cue tidak berurutan, keluaran MicroDVD merapikannya; struktur file berubah, isinya tidak, dan itu memang disengaja.
Bisakah MicroDVD dikonversi balik ke JSON?
Ya, dan arah itu punya daftarnya sendiri: mengonversi MicroDVD ke JSON menghilangkan frame rate. Daftar itu berbeda dari daftar di atas karena kedua format menyimpan hal yang berbeda.
Apakah keluaran MicroDVD mempertahankan encoding file JSON?
Tidak — keluarannya UTF-8, dengan akhir baris Unix dan tanpa byte-order mark, apa pun yang dipakai file JSON. File yang datang dalam UTF-16 atau encoding satu-byte Windows didekode saat masuk (panel hasil memberi tahu bila itu terjadi); yang keluar selalu MicroDVD UTF-8 yang sama.