Я хочу взять часть видео (сделать с ним некоторые вещи, это не учтено в моем примере) и снова нарисовать его на другой части видео.Размер области обрезки зависит от времени (или кадра).
ffmpeg -y -i testsrc.mp4 -filter_complex "[0:v]crop=(40+5*n):80:(5*n):500[fg]; [0:v][fg]overlay=00:00[v]" -map "[v]" -c:v libx264 -movflags +faststart testout.mp4
Таким образом, в то время как позиция оценивается правильно, размер - нет.Как мне добиться такого эффекта?
Редактировать
С
ffmpeg.exe -loglevel debug -y -i testsrc.mp4 -filter_complex "[0:v]sendcmd=f='CropCmd.txt', crop=40:80:500:500[fg]; [0:v][fg]overlay=100:100[v]" -map "[v]" testout.mp4
и моим командным файлом, содержащим следующую строку
2.0-2.02 [enter] crop reinit w=80:h=40;
Я получаю Function not implemented
[h264 @ 000002bb3e276340] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[Parsed_sendcmd_0 @ 000002bb3c135e00] [enter] interval #0 start_ts:2.000000 end_ts:2.020000 ts:2.000000
[Parsed_sendcmd_0 @ 000002bb3c135e00] Processing command #0 target:crop command:reinit arg:w=80:h=40
[Parsed_sendcmd_0 @ 000002bb3c135e00] Command reply for command #0: ret:Function not implemented res:
[Parsed_overlay_2 @ 000002bb3c135bc0] n:61.000000 t:2.000000 pos:26992.000000 x:100.000000 xi:100 y:100.000000 yi:100