Tạo video từ một hình ảnh trong một thời lượng cụ thể trong ffmpeg


88

Làm cách nào để tạo phim bằng ffmpeg sử dụng một hình ảnh (image1.png) trong thời lượng 15 giây với độ phân giải cụ thể để khi tôi phát video, hình ảnh sẽ xuất hiện trên màn hình trong 15 giây.

Câu trả lời:


129
ffmpeg -loop 1 -i image.png -c:v libx264 -t 15 -pix_fmt yuv420p -vf scale=320:240 out.mp4
  • -T 15 làm cho nó dài 15 giây.
  • Tỷ lệ -vf = 320: 240 đặt chiều rộng / chiều cao.

Đảm bảo sử dụng phiên bản ffmpeg thực, ví dụ: http://johnvansickle.com/ffmpeg/


1
Unable to find a suitable output format for 'scale=1280:1024' scale=1280:1024: Invalid argumentBất kỳ ý tưởng tại sao?
Agey

1
@Equanox Tôi đã gặp vấn đề tương tự, nhưng vấn đề là do dấu "\" khi sao chép và dán. Loại bỏ nó sẽ giải quyết được vấn đề.
dùng1319182

3
Nó trả lời câu hỏi, nhưng tôi không thích việc sử dụng tất cả những bổ sung thừa đó trong lệnh.
joey

15
@joey Tôi cũng vậy, đặc biệt là vì OP không yêu cầu bất cứ điều gì cụ thể. Bạn muốn tạo video từ một bức ảnh duy nhất và không quan tâm đến bất kỳ chi tiết nào? ffmpeg -loop 1 -i image.png -t 5 out.mp4
Doe Johnson

3
Điều này thật tuyệt, nhưng ... phải mất vĩnh viễn và làm tan chảy CPU của tôi để tạo ra một video dài 40 phút dựa trên một hình ảnh PNG 720p duy nhất. Có cách nào để tăng tốc độ không? Nén không quan trọng miễn là nó vẫn dưới một vài GB.
HunterZ
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.