Tôi muốn tạo một timelapse từ bộ sưu tập hình ảnh, trong Ubuntu. Tôi muốn tạo video HD và lý tưởng hơn là thêm nhạc phim.
Tôi muốn tạo một timelapse từ bộ sưu tập hình ảnh, trong Ubuntu. Tôi muốn tạo video HD và lý tưởng hơn là thêm nhạc phim.
Câu trả lời:
Ffmpeg sẽ làm điều đó. Nếu bạn có hình ảnh img001.jpg, img002.jpg, img003.jpg, ...
thì trên dòng lệnh làm:
ffmpeg -i img*.jpg output.mpeg
Có nhiều lựa chọn hơn được đưa ra trong ffmpeg --help
hoặc trang man, hoặc web. Những thứ này cho phép kiểm soát tốc độ khung hình và định dạng đầu ra.
.jpg
các tệp sau như tệp đầu ra. Tôi nhận được File 'DSCF6134.JPG' already exists. Overwrite ? [y/N]
- không quá tuyệt vời. Giải pháp của tôi là tạo một danh sách tập tin với \ls *.JPG | sed "s/^/file '/;s/$/'/" > files.txt
và sau đó tải nó với ffmpeg -f concat -i files.txt output.mpeg
.
ffmpeg -pattern_type glob -i "picture*.jpg" output.mpeg
Đầu tiên chúng tôi đổi tên tất cả các tệp * .JPG dựa trên ngày tạo của chúng. Đôi khi máy ảnh thay đổi tên tệp hoặc chỉ đặt hàng chúng không phải là thứ chúng ta muốn. Tuy nhiên, đổi tên chúng theo ngày tạo luôn hoạt động:
jhead -n%Y%m%d-%H%M%S *.JPG
Sau đó, chúng tôi đặt danh sách này trong một tập tin:
ls -1tr | grep -v files.txt > files.txt
Và sau đó sử dụng mencoder
để tạo AVI
video bằng 20 khung hình / giây. Lưu ý rằng điều này sẽ tạo ra một tệp video khổng lồ, thường có cùng kích thước của tất cả các hình ảnh được tóm tắt.
mencoder -nosound -noskip -oac copy -ovc copy -o output.avi -mf fps=20 'mf://@files.txt'
Tôi thường chụp ảnh cho timelapse với độ phân giải thấp nhất của máy ảnh của tôi (5 MP), có tỷ lệ aspec 4: 3. Để tạo video 1080p phù hợp, trước tiên, hình ảnh được chỉnh lại thành 1920 pixel chiều rộng và sau đó tôi cắt nó thành 1080 chiều cao. Bằng cách này, tôi không thay đổi nội dung của ảnh, chỉ cắt xén:
ffmpeg -i output.avi -y -sameq -vf scale=1920:1440,crop=1920:1080 output-final.avi
Lý do tôi sử dụng mencoder để ghép các bức ảnh lại với nhau là vì tôi có một segmentation fault
ffmpeg.
ffmpeg
lệnh của bạn , -sameq
tùy chọn bây giờ được thay thế bằng-qscale 0
Blender là một giải pháp tốt nếu bạn đang xử lý timelapse chuyển động (hyperlapse) hoặc cảnh quay không ổn định. Nó có khả năng theo dõi chuyển động để bạn có thể chọn một điểm cố định để theo dõi trong suốt thời gian. Bạn cũng có thể khắc phục các sự cố xoay.
Bạn cũng có thể quan tâm đến dự án timelapse-darktable . Nó làm cho nó dễ dàng xử lý hậu kỳ hình ảnh với darktable và tạo ra một dòng thời gian của serie. Hướng dẫn cách sử dụng được tìm thấy tại đây: https://code.google.com.vn/p/timelapse-darktable/wiki/generateTimelapse
Bạn có thể sử dụng mencoder. Các tùy chọn khá khám phá:
Nếu tất cả chúng đều nằm trong thư mục curent với các tên được đặt hàng và bạn muốn danh sách trong tệp /tmp/files.txt:
ls -1 *jpg > /tmp/files.txt
Nếu bạn muốn tệp đầu ra là /tmp/test.avi với 30 khung hình / giây:
mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4 -o /tmp/test.avi -mf type=jpeg:fps=30 mf://@/tmp/files.txt
Kdenlive cũng có thể tạo các bảng thời gian bằng cách sử dụng Add Slideshow Clip
menu, như được giải thích trong hướng dẫn này .
Theo cùng một trang web , Openshot có chức năng tương tự nhưng không khuyến nghị sử dụng vì nó "quá lỗi". Tuy nhiên, nếu đó là trình chỉnh sửa video ưa thích của bạn, bạn sẽ rất vui khi biết mình chỉ cần kéo và thả một chuỗi các tệp có tên đúng (001.jpg đến NNN.jpg) vào cửa sổ Openshot để nhập chúng dưới dạng timelapse.