Artikel
Ekstrak bingkai video untuk lakaran kecil dan helaian hubungan
Video ialah jujukan imej pegun. Mengeluarkan salah satu imej tersebut memberikan anda lakaran kecil, penutup, atau helaian hubungan. Hasilnya lebih tajam dan lebih boleh dijangka apabila anda memahami cara kodek video menyimpan bingkainya dan saat mana yang bernilai untuk ditangkap.
Bingkai dan kadar bingkai
Fail video ialah jujukan imej pegun yang dipaparkan cukup pantas untuk mewujudkan ilusi gerakan. Bilangan imej yang ditunjukkan setiap saat ialah kadar bingkai, dinyatakan dalam fps. Nilai biasa ialah 24 fps untuk pawagam, 25 fps untuk siaran PAL, 30 fps untuk video web, dan 60 fps untuk rakaman permainan. Pada 24 fps, filem dua jam mengandungi kira-kira 172,800 bingkai individu. Setiap bingkai sepadan dengan satu saat dalam masa; mengekstrak satu membekukan saat itu sebagai imej bersendirian. Kadar bingkai juga menentukan berapa banyak bingkai yang anda dapat setiap saat rakaman apabila anda mengekstrak sekumpulan: pada 30 fps, menarik setiap bingkai dari satu minit video memberikan anda 1,800 imej, yang sering jauh lebih banyak daripada yang anda perlukan. Mengekstrak pada kadar bingkai yang lebih rendah, atau setiap bingkai ke-N dengan alat yang menyokongnya, ialah cara praktikal untuk mengurangkan volum itu sambil masih merangkumi durasi penuh.

Keyframe lwn bingkai interpolasi
Kodek video moden tidak menyimpan setiap bingkai sebagai imej lengkap. Mereka menggunakan tiga jenis bingkai untuk menjimatkan ruang. I-frame, juga dipanggil keyframe, ialah imej lengkap yang berdiri sendiri. P-frame hanya menyimpan piksel yang berubah sejak I-frame atau P-frame terakhir. B-frame menyimpan perubahan relatif kepada bingkai sebelum dan masa hadapan, memerlukan bingkai di kedua-dua sisi untuk merekonstruksinya. Kerana P-frame atau B-frame tidak lengkap dengan sendirinya, menyahkodnya memerlukan bingkai rujukan sekeliling. Jika bingkai rujukan tersebut mengandungi gerakan kabur atau peralihan, imej yang direkonstruksi mewarisi kabur itu. I-frame, sebaliknya, dinyahkodkan secara bebas. Ia sentiasa tajam kerana tidak meminjam apa-apa daripada jiran. Apabila mengekstrak bingkai untuk digunakan sebagai lakaran kecil, mendarat pada I-frame memberikan anda hasil yang paling bersih. Kebanyakan kodek meletakkan I-frame pada potongan adegan, yang merupakan titik permulaan tajam secara semula jadi.
Memilih saat yang betul
Walaupun I-frame yang dinyahkodkan dengan baik boleh menjadi lakaran kecil yang buruk jika saat yang ditangkap tidak menarik. Beberapa faktor mengurangkan kualiti lakaran kecil. Gerakan kabur berlaku apabila kamera atau subjek bergerak cepat semasa pendedahan bingkai; pudar yang terhasil menjadikan bingkai kelihatan lembut walaupun nyahkod berjalan dengan bersih. Bingkai peralihan yang ditangkap di pertengahan larut atau pertengahan pudar mengandungi dua imej yang bertindih dan jarang berfungsi sebagai gambar bersendirian. Bingkai yang terdedah terlalu rendah atau terlalu tinggi, biasa pada permulaan adegan sebelum pendedahan automatik diselesaikan, kehilangan butiran dalam bayangan atau sorotan. Bingkai lakaran kecil terbaik datang dari saat tindakan atau ekspresi yang jelas, pencahayaan yang baik, dan kamera yang stabil. Menggelintar melalui video dengan pemain yang menunjukkan cap masa tepat membolehkan anda mengenal pasti saat tersebut sebelum mengekstraknya. Bingkai yang kelihatan baik apabila dijeda dalam pemain biasanya akan kelihatan baik sebagai eksport pegun.

Eksport: resolusi, format, dan setiap bingkai ke-N
Apabila anda mengekstrak bingkai, imej yang dieksport harus sepadan dengan resolusi asli video. Penskalaan ke atas memperkenalkan artifak interpolasi; penskalaan ke bawah membuang piksel yang mungkin anda inginkan. Video 1080p menghasilkan imej 1920x1080 piksel, dan video 4K menghasilkan 3840x2160. Untuk format, PNG memelihara setiap piksel dengan tepat dan merupakan pilihan tepat apabila anda memerlukan ketajaman maksimum untuk penyuntingan atau penskalaan selanjutnya. JPEG lebih kecil dan sesuai untuk pratonton atau perkongsian, tetapi ia memperkenalkan artifak pemampatan di sekitar tepi tajam. Jika anda membina helaian hubungan, grid bingkai perwakilan kecil yang merangkumi durasi penuh, mengekstrak pada kadar bingkai tetap dan bukannya menarik setiap bingkai ialah pendekatan piawai: meminta 1 bingkai sesaat daripada sumber 30 fps memberikan anda satu imej setiap saat rakaman, dan kadar yang lebih tinggi seperti 5 atau 10 fps memberikan set yang lebih padat untuk pemeriksaan rapi. Kadar yang tepat bergantung pada berapa banyak butiran yang anda perlukan berbanding berapa banyak imej yang anda mahu kendalikan.
Lakukan secara tempatan dengan video-extract-frames
Alat video-extract-frames di Sunasty menyahkodkan video anda sepenuhnya dalam pelayar menggunakan FFmpeg yang dikompilasi kepada WebAssembly. Anda menjatuhkan fail, memilih kadar bingkai daripada 1 hingga 30 bingkai sesaat, memilih PNG atau JPEG, dan alat menyahkodkan bingkai pada kadar itu dalam memori pelayar anda dan menawarkan hasilnya sebagai muat turun berasingan, dihadkan kepada 300 bingkai setiap larian. Fail video anda tidak pernah meninggalkan peranti anda. Tiada bait yang dihantar ke pelayan pada bila-bila masa semasa proses berlangsung. Ini penting untuk rakaman yang mengandungi kandungan peribadi atau sensitif: rakaman keluarga, temu bual, atau rakaman mentah sebelum penyuntingan. Pelayar memuatkan video ke dalam sistem fail maya dalam RAM, menjalankan nyahkod FFmpeg, dan menyerahkan imej kembali kepada anda. Pertukaran ialah bahawa penyahkodkan dilakukan dalam perisian pada CPU anda daripada oleh perkakasan khusus, jadi video resolusi tinggi yang panjang mengambil masa lebih lama berbanding aplikasi asli. Untuk mengekstrak beberapa bingkai atau menghasilkan helaian hubungan daripada klip pendek, kecepatannya adalah praktikal.
Alat dalam artikel ini
- Ekstrak bingkai videoEkstrak bingkai pegun daripada video sebagai imej PNG atau JPG terus dalam pelayar anda. Tiada muat naik.
- Pangkas videoPotong video ke julat masa mula/tamat terus dalam pelayar anda. Salinan strim pantas atau enkod semula tepat. Tiada muat naik.
- Video ke GIFTukar klip video menjadi GIF beranimasi terus dalam pelayar anda. Tiada muat naik.
Soalan lazim
Mengapa bingkai yang diekstrak saya kelihatan kabur?
Punca paling biasa ialah mendarat pada P-frame atau B-frame semasa saat gerakan. Bingkai ini menyimpan perbezaan daripada imej lengkap, dan gerakan kabur dalam rakaman sumber dibawa ke dalam nyahkodkan. Cuba mengekstrak I-frame terdekat, yang sepadan dengan potongan adegan atau keyframe berkala, untuk hasil yang lebih tajam.
Patutkah saya mengeksport bingkai sebagai PNG atau JPEG?
PNG jika anda bercadang untuk menyunting bingkai, menskalanya ke atas, atau menggunakannya dalam konteks di mana artifak pemampatan akan kelihatan. JPEG jika anda memerlukan fail yang lebih kecil untuk perkongsian atau pratonton cepat dan pengurangan kualiti yang sedikit boleh diterima. Untuk lakaran kecil yang muncul pada saiz kecil tetap, JPEG pada tetapan kualiti yang munasabah biasanya sesuai.
Bagaimana cara saya membuat helaian hubungan daripada video?
Pilih kadar bingkai yang cukup rendah untuk memberikan anda bilangan gambar diam yang boleh diurus, berbanding satu cap masa tunggal. Untuk klip dua minit, 1 bingkai sesaat memberikan anda kira-kira 120 bingkai, yang cukup padat untuk memilih grid yang baik daripadanya; outputnya dihadkan kepada 300 bingkai setiap larian walau apa pun. Tiada kadar yang lebih kasar daripada 1 fps buat masa ini, jadi untuk helaian yang lebih jarang, ekstrak pada 1 fps dan simpan hanya bingkai yang anda mahukan untuk grid akhir.