Web kamerasıyla bir Stop Motion veya Time-lapse video nasıl yapılır?


28

Bir v4l2 cihaz olarak çalışan bir web kameram var.

Stop-motion veya time-lapse video çekmenin en kolay yolu nedir ?

NB

stop-motion ve time-lapse ilişkili, ancak kavramsal olarak farklı.

Zaman atlamalı, belirli bir aralıkta bir sahnenin fotoğrafını çektiğiniz ve ardından bir videoda birleştirdiğiniz (gerçekten hızlı gidiyor gibi görünüyor).

Stop-motion, sahneyi kontrol ettiğiniz ve yaptığınız her değişiklik için bir resim çekeceğiniz bir animasyondur (örn. Wallace ve Grommit).

Hızlandırılmış bir uygulamanın belirli aralıklarla fotoğraf çekebilmesi gerekir.


Fotoğraflar'daki benzer soru , kısmen örtüşen ilginç cevaplara sahiptir.
anarcat

Yanıtlar:


40

Bir zilyon görüntü yakalama.

İlk adım fotoğraf çekmek. Her 10 saniyede bir fotoğraf çekmek istediğinizi ve masaüstünüzde oturan bir dizine kaydetmek istediğinizi düşünelim

mkdir ~/Desktop/cap
cd ~/Desktop/cap

streamerYakalamayı yapmak için kullanıyoruz , öyleyse yükleyelim:

sudo apt-get install streamer

Ve şimdi yakalamak istiyoruz

streamer -o 0000.jpeg -s 300x200 -j 100 -t 2000 -r 1

-tyakalamak istediğimiz kare sayısıdır. -rsaniye başına karedir. Yani bu her saniye bir kare tutmalı. Bunu 30 kare / saniyelik bir videoya sıkıştırırsanız, bir dakikalık yakalama 2 saniye video olur. İstediğiniz çıktı videoya bağlı olarak bunu uygun şekilde ayarlamak isteyeceksiniz.

Bu çizgi size 2000 resim verecek, kayıt yapmak yarım saat sürecek ve 30 fps'de 1 dakikadan fazla video üretecek.

Hepsini bir araya koy

Kullanacağım ffmpeg. mencoderBunları bir araya getirmenin birçok farklı yolu var ama ben sadece ffmpeghayata bakış açısını tercih ediyorum . sudo apt-get install ffmpegYükledikten sonra ( ) sadece bu wang:

ffmpeg -r 30 -i %04d.jpeg -s hd480 -vcodec libx264 -vpre hq time-lapse.mp4

Buradaki kalite ayarları web kameramınki gibi değil, bu yüzden daha iyi bir kodlama elde etmek için seçeneklerle daha fazla oynamak isteyebilirsiniz, ancak bu x264'te sıkıştırılmış, güzel bir 30fps video üretmelidir.

Framerate ( -r) ile oynamak isteyebilirsiniz ama ben 15fps altına inmezdim.


1
Her on saniyede bir ihtiyaç olacak -r 0.1.
Seppo Erviälä

man streamerHer parametrenin yaptığı şeyi tanımlamaz. jParametre hakkında nereden bilgi alabilirim ? Verilen FPS ile CTRL + C tuşlarına basana kadar nasıl yakalayabilirim?
Tomáš Zato - Monica

@oli ffmpegartık benim için çalışmıyor. Ne kullanmalıyım?
Tim

1
@ChrisH Teknik olarak gayet iyi, demek istediğim bu sadece pürüzsüz bir video için temel kesim. Bu büyük ölçüde onları ne kadar çabuk aldığına bağlı.
Oli

2
@ TomášZato streamer -hçok daha kapsamlı. Geliştiricilerin --helpman sayfası için hiçbir şey yapmadıklarını, ancak hiçbir şeyi yapmadıklarından nefret ediyorum .
WasabiFlux

9

Bir web kamerasından her X saniyeyi yakalamak için hareket kullanın.

kurmak motion

sudo apt-get install motion veya sudo aptitude install motion

Her X saniye için hareketi yapılandır

sudo nano /etc/motion/motion.conf

Minimum_frame_time ve snapshot_interval değişkenlerini web kamerasıyla fotoğraf çekmek istediğiniz saniye miktarına değiştirin.

10 Dakika = 600 Saniye
20 Dakika = 1200 Saniye
30 Dakika = 1800 Saniye
1 Saat = 3600 Saniye
2 Saat = 7200 Saniye vb. ...

+ sudo motionile hareketini durdurCTRLC

NOT - Dosyaları default / tmp'den başka bir dizine kaydetmek için motion.conf dosyasını yapılandırın. Örneğin, ana klasörünüz. / Tmp'ye geçildiğinden beri daha fazla ayrıcalık gerekiyor. Ayrıca motion.conf'ta hoşunuza gidebilecek diğer birçok şey için birçok yararlı seçenek bulacaksınız.


Flamadan çok daha iyi. Olması gereken köklü bir çözümü sevdiğimden emin değilim ve bir dikiz aynası gibi kullanma yeteneğimi kaybediyor gibi görünüyorum, ancak flamadan çok daha iyi ve bakmak istediğim başka bir sorunu çözebilir at, sadece oradaysam fotoğraf çekiyor. Diğer sorunları çözebilirsem, bu sorunu çözeceğim.
Dave Jacoby

Aslında kullanmak için root erişimine ihtiyacınız yoktur. Konfig dosyasını düzenlemek için sadece root erişimine ihtiyacınız var.
Luis Alvarado,

Sanırım varsayılan yola yazmak istersen, gerekli de olabilir, ama ilk değiştirdiğim şey buydu. Teşekkürler.
Dave Jacoby

Sorun değil dostum. Yardım etmekten memnun oldum.
Luis Alvarado

Denedim. Tamam çalıştı. Bir noktada tekrar deneyebilirim. Ama bana otomatik fotoğraf çekmekten daha fazla değer verdiğim arka görüş açısını vermedi. Bu yüzden şu anda Peynirli Peyniri çalıştırıyorum.
Dave Jacoby

7

gTimelapse ( İndirme Linki )

görüntü tanımını buraya girin

GPhoto2 ve wxWidgets kütüphaneleri üzerine kurulu, timelapse videolar oluşturmak için görüntüleri yakalamak için kullanılan bir uygulama.

Talimatları derlemek

Kaynağı sourceforge web sitesinden indirin

Bir uçbirimde aşağıdakileri yazın:

cd Downloads 
gunzip gtimelapse-0.1.tar.gz
tar -xvf gtimelapse-0.1.tar
cd gtimelapse
sudo apt-get install build-essential libgphoto2-2-dev libwxbase2.8-dev libwxgtk2.8-dev gphoto2
./configure
make
sudo make install

Uygulama türünü çalıştırmak için

gtimelapse &

nb 1

gphoto2 --list-cameras | more

nb 2

daha fazla yararlı bilgi için bu blogu görün

Uygulamanın desteklediği tüm uyumlu cihazları listeler.

nb 3

Gphoto2'nin web kameralarını desteklemediğini okudum - bu cevabını herkesin web kamerası yerine iyi bir dijital kamerayla denemek istemesi durumunda görünür bırakacağım.


WxWidgets’ı tüm önkoşullarla birlikte almak ve derlemek biraz zaman aldı. Ayrıca gTimelapse'ı derledim, ancak şu hatayla çöktü: [Debug] 13:21:12: ./src/common/menucmn.cpp(859): assert "item" Check () 'da başarısız oldu: wxMenu :: Check: böyle bir öğe yok [Hata ayıklama] Yığın izi oluşturma ... lütfen bekleyinTrace / breakpoint tuzağı
Seppo Erviälä

tamam - bugün kendimi inşa etmek için bir gün gidiyorum - cevabımı bazı talimatlar ekleyeceğim (sanırım bunu kendim inşa ettirebilirim).
fossfreedom

Bu gerçekten çok yararlı çünkü gphoto2 tarafından desteklenen bir dijital kameram var. Böyle bir kütüphanenin var olduğunu bilmiyordum.
Seppo Erviälä

1

Bunu yapmak için Stopmotion'yu kullandım, yazılım merkezinde. Ayrıca Cheese ile de fotoğraf çekebilirsiniz, ancak maksimum görüntü sayısını artırmak için Cheese'in yapılandırmasını değiştirmeniz gerekir. Stopmotion'u tüm süreç boyunca kullanmayı en kolay buldum.


1

Bunu yapmanın en iyi ve kolay yolu, Motion'ı yüklemektir . Linux tabanlı işletim sistemleri için tam kapsamlı bir gözetim yazılımıdır.

Yazılım merkezi üzerinden kurun


1

Hızlı, kirli, ancak biraz daha esnek bir seçenek aşağıdaki gibidir:

ffmpeg -pattern_type glob -framerate 25 -i 'image-*.jpg' -c:v libx264 \
    -profile:v high -crf 20 -pix_fmt yuv420p output.mp4

İşte ben ekliyorum -pattern_type globjoker kullanarak, *ve tek alıntılar benim dosya adını koyarak: 'image-*.jpg'.

Faydası: Bu sözdizimi, herhangi bir numaradan başlamanıza ve numaralandırmada herhangi bir şablona sahip olmanıza izin verir (örneğin, 20000'den başlayarak, genellikle 20'ye kadar bir sayı oluşturur).

Dezavantajları: Bu sözdizimi, '% ## d' sözdiziminin izin verdiği gibi tekrarlayan sayıları atlamanıza izin vermez. Ayrıca, 0'dan önce olmadan bir numaralandırma düzenine sahip olamazsınız. Diğer bir deyişle, dosya adlandırma düzeni 00001, 00002, ... 00033 ... gibi bir şey olmalıdır (Numaralandırma 1,2,3, ... 33, ... olamaz, aksi takdirde '3' sayısı sıralanacaktır. '39' ve '40' örneğin).

Ayrı olarak, ayrıca giriş dosya ismimi tek tırnak içine koymak zorunda kaldığımı da not aldım, aksi halde ffmpeg tüm resim dosyalarımı ilk resmin bir kopyasıyla değiştirmeye çalıştı. ).

Gönderen Bu düzenleme anonim kullanıcı tarafından.


0

Akış için hareket (motion.conf'da) ayarlayabilmeniz gerekir - varsayılan olarak 8081 numaralı bağlantı noktasında akış yapar. Bundan sonra 'dikiz' aynanızı almak için yapmanız gereken tek şey VLC'yi açmak, "Ağ Akışını Aç" ve olarak o noktaya http: // localhost: 8081 .


0

Camorama, web kameramdan 1 dakikalık aralıklarla fotoğraf çekmek için kullandığım ve bir web sunucusuna yüklediğim bir web kamerası görüntüleyici / kaydedicidir; bu basit bir kurulum. Ayrıca Ubuntu Yazılım Merkezinde bulunur veya aşağıdakileri kullanarak yükleyebilirsiniz:

sudo apt-get install camorama

Bu yardımcı olur umarım.


Üzgünüz, sadece web kameranızın Camorama ile çalışmadığını yazdığınızı gördüm.
kicsyromy

Lütfen daha ayrıntılı olarak açıklayabilir misiniz? Adam timelapse seçeneğini kapsamaz :(
Mars Robertson
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.