Tôi đang cố tạo video từ chuỗi hình ảnh. Nhưng tôi phải hiển thị từng hình ảnh với số giây khác nhau. Làm thế nào để làm điều này với FFMPEG.Cách hiển thị hình ảnh cho thời gian cụ thể trong video bằng cách sử dụng ffmpeg
Xin cảm ơn trước.
Tôi đang cố tạo video từ chuỗi hình ảnh. Nhưng tôi phải hiển thị từng hình ảnh với số giây khác nhau. Làm thế nào để làm điều này với FFMPEG.Cách hiển thị hình ảnh cho thời gian cụ thể trong video bằng cách sử dụng ffmpeg
Xin cảm ơn trước.
Có một số gợi ý trong số FFmpeg wiki. Đây là một ví dụ (thứ hai-to-cuối cùng trong wiki) đặc biệt có khả năng thích hợp cho nhu cầu của bạn:
ffmpeg -loop 1 -f image2 -i img.png -c:v libx264 -t 30 out.mp4
nơi số sau -t
(30 trong ví dụ) là khoảng thời gian của video trong vài giây.
Đơn giản chỉ cần thực hiện lệnh mà nhiều lần như thế này:
ffmpeg -loop 1 -f image2 -i intro.png -c:v libx264 -t 5 out1.mp4
ffmpeg -loop 1 -f image2 -i someimage.png -c:v libx264 -t 15 out2.mp4
ffmpeg -loop 1 -f image2 -i someotherimage.png -c:v libx264 -t 25 out3.mp4
ffmpeg -loop 1 -f image2 -i outro.png -c:v libx264 -t 10 out4.mp4
Và sau đó hợp nhất các video kết quả (nếu bạn muốn):
Tạo một file văn bản (ví dụ: videos.txt
) nơi tên tệp video được liệt kê.
file 'out1.mp4'
file 'out2.mp4'
file 'out3.mp4'
file 'out4.mp4'
Chạy lệnh này (thay đổi tên tập tin nếu cần thiết)
ffmpeg -f concat -i videos.txt -c copy final_video.mp4
Thông tin thêm về mer Video ging (nối) có thể được tìm thấy trong wiki.
đây có phải là cách tốt nhất để làm điều này không? – Prospero