Bộ lọc FFMPEG_Complex_Script Cắt theo thời gian


0

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
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.