Saya ingin membuat timelapse dari koleksi gambar, di bawah Ubuntu. Saya ingin membuat video HD, dan idealnya menambahkan soundtrack.
Saya ingin membuat timelapse dari koleksi gambar, di bawah Ubuntu. Saya ingin membuat video HD, dan idealnya menambahkan soundtrack.
Jawaban:
Ffmpeg akan melakukannya. Jika Anda memiliki gambar img001.jpg, img002.jpg, img003.jpg, ...
maka pada baris perintah lakukan:
ffmpeg -i img*.jpg output.mpeg
Ada lebih banyak opsi yang diberikan di ffmpeg --help
atau halaman manual, atau web. Ini memungkinkan kontrol atas frame rate dan format output.
.jpg
file yang terakhir seperti file output. Saya mendapatkan File 'DSCF6134.JPG' already exists. Overwrite ? [y/N]
- tidak terlalu bagus. Solusi saya adalah membuat daftar file dengan \ls *.JPG | sed "s/^/file '/;s/$/'/" > files.txt
dan kemudian memuatnya ffmpeg -f concat -i files.txt output.mpeg
.
ffmpeg -pattern_type glob -i "picture*.jpg" output.mpeg
Pertama kita mengganti nama semua file * .JPG berdasarkan tanggal pembuatannya. Terkadang kamera mengubah nama file atau hanya memesannya entah bagaimana tidak seperti yang kita inginkan. Namun, mengubah nama mereka pada tanggal pembuatan selalu berhasil:
jhead -n%Y%m%d-%H%M%S *.JPG
Setelah itu kami meletakkan daftar ini di file:
ls -1tr | grep -v files.txt > files.txt
Dan kemudian gunakan mencoder
untuk membuat AVI
video menggunakan 20 fps. Perhatikan bahwa ini akan menghasilkan file video besar, biasanya sekitar ukuran yang sama dari semua gambar yang dijumlahkan.
mencoder -nosound -noskip -oac copy -ovc copy -o output.avi -mf fps=20 'mf://@files.txt'
Saya biasanya mengambil gambar untuk timelapse dengan resolusi terendah dari kamera saya (5 MP), yang memiliki rasio aspec 4: 3. Untuk menghasilkan video 1080p yang tepat, gambar pertama kali dipindai ulang dengan lebar 1920 piksel dan kemudian saya memotongnya menjadi tinggi 1080. Dengan cara ini saya tidak mengubah konten foto, hanya memotong:
ffmpeg -i output.avi -y -sameq -vf scale=1920:1440,crop=1920:1080 output-final.avi
Alasan saya menggunakan mencoder untuk menyatukan foto adalah karena saya mendapat segmentation fault
ffmpeg.
ffmpeg
perintah Anda , -sameq
opsi sekarang diganti dengan-qscale 0
Blender adalah solusi yang baik jika Anda berurusan dengan gerakan timelapse (hyperlapse) atau rekaman tidak stabil. Ini memiliki kemampuan pelacakan gerak sehingga Anda dapat memilih titik tetap untuk melacak seluruh timelapse. Anda juga dapat memperbaiki masalah rotasi.
Anda mungkin juga tertarik dengan timelapse-darktable proyek . Ini membuatnya mudah untuk mem-post gambar dengan darktable dan membuat timelapse dari seri. Petunjuk cara menggunakannya dapat ditemukan di sini: https://code.google.com/p/timelapse-darktable/wiki/generateTimelapse
Anda dapat menggunakan mencoder. Opsi cukup jelas:
Jika semuanya ada di direktori curent dengan nama yang diurutkan dan Anda ingin daftar di file /tmp/files.txt:
ls -1 *jpg > /tmp/files.txt
Jika Anda ingin file output menjadi /tmp/test.avi dengan 30fps:
mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4 -o /tmp/test.avi -mf type=jpeg:fps=30 mf://@/tmp/files.txt
Kdenlive juga dapat membuat timelapses menggunakan Add Slideshow Clip
menu, seperti yang dijelaskan dalam tutorial ini .
Menurut situs yang sama , Openshot memiliki fungsi yang serupa tetapi tidak merekomendasikannya karena "terlalu buggy". Namun, jika itu adalah editor video pilihan Anda, Anda akan senang mengetahui bahwa Anda dapat menyeret dan melepaskan urutan file yang dinamai dengan benar (001.jpg ke NNN.jpg) ke jendela Openshot untuk mengimpornya sebagai timelapse juga.