Câu hỏi avconv - Trích xuất một khung hình video và lặp lại nó


Tôi muốn lặp lại một khung hình từ video nguồn đến đầu ra. Tôi đã thử những điều sau

avconv -ss 00:20:00 -i INPUT_VIDEO -t 0.5 -vsync 1 -an -r 1 -vcodec libx264 VIDEO_1F
avconv -i VIDEO_1F -t 10 -r 1 -vcodec libx264 OUTPUT_VIDEO

Nhưng tôi thấy rằng -ss không hoạt động trong lệnh cũ, và nó sẽ luôn trích xuất khung hình đầu tiên của video đầu vào; ở cái sau -t không có hiệu ứng và thời lượng của video đầu ra sẽ là 2 giây.

Bất kì lời đề nghị nào? Hoặc, có cách tiếp cận tốt hơn không?


4
2018-03-29 02:45


gốc




Các câu trả lời:


Tôi đã có một lối thoát, với 2 bước.

Đầu tiên giải nén khung

avconv -ss 00:20:00 -i INPUT_VIDEO -vsync 1 -t 0.01 output.png

Có một cơ hội avconv trích xuất nhiều hơn một khung trong vòng 0,01 và kết thúc bằng một lỗi "... Không thể lấy tên tệp khung hình 2 từ mẫu 'output.png' ...". Nhưng đừng bận tâm vì chúng ta chỉ cần khung đầu tiên.

Sau đó chuyển đổi hình ảnh thành video

avconv -loop 1 -i output.png -vcodec libx264 -tune stillimage -t 10 OUTPUT_VIDEO

4
2018-03-31 00:56