Mục lục:
- Bước 1: Hình ảnh từ Camera IP
- Bước 2: Chụp ảnh - Phương pháp 1
- Bước 3: Chụp ảnh - Phương pháp 2
- Bước 4: Sao chép hình ảnh vào PC Windows
- Bước 5: Tạo video - Photolapse 3
- Bước 6: Tạo video - VirtualDub
- Bước 7: Kết luận
Video: Cách tạo video tua nhanh thời gian: 7 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-31 10:26
Trong Tài liệu hướng dẫn này, tôi sẽ trình bày chi tiết các bước tôi sử dụng để tạo video tua nhanh thời gian. Hệ thống và phần cứng tôi sử dụng để lấy hình ảnh là một máy tính Linux và một camera IP dựa trên mạng. Một tập lệnh chạy trên máy tính Linux và cứ mỗi x giây lại thăm dò camera IP, lấy một hình ảnh, kích thước lại hình ảnh, đánh dấu thời gian và ngày tháng và lưu vào ổ cứng máy tính. Để tạo video từ hình ảnh, tôi sẽ giới thiệu hai ứng dụng phần mềm miễn phí khác nhau trên PC Windows và xem xét việc sử dụng Linux như một tùy chọn.
Khi có được hình ảnh, bạn cần tính toán thời gian giữa mỗi hình ảnh hoặc bao nhiêu hình ảnh mỗi giờ hoặc ngày bạn sẽ cần để tạo ra một video có vẻ đẹp và không quá dài hoặc ngắn.
Trong trường hợp của video tắt băng của tôi. Tôi chộp một hình ảnh sau mỗi 20 giây từ ngay trước khi mặt trời mọc vào ngày đầu tiên và chuyển ngay đến hoàng hôn vào ngày hôm sau. Tôi đã xóa hầu hết các hình ảnh ban đêm trước khi xử lý chúng thành video nhưng quyết định giữ lại "mặt trăng mọc"
Điều này để lại cho tôi khoảng 4, 430 hình ảnh. Nếu tôi sản xuất video bằng cách sử dụng 25 khung hình / giây, thời lượng sẽ là:
Dài 4, 430/25 = 177,2 giây. 177,2 giây là gần 3 phút.
Nếu bạn muốn chụp một cái gì đó như một ngôi nhà đang được xây dựng, thì cứ sau 3 đến 5 phút sẽ là một thời điểm tốt để bắt đầu.
Tùy thuộc vào tần suất và thời gian tôi cần chụp ảnh, tôi sử dụng một cho hai phương pháp khác nhau.
Bước 1: Hình ảnh từ Camera IP
Hầu hết các camera IP được sử dụng trong giám sát video hoặc cho webcam chuyển động đầy đủ cho phép bạn xem hình ảnh-j.webp
"https:///snap.jpg"
Đối với máy ảnh Planet:
"https:///image.cgi? Resolution = 1920x1080"
Bạn sẽ cần phải google url để sử dụng cho nhãn hiệu máy ảnh của mình.
Cả hình ảnh Ubiquiti và Planet tôi lấy đều có kích thước 1920x1080 (mặc định cho mỗi máy ảnh vì chúng là máy ảnh 1080). Với kích thước này, bạn sẽ có một lượng lớn dữ liệu và một tệp video lớn. Tôi muốn kích thước lại hình ảnh khi tôi lấy nó và ghi nó vào đĩa và tôi sẽ hiển thị bước này trong tập lệnh của mình. Tôi sử dụng chuyển đổi là một phần của công cụ ImageMagick.
Bước 2: Chụp ảnh - Phương pháp 1
Tôi sử dụng phương pháp này để nắm bắt các sự kiện ngắn hơn như tắt máy. Bạn có thể sử dụng phương pháp này để chụp một cái gì đó như di chuyển đến và thiết lập một sự kiện - một cái gì đó mất vài giờ hoặc 1 hoặc 2 ngày và nơi bạn có thể xóa bất kỳ hình ảnh không mong muốn nào như ban đêm theo cách thủ công trước khi xử lý thành video
Trong Linux, một tập lệnh cho máy ảnh Ubiquiti của tôi trông giống như sau:
#! / bin / bash
# đi đến đúng thư mục
cd / home / steve / iceoff
# Ubiquiti - camera ubnt
URL = "https://192.168.2.114/snap.jpg"
# nơi viết hình ảnh
ubnt_dir = / home / steve / iceoff / ubnt
# độ trễ giữa các hình ảnh
trì hoãn = 20
# vòng lặp
trong khi đúng thì làm
# sử dụng ngày / giờ để đóng dấu tên tệp - điều này cần phải có trong phần vòng lặp
now = $ (/ bin / date '+% Y% m% d% H% M% S')
# lấy hình ảnh và viết nó dưới dạng ubnt.jpg
/ usr / bin / wget -q -O "$ ubnt_dir / ubnt.jpg" -t 1 $ URL
# kích thước lại hình ảnh ubnt-j.webp
convert -geometry 1024x "$ ubnt_dir / ubnt.jpg" "$ ubnt_dir / $ {now}.jpg"
# sleep trong khoảng thời gian trễ sau đó nhận được một hình ảnh khác
/ bin / sleep "$ delay"
xong
Tập lệnh làm gì:
đặt một URL biến thành vị trí của hình ảnh trên mạng / máy ảnh
đặt biến ubnt_dir thành nơi chúng tôi muốn lưu hình ảnh (bạn sẽ cần tạo thư mục trước khi chạy tập lệnh)
đặt thời gian trễ của biến thành bao nhiêu giây giữa các hình ảnh - điều này giúp bạn dễ dàng thay đổi thời gian giữa các hình ảnh, chỉ cần thay đổi biến này và chạy lại tập lệnh
bắt đầu một vòng lặp với while true do - vòng lặp này sẽ diễn ra cho đến khi bạn dừng tập lệnh bằng ctrl-c
đặt biến bây giờ là năm, tháng, ngày, giờ, giây
Ngày 16 tháng 2 năm 2019 lúc 8 phút 29 giây sau 1 giờ chiều sẽ giống như 20190216130829
sử dụng wget để lấy một hình ảnh từ URL và viết nó dưới dạng ubnt-j.webp
chuyển đổi hình ảnh ubnt-j.webp
ngủ trong số giây trong biến trễ
quay lại và bắt đầu tại bước thực hiện đúng
Để chạy tập lệnh này, tôi đăng nhập vào tài khoản của mình và chạy nó từ thiết bị đầu cuối - vì vậy, điều này rất tốt để chụp một thứ gì đó giống như mặt nước hồ - nó được thực hiện trong một hoặc hai ngày và tôi cần một hình ảnh sau mỗi 20 giây.
Bước 3: Chụp ảnh - Phương pháp 2
Đối với thời gian trôi đi lâu hơn như việc xây dựng một tòa nhà hoặc một dự án thời gian trôi đi dài một năm, tôi sử dụng một cách khác để chụp ảnh. Đối với điều này, tôi sử dụng cron.
Cron là một tiện ích chạy lệnh một lần x phút, giờ, ngày hoặc tháng. Vì vậy, bạn có thể điều chỉnh khi lệnh chạy theo phút, giờ, ngày, tháng, v.v. Người dùng trong hệ thống Linux có thể có cron job của riêng họ và nó được lưu trong tệp crontab của họ.
Trong khoảng thời gian trôi đi hàng tháng, tôi nhận được một hình ảnh cứ sau X phút, tôi sử dụng một lệnh cron và một tập lệnh hơi khác ở chỗ nó không yêu cầu vòng lặp (trong khi true làm và thực hiện) vì cron sẽ gọi tập lệnh mỗi X số phút.
Bạn không chỉ có thể sử dụng nó để chạy script mỗi X phút mà còn có thể hạn chế nó chạy giữa những giờ nhất định để bạn không phải xóa nhiều hình ảnh ban đêm. Khi mùa và giờ ban ngày thay đổi, tôi thay đổi công việc cron của mình để phản ánh điều đó.
Để tạo thông tin đăng nhập cron job vào máy chủ Linux của bạn và chạy: crontab -e Thao tác này sẽ bắt đầu chỉnh sửa crontab của bạn. Tệp crontab của tôi có một dòng như thế này:
* / 5 4-23 * * * /home/steve/timelapse/get.ubnt> / dev / null 2> & 1
* / 5 có nghĩa là chạy 5 phút một lần
4-23 có nghĩa là chạy nó từ 4 giờ sáng đến 11 giờ tối (điều này thay đổi theo mùa đối với tôi)
* Đầu tiên có nghĩa là chạy nó mỗi ngày trong tháng
Dấu * thứ hai có nghĩa là chạy nó mỗi tháng trong năm
* Thứ ba có nghĩa là chạy nó mỗi ngày trong tuần
/home/steve/timelapse/get.ubnt là tên tập lệnh chạy
/ dev / null 2> & 1 có nghĩa là đặt đầu ra tiêu chuẩn thành null và bất kỳ lỗi nào thành null - nếu bạn không có điều này thì bạn sẽ nhận được email mỗi khi công việc cron chạy.
Tập lệnh /usr/steve/timelapse/get.ubnt của tôi trông giống như sau:
#! / bin / bash
cd / home / steve / timelapse
URL = "https://192.168.2.114/snap.jpg"
bây giờ = $ (/ bin / date '+% Y% m% d% H% M% S')
/ usr / bin / wget -q -O ubnt-j.webp
convert -geometry 1024x ubnt-j.webp" />
Tập lệnh này làm gì:
thay đổi thành / home / steve / timelapse
đặt một URL biến thành vị trí của hình ảnh trên mạng / máy ảnh
đặt biến ngay bây giờ thành năm, tháng, ngày, giờ, phút, giây (để chúng tôi có thể đóng dấu thời gian / ngày vào hình ảnh-j.webp
lấy hình ảnh từ URL và viết nó ra ubnt.jpg
thay đổi kích thước hình ảnh thành rộng 1024 pixel, giữ đúng tỷ lệ và ghi tệp dưới dạng dấu ngày / giờ.
Như với phương pháp / tập lệnh trước, anh ta sẽ làm cho tên tệp tuần tự và cho phép chúng tôi tạo video với các khung theo trình tự chính xác. Sau khi tôi có một vài ngày hình ảnh, tôi sẽ sao chép chúng vào một thư mục trên PC Windows của mình để tạo tệp video. Tôi thường sử dụng ftp để lấy các tệp trên Windows PC vì chúng ở trên cùng một mạng và mật khẩu đăng nhập / mật khẩu là văn bản rõ ràng không hiển thị trên Internet.
Bước 4: Sao chép hình ảnh vào PC Windows
Để sao chép hình ảnh từ hệ thống Linux sang máy tính Windows để xử lý thành video, tôi sử dụng FTP.
Chương trình windows mà tôi sử dụng cho việc này là FileZilla Client. Bạn có thể sử dụng bất kỳ ứng dụng ftp nào mà bạn thích, ngay cả phiên bản dòng lệnh trong windows.
Nếu bạn biết mình đang làm gì, bạn cũng có thể sử dụng Samba hoặc NFS và để các tệp Linux xuất hiện dưới dạng một thư mục trong Windows.
Bước 5: Tạo video - Photolapse 3
Bây giờ chúng ta đã có các hình ảnh, chúng ta cần phải ghép chúng lại với nhau để tạo một tệp video.
Có nhiều chương trình mà bạn có thể sử dụng để thực hiện việc này và bạn có thể muốn thử nghiệm với các chương trình khác nhau.
Tuy nhiên, đối với một số lượng tương đối nhỏ các hình ảnh như tôi chụp trong một hoặc hai ngày nghỉ, tôi sử dụng chương trình Windows Photolapse 3 - rất tiếc là chương trình này không được cập nhật nữa và tôi không thể tìm thấy trang web ban đầu cho nó nữa. Tuy nhiên, nó có sẵn từ một số trang web "tải xuống". Tìm kiếm nhanh trên google sẽ tốt.
Điều hay ho về chương trình này là nó là một tệp nhị phân duy nhất, vì vậy không cần cài đặt. Chỉ cần tải xuống tệp nhị phân và chạy nó. Nhược điểm là nó sẽ không xử lý một số lượng lớn các tệp. Rất lớn, ý tôi là có thể là 20 nghìn hoặc hơn, nhưng đối với thứ gì đó chẳng hạn như video của tôi với khoảng 5.000 hình ảnh thì vẫn ổn.
Bạn khởi động chương trình, ở ô trên cùng bên trái, hãy xem chi tiết hoặc tìm nơi lưu trữ hình ảnh của bạn, sau đó đặt số khung hình mỗi giây vào (số lượng nhỏ hơn sẽ làm cho video xuất hiện dưới dạng chuyển động chậm). Tiếp theo nhấp vào nút "Tải tệp từ thư mục hiện tại"
Photolapse sẽ tải và xem trước từng khung hình và bạn sẽ có ý tưởng về video sẽ trông như thế nào.
Khi nó đã hoàn tất xử lý toàn bộ thư mục, nhấp vào nút "Tạo Phim", thay đổi tên tệp nếu bạn muốn, sau đó nhấp vào "Lưu".
Tiếp theo, bạn cần chọn một phương pháp nén cho video hoặc để nó không nén. Tôi sử dụng "Microsoft Video 1". Tất cả những gì còn lại là nhấp vào "OK"
Mặc dù bạn sẽ cần phải thực hiện lại tất cả các bước để chọn phương pháp nén hoặc codec khác, nhưng bạn nên thử các cài đặt khác nhau ở đây nếu bạn cần nén video.
Những hình ảnh tôi sử dụng để chụp màn hình trong bước này là một số hình ảnh từ hình ảnh tảng băng ban đầu. Tôi đã sử dụng 1191 hình ảnh 1024x576 pixel. Chúng chiếm khoảng 110MB dung lượng ổ đĩa. Video nén có kích thước 235MB và không nén là 1,96 GB
Bước 6: Tạo video - VirtualDub
Chương trình khác mà tôi đã sử dụng là VirtualDub
Tải xuống các tệp zip tại đây. Có phiên bản 32 bit và 64 bit
Giải nén các tệp vào thư mục riêng của chúng.
Một trong những điều bạn cần làm với hình ảnh của mình là đánh số lại chúng một cách tuần tự. Sử dụng tên tệp đóng dấu ngày / giờ như các tập lệnh của tôi tạo sẽ không hoạt động với VirtualDub. Có một số cách để đánh số lại các tệp:
Trước tiên, hãy tạo một bản sao lưu các tệp của bạn, sau đó tạo một bản sao lưu khác. Sau đó, sử dụng bản sao thứ hai:
Mở thư mục có hình ảnh, thay đổi chế độ xem thành "chi tiết", đánh dấu tệp đầu tiên trong danh sách, nhấn ctrl-a để chọn tất cả các tệp, nhấp chuột phải và chọn "đổi tên". Thay đổi tên tệp thành 1 rồi nhấn enter.
Thao tác này sẽ xử lý danh sách các tệp và nối (1).jpg, sau đó (2).jpg, v.v. vào tên tệp là 1.jpg
Cách thứ hai là sử dụng một chương trình có tên Irfanview. Nó có chế độ hàng loạt, nơi bạn có thể đổi tên các tệp tuần tự thành 1.jpg, 2.jpg, 3.jpg, v.v. Chế độ hàng loạt cũng cho phép bạn thay đổi kích thước hàng loạt hình ảnh thành kích thước nhỏ hơn nếu cần.
Sau khi các tệp được đổi tên, hãy khởi động VirtualDub, nhấp vào "tệp" rồi "mở tệp video". Chọn-j.webp
Nhấp vào "Video" sau đó "Tốc độ khung hình" thay đổi giá trị này thành 30 (hoặc bất kỳ tốc độ khung hình nào bạn muốn thử)
Nhấp vào "Video" rồi "Nén" - như với photolapse 3, tôi đã sử dụng "Microsoft video 1"
Để bắt đầu xử lý hình ảnh, hãy nhấp vào "Tệp" rồi "Lưu dưới dạng AVI". Đặt tên cho tệp rồi nhấp vào "Lưu"
Thao tác này sẽ bắt đầu quá trình xử lý và cho biết thời gian sẽ mất bao lâu.
Mặc dù có nhiều bước hơn trong việc sử dụng VirtualDub, nhưng nó sẽ xử lý nhiều tệp hơn so với photolapse 3.
Tôi đã tạo một timelapse với hơn 88, 000 hình ảnh bằng VirtualDub.
Bước 7: Kết luận
Để xem các video timelapse, bạn có thể sử dụng một chương trình như VLC hoặc trình phát đa phương tiện của riêng Windows.
Có rất nhiều cách để chụp ảnh và ghi lại thời gian.
Nếu bạn có máy ảnh canon, có CHDK firmware của bên thứ 3 cho một số kiểu máy sẽ cho phép bạn sử dụng máy ảnh ở chế độ đồng hồ đo khoảng cách và chụp ảnh sau mỗi x giây.
Thử nghiệm nhiều! Hy vọng bạn thấy có thể hướng dẫn này thú vị và nếu bạn thực hiện một timelapse, hãy nhớ để lại liên kết đến nó trong phần bình luận.
Đề xuất:
Máy ảnh tua nhanh thời gian sử dụng bo mạch ESP32-CAM: 6 bước
Máy ảnh tua nhanh thời gian sử dụng bảng ESP32-CAM: Dự án này được xây dựng dựa trên dự án máy ảnh kỹ thuật số trước đó và chúng tôi xây dựng máy ảnh tua nhanh thời gian sử dụng bảng ESP32-CAM. Tất cả hình ảnh được lưu vào thẻ nhớ microSD theo trình tự và bảng sẽ chuyển sang chế độ ngủ sau khi chụp ảnh để giúp tiết kiệm
Giàn máy ảnh tua nhanh thời gian: 6 bước
Giàn máy ảnh tua nhanh thời gian: Giàn máy ảnh tua nhanh thời gian của tôi sử dụng thế hệ đầu tiên 'Pi + một webcam USB rất rẻ + chân đế miễn phí (bipod). Một phần trong tiêu chí xây dựng của tôi là tái sử dụng / nâng cấp những thứ tôi đã có, nếu không, tôi đã ra ngoài và mua một mô-đun máy ảnh Pi và sử dụng dự án này
Máy ảnh tua nhanh thời gian đơn giản bằng Raspberry Pi: 3 bước
Máy ảnh tua nhanh thời gian đơn giản bằng Raspberry Pi: Bài đăng này sẽ chỉ cho bạn cách bạn có thể tạo một chiếc máy ảnh tua nhanh thời gian đơn giản bằng Raspberry Pi. Độ phân giải, thời lượng và thời gian có thể được cập nhật dễ dàng trong script. Chúng tôi đã tạo ra một thứ tương tự bằng cách sử dụng bảng ESP32-CAM nhưng máy ảnh Raspberry Pi
Tạo video tua nhanh thời gian bằng Raspberry Pi (11 dòng mã): 12 bước (có hình ảnh)
Tạo video tua nhanh thời gian bằng Raspberry Pi (11 dòng mã): Gần đây tôi đã trồng một số hạt giống vào chậu để bàn của mình lần đầu tiên. Tôi thực sự vui mừng khi thấy chúng phát triển, nhưng như chúng ta đều biết đó là một quá trình chậm. Không thể nhìn thấy sự phát triển khiến tôi thực sự thất vọng nhưng đột nhiên sở thích đồ điện tử trong tôi đánh thức bạn
Biến Máy tính Đồ thị TI thành Máy đo khoảng thời gian và tạo video tua nhanh thời gian: 7 bước (có hình ảnh)
Biến Máy tính Đồ thị TI thành Máy đo khoảng thời gian và tạo video tua nhanh thời gian: Tôi luôn muốn tạo video tua nhanh thời gian, nhưng tôi không có máy ảnh tích hợp tính năng đồng hồ đo khoảng cách. Thực tế, tôi không nghĩ nhiều lắm. máy ảnh đi kèm với một tính năng như vậy (đặc biệt không phải máy ảnh SLR). Vậy bạn muốn làm gì nếu bạn muốn