Tôi đã thay đổi thành avconv
, vì vậy tôi xin lỗi nếu câu trả lời có thể hơi khác một chút trong ffmpeg cổ điển, nhưng tôi tin rằng không nên có nhiều sự khác biệt.
Bạn có thể có một cây trồng di chuyển nếu bạn có thể tạo một số loại công thức giữa số khung và vị trí của cây trồng; nhưng không có công cụ phân tích có sẵn để làm điều đó. Điều này có nghĩa là nếu người nói di chuyển theo một cách có thể dự đoán về mặt lý thuyết bạn có thể làm điều đó mà không cần một ứng dụng bên ngoài.
Ví dụ, giả sử rằng loa đang di chuyển từ trên cùng bên trái sang dưới cùng bên phải trong hình ảnh. Bạn có thể làm một cái gì đó dọc theo dòng:
avconv -i input.ogv -vf 'crop=200:100:n:n' -c:v libtheora output.ogv
Ở đây tôi đang di chuyển 1 pixel trên mỗi khung hình, rất khó có khả năng ai đó sẽ di chuyển.
Hãy nhớ rằng có khá nhiều hàm toán học được cung cấp bởi giao diện bộ lọc của avconv (và tôi chắc chắn ffmpeg cũng tương tự).
Vì vậy, hãy tưởng tượng rằng bạn muốn di chuyển 1 pixel trên mỗi khung hình, nhưng chỉ từ 200 đến 350 khung hình. Bạn có thể làm
min(max(n,200)-200, 150)
Đối với các khung <200, max(n,200)
sẽ tạo 200, sau đó chúng tôi lấy đi 200 để biến thành 0 và sau đó min
sẽ trả lại phần đầu tiên cho đến khung 350, trong đó kết quả đó sẽ trở thành hơn 150 và hằng số sẽ bắt đầu được trả về.
Mặc dù viết công thức như vậy bằng tay sẽ khá tẻ nhạt, nhưng có lẽ nó cũng hữu ích trong một số trường hợp.
Đã nói tất cả, nếu tôi có tùy chọn truy cập vào phần mềm có thể hoạt động trên khung hình theo từng khung hình, tôi sẽ đi theo con đường đó.