Untuk mengubah image sequence menjadi sebuah file video, dapat menggunakan batch command program FFmpeg seperti tiga contoh berikut ini.
ffmpeg -framerate 30 -i "image%%04d.png" -c:v qtrle "output_RGBA.mov" ffmpeg -framerate 30 -i "image%%04d.png" -c:v ffv1 "output_RGBA.mkv" ffmpeg -framerate 30 -i "image%%04d.png" -c:v libx264 "output_RGB.mp4" di mana: "image%%04d.png" adalah nama file image sequence dengan padding nol 4 digit (image0001.png, image0002.png, image0003.png, dst.) File-file gambar di-rename dan diurutkan (di-sort) terlebih dulu menjadi bentuk seperti di atas. Jika image sequence-nya terdiri dari file-file gambar format PNG yang transparan, maka file video yang dihasilkan juga akan transparan, asalkan di-save dalam format dan codec video yang mendukung transparansi (RGB + alpha channel). Misalnya, format MOV dengan codec QTRLE (Quick Time Animation) dan format MKV dengan codec FFV1. Untuk format video MP4 dengan codec libx264 (H.264/AVC), tidak mendukung transparansi. Jika tidak ingin menggunakan bentuk baris perintah FFmpeg, dapat menggunakan software Shutter Encoder. Software Shutter Encoder itu sendiri sebenarnya adalah salah satu bentuk tampilan antarmuka (GUI) dari program FFmpeg, ditambah dengan fungsi-fungsi lainnya.
0 Comments
Untuk mengekstrak still frame (gambar statis) dari sebuah video dengan interval waktu tertentu, dapat menggunakan program command-line FFMPEG dengan batch script (dalam .bat file) berikut ini.
ffmpeg -i "video input.mp4" -r 1/t image-%%04d.jpg di mana: t = interval waktu dalam detik. "video input.mp4" = file video MP4 (tanda petik untuk nama file MP4 bisa tidak dituliskan, jika nama file-nya hanya terdiri dari 1 kata saja, tanpa spasi). image-%%04d.jpg = still frame dalam format gambar JPG; nama file-nya terdiri dari 4 digit dengan padding nol (image-0001, image-0002, image-0003, dan seterusnya). File ffmpeg.exe dan file video MP4 harus berada di dalam folder yang sama. Sebagai contoh, untuk mengekstrak still frame dari sebuah video setiap 1 detik, maka script-nya adalah: ffmpeg -i "video input.mp4" -r 1/1 image-%%04d.jpg Untuk interval 5 detik, script-nya menjadi: ffmpeg -i "video input.mp4" -r 1/5 image-%%04d.jpg Untuk interval 60 detik (1 menit), script-nya menjadi: ffmpeg -i "video input.mp4" -r 1/60 image-%%04d.jpg Pertanyaannya sekarang, bagaimana mengekstrak seluruh frame (image sequence) dari sebuah video? Cukup hilangkan saja parameter -r dan interval waktunya, sehingga script-nya menjadi: ffmpeg -i "video input.mp4" image-%%04d.jpg Sebagai catatan tambahan, jika menjalankan script tersebut bukan dari batch file (file .bat), melainkan langsung di jendela Command Prompt (CMD prompt), Powershell (Win 10), atau Terminal (Win 11), maka bentuk command-line atau baris perintahnya menjadi: ffmpeg -i "video input.mp4" -r 1/t image-%04d.jpg Perhatikan tanda "%" hanya dituliskan sekali saja. Cara lain jika tidak mau menggunakan batch script adalah dengan menggunakan software Vovsoft Video to Photos. Frame dapat diekstrak seluruhnya atau tiap interval waktu dalam milidetik. |
AuthorMultimedia Archives
December 2024
Categories |