สารบัญ:

วิธีสร้างวิดีโอไทม์แล็ปส์: 7 ขั้นตอน
วิธีสร้างวิดีโอไทม์แล็ปส์: 7 ขั้นตอน

วีดีโอ: วิธีสร้างวิดีโอไทม์แล็ปส์: 7 ขั้นตอน

วีดีโอ: วิธีสร้างวิดีโอไทม์แล็ปส์: 7 ขั้นตอน
วีดีโอ: แนะนำวิธีใช้ Time Lapse Photo & Video ของ GoPro HERO 7 สำหรับผู้เริ่มต้น 2024, พฤศจิกายน
Anonim
Image
Image

ในคำแนะนำนี้ ฉันจะอธิบายรายละเอียดขั้นตอนที่ฉันใช้เพื่อสร้างวิดีโอไทม์แลปส์ ระบบและฮาร์ดแวร์ที่ฉันใช้เพื่อให้ได้ภาพคือคอมพิวเตอร์ Linux และกล้อง IP ที่ใช้เครือข่าย สคริปต์ทำงานบนคอมพิวเตอร์ Linux และทุก ๆ x วินาทีจะสำรวจกล้อง IP คว้ารูปภาพ ปรับขนาดใหม่ เวลาและวันที่ประทับและบันทึกลงในฮาร์ดไดรฟ์ของคอมพิวเตอร์ ในการสร้างวิดีโอจากรูปภาพ ฉันจะครอบคลุมสองแอปพลิเคชันฟรีแวร์ที่แตกต่างกันบนพีซี Windows และดูการใช้ Linux เป็นตัวเลือก

เมื่อได้ภาพมา คุณจะต้องหาเวลาระหว่างแต่ละภาพ หรือจำนวนภาพต่อชั่วโมงหรือวัน คุณจะต้องสร้างวิดีโอที่ดูดีและไม่ยาวหรือสั้นเกินไป

ในกรณีของน้ำแข็งปิดวิดีโอ ฉันจับภาพทุกๆ 20 วินาทีตั้งแต่ก่อนพระอาทิตย์ขึ้นในวันแรก และข้ามไปจนพระอาทิตย์ตกในวันรุ่งขึ้น ฉันลบภาพกลางคืนส่วนใหญ่ออกก่อนที่จะประมวลผลเป็นวิดีโอ แต่ตัดสินใจที่จะ "พระจันทร์ขึ้น" ต่อไป

ซึ่งทำให้ฉันมีภาพประมาณ 4, 430 ภาพ ถ้าฉันสร้างวิดีโอโดยใช้ 25 เฟรมต่อวินาที ความยาวจะเป็น:

4, 430/25 = 177.2 วินาที 177.2 วินาที เท่ากับ 3 นาที

หากคุณต้องการจับภาพบางอย่างที่เหมือนกับการสร้างบ้าน ทุกๆ 3 ถึง 5 นาทีจะเป็นจุดเริ่มต้นที่ดี

ฉันใช้วิธีใดวิธีหนึ่งสำหรับสองวิธีที่แตกต่างกัน ทั้งนี้ขึ้นอยู่กับความถี่และระยะเวลาที่ฉันต้องถ่ายภาพ

ขั้นตอนที่ 1: ภาพจากกล้อง IP

ภาพจากกล้อง IP
ภาพจากกล้อง IP

กล้อง IP ส่วนใหญ่ที่ใช้ในการเฝ้าระวังวิดีโอหรือสำหรับเว็บแคมแบบเคลื่อนไหวเต็มรูปแบบช่วยให้คุณสามารถดูภาพ-j.webp

"https:///snap.jpg"

สำหรับกล้อง Planet:

"https:///image.cgi? resolution=1920x1080"

คุณจะต้อง google URL เพื่อใช้สำหรับแบรนด์กล้องของคุณ

ทั้งรูปภาพ Ubiquiti และ Planet ที่ฉันคว้ามานั้นมีขนาด 1920x1080 (ค่าเริ่มต้นสำหรับกล้องแต่ละตัวเนื่องจากเป็นกล้อง 1080) ด้วยขนาดนี้ คุณจะมีข้อมูลจำนวนมากและไฟล์วิดีโอขนาดใหญ่ ฉันชอบที่จะปรับขนาดรูปภาพใหม่เมื่อฉันคว้ามันมาและเขียนลงดิสก์ และฉันจะแสดงขั้นตอนนี้ในสคริปต์ของฉัน ฉันใช้ convert ซึ่งเป็นส่วนหนึ่งของเครื่องมือ ImageMagick

ขั้นตอนที่ 2: จับภาพ - วิธีที่ 1

จับภาพ - วิธีที่ 1
จับภาพ - วิธีที่ 1
จับภาพ - วิธีที่ 1
จับภาพ - วิธีที่ 1

ฉันใช้วิธีนี้เพื่อจับภาพเหตุการณ์ที่สั้นกว่า เช่น หยุดนิ่ง คุณสามารถใช้วิธีนี้เพื่อจับภาพบางอย่าง เช่น การย้ายเข้ามาและตั้งค่ากิจกรรม ซึ่งใช้เวลาสองสามชั่วโมงหรือ 1 หรือ 2 วัน และคุณสามารถลบภาพที่ไม่ต้องการ เช่น เวลากลางคืน ด้วยตนเองก่อนประมวลผลเป็นวิดีโอ

ภายใต้ Linux สคริปต์สำหรับกล้อง Ubiquiti ของฉันมีลักษณะดังนี้:

#!/bin/bash

#ไปที่โฟลเดอร์ที่ถูกต้อง

cd /home/steve/iceoff

# Ubiquiti - กล้อง ubnt

URL="https://192.168.2.114/snap.jpg"

#จะเขียนภาพที่ไหน

ubnt_dir=/home/steve/iceoff/ubnt

# ล่าช้าระหว่างภาพ

ล่าช้า=20

#เดอะลูป

ในขณะที่ทำจริง

# ใช้เวลา/วันที่เพื่อประทับตราชื่อไฟล์ - ต้องอยู่ในส่วนลูป

ตอนนี้=$(/bin/date '+%Y%m%d%H%M%S')

# รับภาพแล้วเขียนเป็น ubnt.jpg

/usr/bin/wget -q -O "$ubnt_dir/ubnt.jpg" -t 1 $URL

# ปรับขนาดภาพ ubnt-j.webp

convert -geometry 1024x "$ubnt_dir/ubnt.jpg" "$ubnt_dir/${now}.jpg"

#นอนดึกก็ได้อีกภาพ

/bin/sleep "$ ล่าช้า"

เสร็จแล้ว

สคริปต์ทำอะไร:

ตั้งค่า URL ตัวแปรไปยังตำแหน่งที่รูปภาพอยู่บนเครือข่าย/กล้อง

ตั้งค่าตัวแปร ubnt_dir เป็นตำแหน่งที่เราต้องการบันทึกภาพ (คุณจะต้องสร้างไดเร็กทอรีก่อนที่จะรันสคริปต์)

ตั้งค่าการหน่วงเวลาของตัวแปรเป็นจำนวนวินาทีระหว่างรูปภาพ - ทำให้ง่ายต่อการเปลี่ยนเวลาระหว่างรูปภาพ เพียงแค่เปลี่ยนตัวแปรนี้แล้วเรียกใช้สคริปต์อีกครั้ง

เริ่มลูปด้วย while true do - ลูปนี้ควรไปจนกว่าคุณจะหยุดสคริปต์ด้วย ctrl-c

ตั้งค่าตัวแปรตอนนี้เป็นปี เดือน วัน ชั่วโมง วินาที

16 ก.พ. 2019 เวลา 8 นาที 29 วินาที หลัง 13.00 น. จะดูเหมือน 20190216130829

ใช้ wget เพื่อดึงรูปภาพจาก URL และเขียนเป็น ubnt-j.webp

แปลงรูปภาพ ubnt-j.webp

สลีปเป็นจำนวนวินาทีในตัวแปรหน่วงเวลา

ย้อนกลับและเริ่มต้นในขณะที่จริงทำ step

ในการเรียกใช้สคริปต์นี้ ฉันลงชื่อเข้าใช้บัญชีของฉันและเรียกใช้จากเทอร์มินัล - ดังนั้นนี่จึงเป็นสิ่งที่ดีสำหรับการจับภาพบางอย่างเช่นน้ำแข็งในทะเลสาบ - เสร็จสิ้นในหนึ่งหรือสองวันและฉันต้องการรูปภาพทุกๆ 20 วินาที

ขั้นตอนที่ 3: จับภาพ - วิธีที่ 2

จับภาพ - วิธีที่ 2
จับภาพ - วิธีที่ 2

สำหรับเวลาที่ล่วงเลยไปนานขึ้น เช่น การก่อสร้างอาคารหรือโครงการเหลื่อมเวลานานเป็นปี ฉันใช้วิธีการถ่ายภาพที่แตกต่างออกไป สำหรับสิ่งนี้ฉันใช้ cron

Cron เป็นยูทิลิตี้ที่รันคำสั่งทุกๆ x นาที ชั่วโมง วัน หรือเดือน ดังนั้นคุณจึงปรับแต่งได้ว่าเมื่อใดที่คำสั่งทำงานเป็นนาที ชั่วโมง วัน วันของเดือน ฯลฯ ผู้ใช้ในระบบ Linux สามารถมีงาน cron ของตนเองได้และจะถูกเก็บไว้ในไฟล์ crontab

สำหรับไทม์แลปส์ที่ผ่านไปหลายเดือนโดยที่ฉันได้รับภาพทุก ๆ X นาที ฉันใช้งาน cron และสคริปต์ที่แตกต่างกันเล็กน้อยซึ่งไม่ต้องการการวนซ้ำ (ในขณะที่ทำจริงและทำเสร็จแล้ว) เนื่องจาก cron จะเรียกสคริปต์ทุก ๆ X จำนวนนาที

ไม่เพียงแต่คุณสามารถใช้เพื่อเรียกใช้สคริปต์ทุก ๆ X นาที แต่คุณสามารถจำกัดให้ทำงานระหว่างบางชั่วโมงได้ ดังนั้นคุณจึงไม่ต้องลบภาพกลางคืนจำนวนมาก เมื่อฤดูกาลและเวลากลางวันเปลี่ยนไป ฉันจึงเปลี่ยนงาน cron เพื่อสะท้อนมัน

ในการสร้างงาน cron เข้าสู่ระบบเซิร์ฟเวอร์ Linux ของคุณและเรียกใช้: crontab -e สิ่งนี้จะเริ่มต้นการแก้ไข crontab ของคุณ ไฟล์ crontab ของฉันมีบรรทัดดังนี้:

*/5 4-23 * * * /home/steve/timelapse/get.ubnt >/dev/null 2>&1

*/5 หมายถึงเรียกใช้ทุกๆ 5 นาที

4-23 หมายถึงเรียกใช้ตั้งแต่ 04.00 น. ถึง 23.00 น. (การเปลี่ยนแปลงนี้ตามฤดูกาลสำหรับฉัน)

* ตัวแรก หมายถึง เรียกใช้ทุกวันของเดือน

ตัวที่สอง * หมายถึงเรียกใช้ทุกเดือนของปี

ตัวที่สาม * หมายถึงเรียกใช้ทุกวันในสัปดาห์

/home/steve/timelapse/get.ubnt เป็นชื่อสคริปต์ที่ทำงานอยู่

/dev/null 2>&1 หมายถึงใส่เอาต์พุตมาตรฐานเป็น null และข้อผิดพลาดใด ๆ เป็น null - หากคุณไม่มีสิ่งนี้ คุณจะได้รับอีเมลทุกครั้งที่งาน cron ทำงาน

สคริปต์ของฉัน /usr/steve/timelapse/get.ubnt มีลักษณะดังนี้:

#!/bin/bash

cd /home/steve/timelapse

URL="https://192.168.2.114/snap.jpg"

ตอนนี้=$(/bin/date '+%Y%m%d%H%M%S')

/usr/bin/wget -q -O ubnt-j.webp

แปลง -geometry 1024x ubnt-j.webp" />

สคริปต์นี้ทำอะไร:

เปลี่ยนเป็น /home/steve/timelapse

ตั้งค่า URL ตัวแปรไปยังตำแหน่งที่รูปภาพอยู่บนเครือข่าย/กล้อง

ตั้งค่าตัวแปรตอนนี้เป็นปี, เดือน, วัน, ชั่วโมง, นาที, วินาที (เพื่อให้เราสามารถประทับเวลา/วันที่ภาพ-j.webp

รับรูปภาพจาก URL และเขียนลงใน ubnt.jpg

ปรับขนาดภาพให้กว้าง 1024 พิกเซลโดยรักษาอัตราส่วนที่ถูกต้องและเขียนไฟล์เป็นวันที่/เวลา

เช่นเดียวกับเมธอด/สคริปต์ก่อนหน้านี้ เขาจะทำให้ชื่อไฟล์เรียงตามลำดับและทำให้เราสามารถสร้างวิดีโอที่มีเฟรมในลำดับที่ถูกต้องได้ หลังจากที่ฉันมีรูปภาพมูลค่าสองสามวันแล้ว ฉันจะคัดลอกรูปภาพเหล่านั้นไปยังโฟลเดอร์บนพีซีที่ใช้ Windows ของฉันเพื่อสร้างไฟล์วิดีโอ ปกติแล้วฉันใช้ ftp เพื่อรับไฟล์บนพีซีที่ใช้ Windows เนื่องจากอยู่ในเครือข่ายเดียวกัน และการเข้าสู่ระบบ/รหัสผ่านที่เป็นข้อความธรรมดาไม่ปรากฏบนอินเทอร์เน็ต

ขั้นตอนที่ 4: คัดลอกรูปภาพไปยังพีซีที่ใช้ Windows

ในการคัดลอกรูปภาพจากระบบ Linux ไปยังพีซีที่ใช้ Windows เพื่อประมวลผลเป็นวิดีโอ ฉันใช้ FTP

โปรแกรม windows ที่ฉันใช้คือ FileZilla Client คุณสามารถใช้ไคลเอนต์ ftp ใดก็ได้ที่คุณต้องการ แม้แต่เวอร์ชันบรรทัดคำสั่งใน windows

หากคุณรู้ว่าคุณกำลังทำอะไร คุณสามารถใช้ Samba หรือ NFS และให้ไฟล์ Linux ปรากฏเป็นโฟลเดอร์ใน Windows

ขั้นตอนที่ 5: การสร้างวิดีโอ - Photolapse 3

การสร้างวิดีโอ - Photolapse 3
การสร้างวิดีโอ - Photolapse 3
การสร้างวิดีโอ - Photolapse 3
การสร้างวิดีโอ - Photolapse 3
การสร้างวิดีโอ - Photolapse 3
การสร้างวิดีโอ - Photolapse 3

ตอนนี้เรามีรูปภาพแล้ว เราต้องต่อเข้าด้วยกันเพื่อสร้างไฟล์วิดีโอ

มีโปรแกรมมากมายที่คุณสามารถใช้ทำสิ่งนี้ได้ และคุณอาจต้องการทดลองกับโปรแกรมต่างๆ

อย่างไรก็ตาม สำหรับรูปภาพจำนวนน้อยอย่างที่ฉันถ่ายในช่วงหนึ่งหรือสองวันที่หยุดนิ่ง ฉันใช้โปรแกรม Windows Photolapse 3 ซึ่งน่าเสียดายที่ไม่ได้รับการอัปเดตอีกต่อไป และฉันไม่พบเว็บไซต์ดั้งเดิมสำหรับรูปภาพดังกล่าวอีกต่อไป อย่างไรก็ตามมีให้จากเว็บไซต์ "ดาวน์โหลด" จำนวนมาก การค้นหา google อย่างรวดเร็วควรดีอย่างใดอย่างหนึ่ง

สิ่งที่ดี/ดีเกี่ยวกับโปรแกรมนี้คือมันเป็นไบนารีตัวเดียว ดังนั้นจึงไม่มีการติดตั้ง เพียงดาวน์โหลดไบนารีและเรียกใช้ ข้อเสียคือจะไม่ประมวลผลไฟล์จำนวนมาก โดยมากฉันหมายถึงน่าจะ 20,000 หรือมากกว่านั้น แต่สำหรับบางอย่างเช่นวิดีโอ ice off ของฉันที่มีรูปภาพประมาณ 5,000 ภาพก็ใช้ได้

คุณเริ่มโปรแกรม ในช่องด้านซ้ายบนให้เจาะลึกหรือค้นหาตำแหน่งที่จัดเก็บภาพของคุณ จากนั้นใส่จำนวนเฟรมต่อวินาที (จำนวนที่น้อยกว่าจะทำให้วิดีโอปรากฏเป็นแบบสโลว์โมชั่น) จากนั้นคลิกปุ่ม "โหลดไฟล์จากโฟลเดอร์ปัจจุบัน"

Photolapse จะโหลดและแสดงตัวอย่างแต่ละเฟรม และคุณจะได้แนวคิดว่าวิดีโอจะหน้าตาเป็นอย่างไร

เมื่อประมวลผลทั้งโฟลเดอร์เสร็จแล้ว ให้คลิกที่ปุ่ม "สร้างภาพยนตร์" เปลี่ยนชื่อไฟล์หากต้องการ จากนั้นคลิก "บันทึก"

ถัดไป คุณต้องเลือกวิธีการบีบอัดสำหรับวิดีโอหรือปล่อยให้ไม่มีการบีบอัด ฉันใช้ "Microsoft Video 1" เหลือเพียงคลิก "ตกลง"

แม้ว่าคุณจะต้องทำตามขั้นตอนทั้งหมดอีกครั้งเพื่อเลือกวิธีการบีบอัดหรือตัวแปลงสัญญาณแบบอื่น แต่ก็คุ้มค่าที่จะลองใช้การตั้งค่าอื่นที่นี่ หากคุณต้องการบีบอัดวิดีโอ

ภาพที่ฉันใช้จับภาพหน้าจอในขั้นตอนนี้มาจากภาพน้ำแข็งปิดต้นฉบับ ฉันใช้ 1191 ภาพที่ 1024x576 พิกเซล ใช้พื้นที่ดิสก์ประมาณ 110MB วิดีโอที่บีบอัดมีขนาด 235MB และไม่บีบอัดคือ 1.96 GB

ขั้นตอนที่ 6: การสร้างวิดีโอ - VirtualDub

การสร้างวิดีโอ - VirtualDub
การสร้างวิดีโอ - VirtualDub
การสร้างวิดีโอ - VirtualDub
การสร้างวิดีโอ - VirtualDub
การสร้างวิดีโอ - VirtualDub
การสร้างวิดีโอ - VirtualDub

โปรแกรมอื่นที่ฉันใช้คือ VirtualDub

ดาวน์โหลดไฟล์ zip ที่นี่ มีรุ่น 32 บิตและ 64 บิต

เปิดเครื่องรูดไฟล์ลงในโฟลเดอร์ของตัวเอง

สิ่งหนึ่งที่คุณจะต้องทำกับรูปภาพของคุณก็คือการเรียงลำดับใหม่ตามลำดับ การใช้ชื่อไฟล์ประทับวันที่/เวลาเหมือนที่สคริปต์ของฉันสร้างจะไม่ทำงานกับ VirtualDub มีสองวิธีในการจัดลำดับไฟล์ใหม่:

ขั้นแรก ทำการสำรองไฟล์ของคุณ จากนั้นสำรองข้อมูลอื่น จากนั้นใช้สำเนาที่สอง:

เปิดโฟลเดอร์ที่มีรูปภาพ เปลี่ยนมุมมองเป็น "รายละเอียด" ไฮไลต์ไฟล์แรกในรายการ กด ctrl-a เพื่อเลือกไฟล์ทั้งหมด คลิกขวาและเลือก "เปลี่ยนชื่อ" เปลี่ยนชื่อไฟล์เป็น 1 แล้วกด Enter

การดำเนินการนี้จะประมวลผลรายการไฟล์และต่อท้าย (1)-j.webp

วิธีที่สองคือการใช้โปรแกรมที่เรียกว่า Irfanview มีโหมดแบตช์ซึ่งคุณสามารถเปลี่ยนชื่อไฟล์ตามลำดับเป็น 1.jpg, 2.jpg, 3-j.webp

เมื่อเปลี่ยนชื่อไฟล์แล้ว ให้เริ่ม VirtualDub คลิก "ไฟล์" จากนั้น "เปิดไฟล์วิดีโอ" เลือก-j.webp

คลิก "วิดีโอ" จากนั้น "อัตราเฟรม" เปลี่ยนเป็น 30 (หรืออัตราเฟรมใดก็ตามที่คุณต้องการลอง)

คลิก "วิดีโอ" จากนั้น "บีบอัด" - เช่นเดียวกับ photolapse 3 ฉันใช้ "Microsoft video 1"

หากต้องการเริ่มประมวลผลภาพ ให้คลิก "ไฟล์" จากนั้น "บันทึกเป็น AVI" ตั้งชื่อไฟล์แล้วคลิก "บันทึก"

การดำเนินการนี้จะเริ่มดำเนินการและแสดงว่าต้องใช้เวลานานเท่าใด

แม้ว่าจะมีขั้นตอนเพิ่มเติมในการใช้ VirtualDub แต่จะประมวลผลไฟล์มากกว่า photolapse 3

ฉันสร้างไทม์แลปส์ด้วยภาพมากกว่า 88,000 รูปโดยใช้ VirtualDub

ขั้นตอนที่ 7: บทสรุป

ในการดูวิดีโอไทม์แลปส์ คุณสามารถใช้โปรแกรมเช่น VLC หรือเครื่องเล่นสื่อของ Windows

มีหลายวิธีในการถ่ายภาพและสร้างไทม์แลปส์

หากคุณมีกล้อง Canon จะมี CHDK เฟิร์มแวร์ของบริษัทอื่นสำหรับบางรุ่น ซึ่งจะช่วยให้คุณใช้กล้องในโหมดเว้นระยะและถ่ายภาพทุกๆ x วินาทีได้

ทดลองเยอะ! หวังว่าคุณจะพบว่าคำแนะนำนี้น่าสนใจและหากคุณทำไทม์แลปส์อย่าลืมทิ้งลิงก์ไว้ในความคิดเห็น

แนะนำ: