Lompat ke konten utama
SubtitleMatrix

Konversi MicroDVD ke JSON

Konversi formatMicroDVD (SUB)
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

1 hal dihapus atau memerlukan keputusan

  • Frame rate

    sumber menyimpan waktu sebagai nomor frame — setiap stempel waktu 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.

Halaman ini mengubah MicroDVD menjadi JSON. MicroDVD menyimpan waktu sebagai nomor frame, sedangkan JSON menyimpannya sebagai bilangan bulat milidetik di dalam objek cue.

Frame rate menentukan hasilnya. Situs ini memakai angka di panel lebih dulu, lalu deklarasi di baris pertama file, lalu bawaan 25 fps. Nilai yang salah tidak mengubah urutan atau teks, tetapi merentangkan seluruh timeline dengan rasio yang sama, sehingga awal dan akhir video meleset paling jauh.

Hanya isi khas dokumen yang tidak punya tempat di JSON; MicroDVD tidak menyimpan gaya atau posisi, jadi tidak ada yang bisa dibawa. Konversi berjalan di peramban tanpa unggahan dan tanpa akun; satu file maupun satu musim diproses berurutan.

Contoh

File MicroDVD biasa, dikonversi ke JSON

Masukan

{1}{1}25
{100}{150}The quick brown fox jumps over the lazy dog.
{200}{260}Faster than|the last one.

Keluaran

{
  "version": 1,
  "fps": 25,
  "cues": [
    {
      "start": 4000,
      "end": 6000,
      "lines": [
        "The quick brown fox jumps over the lazy dog."
      ]
    },
    {
      "start": 8000,
      "end": 10400,
      "lines": [
        "Faster than",
        "the last one."
      ]
    }
  ]
}

Yang hilang di keluaran ini: isi khas dokumen. Selebihnya cocok baris per baris.

Konversi yang sama pada masukan berantakan

Masukan

{1}{1}23.976
{0100}{0150}Leading zeros in the frame numbers.
[INFORMATION]
{300}{340}An unrecognized line above was kept in place.
{400}{450}Trailing spaces are kept.   

Keluaran

{
  "version": 1,
  "fps": 25,
  "cues": [
    {
      "start": 4000,
      "end": 6000,
      "lines": [
        "Leading zeros in the frame numbers."
      ]
    },
    {
      "start": 12000,
      "end": 13600,
      "lines": [
        "An unrecognized line above was kept in place."
      ]
    },
    {
      "start": 16000,
      "end": 18000,
      "lines": [
        "Trailing spaces are kept.   "
      ]
    }
  ]
}

File nyata sering membawa deklarasi frame rate, baris tanpa teks, dan nomor frame yang tidak berurutan. Bandingkan dengan contoh rapi di atas untuk melihat apa yang dimaafkan parser.

Pertanyaan yang sering diajukan

Dari mana JSON memperoleh milidetik jika MicroDVD hanya punya nomor frame?

Setiap nomor frame dibagi frame rate efektif lalu dikonversi ke milidetik. Frame rate diambil dari panel, deklarasi baris pertama seperti {1}{1}23.976, atau bawaan 25 fps, dalam urutan prioritas itu. JSON karena itu menyimpan hasil hitung, bukan angka yang tertulis di file.

Bagaimana JSON menentukan frame rate bila deklarasi MicroDVD berbeda dengan isian panel?

Isian panel menang. File bisa membawa deklarasi di baris pertamanya, tetapi nilai yang Anda berikan dianggap paling tahu tentang video tujuan. Bila panel dibiarkan kosong, deklarasi file yang dipakai; bila keduanya kosong, 25 fps menjadi nilai bawaan.

Apakah MicroDVD membawa gaya ke JSON?

Tidak. MicroDVD hanya menyimpan nomor frame dan teks; tidak ada tebal, miring, warna, font, atau posisi yang bisa masuk ke larik tags. Larik itu tetap ada di keluaran sebagai struktur, tetapi isinya hanya teks apa adanya.

Seperti apa bentuk keluaran MicroDVD saat menjadi JSON?

Seperti JSON: larik objek cue dengan id, start, end, dan lines. Setiap cue MicroDVD menjadi satu cue JSON dengan urutan dan teks yang sama, dan struktur ini bisa dibaca langsung oleh aplikasi lain.

Bagaimana tanda pipa vertikal MicroDVD muncul di JSON?

Sebagai dua entri dalam larik lines milik cue. Tanda pipa adalah pemisah baris MicroDVD, jadi kedua bagian tetap satu cue di JSON dan tidak menjadi dua objek terpisah.

Apakah JSON hasil konversi memakai encoding file MicroDVD?

Tidak. JSON keluaran selalu UTF-8 dengan akhir baris Unix dan tanpa byte-order mark. Encoding masukan didekode lebih dulu; bila file MicroDVD memakai UTF-16 atau encoding Windows, panel hasil memberi tahu bahwa dekode dilakukan.

Alat terkait