Tôi đang cố gắng sử dụng tùy chọn filter_complex_script của FFMPEG để cắt video ở những nơi khác nhau tùy thuộc vào thời gian. Tôi có một tệp hiển thị hộp giới hạn nơi chứa một đối tượng và đã viết một tệp văn bản có tên là "myscript.txt" có các lệnh như sau:
crop=x=125:y=190:w=105:h=98
crop=x=124:y=193:w=106:h=99
crop=x=124:y=194:w=106:h=99
Cuộc gọi dòng lệnh của tôi cho ffmpeg là
ffmpeg -y -i input.mp4 -filter_complex_script "myscript.txt" -c:v libx264 output.mp4
Điều này sẽ chạy tốt và tạo ra một đầu ra, nhưng cửa sổ cắt chỉ sử dụng dòng đầu tiên của tệp và không thay đổi theo thời gian. Hiện tại tôi có các chi tiết cắt xén ở cấp độ khung hình nhưng tôi có thể tìm cách để thực hiện công việc này lần thứ hai nếu có một giải pháp ngoài kia.
Tôi đang chạy FFMPEG phiên bản 3.4.1 trên windows 10.
Cảm ơn bạn!
ffmpeg không hỗ trợ gửi các khung có kích thước khác nhau đến bộ mã hóa, vì vậy ngay cả khi bạn đã cắt xén, đầu ra sẽ có kích thước khung cố định do tự động điều chỉnh tỷ lệ. Đặt cược tốt nhất của bạn là chạy tập lệnh / batchfile, đọc dòng bộ lọc và chèn nó vào lệnh, mỗi khung hình. Bạn sẽ phải chèn một bộ lọc chọn trước để chọn khung để làm việc.
—
Gyan
Thật thú vị ... vậy nếu tôi chỉ định một đầu ra kích thước cụ thể cho từng khung hình (mà tôi hoàn toàn hài lòng với đầu ra). Nó có thể được thực hiện để chạy trên tập lệnh mà không cần phải chạy một tập tin không? Tôi đang cố gắng chạy cái này trong python; Có cách nào để tích hợp một khung dữ liệu của các vùng bị cắt vào lệnh này không?
—
D_Corson