Bagaimana saya bisa menggabungkan 30.000 gambar menjadi film timelapse?


69

Saya telah mengambil 30.000 gambar foto yang ingin saya gabungkan menjadi film timelapse. Saya telah mencoba QuickTime Pro, TimeLapse 3, dan Windows Movie Maker, tetapi dengan jumlah gambar yang sangat besar, masing-masing program gagal (saya mencoba SUPER ©, tetapi tidak dapat membuatnya berfungsi dengan baik ...?). Tampaknya semua program ini macet setelah beberapa ribu gambar.

Gambar yang saya miliki semuanya dalam format .JPG, pada resolusi 1280x800, dan saya sedang mencari program yang dapat menempatkan gambar-gambar ini menjadi film timelapse dalam beberapa jenis format lossless (AVI mentah / tidak terkompresi akan baik-baik saja) untuk pengeditan lebih lanjut. Adakah yang punya ide, atau adakah yang pernah mencoba yang seperti ini dengan jumlah gambar yang sama?


Sudahkah Anda mencoba sesuatu seperti Adobe Premiere, atau Final Cut Pro?
Mahmoud Hossam

Sudahkah Anda mencoba menggunakan codec video lossless seperti HuffYUV?
Hydaral

jpeg adalah lossy, sehingga kualitas Anda sudah hilang, Anda tidak bisa mendapatkannya kembali.
ctrl-alt-delor

Jawaban:


54

Avidemux dapat membuat film dari banyak gambar. http://fixounet.free.fr/avidemux/

Anda juga dapat menggunakan mencoder, tetapi sedikit lebih sulit untuk digunakan, dengan semua opsi baris perintah 'n semua. Saya telah menggunakan ini:

mencoder mf://*.jpg -mf fps=xxx:type=jpg -ovc x264 -x264encopts bitrate=yyyy:threads=2 -o outputfile.mkv

saya menggunakan

xxx = 25 and 
yyy = 1200

yang menghasilkan vids yang baik-baik saja. Tambahkan lagu ke film dengan memasukkan:

-oac copy -audiofile audiofile.mp3

2
Avidemux ROCKS! Sisipkan cepat dari 33.000 gambar. Simpan cepat ke AVI yang tidak terkompresi - dan secara otomatis dipecah menjadi potongan AVI 4GB. Tapi semuanya bisa dimainkan!
Swift

2
+1 untuk Avidemux, saya telah melakukan banyak pengeditan video menggunakan MeGUI, dan bahkan tidak tahu ada alternatif yang bagus!
Terobosan

2
mencoder output avi, terlepas dari nama file keluaran. Ada opsi untuk menampilkan format lain, tetapi kode tidak berfungsi dengan baik. Cara yang disarankan adalah dengan output h.264-in-avi, lalu remux. Cukup gunakan ffmpeg saja. (lihat jawaban Shenal Silva)
Peter Cordes

mencoder kurang terpelihara / tersedia dibandingkan tahun 2011. Setara dalam MPV:mpv mf://*.jpg --mf-fps=25 --ovc libx264 --ovcopts=bitrate=1200:threads=2 -o outputfile.mkv
Sam Brightman

Avidemux hanya mengembalikan VLC dengan mengeluh "VLC tidak mendukung format audio atau video" PNG ". Sayangnya tidak ada cara bagi Anda untuk memperbaikinya."
Vallentin

39

Gunakan FFmpeg .

Ini akan membuat tayangan slide video (menggunakan video codec libx264) dari serangkaian gambar png, bernama bernama img001.png, img002.png, img003.png,…

Setiap gambar akan memiliki durasi 5 detik, ubah variabel sesuai pilihan Anda.

ffmpeg -f image2 -r 1/5 -i img%03d.png -c:v libx264 -pix_fmt yuv420p out.mp4

Jika gambar Anda memiliki empat digit, gunakan %04d, dll. Jika gambar Anda tidak memiliki pola ini, Anda dapat menggunakan shell shell, setidaknya di Linux dan OS X:

ffmpeg -f image2 -pattern_type glob -i 'time-lapse-files/*.JPG' …

Anda juga dapat mengubah framerate output dengan menentukan yang lain -rsetelah input.


8
Hanya sebuah catatan peringatan: jangan berpikir Anda dapat mem-bypass sintaks printf ffmpeg dan cukup gunakan * .jpg atau sesuatu untuk pola yang lebih kompleks. Ini sebenarnya akan menimpa masing-masing dan setiap file gambar Anda dengan yang pertama! Saya mencobanya sendiri.
Christian

Saya juga stuggeling dengan ini. Saya ternyata Anda bisa melakukan ini tetapi perlu mengatur bendera gaya glob. ffmpeg -pattern_type glob -i 'time-lapse-files / *. JPG' time-lapse.mp4
arno_v

2
Anda dapat menggunakan -framerateformat input image2. Saya akan merekomendasikan menentang pengaturan output fps berbeda dari input fps, kecuali jika Anda benar-benar ingin ffmpeg untuk menjatuhkan atau menggandakan frame. (kecuali mengeluarkan ke wadah seperti mkv di mana ffmpeg mendukung laju bingkai variabel.) Ya, baru saja diuji, dan Anda mendapatkan frame dup tambahan yang diumpankan melalui x264, jadi cukup atur FPS dari input, tetapi letakkan -ratau -framerateSEBELUM-i .../stuff
Peter Cordes

2
Saya juga merekomendasikan ffmpeg. Saya telah membuat blog tentang ini di sini (rincian lebih lanjut tentang persiapan dan argumen): dsebastien.net/2015/01/25/simple-time-lapse-using-ffmpeg
dSebastien

cat *.jpg | ffmpeg -framerate 60 -f image2pipe -i - ~/output.mp4di sini adalah alternatif jika Anda tidak memiliki -pattern_type globtersedia
vearutop

12

Jika Anda melakukan beberapa perhitungan dasar, Anda akan melihat bahwa Anda mungkin kehabisan memori jika Anda mencoba untuk menjaga film tidak terkompresi.

Setiap frame adalah 1.024.000 piksel. Pada 32 bit per piksel, itu 32.768.000 bit (4.096.000 byte atau 3,9 MB ).

Jika kami mengalikannya hingga 30.000 frame, Anda memerlukan 117187,5 MB ( 114,45 GB ) memori untuk menahan seluruh film dalam memori dalam sekali jalan - tidak heran QuickTime Pro gagal.

Anda dapat mencoba mengurangi resolusi tetapi itu mungkin masih gagal.

Anda perlu membuat film dalam potongan yang lebih kecil dan kemudian menyatukan semuanya. Saya berharap bahwa ada aplikasi yang melakukan ini tanpa memuat seluruh film ke dalam memori. Film terakhir juga harus dikompres - lagi karena akan menempati 114 GB pada hard drive. Film hanya menempati satu DVD saja selama film Anda berdurasi 20 menit (pada 25 frame per detik).


3
AFAIK, tidak ada program editing video di dunia yang menyimpan setiap klip terkompresi seluruhnya dalam memori sebelum parsing / tabungan.
Terobosan

@Breakthrough ~ Tapi bagaimana Anda menggabungkannya menjadi klip terkompresi?
jcolebrand

@Breakthrough - itu mungkin benar, tetapi OP menginginkan film yang tidak terkompresi.
ChrisF

2
@ddrachenstern dan @ChrisF - ada perbedaan antara penyimpanan langsung dan penyimpanan jangka panjang. Tidak ada program pengeditan video yang menyimpan seluruh data video terkompresi dalam memori. Bahkan ketika Anda menggulir melalui pratinjau, itu akan menciptakan kembali data dari apa yang telah disimpan pada hard disk dari berbagai sumber media (dan mungkin sedikit lebih banyak untuk caching). Selain itu, ketika Anda akhirnya "membuat" proyek, maka Anda mendapatkan output video penuh (biasanya sebagai streaming). Output video lengkap kemudian dapat disimpan apa adanya (mis. Tidak terkompresi / RAW), atau dialirkan ke encoder.
Terobosan

1
Maaf, ketika saya membuat komentar pertama saya, saya hanya ingin menunjukkan bahwa masalahnya bukan kekurangan memori. Saya juga bermaksud bahwa meskipun suatu program dapat menyimpan beberapa data video yang tidak terkompresi dalam memori (misalnya untuk pratinjau), program tidak pernah menyimpan seluruh aliran video (sekali lagi, karena masalah yang Anda kemukakan dalam jawaban Anda). Ini adalah cara program-program ini dibuat, jadi ini seharusnya tidak menjadi masalah. Maaf atas salah tafsir!
Terobosan

11

Ya, saya tahu bahwa utas ini sudah berumur lebih dari satu tahun. Saya telah menggunakan ini selama lebih dari 2 tahun, dan ini bekerja sangat baik dengan 10.000 gambar:

1080p @ 24fps, tidak ada suara

ls -1v | grep JPG > files.txt
mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=21600000 -o windowsill_flowers_7.avi -mf type=jpeg:fps=24 mf://@files.txt -vf scale=1920:1080

4k @ 90fps, tidak ada suara

ls -1v | grep JPG > files.txt
mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=21600000 -o windowsill_flowers_7.avi -mf type=jpeg:fps=90 mf://@files.txt -vf scale=3840:2160

Saya harus banyak bermain-main dengan codec sebelum mendapatkan sesuatu yang YouTube akui. Contoh menggunakan blok kedua dapat ditemukan di sini: http://www.youtube.com/watch?v=4G_aaPG2QWk


11

Coba PhotoLapse ; reviewnya diberikan di Lifehacker.com di sini .

masukkan deskripsi gambar di sini


1
Berikut adalah Video yang menunjukkan alat ini dalam aksi: vimeo.com/1226517
Darokthar

Saya salah ketik. Saya sudah mencoba Photolapse, tetapi gagal dalam proses rendering. Jika saya menurunkan ke 10.000 gambar, itu melengkapi file AVI - tetapi file tidak berguna, dan tidak dapat diputar.
Swift

@Swift Saya mengerti Anda perlu file pada ukuran aslinya. Saya selalu batch gambar downsampled menggunakan Irfanview sebelum membuat timelapse avi. Semoga Anda menemukan solusi yang Anda butuhkan!
JYelton

Tautan ke Photolapse menunjukkan tanda-tanda pasti rigor mortis.
Timothy Lee Russell

@Timothy Tautan yang diperbarui.
JYelton

8

Saya menggunakan Picasa Google. Ini juga merupakan pengelola foto yang sangat bagus menurut saya. Begini caranya.

1) File> Tambahkan Folder ke Picasa ...> tambahkan folder dengan foto Anda.

2) Klik kanan folder yang Anda tambahkan di menu 'Folder' kiri dan> Pilih Semua Gambar

3) Dari menu atas> Buat> Video> Dari Pilihan ...

4) Sekarang Anda berada di pembuat video> Tab Video> Gaya Transisi> Selang Waktu

5) Anda dapat Memuat Audio Track, mengubah dimensi (Saya biasanya menggunakan 1024x768), menambahkan slide dengan teks ini di Slide Tab ...

6) Pembuat Video> Tab Video> Buat Video. Anda dapat masuk dengan akun Google Anda dan mengunggahnya ke youtube dari sini juga.

Kembali di perpustakaan, Anda dapat mengklik kanan video> temukan di disk untuk melihat di mana video disimpan. Hal baik lainnya tentang menggunakan Picasa adalah Anda dapat memilih semua gambar dan masuk ke menu atas Picture> Batch Edit> I'm Feeling Lucky. Ini akan memperbaiki kontras dan warna semua foto secara bersamaan.

Sebelum Anda membuat video, Anda mungkin ingin menambahkan beberapa gerakan ke selang waktu Anda dengan http://motiontimelapser.co.nr/ Disclamer: Saya penulisnya.


Ini bekerja sangat baik untuk saya dengan sekitar 2.500 gambar yang diambil dengan GoPro dalam mode burst. Jika Anda sudah menggunakan Picasa, periksa solusi ini.
Lonstar

Picasa telah ditetapkan ke padang rumput.
Timothy Lee Russell

5

Saya menghadapi masalah yang sama beberapa waktu lalu ketika saya mencoba membuat timelapse untuk membuat-a-thon di ruang peretas lokal. Saya menjalankan OS X, jadi saya tidak yakin seberapa layak untuk menggunakan ini pada Windows, tapi saya menggunakan MEncoder.

Ini adalah perintah yang saya gunakan di terminal:

mencoder mf://*.jpg -mf w=800:h=600:fps=5:type=jpg -ovc copy -oac copy -o buildmadison.avi

Ada dua masalah dengan ini:

  1. Itu AVI.
  2. Yang dilakukannya hanyalah memadukan gambar menjadi satu file tanpa kompresi. Tentu saja, secepat ini, dan itu benar-benar berfungsi!

Setelah itu saya menjalankannya melalui utilitas lain untuk mengubahnya menjadi format yang layak setengah jalan.

MEncoder adalah bagian dari proyek MPlayer, berlokasi di sini: http://www.mplayerhq.hu/


4

Saya melihat utas ini agak lama, tetapi saya menemukan bahwa MakeAVI adalah program terbaik untuk saya!

Anda dapat mengunduhnya di sini: http://sourceforge.net/projects/makeavi/?source=dlp

  • Yang harus Anda lakukan adalah mengunduhnya, dan menjalankan executable di dalam folder yang diunduh (tanpa penginstal).
  • Kemudian untuk menambahkan gambar, Anda cukup menekan tombol "Tambah File" di sudut kanan atas dan pilih gambar yang ingin Anda kompilasi.
  • Setelah mereka diimpor, Anda dapat menggunakan "Atas" dan "Bawah", di sisi kiri tengah, untuk menyesuaikan urutan gambar jika mereka tidak tetap dalam urutan.
  • Kemudian untuk menyesuaikan laju bingkai dari gambar yang dikompilasi, Anda dapat mengubah kotak teks di dalam bingkai "Tingkat pemutaran bingkai", sisi kanan bawah, ke kecepatan bingkai yang Anda inginkan.
  • Karena program ini masih dalam versi beta (0.1.1), beberapa hal tidak berfungsi. Tekan tombol "Mulai" dan tentukan nama file yang Anda inginkan. Ketika ditanya jenis kompresi apa yang Anda inginkan, pilih yang Anda inginkan, kecuali untuk "Frame Lengkap (Tidak Terkompresi)" yang tidak berfungsi untuk saya.
  • Kemudian setelah selesai mengkompilasi video, pergi dan tonton ke video dan lihat bagaimana hasilnya. Jika video kosong (tidak panjang), coba ubah opsi Kompresi. (Itulah yang terjadi ketika saya mencoba "Full Frames (Uncompressed)")

Saya tidak bisa mendapatkan salah satu metode lain yang tercantum di sini untuk bekerja, dan yang ini berhasil untuk saya! Semoga berhasil untuk Anda! :)


3

Sudahkah Anda mencoba VirtualDub ?

Ketika Anda membuka gambar di virtualdub, ia akan meminta untuk memuat seluruh urutan. Dari sana - sesuaikan kecepatan bingkai, tambahkan beberapa filter (potong, pertajam), pilih pembuat enkode, dan simpan video Anda.

Saya sarankan Anda bereksperimen pada awalnya dengan jumlah gambar yang lebih rendah, dan, jika Anda senang dengan hasilnya, lakukan seluruh batch.

Sunting: Ini adalah tutorial sederhana tentang ini. Yang harus Anda lakukan adalah menemukan codec lossless yang cocok, seperti ini: MSU Lossless Video Codec .


2

Kami menguji perangkat Time-Lapse Tool kami untuk menghasilkan video dari 100 ribu gambar dan itu berfungsi seperti pesona. Semua gambar ini dapat ditambahkan dari beberapa folder yang bermanfaat untuk foto dari DSLR yang dikelompokkan berdasarkan 10k gambar dalam folder.


2

Jika Anda menggunakan Premiere Pro, cukup taruh gambar dalam folder khusus, pastikan mereka diberi nomor secara berurutan, kemudian di Premiere Pro klik kanan jendela Project dan pilih "Impor", pilih gambar pertama, dan centang kotak "Urutan Gambar". Ini akan secara otomatis menarik semua gambar sebagai urutan yang disebut thefirstimageName.jpg tetapi dengan ikon "tumpukan" gambar. Itu saja, semacam. Seret ke dalam Urutan, lalu render (Ekspor -> Media) sebagai 1080p dan kemudian impor ekspor sebagai klip video baru. Saya merekomendasikan untuk mengekspornya dan mengimpornya kembali sebagai klip karena Premiere Pro dan Media Encoder dapat diketahui macet dengan cuplikan hi-res jika Anda mengotak-atik pemotongan dan perubahan kecepatan, jadi ekspor rekaman hi-res ke 1080p, sambil mengurangi kualitas, mengembalikan stabilitas.


1

Hanya untuk bersenang-senang, inilah cara lain (tidak, saya jelas TIDAK mencoba untuk memperbaiki proses saya sendiri.) Ternyata tidak ada pada Windows yang ingin mengedit output mencoder yang dihasilkan dari jawaban saya yang lain. Ini adalah versi yang lebih ramah-edit menggunakan ffmpeg:

1080p@90fps, no sound, IMG_00000.JPG - IMG_99999.JPG
    ffmpeg -r 90 -i IMG_%05d.JPG -vcodec libx264 -vpre medium -crf 22 -threads 0 -vf scale=1920:-1 -r 15 -metadata title="foo"

0

Saya harus melakukan sesuatu seperti itu sebelumnya. Saya berhasil melakukannya dalam quicktime pro dengan melakukannya 500 frame sekaligus. Saya akan menyimpannya sebagai film individu dan kemudian beralih ke yang berikutnya. Lalu nanti saya akan menggabungkan semua segmen 500 frame menjadi hal terakhir.


Jenis penipuan untuk perangkat lunak "profesional"!
Swift

0

Saya juga akan memilih Virtualdub (telah melakukan operasi ini sebenarnya, tidak dapat mengingat apakah ini banyak). Juga mudah nanti untuk menghapus bingkai yang tidak Anda inginkan, dll. Mungkin Anda bisa mencoba menggunakan format video lossless untuk membuat dan menyimpannya, seperti camstudio codec. Untuk timelapse ... mungkin juga ok techsmith codec (TSCC), tetapi itu hanya berfungsi jika Anda telah membeli (atau mendapatkan versi lama dari majalah) Camtasia, karena menginstal versi penyandian codec. Itu membuat video sangat kecil. Dan mungkin tepat untuk selang waktu.


0

Program lain yang dapat Anda gunakan adalah Time Lapse MovieMonkey

Itu pekerjaan membuat film selang waktu terbaru saya benar-benar sangat cepat. Dan saya tidak perlu membaca instruksi. Ini sederhana dan intuitif, tetapi memiliki pengaturan lanjutan yang cukup. Dan gratis.

Penulis mengatakan itu sudah diuji dengan 50.000 gambar.


Tautannya telah mati.
Timothy Lee Russell

0

Saya mendapatkan hasil yang sangat baik dari menggunakan Picasa atau GoPro-studio .

Saya sibuk dengan video untuk membuat jurnal saya membuat papan selancar menggunakan alat-alat ini. Pekerjaan yang sedang berjalan telah diposting di profil saya ke YouTube (cari "Surfbordbou" - Saya belum diizinkan lebih dari 2 tautan per posting)

Pembuat film Picasa sangat mudah digunakan, ini 2 klik dan Anda punya timelapse dari serangkaian gambar yang dipilih.


Selamat datang di situs ini. Ketika Anda mengatakan Anda mendapatkan hasil yang baik, apakah melakukan tugas yang sama dan bekerja dengan jumlah gambar pada urutan besarnya seperti pada pertanyaan? Itu adalah poin kunci dan Anda harus mendiskusikannya dalam jawaban Anda. Jika jawabannya ya, jelaskan dan Anda memiliki jawaban yang menang. Jika tidak, ini adalah informasi yang bermanfaat tetapi bukan jawaban yang bagus untuk pertanyaan ini. Dalam hal ini, hapus jawaban ini, ajukan pertanyaan baru tentang melakukan tugas Anda, dan kemudian jawab pertanyaan Anda sendiri dengan solusi Anda. Itu akan menjadi kombinasi kemenangan lainnya.
fixer1234
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.