Konversi timecode non-drop ke drop-frame
Atau tempel teks subtitle
Opsi
Non-drop 30 fps dan drop-frame 29,97 menulis jam yang sama secara berbeda, dan kotak ini memilih arah file dibaca dan arah file ditulis kembali. Cue pada satu jam terbaca 01:00:00,000 pada satu konvensi dan 01:00:03,600 pada konvensi lain — selisih keduanya 3,6 detik per jam, bukan kesalahan pembulatan. Judul halaman menyebut satu arah, dan kotak ini hanya menawarkan arah itu, sehingga file yang Anda dapat adalah file yang menjadi pokok halaman. Tidak ada yang berubah pada teksnya: tidak ada cue yang waktunya disesuaikan terhadap video, tidak ada frame rate yang dikonversi, dan cue di dalam menit pertama setiap jam kembali persis seperti saat masuk, karena tidak ada label frame yang dibuang di sana.
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.
Halaman ini menulis ulang setiap timecode dalam file subtitle dari non-drop-frame 30 fps menjadi drop-frame 29,97 fps. Jatuhkan file, jalankan, dan waktu mulai serta waktu akhir setiap cue kembali tertulis dengan konvensi yang lain. Kata-kata, nomor cue, urutan cue, dan pemisah baris adalah milik file itu sendiri dan dibiarkan persis seperti semula.
Kedua konvensi mengeja jam yang sama dengan cara berbeda, dan sebuah file harus memakai konvensi yang dipakai sisa pipeline-nya. Drop-frame menghitung 30 label per detik tetapi melewati dua label setiap menit kecuali setiap menit kesepuluh; itulah cara ia tetap sejalan dengan jam dinding sementara non-drop perlahan tertinggal. Setelah satu jam, keduanya terpaut 3,6 detik: 01:00:00,000 menurut non-drop adalah 01:00:03,600 menurut drop-frame. Selisih itu bukan galat pembulatan dan tidak akan dibulatkan hilang — ia tumbuh bersama program, mencapai 36 detik pada sepuluh jam.
Tidak ada yang bergerak di menit pertama sebuah jam, karena tidak ada label yang dibuang di sana dan kedua konvensi mengeja rentang itu secara identik. Hal itu berlaku untuk jam yang sudah berada di tick frame 30 fps — 00:00:02,000 adalah salah satunya — dan jam yang berada di antara dua tick dipindahkan ke tick terdekat, paling jauh 17 milidetik. Membaca jam sebagai timecode selalu merapatkannya ke grid frame, di seluruh file; di dalam menit pertama, perapatan itulah satu-satunya yang bergerak. Waktu file subtitle biasanya berasal dari alat yang akurat per frame dan sudah berada di grid, sehingga rentang itu sering kali memang kembali byte demi byte.
Tidak ada format subtitle yang dibaca di sini yang memiliki bidang untuk mencatat konvensi mana yang dipakai sebuah jam — SRT, WebVTT, ASS, SSA, SBV, SAMI, MicroDVD, TTML, JSON, dan CSV semuanya hanya menulis waktu. Jadi halaman ini mengubah angkanya, dan konvensi yang dimaksud tetap menjadi properti pipeline Anda, persis seperti sebelum file tiba. Apa yang tidak ada di dalam file tidak bisa ditulis ke dalamnya, dan berpura-pura sebaliknya akan lebih buruk daripada mengatakannya.
Ini bukan konversi frame rate. File yang diberi timing untuk video 25 fps tidak diubah timing-nya di sini, dan tidak ada yang direnggangkan atau dimampatkan terhadap video: timing mempertahankan jaraknya dan hanya cara penulisannya yang berubah. Jika yang Anda butuhkan adalah pekerjaan lain — file subtitle yang jarak antar-cue-nya mengikuti frame rate berbeda — ada halaman tersendiri untuk itu. Tidak ada yang diunggah juga: file dibaca dan ditulis di dalam tab browser, sehingga materi yang tidak boleh keluar dari mesin tetap tinggal di sana.
Contoh
File pada menit kelima
Masukan
1
00:05:00,000 --> 00:05:02,000
The room is dark.
2
00:10:00,000 --> 00:10:03,000
A cold night.
Keluaran
1
00:05:00,333 --> 00:05:02,333
The room is dark.
2
00:10:00,600 --> 00:10:03,600
A cold night.
Kedua cue tidak bergerak dengan jumlah yang sama, dan itulah keseluruhan operasinya: pada menit kelima, drop-frame telah melewati sepuluh label, jadi jam terbaca 333 ms lebih lambat; pada menit kesepuluh ia telah melewati delapan belas label, jadi jam terbaca 600 ms lebih lambat. Teks dan nomor cue adalah milik file — hanya dua nilai jam per cue yang ditulis ulang.
File yang sama pada satu jam
Masukan
1
01:00:00,000 --> 01:00:03,000
An hour into the programme.
Keluaran
1
01:00:03,600 --> 01:00:06,600
An hour into the programme.
Pada satu jam kedua konvensi terpaut 3,6 detik, yaitu 108 label yang dilewati. Ini angka yang perlu dibandingkan jika Anda memeriksa halaman ini: baca baris pertama output dan seharusnya tepat 3600 ms lebih lambat daripada baris pertama input. Kedua tepi cue bergerak, jadi cue mempertahankan panjangnya.
Cue di dalam menit pertama
Masukan
1
00:00:02,000 --> 00:00:04,000
Nothing to re-label yet.
2
00:05:00,000 --> 00:05:02,000
This one does move.
Keluaran
1
00:00:02,000 --> 00:00:04,000
Nothing to re-label yet.
2
00:05:00,333 --> 00:05:02,333
This one does move.
Cue pertama kembali byte demi byte dan cue kedua bergerak, dalam proses yang sama. Selama menit pertama sebuah jam tidak ada label yang dibuang, jadi kedua konvensi mengeja enam puluh detik itu secara identik — dan 00:00:02,000 sudah berada di tick frame 30 fps, sehingga tidak ada yang berubah padanya. Jam yang berada di antara dua tick akan didorong ke tick terdekat, paling jauh 17 ms, yaitu perapatan yang sama yang diterapkan halaman ini di seluruh file. Melihat satu cue tidak berubah di samping cue yang bergerak adalah hasil yang diharapkan di sini, bukan proses yang baru setengah jalan.
Pertanyaan yang sering diajukan
Apa perbedaan antara timecode drop-frame dan non-drop-frame?
Keduanya menghitung 30 label per detik, tetapi 29,97 fps tidak menghasilkan 30 frame per detik — ia menghasilkan sekitar 29,97, sehingga jam yang menghitung 30 label per detik perlahan kehilangan ground terhadap waktu nyata. Drop-frame memperbaikinya dengan melewati dua label di awal setiap menit kecuali setiap menit kesepuluh: labelnya dibuang meskipun frame-nya tidak. Non-drop mempertahankan semua label dan terus melenceng. Saat ditulis, keduanya tampak seperti jenis angka yang sama; saat dibaca terhadap frame yang sama, keduanya terpaut 3,6 detik setelah satu jam dan semakin jauh selama program berjalan.
Mengapa cue pada satu jam keluar 3,6 detik lebih lambat daripada saat masuk?
Karena 3,6 detik adalah hasil dari satu jam label yang dilewati: 2 label per menit selama 54 menit dari setiap 60 menit, pada 33,37 ms per label, yaitu 108 label atau 3600 ms per jam. Halaman ini tidak menambahkan tunda — ia menulis frame yang sama di bawah konvensi lain, dan konvensi lain itu terbaca lebih lambat pada titik tersebut dalam program. Cue pada 01:00:00,000 masuk dan 01:00:03,600 keluar; kedua tepinya bergerak, jadi cue mempertahankan panjangnya sampai milidetik.
Mengapa menit pertama file saya kembali tanpa berubah?
Karena tidak ada label yang dibuang selama menit pertama sebuah jam, jadi drop-frame dan non-drop-frame mengeja rentang itu secara identik — 00:00:02,000 berarti 60 frame menurut keduanya, dan 60 frame ditulis dengan cara yang sama pada keduanya. Pergeseran dimulai di batas menit pertama lalu membesar. Ada satu hal lain yang bisa memindahkan waktu di rentang itu: membaca jam sebagai timecode merapatkannya ke tick frame 30 fps terdekat, jadi nilai yang berada di antara dua tick, misalnya 00:00:02,010, kembali sebagai 00:00:02,000. Waktu yang disalin dari alat akurat per frame sudah berada di grid dan tidak bergerak sama sekali.
Arah mana yang saya butuhkan — non-drop ke drop-frame, atau sebaliknya?
Tergantung dari mana timecode di file Anda dibaca. Jika Anda mengambil timing dari pemutar atau editor yang disetel ke non-drop dan pipeline tujuan Anda bekerja dalam drop-frame, inilah halamannya. Jika file Anda dicap terhadap tampilan drop-frame dan alat di hilir mengharapkan non-drop, Anda membutuhkan halaman lain, yang memindahkan jam ke arah sebaliknya sebesar 3,6 detik per jam yang sama. Cara cepat membedakannya: jalankan file di sini dan bandingkan satu cue — jika jam output terbaca lebih lambat daripada input, arah inilah yang dibutuhkannya.
Apakah halaman ini mengubah frame rate subtitle saya?
Tidak. Tidak ada yang diskalakan dan tidak ada yang direnggangkan: cue yang tadinya dua detik tetap dua detik, dan jarak antar-cue tidak berubah, karena setiap cue bergerak dengan jumlah yang bergantung pada posisinya, bukan dengan rasio. File yang diberi timing untuk video 25 fps juga tidak dikonversi ke 29,97 di sini — kotak frame rate ada karena MicroDVD menyimpan timing sebagai nomor frame dan tidak bisa dibaca tanpanya. Mengubah jarak timing sebuah file dari satu frame rate ke frame rate lain adalah operasi berbeda dengan halamannya sendiri.
Apakah file menyatakan di suatu tempat bahwa timecode-nya sekarang drop-frame?
Tidak, dan tidak ada format yang dibaca di sini yang bisa melakukannya: SRT, WebVTT, ASS, SSA, SBV, SAMI, MicroDVD, TTML, JSON, dan CSV semuanya menyimpan waktu dan tidak menyimpan cara waktu itu dihitung. Hal itu sudah berlaku pada file yang Anda jatuhkan. Jadi halaman ini mengubah angkanya dan konvensi yang dimaksud tetap seperti yang dikatakan pipeline Anda — pengaturan yang sama seperti sebelumnya, kini dengan angka yang sesuai dengannya. Jika alat di hilir memiliki setelan drop-frame sendiri, setelan itulah yang membaca nilai-nilai ini.