Tôi có các khung hình video ở định dạng PNG ở 1 FPS và tôi đang cố gắng chuyển đổi chúng thành video bằng ffmpeg.
Nếu tôi làm một cái gì đó như thế này:
ffmpeg -i data/input-%4d.png data/output.mp4
Tôi nhận được một video ở 25FPS, về cơ bản là chuyển tiếp rất nhanh của đầu vào (được quay ở 1FPS).
Nếu tôi cố gắng:
ffmpeg -i data/input-%4d.png -r 1 data/output.mp4
Tôi nhận được một cái gì đó mà VLC không muốn chơi :)
Bây giờ, nếu tôi quay video đầu tiên (FF) và áp dụng bộ lọc để làm chậm nó (ví dụ -filter:v 'setpts=24.0*PTS'
), tôi có thể làm cho nó phát như video 1 FPS, nhưng tất nhiên giá là kích thước tệp. Tôi đoán nó đang tạo ra một loạt các khung lặp đi lặp lại.
Vì vậy, câu hỏi là làm thế nào để tôi tạo một video có chính xác 1 FPS và thực sự phát ở tốc độ đó? Định dạng đầu ra, btw, không quan trọng đối với tôi.
-r 1
.
ffmpeg
là đủ thông minh để tìm ra codec video chỉ từ phần mở rộng tệp định dạng chứa ,.mp4
. Hãy thử thêm-vcodec libx264 -vpre hq
vào dòng lệnh, để nói với nó các tham số codec và mã hóa.